From: Matthew Netsch Date: Sun, 9 Jan 2022 15:39:46 +0000 (-0500) Subject: Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0 X-Git-Tag: upstream/1.3.5~332^2~3^2~27 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=671555af4f63c96b222b803ede2c8a0b93a9c2d7;p=platform%2Fupstream%2FVK-GL-CTS.git Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0 Change-Id: Iba40a0634a1de5fde930a2f469b5c9bc31d8c4d9 --- 671555af4f63c96b222b803ede2c8a0b93a9c2d7 diff --cc external/vulkancts/framework/vulkan/vkApiExtensionDependencyInfo.inl index 0000000,e2da6e3..396ee37 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkApiExtensionDependencyInfo.inl +++ b/external/vulkancts/framework/vulkan/vkApiExtensionDependencyInfo.inl @@@ -1,0 -1,673 +1,749 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + */ + + static const std::tuple instanceExtensionDependencies[] = + { + std::make_tuple(1, 0, "VK_EXT_acquire_drm_display", "VK_EXT_direct_mode_display"), + std::make_tuple(1, 1, "VK_EXT_acquire_drm_display", "VK_EXT_direct_mode_display"), + std::make_tuple(1, 2, "VK_EXT_acquire_drm_display", "VK_EXT_direct_mode_display"), ++ std::make_tuple(1, 3, "VK_EXT_acquire_drm_display", "VK_EXT_direct_mode_display"), + std::make_tuple(1, 0, "VK_EXT_acquire_xlib_display", "VK_EXT_direct_mode_display"), + std::make_tuple(1, 1, "VK_EXT_acquire_xlib_display", "VK_EXT_direct_mode_display"), + std::make_tuple(1, 2, "VK_EXT_acquire_xlib_display", "VK_EXT_direct_mode_display"), ++ std::make_tuple(1, 3, "VK_EXT_acquire_xlib_display", "VK_EXT_direct_mode_display"), + std::make_tuple(1, 0, "VK_EXT_direct_mode_display", "VK_KHR_display"), + std::make_tuple(1, 1, "VK_EXT_direct_mode_display", "VK_KHR_display"), + std::make_tuple(1, 2, "VK_EXT_direct_mode_display", "VK_KHR_display"), ++ std::make_tuple(1, 3, "VK_EXT_direct_mode_display", "VK_KHR_display"), + std::make_tuple(1, 0, "VK_EXT_directfb_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_EXT_directfb_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_EXT_directfb_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_EXT_directfb_surface", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_EXT_display_surface_counter", "VK_KHR_display"), + std::make_tuple(1, 1, "VK_EXT_display_surface_counter", "VK_KHR_display"), + std::make_tuple(1, 2, "VK_EXT_display_surface_counter", "VK_KHR_display"), ++ std::make_tuple(1, 3, "VK_EXT_display_surface_counter", "VK_KHR_display"), + std::make_tuple(1, 0, "VK_EXT_headless_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_EXT_headless_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_EXT_headless_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_EXT_headless_surface", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_EXT_metal_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_EXT_metal_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_EXT_metal_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_EXT_metal_surface", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_EXT_swapchain_colorspace", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_EXT_swapchain_colorspace", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_EXT_swapchain_colorspace", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_EXT_swapchain_colorspace", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_FUCHSIA_imagepipe_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_FUCHSIA_imagepipe_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_FUCHSIA_imagepipe_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_FUCHSIA_imagepipe_surface", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_KHR_android_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_KHR_android_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_KHR_android_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_KHR_android_surface", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_KHR_display", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_KHR_display", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_KHR_display", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_KHR_display", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_KHR_external_fence_capabilities", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_external_memory_capabilities", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_external_semaphore_capabilities", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_get_display_properties2", "VK_KHR_display"), + std::make_tuple(1, 1, "VK_KHR_get_display_properties2", "VK_KHR_display"), + std::make_tuple(1, 2, "VK_KHR_get_display_properties2", "VK_KHR_display"), ++ std::make_tuple(1, 3, "VK_KHR_get_display_properties2", "VK_KHR_display"), + std::make_tuple(1, 0, "VK_KHR_get_surface_capabilities2", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_KHR_get_surface_capabilities2", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_KHR_get_surface_capabilities2", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_KHR_get_surface_capabilities2", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_KHR_surface_protected_capabilities", "VK_KHR_get_surface_capabilities2"), + std::make_tuple(1, 2, "VK_KHR_surface_protected_capabilities", "VK_KHR_get_surface_capabilities2"), ++ std::make_tuple(1, 3, "VK_KHR_surface_protected_capabilities", "VK_KHR_get_surface_capabilities2"), + std::make_tuple(1, 0, "VK_KHR_wayland_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_KHR_wayland_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_KHR_wayland_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_KHR_wayland_surface", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_KHR_win32_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_KHR_win32_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_KHR_win32_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_KHR_win32_surface", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_KHR_xcb_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_KHR_xcb_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_KHR_xcb_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_KHR_xcb_surface", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_KHR_xlib_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_KHR_xlib_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_KHR_xlib_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_KHR_xlib_surface", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_MVK_ios_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_MVK_ios_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_MVK_ios_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_MVK_ios_surface", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_MVK_macos_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_MVK_macos_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_MVK_macos_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_MVK_macos_surface", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_NN_vi_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_NN_vi_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_NN_vi_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_NN_vi_surface", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_QNX_screen_surface", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_QNX_screen_surface", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_QNX_screen_surface", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_QNX_screen_surface", "VK_KHR_surface"), + }; + static const std::tuple deviceExtensionDependencies[] = + { + std::make_tuple(1, 0, "VK_AMD_display_native_hdr", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_AMD_display_native_hdr", "VK_KHR_get_surface_capabilities2"), + std::make_tuple(1, 0, "VK_AMD_display_native_hdr", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_AMD_display_native_hdr", "VK_KHR_get_surface_capabilities2"), + std::make_tuple(1, 1, "VK_AMD_display_native_hdr", "VK_KHR_swapchain"), + std::make_tuple(1, 2, "VK_AMD_display_native_hdr", "VK_KHR_get_surface_capabilities2"), + std::make_tuple(1, 2, "VK_AMD_display_native_hdr", "VK_KHR_swapchain"), ++ std::make_tuple(1, 3, "VK_AMD_display_native_hdr", "VK_KHR_get_surface_capabilities2"), ++ std::make_tuple(1, 3, "VK_AMD_display_native_hdr", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_AMD_shader_core_properties", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_AMD_shader_core_properties2", "VK_AMD_shader_core_properties"), + std::make_tuple(1, 1, "VK_AMD_shader_core_properties2", "VK_AMD_shader_core_properties"), + std::make_tuple(1, 2, "VK_AMD_shader_core_properties2", "VK_AMD_shader_core_properties"), ++ std::make_tuple(1, 3, "VK_AMD_shader_core_properties2", "VK_AMD_shader_core_properties"), + std::make_tuple(1, 0, "VK_AMD_texture_gather_bias_lod", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_KHR_sampler_ycbcr_conversion"), + std::make_tuple(1, 0, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_KHR_external_memory"), + std::make_tuple(1, 0, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_EXT_queue_family_foreign"), + std::make_tuple(1, 0, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_KHR_dedicated_allocation"), + std::make_tuple(1, 1, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_EXT_queue_family_foreign"), + std::make_tuple(1, 2, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_EXT_queue_family_foreign"), ++ std::make_tuple(1, 3, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_EXT_queue_family_foreign"), + std::make_tuple(1, 0, "VK_ARM_rasterization_order_attachment_access", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_4444_formats", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_astc_decode_mode", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"), + std::make_tuple(1, 1, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"), + std::make_tuple(1, 2, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"), ++ std::make_tuple(1, 3, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"), + std::make_tuple(1, 0, "VK_EXT_buffer_device_address", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_calibrated_timestamps", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_color_write_enable", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_conservative_rasterization", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_debug_marker", "VK_EXT_debug_report"), + std::make_tuple(1, 1, "VK_EXT_debug_marker", "VK_EXT_debug_report"), + std::make_tuple(1, 2, "VK_EXT_debug_marker", "VK_EXT_debug_report"), ++ std::make_tuple(1, 3, "VK_EXT_debug_marker", "VK_EXT_debug_report"), + std::make_tuple(1, 0, "VK_EXT_depth_clip_control", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_descriptor_indexing", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_descriptor_indexing", "VK_KHR_maintenance3"), + std::make_tuple(1, 0, "VK_EXT_device_memory_report", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_discard_rectangles", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_display_control", "VK_EXT_display_surface_counter"), + std::make_tuple(1, 0, "VK_EXT_display_control", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_EXT_display_control", "VK_EXT_display_surface_counter"), + std::make_tuple(1, 1, "VK_EXT_display_control", "VK_KHR_swapchain"), + std::make_tuple(1, 2, "VK_EXT_display_control", "VK_EXT_display_surface_counter"), + std::make_tuple(1, 2, "VK_EXT_display_control", "VK_KHR_swapchain"), ++ std::make_tuple(1, 3, "VK_EXT_display_control", "VK_EXT_display_surface_counter"), ++ std::make_tuple(1, 3, "VK_EXT_display_control", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state2", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_external_memory_dma_buf", "VK_KHR_external_memory_fd"), + std::make_tuple(1, 1, "VK_EXT_external_memory_dma_buf", "VK_KHR_external_memory_fd"), + std::make_tuple(1, 2, "VK_EXT_external_memory_dma_buf", "VK_KHR_external_memory_fd"), ++ std::make_tuple(1, 3, "VK_EXT_external_memory_dma_buf", "VK_KHR_external_memory_fd"), + std::make_tuple(1, 0, "VK_EXT_external_memory_host", "VK_KHR_external_memory"), + std::make_tuple(1, 0, "VK_EXT_fragment_density_map", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"), + std::make_tuple(1, 1, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"), + std::make_tuple(1, 2, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"), ++ std::make_tuple(1, 3, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"), + std::make_tuple(1, 0, "VK_EXT_fragment_shader_interlock", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_full_screen_exclusive", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_full_screen_exclusive", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_EXT_full_screen_exclusive", "VK_KHR_get_surface_capabilities2"), + std::make_tuple(1, 0, "VK_EXT_full_screen_exclusive", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_EXT_full_screen_exclusive", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_EXT_full_screen_exclusive", "VK_KHR_get_surface_capabilities2"), + std::make_tuple(1, 1, "VK_EXT_full_screen_exclusive", "VK_KHR_swapchain"), + std::make_tuple(1, 2, "VK_EXT_full_screen_exclusive", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_EXT_full_screen_exclusive", "VK_KHR_get_surface_capabilities2"), + std::make_tuple(1, 2, "VK_EXT_full_screen_exclusive", "VK_KHR_swapchain"), ++ std::make_tuple(1, 3, "VK_EXT_full_screen_exclusive", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_EXT_full_screen_exclusive", "VK_KHR_get_surface_capabilities2"), ++ std::make_tuple(1, 3, "VK_EXT_full_screen_exclusive", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_EXT_global_priority_query", "VK_EXT_global_priority"), + std::make_tuple(1, 0, "VK_EXT_global_priority_query", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 1, "VK_EXT_global_priority_query", "VK_EXT_global_priority"), + std::make_tuple(1, 2, "VK_EXT_global_priority_query", "VK_EXT_global_priority"), ++ std::make_tuple(1, 3, "VK_EXT_global_priority_query", "VK_EXT_global_priority"), + std::make_tuple(1, 0, "VK_EXT_hdr_metadata", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_EXT_hdr_metadata", "VK_KHR_swapchain"), + std::make_tuple(1, 2, "VK_EXT_hdr_metadata", "VK_KHR_swapchain"), ++ std::make_tuple(1, 3, "VK_EXT_hdr_metadata", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_EXT_host_query_reset", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_bind_memory2"), + std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_image_format_list"), + std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_sampler_ycbcr_conversion"), + std::make_tuple(1, 1, "VK_EXT_image_drm_format_modifier", "VK_KHR_image_format_list"), + std::make_tuple(1, 0, "VK_EXT_image_robustness", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_image_view_min_lod", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_inline_uniform_block", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_inline_uniform_block", "VK_KHR_maintenance1"), + std::make_tuple(1, 0, "VK_EXT_line_rasterization", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_memory_budget", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_memory_priority", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"), + std::make_tuple(1, 1, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"), + std::make_tuple(1, 2, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"), ++ std::make_tuple(1, 3, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"), + std::make_tuple(1, 0, "VK_EXT_pci_bus_info", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_physical_device_drm", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_provoking_vertex", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_queue_family_foreign", "VK_KHR_external_memory"), + std::make_tuple(1, 0, "VK_EXT_rgba10x6_formats", "VK_KHR_sampler_ycbcr_conversion"), + std::make_tuple(1, 0, "VK_EXT_sample_locations", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_sampler_filter_minmax", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_scalar_block_layout", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_shader_atomic_float", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_shader_atomic_float2", "VK_EXT_shader_atomic_float"), + std::make_tuple(1, 1, "VK_EXT_shader_atomic_float2", "VK_EXT_shader_atomic_float"), + std::make_tuple(1, 2, "VK_EXT_shader_atomic_float2", "VK_EXT_shader_atomic_float"), ++ std::make_tuple(1, 3, "VK_EXT_shader_atomic_float2", "VK_EXT_shader_atomic_float"), + std::make_tuple(1, 0, "VK_EXT_shader_demote_to_helper_invocation", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_shader_image_atomic_int64", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_texel_buffer_alignment", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_texture_compression_astc_hdr", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_transform_feedback", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_vertex_attribute_divisor", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_vertex_input_dynamic_state", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_EXT_video_decode_h264", "VK_KHR_video_decode_queue"), + std::make_tuple(1, 1, "VK_EXT_video_decode_h264", "VK_KHR_video_decode_queue"), + std::make_tuple(1, 2, "VK_EXT_video_decode_h264", "VK_KHR_video_decode_queue"), ++ std::make_tuple(1, 3, "VK_EXT_video_decode_h264", "VK_KHR_video_decode_queue"), + std::make_tuple(1, 0, "VK_EXT_video_decode_h265", "VK_KHR_video_decode_queue"), + std::make_tuple(1, 1, "VK_EXT_video_decode_h265", "VK_KHR_video_decode_queue"), + std::make_tuple(1, 2, "VK_EXT_video_decode_h265", "VK_KHR_video_decode_queue"), ++ std::make_tuple(1, 3, "VK_EXT_video_decode_h265", "VK_KHR_video_decode_queue"), + std::make_tuple(1, 0, "VK_EXT_video_encode_h264", "VK_KHR_video_encode_queue"), + std::make_tuple(1, 1, "VK_EXT_video_encode_h264", "VK_KHR_video_encode_queue"), + std::make_tuple(1, 2, "VK_EXT_video_encode_h264", "VK_KHR_video_encode_queue"), ++ std::make_tuple(1, 3, "VK_EXT_video_encode_h264", "VK_KHR_video_encode_queue"), + std::make_tuple(1, 0, "VK_EXT_video_encode_h265", "VK_KHR_video_encode_queue"), + std::make_tuple(1, 1, "VK_EXT_video_encode_h265", "VK_KHR_video_encode_queue"), + std::make_tuple(1, 2, "VK_EXT_video_encode_h265", "VK_KHR_video_encode_queue"), ++ std::make_tuple(1, 3, "VK_EXT_video_encode_h265", "VK_KHR_video_encode_queue"), + std::make_tuple(1, 0, "VK_EXT_ycbcr_2plane_444_formats", "VK_KHR_sampler_ycbcr_conversion"), + std::make_tuple(1, 0, "VK_EXT_ycbcr_image_arrays", "VK_KHR_sampler_ycbcr_conversion"), + std::make_tuple(1, 0, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"), + std::make_tuple(1, 0, "VK_FUCHSIA_buffer_collection", "VK_KHR_sampler_ycbcr_conversion"), + std::make_tuple(1, 1, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"), + std::make_tuple(1, 2, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"), ++ std::make_tuple(1, 3, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"), + std::make_tuple(1, 0, "VK_FUCHSIA_external_memory", "VK_KHR_external_memory_capabilities"), + std::make_tuple(1, 0, "VK_FUCHSIA_external_memory", "VK_KHR_external_memory"), + std::make_tuple(1, 0, "VK_FUCHSIA_external_semaphore", "VK_KHR_external_semaphore_capabilities"), + std::make_tuple(1, 0, "VK_FUCHSIA_external_semaphore", "VK_KHR_external_semaphore"), + std::make_tuple(1, 0, "VK_GGP_frame_token", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_GGP_frame_token", "VK_GGP_stream_descriptor_surface"), + std::make_tuple(1, 1, "VK_GGP_frame_token", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_GGP_frame_token", "VK_GGP_stream_descriptor_surface"), + std::make_tuple(1, 2, "VK_GGP_frame_token", "VK_KHR_swapchain"), + std::make_tuple(1, 2, "VK_GGP_frame_token", "VK_GGP_stream_descriptor_surface"), ++ std::make_tuple(1, 3, "VK_GGP_frame_token", "VK_KHR_swapchain"), ++ std::make_tuple(1, 3, "VK_GGP_frame_token", "VK_GGP_stream_descriptor_surface"), + std::make_tuple(1, 0, "VK_GOOGLE_display_timing", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_GOOGLE_display_timing", "VK_KHR_swapchain"), + std::make_tuple(1, 2, "VK_GOOGLE_display_timing", "VK_KHR_swapchain"), ++ std::make_tuple(1, 3, "VK_GOOGLE_display_timing", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"), + std::make_tuple(1, 0, "VK_HUAWEI_invocation_mask", "VK_KHR_synchronization2"), + std::make_tuple(1, 1, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"), + std::make_tuple(1, 1, "VK_HUAWEI_invocation_mask", "VK_KHR_synchronization2"), + std::make_tuple(1, 2, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"), + std::make_tuple(1, 2, "VK_HUAWEI_invocation_mask", "VK_KHR_synchronization2"), ++ std::make_tuple(1, 3, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"), + std::make_tuple(1, 0, "VK_HUAWEI_subpass_shading", "VK_KHR_create_renderpass2"), + std::make_tuple(1, 0, "VK_HUAWEI_subpass_shading", "VK_KHR_synchronization2"), + std::make_tuple(1, 1, "VK_HUAWEI_subpass_shading", "VK_KHR_create_renderpass2"), + std::make_tuple(1, 1, "VK_HUAWEI_subpass_shading", "VK_KHR_synchronization2"), + std::make_tuple(1, 2, "VK_HUAWEI_subpass_shading", "VK_KHR_synchronization2"), + std::make_tuple(1, 0, "VK_INTEL_shader_integer_functions2", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_16bit_storage", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_16bit_storage", "VK_KHR_storage_buffer_storage_class"), + std::make_tuple(1, 0, "VK_KHR_8bit_storage", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_8bit_storage", "VK_KHR_storage_buffer_storage_class"), + std::make_tuple(1, 1, "VK_KHR_acceleration_structure", "VK_EXT_descriptor_indexing"), + std::make_tuple(1, 1, "VK_KHR_acceleration_structure", "VK_KHR_buffer_device_address"), + std::make_tuple(1, 1, "VK_KHR_acceleration_structure", "VK_KHR_deferred_host_operations"), + std::make_tuple(1, 2, "VK_KHR_acceleration_structure", "VK_KHR_deferred_host_operations"), ++ std::make_tuple(1, 3, "VK_KHR_acceleration_structure", "VK_KHR_deferred_host_operations"), + std::make_tuple(1, 0, "VK_KHR_buffer_device_address", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_create_renderpass2", "VK_KHR_multiview"), + std::make_tuple(1, 0, "VK_KHR_create_renderpass2", "VK_KHR_maintenance2"), + std::make_tuple(1, 0, "VK_KHR_dedicated_allocation", "VK_KHR_get_memory_requirements2"), + std::make_tuple(1, 0, "VK_KHR_depth_stencil_resolve", "VK_KHR_create_renderpass2"), + std::make_tuple(1, 1, "VK_KHR_depth_stencil_resolve", "VK_KHR_create_renderpass2"), + std::make_tuple(1, 0, "VK_KHR_device_group", "VK_KHR_device_group_creation"), + std::make_tuple(1, 0, "VK_KHR_display_swapchain", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_KHR_display_swapchain", "VK_KHR_display"), + std::make_tuple(1, 1, "VK_KHR_display_swapchain", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_KHR_display_swapchain", "VK_KHR_display"), + std::make_tuple(1, 2, "VK_KHR_display_swapchain", "VK_KHR_swapchain"), + std::make_tuple(1, 2, "VK_KHR_display_swapchain", "VK_KHR_display"), ++ std::make_tuple(1, 3, "VK_KHR_display_swapchain", "VK_KHR_swapchain"), ++ std::make_tuple(1, 3, "VK_KHR_display_swapchain", "VK_KHR_display"), + std::make_tuple(1, 0, "VK_KHR_driver_properties", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_dynamic_rendering", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_external_fence", "VK_KHR_external_fence_capabilities"), + std::make_tuple(1, 0, "VK_KHR_external_fence_fd", "VK_KHR_external_fence"), + std::make_tuple(1, 0, "VK_KHR_external_fence_win32", "VK_KHR_external_fence"), + std::make_tuple(1, 0, "VK_KHR_external_memory", "VK_KHR_external_memory_capabilities"), + std::make_tuple(1, 0, "VK_KHR_external_memory_fd", "VK_KHR_external_memory"), + std::make_tuple(1, 0, "VK_KHR_external_memory_win32", "VK_KHR_external_memory"), + std::make_tuple(1, 0, "VK_KHR_external_semaphore", "VK_KHR_external_semaphore_capabilities"), + std::make_tuple(1, 0, "VK_KHR_external_semaphore_fd", "VK_KHR_external_semaphore"), + std::make_tuple(1, 0, "VK_KHR_external_semaphore_win32", "VK_KHR_external_semaphore"), + std::make_tuple(1, 0, "VK_KHR_format_feature_flags2", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_fragment_shading_rate", "VK_KHR_create_renderpass2"), + std::make_tuple(1, 0, "VK_KHR_fragment_shading_rate", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 1, "VK_KHR_fragment_shading_rate", "VK_KHR_create_renderpass2"), + std::make_tuple(1, 0, "VK_KHR_imageless_framebuffer", "VK_KHR_maintenance2"), + std::make_tuple(1, 0, "VK_KHR_imageless_framebuffer", "VK_KHR_image_format_list"), + std::make_tuple(1, 1, "VK_KHR_imageless_framebuffer", "VK_KHR_image_format_list"), + std::make_tuple(1, 0, "VK_KHR_incremental_present", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_KHR_incremental_present", "VK_KHR_swapchain"), + std::make_tuple(1, 2, "VK_KHR_incremental_present", "VK_KHR_swapchain"), ++ std::make_tuple(1, 3, "VK_KHR_incremental_present", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_KHR_maintenance3", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_multiview", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_performance_query", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_pipeline_executable_properties", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_portability_subset", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_present_id", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_KHR_present_id", "VK_KHR_swapchain"), + std::make_tuple(1, 2, "VK_KHR_present_id", "VK_KHR_swapchain"), ++ std::make_tuple(1, 3, "VK_KHR_present_id", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_KHR_present_wait", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_KHR_present_wait", "VK_KHR_present_id"), + std::make_tuple(1, 1, "VK_KHR_present_wait", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_KHR_present_wait", "VK_KHR_present_id"), + std::make_tuple(1, 2, "VK_KHR_present_wait", "VK_KHR_swapchain"), + std::make_tuple(1, 2, "VK_KHR_present_wait", "VK_KHR_present_id"), ++ std::make_tuple(1, 3, "VK_KHR_present_wait", "VK_KHR_swapchain"), ++ std::make_tuple(1, 3, "VK_KHR_present_wait", "VK_KHR_present_id"), + std::make_tuple(1, 0, "VK_KHR_push_descriptor", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 1, "VK_KHR_ray_query", "VK_KHR_spirv_1_4"), + std::make_tuple(1, 1, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"), + std::make_tuple(1, 2, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"), ++ std::make_tuple(1, 3, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"), + std::make_tuple(1, 1, "VK_KHR_ray_tracing_pipeline", "VK_KHR_spirv_1_4"), + std::make_tuple(1, 1, "VK_KHR_ray_tracing_pipeline", "VK_KHR_acceleration_structure"), + std::make_tuple(1, 2, "VK_KHR_ray_tracing_pipeline", "VK_KHR_acceleration_structure"), ++ std::make_tuple(1, 3, "VK_KHR_ray_tracing_pipeline", "VK_KHR_acceleration_structure"), + std::make_tuple(1, 0, "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_maintenance1"), + std::make_tuple(1, 0, "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_bind_memory2"), + std::make_tuple(1, 0, "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_get_memory_requirements2"), + std::make_tuple(1, 0, "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_separate_depth_stencil_layouts", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_separate_depth_stencil_layouts", "VK_KHR_create_renderpass2"), + std::make_tuple(1, 1, "VK_KHR_separate_depth_stencil_layouts", "VK_KHR_create_renderpass2"), + std::make_tuple(1, 0, "VK_KHR_shader_atomic_int64", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_shader_clock", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_shader_float16_int8", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_shader_float_controls", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_shader_integer_dot_product", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_shader_terminate_invocation", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_shared_presentable_image", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_KHR_shared_presentable_image", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_shared_presentable_image", "VK_KHR_get_surface_capabilities2"), + std::make_tuple(1, 1, "VK_KHR_shared_presentable_image", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_KHR_shared_presentable_image", "VK_KHR_get_surface_capabilities2"), + std::make_tuple(1, 2, "VK_KHR_shared_presentable_image", "VK_KHR_swapchain"), + std::make_tuple(1, 2, "VK_KHR_shared_presentable_image", "VK_KHR_get_surface_capabilities2"), ++ std::make_tuple(1, 3, "VK_KHR_shared_presentable_image", "VK_KHR_swapchain"), ++ std::make_tuple(1, 3, "VK_KHR_shared_presentable_image", "VK_KHR_get_surface_capabilities2"), + std::make_tuple(1, 1, "VK_KHR_spirv_1_4", "VK_KHR_shader_float_controls"), + std::make_tuple(1, 0, "VK_KHR_swapchain", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_KHR_swapchain", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_KHR_swapchain", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_KHR_swapchain", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_KHR_swapchain_mutable_format", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_KHR_swapchain_mutable_format", "VK_KHR_maintenance2"), + std::make_tuple(1, 0, "VK_KHR_swapchain_mutable_format", "VK_KHR_image_format_list"), + std::make_tuple(1, 1, "VK_KHR_swapchain_mutable_format", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_KHR_swapchain_mutable_format", "VK_KHR_image_format_list"), + std::make_tuple(1, 2, "VK_KHR_swapchain_mutable_format", "VK_KHR_swapchain"), ++ std::make_tuple(1, 3, "VK_KHR_swapchain_mutable_format", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_KHR_synchronization2", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_timeline_semaphore", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_uniform_buffer_standard_layout", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_variable_pointers", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_variable_pointers", "VK_KHR_storage_buffer_storage_class"), + std::make_tuple(1, 0, "VK_KHR_video_decode_queue", "VK_KHR_video_queue"), + std::make_tuple(1, 0, "VK_KHR_video_decode_queue", "VK_KHR_synchronization2"), + std::make_tuple(1, 1, "VK_KHR_video_decode_queue", "VK_KHR_video_queue"), + std::make_tuple(1, 1, "VK_KHR_video_decode_queue", "VK_KHR_synchronization2"), + std::make_tuple(1, 2, "VK_KHR_video_decode_queue", "VK_KHR_video_queue"), + std::make_tuple(1, 2, "VK_KHR_video_decode_queue", "VK_KHR_synchronization2"), ++ std::make_tuple(1, 3, "VK_KHR_video_decode_queue", "VK_KHR_video_queue"), + std::make_tuple(1, 0, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"), + std::make_tuple(1, 0, "VK_KHR_video_encode_queue", "VK_KHR_synchronization2"), + std::make_tuple(1, 1, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"), + std::make_tuple(1, 1, "VK_KHR_video_encode_queue", "VK_KHR_synchronization2"), + std::make_tuple(1, 2, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"), + std::make_tuple(1, 2, "VK_KHR_video_encode_queue", "VK_KHR_synchronization2"), ++ std::make_tuple(1, 3, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"), + std::make_tuple(1, 0, "VK_KHR_video_queue", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_video_queue", "VK_KHR_sampler_ycbcr_conversion"), + std::make_tuple(1, 0, "VK_KHR_win32_keyed_mutex", "VK_KHR_external_memory_win32"), + std::make_tuple(1, 1, "VK_KHR_win32_keyed_mutex", "VK_KHR_external_memory_win32"), + std::make_tuple(1, 2, "VK_KHR_win32_keyed_mutex", "VK_KHR_external_memory_win32"), ++ std::make_tuple(1, 3, "VK_KHR_win32_keyed_mutex", "VK_KHR_external_memory_win32"), + std::make_tuple(1, 0, "VK_KHR_workgroup_memory_explicit_layout", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_zero_initialize_workgroup_memory", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_NVX_multiview_per_view_attributes", "VK_KHR_multiview"), + std::make_tuple(1, 0, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"), + std::make_tuple(1, 1, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"), + std::make_tuple(1, 2, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"), ++ std::make_tuple(1, 3, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"), + std::make_tuple(1, 0, "VK_NV_compute_shader_derivatives", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_NV_cooperative_matrix", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_NV_corner_sampled_image", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_NV_coverage_reduction_mode", "VK_NV_framebuffer_mixed_samples"), + std::make_tuple(1, 1, "VK_NV_coverage_reduction_mode", "VK_NV_framebuffer_mixed_samples"), + std::make_tuple(1, 2, "VK_NV_coverage_reduction_mode", "VK_NV_framebuffer_mixed_samples"), ++ std::make_tuple(1, 3, "VK_NV_coverage_reduction_mode", "VK_NV_framebuffer_mixed_samples"), + std::make_tuple(1, 0, "VK_NV_dedicated_allocation_image_aliasing", "VK_KHR_dedicated_allocation"), + std::make_tuple(1, 0, "VK_NV_device_diagnostic_checkpoints", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_NV_device_diagnostics_config", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 1, "VK_NV_device_generated_commands", "VK_KHR_buffer_device_address"), + std::make_tuple(1, 0, "VK_NV_external_memory", "VK_NV_external_memory_capabilities"), + std::make_tuple(1, 1, "VK_NV_external_memory", "VK_NV_external_memory_capabilities"), + std::make_tuple(1, 2, "VK_NV_external_memory", "VK_NV_external_memory_capabilities"), ++ std::make_tuple(1, 3, "VK_NV_external_memory", "VK_NV_external_memory_capabilities"), + std::make_tuple(1, 0, "VK_NV_external_memory_rdma", "VK_KHR_external_memory"), + std::make_tuple(1, 0, "VK_NV_external_memory_win32", "VK_NV_external_memory"), + std::make_tuple(1, 1, "VK_NV_external_memory_win32", "VK_NV_external_memory"), + std::make_tuple(1, 2, "VK_NV_external_memory_win32", "VK_NV_external_memory"), ++ std::make_tuple(1, 3, "VK_NV_external_memory_win32", "VK_NV_external_memory"), + std::make_tuple(1, 0, "VK_NV_fragment_shader_barycentric", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"), + std::make_tuple(1, 1, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"), + std::make_tuple(1, 2, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"), ++ std::make_tuple(1, 3, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"), + std::make_tuple(1, 0, "VK_NV_mesh_shader", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_NV_ray_tracing", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_NV_ray_tracing", "VK_KHR_get_memory_requirements2"), + std::make_tuple(1, 0, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"), + std::make_tuple(1, 1, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"), + std::make_tuple(1, 2, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"), ++ std::make_tuple(1, 3, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"), + std::make_tuple(1, 0, "VK_NV_scissor_exclusive", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_NV_shader_image_footprint", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_NV_shading_rate_image", "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"), + std::make_tuple(1, 1, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"), + std::make_tuple(1, 2, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"), ++ std::make_tuple(1, 3, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"), + std::make_tuple(1, 0, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_QCOM_render_pass_transform", "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_QCOM_render_pass_transform", "VK_KHR_surface"), + std::make_tuple(1, 2, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"), + std::make_tuple(1, 2, "VK_QCOM_render_pass_transform", "VK_KHR_surface"), ++ std::make_tuple(1, 3, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"), ++ std::make_tuple(1, 3, "VK_QCOM_render_pass_transform", "VK_KHR_surface"), + std::make_tuple(1, 0, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_QCOM_rotated_copy_commands", "VK_KHR_copy_commands2"), + std::make_tuple(1, 1, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"), + std::make_tuple(1, 1, "VK_QCOM_rotated_copy_commands", "VK_KHR_copy_commands2"), + std::make_tuple(1, 2, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"), + std::make_tuple(1, 2, "VK_QCOM_rotated_copy_commands", "VK_KHR_copy_commands2"), ++ std::make_tuple(1, 3, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_VALVE_mutable_descriptor_type", "VK_KHR_maintenance3"), + }; + static const std::tuple releasedApiVersions[] = + { ++ std::make_tuple(4206592, 1, 3), + std::make_tuple(4202496, 1, 2), + std::make_tuple(4198400, 1, 1), + std::make_tuple(4194304, 1, 0), + }; + static const std::tuple extensionRequiredCoreVersion[] = + { + std::make_tuple(1, 0, "VK_AMD_buffer_marker"), + std::make_tuple(1, 0, "VK_AMD_device_coherent_memory"), + std::make_tuple(1, 0, "VK_AMD_display_native_hdr"), + std::make_tuple(1, 0, "VK_AMD_draw_indirect_count"), + std::make_tuple(1, 0, "VK_AMD_gcn_shader"), + std::make_tuple(1, 0, "VK_AMD_gpu_shader_half_float"), + std::make_tuple(1, 0, "VK_AMD_gpu_shader_int16"), + std::make_tuple(1, 0, "VK_AMD_memory_overallocation_behavior"), + std::make_tuple(1, 0, "VK_AMD_mixed_attachment_samples"), + std::make_tuple(1, 0, "VK_AMD_negative_viewport_height"), + std::make_tuple(1, 0, "VK_AMD_pipeline_compiler_control"), + std::make_tuple(1, 0, "VK_AMD_rasterization_order"), + std::make_tuple(1, 0, "VK_AMD_shader_ballot"), + std::make_tuple(1, 0, "VK_AMD_shader_core_properties"), + std::make_tuple(1, 0, "VK_AMD_shader_core_properties2"), + std::make_tuple(1, 0, "VK_AMD_shader_explicit_vertex_parameter"), + std::make_tuple(1, 0, "VK_AMD_shader_fragment_mask"), + std::make_tuple(1, 0, "VK_AMD_shader_image_load_store_lod"), + std::make_tuple(1, 0, "VK_AMD_shader_info"), + std::make_tuple(1, 0, "VK_AMD_shader_trinary_minmax"), + std::make_tuple(1, 0, "VK_AMD_texture_gather_bias_lod"), + std::make_tuple(1, 0, "VK_ANDROID_external_memory_android_hardware_buffer"), + std::make_tuple(1, 0, "VK_ARM_rasterization_order_attachment_access"), + std::make_tuple(1, 0, "VK_EXT_4444_formats"), + std::make_tuple(1, 0, "VK_EXT_acquire_drm_display"), + std::make_tuple(1, 0, "VK_EXT_acquire_xlib_display"), + std::make_tuple(1, 0, "VK_EXT_astc_decode_mode"), + std::make_tuple(1, 0, "VK_EXT_blend_operation_advanced"), + std::make_tuple(1, 0, "VK_EXT_border_color_swizzle"), + std::make_tuple(1, 0, "VK_EXT_buffer_device_address"), + std::make_tuple(1, 0, "VK_EXT_calibrated_timestamps"), + std::make_tuple(1, 0, "VK_EXT_color_write_enable"), + std::make_tuple(1, 0, "VK_EXT_conditional_rendering"), + std::make_tuple(1, 0, "VK_EXT_conservative_rasterization"), + std::make_tuple(1, 0, "VK_EXT_custom_border_color"), + std::make_tuple(1, 0, "VK_EXT_debug_marker"), + std::make_tuple(1, 0, "VK_EXT_debug_report"), + std::make_tuple(1, 0, "VK_EXT_debug_utils"), + std::make_tuple(1, 0, "VK_EXT_depth_clip_control"), + std::make_tuple(1, 0, "VK_EXT_depth_clip_enable"), + std::make_tuple(1, 0, "VK_EXT_depth_range_unrestricted"), + std::make_tuple(1, 0, "VK_EXT_descriptor_indexing"), + std::make_tuple(1, 0, "VK_EXT_device_memory_report"), + std::make_tuple(1, 0, "VK_EXT_direct_mode_display"), + std::make_tuple(1, 0, "VK_EXT_directfb_surface"), + std::make_tuple(1, 0, "VK_EXT_discard_rectangles"), + std::make_tuple(1, 0, "VK_EXT_display_control"), + std::make_tuple(1, 0, "VK_EXT_display_surface_counter"), + std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state"), + std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state2"), + std::make_tuple(1, 0, "VK_EXT_external_memory_dma_buf"), + std::make_tuple(1, 0, "VK_EXT_external_memory_host"), + std::make_tuple(1, 0, "VK_EXT_filter_cubic"), + std::make_tuple(1, 0, "VK_EXT_fragment_density_map"), + std::make_tuple(1, 0, "VK_EXT_fragment_density_map2"), + std::make_tuple(1, 0, "VK_EXT_fragment_shader_interlock"), + std::make_tuple(1, 0, "VK_EXT_full_screen_exclusive"), + std::make_tuple(1, 0, "VK_EXT_global_priority"), + std::make_tuple(1, 0, "VK_EXT_global_priority_query"), + std::make_tuple(1, 0, "VK_EXT_hdr_metadata"), + std::make_tuple(1, 0, "VK_EXT_headless_surface"), + std::make_tuple(1, 0, "VK_EXT_host_query_reset"), + std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier"), + std::make_tuple(1, 0, "VK_EXT_image_robustness"), + std::make_tuple(1, 0, "VK_EXT_image_view_min_lod"), + std::make_tuple(1, 0, "VK_EXT_index_type_uint8"), + std::make_tuple(1, 0, "VK_EXT_inline_uniform_block"), + std::make_tuple(1, 0, "VK_EXT_line_rasterization"), + std::make_tuple(1, 0, "VK_EXT_load_store_op_none"), + std::make_tuple(1, 0, "VK_EXT_memory_budget"), + std::make_tuple(1, 0, "VK_EXT_memory_priority"), + std::make_tuple(1, 0, "VK_EXT_metal_surface"), + std::make_tuple(1, 0, "VK_EXT_multi_draw"), + std::make_tuple(1, 0, "VK_EXT_pageable_device_local_memory"), + std::make_tuple(1, 0, "VK_EXT_pci_bus_info"), + std::make_tuple(1, 0, "VK_EXT_physical_device_drm"), + std::make_tuple(1, 0, "VK_EXT_pipeline_creation_cache_control"), + std::make_tuple(1, 0, "VK_EXT_pipeline_creation_feedback"), + std::make_tuple(1, 0, "VK_EXT_post_depth_coverage"), + std::make_tuple(1, 0, "VK_EXT_primitive_topology_list_restart"), + std::make_tuple(1, 0, "VK_EXT_private_data"), + std::make_tuple(1, 0, "VK_EXT_provoking_vertex"), + std::make_tuple(1, 0, "VK_EXT_queue_family_foreign"), + std::make_tuple(1, 0, "VK_EXT_rgba10x6_formats"), + std::make_tuple(1, 0, "VK_EXT_robustness2"), + std::make_tuple(1, 0, "VK_EXT_sample_locations"), + std::make_tuple(1, 0, "VK_EXT_sampler_filter_minmax"), + std::make_tuple(1, 0, "VK_EXT_scalar_block_layout"), + std::make_tuple(1, 0, "VK_EXT_separate_stencil_usage"), + std::make_tuple(1, 0, "VK_EXT_shader_atomic_float"), + std::make_tuple(1, 0, "VK_EXT_shader_atomic_float2"), + std::make_tuple(1, 0, "VK_EXT_shader_demote_to_helper_invocation"), + std::make_tuple(1, 0, "VK_EXT_shader_image_atomic_int64"), + std::make_tuple(1, 0, "VK_EXT_shader_stencil_export"), + std::make_tuple(1, 0, "VK_EXT_shader_subgroup_ballot"), + std::make_tuple(1, 0, "VK_EXT_shader_subgroup_vote"), + std::make_tuple(1, 0, "VK_EXT_shader_viewport_index_layer"), + std::make_tuple(1, 1, "VK_EXT_subgroup_size_control"), + std::make_tuple(1, 0, "VK_EXT_swapchain_colorspace"), + std::make_tuple(1, 0, "VK_EXT_texel_buffer_alignment"), + std::make_tuple(1, 0, "VK_EXT_texture_compression_astc_hdr"), + std::make_tuple(1, 0, "VK_EXT_tooling_info"), + std::make_tuple(1, 0, "VK_EXT_transform_feedback"), + std::make_tuple(1, 0, "VK_EXT_validation_cache"), + std::make_tuple(1, 0, "VK_EXT_validation_features"), + std::make_tuple(1, 0, "VK_EXT_validation_flags"), + std::make_tuple(1, 0, "VK_EXT_vertex_attribute_divisor"), + std::make_tuple(1, 0, "VK_EXT_vertex_input_dynamic_state"), + std::make_tuple(1, 0, "VK_EXT_video_decode_h264"), + std::make_tuple(1, 0, "VK_EXT_video_decode_h265"), + std::make_tuple(1, 0, "VK_EXT_video_encode_h264"), + std::make_tuple(1, 0, "VK_EXT_video_encode_h265"), + std::make_tuple(1, 0, "VK_EXT_ycbcr_2plane_444_formats"), + std::make_tuple(1, 0, "VK_EXT_ycbcr_image_arrays"), + std::make_tuple(1, 0, "VK_FUCHSIA_buffer_collection"), + std::make_tuple(1, 0, "VK_FUCHSIA_external_memory"), + std::make_tuple(1, 0, "VK_FUCHSIA_external_semaphore"), + std::make_tuple(1, 0, "VK_FUCHSIA_imagepipe_surface"), + std::make_tuple(1, 0, "VK_GGP_frame_token"), + std::make_tuple(1, 0, "VK_GGP_stream_descriptor_surface"), + std::make_tuple(1, 0, "VK_GOOGLE_decorate_string"), + std::make_tuple(1, 0, "VK_GOOGLE_display_timing"), + std::make_tuple(1, 0, "VK_GOOGLE_hlsl_functionality1"), + std::make_tuple(1, 0, "VK_GOOGLE_user_type"), + std::make_tuple(1, 0, "VK_HUAWEI_invocation_mask"), + std::make_tuple(1, 0, "VK_HUAWEI_subpass_shading"), + std::make_tuple(1, 0, "VK_IMG_filter_cubic"), + std::make_tuple(1, 0, "VK_IMG_format_pvrtc"), + std::make_tuple(1, 0, "VK_INTEL_performance_query"), + std::make_tuple(1, 0, "VK_INTEL_shader_integer_functions2"), + std::make_tuple(1, 0, "VK_KHR_16bit_storage"), + std::make_tuple(1, 0, "VK_KHR_8bit_storage"), + std::make_tuple(1, 1, "VK_KHR_acceleration_structure"), + std::make_tuple(1, 0, "VK_KHR_android_surface"), + std::make_tuple(1, 0, "VK_KHR_bind_memory2"), + std::make_tuple(1, 0, "VK_KHR_buffer_device_address"), + std::make_tuple(1, 0, "VK_KHR_copy_commands2"), + std::make_tuple(1, 0, "VK_KHR_create_renderpass2"), + std::make_tuple(1, 0, "VK_KHR_dedicated_allocation"), + std::make_tuple(1, 0, "VK_KHR_deferred_host_operations"), + std::make_tuple(1, 0, "VK_KHR_depth_stencil_resolve"), + std::make_tuple(1, 0, "VK_KHR_descriptor_update_template"), + std::make_tuple(1, 0, "VK_KHR_device_group"), + std::make_tuple(1, 0, "VK_KHR_device_group_creation"), + std::make_tuple(1, 0, "VK_KHR_display"), + std::make_tuple(1, 0, "VK_KHR_display_swapchain"), + std::make_tuple(1, 0, "VK_KHR_draw_indirect_count"), + std::make_tuple(1, 0, "VK_KHR_driver_properties"), + std::make_tuple(1, 0, "VK_KHR_dynamic_rendering"), + std::make_tuple(1, 0, "VK_KHR_external_fence"), + std::make_tuple(1, 0, "VK_KHR_external_fence_capabilities"), + std::make_tuple(1, 0, "VK_KHR_external_fence_fd"), + std::make_tuple(1, 0, "VK_KHR_external_fence_win32"), + std::make_tuple(1, 0, "VK_KHR_external_memory"), + std::make_tuple(1, 0, "VK_KHR_external_memory_capabilities"), + std::make_tuple(1, 0, "VK_KHR_external_memory_fd"), + std::make_tuple(1, 0, "VK_KHR_external_memory_win32"), + std::make_tuple(1, 0, "VK_KHR_external_semaphore"), + std::make_tuple(1, 0, "VK_KHR_external_semaphore_capabilities"), + std::make_tuple(1, 0, "VK_KHR_external_semaphore_fd"), + std::make_tuple(1, 0, "VK_KHR_external_semaphore_win32"), + std::make_tuple(1, 0, "VK_KHR_format_feature_flags2"), + std::make_tuple(1, 0, "VK_KHR_fragment_shading_rate"), + std::make_tuple(1, 0, "VK_KHR_get_display_properties2"), + std::make_tuple(1, 0, "VK_KHR_get_memory_requirements2"), + std::make_tuple(1, 0, "VK_KHR_get_physical_device_properties2"), + std::make_tuple(1, 0, "VK_KHR_get_surface_capabilities2"), + std::make_tuple(1, 0, "VK_KHR_image_format_list"), + std::make_tuple(1, 0, "VK_KHR_imageless_framebuffer"), + std::make_tuple(1, 0, "VK_KHR_incremental_present"), + std::make_tuple(1, 0, "VK_KHR_maintenance1"), + std::make_tuple(1, 0, "VK_KHR_maintenance2"), + std::make_tuple(1, 0, "VK_KHR_maintenance3"), + std::make_tuple(1, 1, "VK_KHR_maintenance4"), + std::make_tuple(1, 0, "VK_KHR_multiview"), + std::make_tuple(1, 0, "VK_KHR_performance_query"), + std::make_tuple(1, 0, "VK_KHR_pipeline_executable_properties"), + std::make_tuple(1, 0, "VK_KHR_pipeline_library"), + std::make_tuple(1, 0, "VK_KHR_portability_subset"), + std::make_tuple(1, 0, "VK_KHR_present_id"), + std::make_tuple(1, 0, "VK_KHR_present_wait"), + std::make_tuple(1, 0, "VK_KHR_push_descriptor"), + std::make_tuple(1, 1, "VK_KHR_ray_query"), + std::make_tuple(1, 1, "VK_KHR_ray_tracing_pipeline"), + std::make_tuple(1, 0, "VK_KHR_relaxed_block_layout"), + std::make_tuple(1, 0, "VK_KHR_sampler_mirror_clamp_to_edge"), + std::make_tuple(1, 0, "VK_KHR_sampler_ycbcr_conversion"), + std::make_tuple(1, 0, "VK_KHR_separate_depth_stencil_layouts"), + std::make_tuple(1, 0, "VK_KHR_shader_atomic_int64"), + std::make_tuple(1, 0, "VK_KHR_shader_clock"), + std::make_tuple(1, 0, "VK_KHR_shader_draw_parameters"), + std::make_tuple(1, 0, "VK_KHR_shader_float16_int8"), + std::make_tuple(1, 0, "VK_KHR_shader_float_controls"), + std::make_tuple(1, 0, "VK_KHR_shader_integer_dot_product"), + std::make_tuple(1, 0, "VK_KHR_shader_non_semantic_info"), + std::make_tuple(1, 1, "VK_KHR_shader_subgroup_extended_types"), + std::make_tuple(1, 1, "VK_KHR_shader_subgroup_uniform_control_flow"), + std::make_tuple(1, 0, "VK_KHR_shader_terminate_invocation"), + std::make_tuple(1, 0, "VK_KHR_shared_presentable_image"), + std::make_tuple(1, 1, "VK_KHR_spirv_1_4"), + std::make_tuple(1, 0, "VK_KHR_storage_buffer_storage_class"), + std::make_tuple(1, 0, "VK_KHR_surface"), + std::make_tuple(1, 1, "VK_KHR_surface_protected_capabilities"), + std::make_tuple(1, 0, "VK_KHR_swapchain"), + std::make_tuple(1, 0, "VK_KHR_swapchain_mutable_format"), + std::make_tuple(1, 0, "VK_KHR_synchronization2"), + std::make_tuple(1, 0, "VK_KHR_timeline_semaphore"), + std::make_tuple(1, 0, "VK_KHR_uniform_buffer_standard_layout"), + std::make_tuple(1, 0, "VK_KHR_variable_pointers"), + std::make_tuple(1, 0, "VK_KHR_video_decode_queue"), + std::make_tuple(1, 0, "VK_KHR_video_encode_queue"), + std::make_tuple(1, 0, "VK_KHR_video_queue"), + std::make_tuple(1, 0, "VK_KHR_vulkan_memory_model"), + std::make_tuple(1, 0, "VK_KHR_wayland_surface"), + std::make_tuple(1, 0, "VK_KHR_win32_keyed_mutex"), + std::make_tuple(1, 0, "VK_KHR_win32_surface"), + std::make_tuple(1, 0, "VK_KHR_workgroup_memory_explicit_layout"), + std::make_tuple(1, 0, "VK_KHR_xcb_surface"), + std::make_tuple(1, 0, "VK_KHR_xlib_surface"), + std::make_tuple(1, 0, "VK_KHR_zero_initialize_workgroup_memory"), + std::make_tuple(1, 0, "VK_MVK_ios_surface"), + std::make_tuple(1, 0, "VK_MVK_macos_surface"), + std::make_tuple(1, 0, "VK_NN_vi_surface"), + std::make_tuple(1, 0, "VK_NVX_binary_import"), + std::make_tuple(1, 0, "VK_NVX_image_view_handle"), + std::make_tuple(1, 0, "VK_NVX_multiview_per_view_attributes"), + std::make_tuple(1, 0, "VK_NV_acquire_winrt_display"), + std::make_tuple(1, 0, "VK_NV_clip_space_w_scaling"), + std::make_tuple(1, 0, "VK_NV_compute_shader_derivatives"), + std::make_tuple(1, 0, "VK_NV_cooperative_matrix"), + std::make_tuple(1, 0, "VK_NV_corner_sampled_image"), + std::make_tuple(1, 0, "VK_NV_coverage_reduction_mode"), + std::make_tuple(1, 0, "VK_NV_dedicated_allocation"), + std::make_tuple(1, 0, "VK_NV_dedicated_allocation_image_aliasing"), + std::make_tuple(1, 0, "VK_NV_device_diagnostic_checkpoints"), + std::make_tuple(1, 0, "VK_NV_device_diagnostics_config"), + std::make_tuple(1, 1, "VK_NV_device_generated_commands"), + std::make_tuple(1, 0, "VK_NV_external_memory"), + std::make_tuple(1, 0, "VK_NV_external_memory_capabilities"), + std::make_tuple(1, 0, "VK_NV_external_memory_rdma"), + std::make_tuple(1, 0, "VK_NV_external_memory_win32"), + std::make_tuple(1, 0, "VK_NV_fill_rectangle"), + std::make_tuple(1, 0, "VK_NV_fragment_coverage_to_color"), + std::make_tuple(1, 0, "VK_NV_fragment_shader_barycentric"), + std::make_tuple(1, 0, "VK_NV_fragment_shading_rate_enums"), + std::make_tuple(1, 0, "VK_NV_framebuffer_mixed_samples"), + std::make_tuple(1, 0, "VK_NV_geometry_shader_passthrough"), + std::make_tuple(1, 0, "VK_NV_glsl_shader"), + std::make_tuple(1, 0, "VK_NV_inherited_viewport_scissor"), + std::make_tuple(1, 0, "VK_NV_mesh_shader"), + std::make_tuple(1, 0, "VK_NV_ray_tracing"), + std::make_tuple(1, 0, "VK_NV_ray_tracing_motion_blur"), + std::make_tuple(1, 0, "VK_NV_representative_fragment_test"), + std::make_tuple(1, 0, "VK_NV_sample_mask_override_coverage"), + std::make_tuple(1, 0, "VK_NV_scissor_exclusive"), + std::make_tuple(1, 0, "VK_NV_shader_image_footprint"), + std::make_tuple(1, 1, "VK_NV_shader_sm_builtins"), + std::make_tuple(1, 1, "VK_NV_shader_subgroup_partitioned"), + std::make_tuple(1, 0, "VK_NV_shading_rate_image"), + std::make_tuple(1, 0, "VK_NV_viewport_array2"), + std::make_tuple(1, 0, "VK_NV_viewport_swizzle"), + std::make_tuple(1, 0, "VK_NV_win32_keyed_mutex"), + std::make_tuple(1, 0, "VK_QCOM_render_pass_shader_resolve"), + std::make_tuple(1, 0, "VK_QCOM_render_pass_store_ops"), + std::make_tuple(1, 0, "VK_QCOM_render_pass_transform"), + std::make_tuple(1, 0, "VK_QCOM_rotated_copy_commands"), + std::make_tuple(1, 0, "VK_QNX_screen_surface"), + std::make_tuple(1, 0, "VK_VALVE_mutable_descriptor_type"), + }; diff --cc external/vulkancts/framework/vulkan/vkBasicTypes.inl index 0000000,5328cb5..002bee2 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkBasicTypes.inl +++ b/external/vulkancts/framework/vulkan/vkBasicTypes.inl @@@ -1,0 -1,4529 +1,4746 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + #define VK_API_VERSION_1_0 (static_cast (VK_MAKE_API_VERSION(0, 1, 0, 0))) + #define VK_API_VERSION_1_1 (static_cast (VK_MAKE_API_VERSION(0, 1, 1, 0))) + #define VK_API_VERSION_1_2 (static_cast (VK_MAKE_API_VERSION(0, 1, 2, 0))) ++#define VK_API_VERSION_1_3 (static_cast (VK_MAKE_API_VERSION(0, 1, 3, 0))) + #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE (static_cast (256U)) + #define VK_MAX_EXTENSION_NAME_SIZE (static_cast (256U)) + #define VK_MAX_DRIVER_NAME_SIZE (static_cast (256U)) + #define VK_MAX_DRIVER_INFO_SIZE (static_cast (256U)) + #define VK_UUID_SIZE (static_cast (16U)) + #define VK_LUID_SIZE (static_cast (8U)) + #define VK_MAX_MEMORY_TYPES (static_cast (32U)) + #define VK_MAX_MEMORY_HEAPS (static_cast (16U)) + #define VK_MAX_DESCRIPTION_SIZE (static_cast (256U)) + #define VK_MAX_DEVICE_GROUP_SIZE (static_cast (32U)) + #define VK_ATTACHMENT_UNUSED (static_cast ((~0U))) + #define VK_SUBPASS_EXTERNAL (static_cast ((~0U))) + #define VK_QUEUE_FAMILY_IGNORED (static_cast ((~0U))) + #define VK_QUEUE_FAMILY_EXTERNAL (static_cast ((~1U))) + #define VK_REMAINING_MIP_LEVELS (static_cast ((~0U))) + #define VK_REMAINING_ARRAY_LAYERS (static_cast ((~0U))) + #define VK_WHOLE_SIZE (static_cast ((~0ULL))) + #define VK_TRUE (static_cast (1U)) + #define VK_FALSE (static_cast (0U)) -#define VK_API_MAX_FRAMEWORK_VERSION VK_API_VERSION_1_2 ++#define VK_API_MAX_FRAMEWORK_VERSION VK_API_VERSION_1_3 + + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkBuffer, HANDLE_TYPE_BUFFER); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkImage, HANDLE_TYPE_IMAGE); + VK_DEFINE_HANDLE (VkInstance, HANDLE_TYPE_INSTANCE); + VK_DEFINE_HANDLE (VkPhysicalDevice, HANDLE_TYPE_PHYSICAL_DEVICE); + VK_DEFINE_HANDLE (VkDevice, HANDLE_TYPE_DEVICE); + VK_DEFINE_HANDLE (VkQueue, HANDLE_TYPE_QUEUE); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSemaphore, HANDLE_TYPE_SEMAPHORE); + VK_DEFINE_HANDLE (VkCommandBuffer, HANDLE_TYPE_COMMAND_BUFFER); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkFence, HANDLE_TYPE_FENCE); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDeviceMemory, HANDLE_TYPE_DEVICE_MEMORY); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkEvent, HANDLE_TYPE_EVENT); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkQueryPool, HANDLE_TYPE_QUERY_POOL); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkBufferView, HANDLE_TYPE_BUFFER_VIEW); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkImageView, HANDLE_TYPE_IMAGE_VIEW); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkShaderModule, HANDLE_TYPE_SHADER_MODULE); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPipelineCache, HANDLE_TYPE_PIPELINE_CACHE); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPipelineLayout, HANDLE_TYPE_PIPELINE_LAYOUT); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPipeline, HANDLE_TYPE_PIPELINE); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkRenderPass, HANDLE_TYPE_RENDER_PASS); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDescriptorSetLayout, HANDLE_TYPE_DESCRIPTOR_SET_LAYOUT); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSampler, HANDLE_TYPE_SAMPLER); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDescriptorSet, HANDLE_TYPE_DESCRIPTOR_SET); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDescriptorPool, HANDLE_TYPE_DESCRIPTOR_POOL); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkFramebuffer, HANDLE_TYPE_FRAMEBUFFER); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkCommandPool, HANDLE_TYPE_COMMAND_POOL); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSamplerYcbcrConversion, HANDLE_TYPE_SAMPLER_YCBCR_CONVERSION); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDescriptorUpdateTemplate, HANDLE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE); ++VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPrivateDataSlot, HANDLE_TYPE_PRIVATE_DATA_SLOT); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSurfaceKHR, HANDLE_TYPE_SURFACE_KHR); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSwapchainKHR, HANDLE_TYPE_SWAPCHAIN_KHR); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDisplayKHR, HANDLE_TYPE_DISPLAY_KHR); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDisplayModeKHR, HANDLE_TYPE_DISPLAY_MODE_KHR); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDeferredOperationKHR, HANDLE_TYPE_DEFERRED_OPERATION_KHR); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDebugReportCallbackEXT, HANDLE_TYPE_DEBUG_REPORT_CALLBACK_EXT); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkCuModuleNVX, HANDLE_TYPE_CU_MODULE_NVX); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkCuFunctionNVX, HANDLE_TYPE_CU_FUNCTION_NVX); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDebugUtilsMessengerEXT, HANDLE_TYPE_DEBUG_UTILS_MESSENGER_EXT); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkValidationCacheEXT, HANDLE_TYPE_VALIDATION_CACHE_EXT); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkAccelerationStructureNV, HANDLE_TYPE_ACCELERATION_STRUCTURE_NV); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPerformanceConfigurationINTEL, HANDLE_TYPE_PERFORMANCE_CONFIGURATION_INTEL); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkIndirectCommandsLayoutNV, HANDLE_TYPE_INDIRECT_COMMANDS_LAYOUT_NV); -VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPrivateDataSlotEXT, HANDLE_TYPE_PRIVATE_DATA_SLOT_EXT); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkAccelerationStructureKHR, HANDLE_TYPE_ACCELERATION_STRUCTURE_KHR); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkVideoSessionKHR, HANDLE_TYPE_VIDEO_SESSION_KHR); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkVideoSessionParametersKHR, HANDLE_TYPE_VIDEO_SESSION_PARAMETERS_KHR); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkBufferCollectionFUCHSIA, HANDLE_TYPE_BUFFER_COLLECTION_FUCHSIA); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSamplerYcbcrConversionKHR, HANDLE_TYPE_SAMPLER_YCBCR_CONVERSION); + VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDescriptorUpdateTemplateKHR, HANDLE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE); ++VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPrivateDataSlotEXT, HANDLE_TYPE_PRIVATE_DATA_SLOT); + + enum VkResult + { + VK_SUCCESS = 0, + VK_NOT_READY = 1, + VK_TIMEOUT = 2, + VK_EVENT_SET = 3, + VK_EVENT_RESET = 4, + VK_INCOMPLETE = 5, + VK_ERROR_OUT_OF_HOST_MEMORY = -1, + VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, + VK_ERROR_INITIALIZATION_FAILED = -3, + VK_ERROR_DEVICE_LOST = -4, + VK_ERROR_MEMORY_MAP_FAILED = -5, + VK_ERROR_LAYER_NOT_PRESENT = -6, + VK_ERROR_EXTENSION_NOT_PRESENT = -7, + VK_ERROR_FEATURE_NOT_PRESENT = -8, + VK_ERROR_INCOMPATIBLE_DRIVER = -9, + VK_ERROR_TOO_MANY_OBJECTS = -10, + VK_ERROR_FORMAT_NOT_SUPPORTED = -11, + VK_ERROR_FRAGMENTED_POOL = -12, + VK_ERROR_UNKNOWN = -13, + VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, + VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, + VK_ERROR_FRAGMENTATION = -1000161000, + VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, ++ VK_PIPELINE_COMPILE_REQUIRED = 1000297000, + VK_ERROR_SURFACE_LOST_KHR = -1000000000, + VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, + VK_SUBOPTIMAL_KHR = 1000001003, + VK_ERROR_OUT_OF_DATE_KHR = -1000001004, + VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, + VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, + VK_ERROR_INVALID_SHADER_NV = -1000012000, + VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, + VK_ERROR_NOT_PERMITTED_EXT = -1000174001, + VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, + VK_THREAD_IDLE_KHR = 1000268000, + VK_THREAD_DONE_KHR = 1000268001, + VK_OPERATION_DEFERRED_KHR = 1000268002, + VK_OPERATION_NOT_DEFERRED_KHR = 1000268003, - VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000, + VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, + VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE, + VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION, + VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, + VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, - VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT, ++ VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, ++ VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, + VK_RESULT_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkStructureType + { + VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, + VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, + VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, + VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, + VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, + VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, + VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, + VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, + VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, + VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, + VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, + VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, + VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, + VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, + VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, + VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, + VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, + VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, + VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, + VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, + VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, + VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, + VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, + VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, + VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, + VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, + VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, + VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, + VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, + VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, + VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, + VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, + VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, + VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, + VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, + VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, + VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, + VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, + VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, + VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, + VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, + VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, + VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, + VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, + VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, + VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006, + VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, + VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, + VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, + VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, + VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002, + VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, + VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, + VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, + VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, + VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, + VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, + VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, + VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, + VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, + VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, + VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, + VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, + VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, + VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, + VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, + VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, + VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, + VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, + VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, + VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, + VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, + VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, + VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, + VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, + VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, + VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, + VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, + VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, + VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, + VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, + VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, + VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, + VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, + VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, + VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, + VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, + VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, + VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, + VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, + VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, + VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, + VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, + VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, + VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, + VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, + VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54, ++ VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000, ++ VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001, ++ VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000, ++ VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000, ++ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001, ++ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002, ++ VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003, ++ VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004, ++ VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005, ++ VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000, ++ VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000, ++ VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001, ++ VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002, ++ VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003, ++ VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004, ++ VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005, ++ VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006, ++ VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007, ++ VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008, ++ VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009, ++ VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000, ++ VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001, ++ VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002, ++ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000, ++ VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000, ++ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001, ++ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003, ++ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001, ++ VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001, ++ VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002, ++ VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003, + VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, + VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, + VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, + VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, + VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, + VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, + VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, + VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, + VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, + VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, + VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, + VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, + VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, + VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, + VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, + VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, + VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, + VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, + VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, + VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000, + VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001, + VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002, + VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003, + VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004, + VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005, + VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006, + VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007, + VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008, + VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009, + VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010, + VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011, + VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012, + VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014, + VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015, + VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000, + VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, + VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, + VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002, + VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000, + VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001, + VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002, + VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000, + VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038009, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038010, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT = 1000039001, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039002, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039003, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039004, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039005, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT = 1000039006, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT = 1000039007, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT = 1000039008, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT = 1000039009, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039010, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039011, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007, + VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, - VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = 1000044000, - VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = 1000044001, - VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = 1000044002, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = 1000044003, - VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = 1000044004, + VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, + VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007, + VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008, + VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009, + VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000, + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, + VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, + VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, + VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, + VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, + VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000, + VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000, + VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001, + VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002, + VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, + VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, + VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, + VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000, + VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000, + VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001, + VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002, + VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003, + VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, + VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001, + VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002, + VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, + VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000, + VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, + VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, + VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, + VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, + VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, + VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, + VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, + VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, + VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, + VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, + VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002, + VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, + VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, + VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, + VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, + VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, + VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, + VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, + VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, + VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, + VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, + VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, + VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, + VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, + VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, + VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, + VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, + VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, + VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, + VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002, + VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, + VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, + VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, + VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, + VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001, - VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002, - VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003, + VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, + VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, + VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, + VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, + VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, + VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, + VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009, + VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010, + VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011, + VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001, + VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015, + VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016, + VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013, + VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001, + VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, + VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, + VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, + VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, + VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006, + VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, + VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005, + VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001, + VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003, + VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004, + VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005, + VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006, + VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009, + VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000, + VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, + VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, + VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, + VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000, + VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006, + VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, + VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002, + VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000, - VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002, + VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000, + VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000, + VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000, + VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001, + VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002, + VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003, + VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004, + VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, + VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000, + VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001, + VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000, + VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001, + VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000, - VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002, + VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, + VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000, + VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001, + VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000, + VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000, + VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000, + VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, + VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, + VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002, + VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, + VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002, + VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, + VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, + VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, + VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, + VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, + VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, + VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000, + VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, + VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002, + VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003, + VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004, + VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005, + VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = 1000280000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = 1000280001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, + VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000, + VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001, + VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, + VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, + VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, + VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000, - VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001, - VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, + VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, - VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000, - VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001, - VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002, - VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003, - VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004, - VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005, - VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007, + VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, + VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001, + VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001, + VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000, - VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000, - VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001, - VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002, - VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003, - VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004, - VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005, - VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006, - VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007, - VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008, - VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009, - VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = 1000342000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, + VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000, + VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, + VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, + VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, - VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = 1000360000, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000, + VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001, + VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002, + VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000, + VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001, + VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001, + VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002, + VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003, + VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004, + VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005, + VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006, + VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007, + VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008, + VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009, + VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000, + VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, + VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, + VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = 1000388000, + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = 1000388001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000, + VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, + VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = 1000413000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = 1000413001, - VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = 1000413002, - VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = 1000413003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, + VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, ++ VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO, ++ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, ++ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, ++ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, + VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, + VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, + VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, + VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, + VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, + VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, + VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, + VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, + VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, + VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, + VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, + VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, + VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, + VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, + VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, + VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, + VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, + VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, + VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO, + VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, + VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, + VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, + VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, + VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, + VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, + VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, + VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, + VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, + VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, + VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, + VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, + VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, + VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, ++ VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK, ++ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO, + VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, + VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, + VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, + VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, + VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, + VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, + VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, + VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, + VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, ++ VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, + VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, + VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, + VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, + VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, + VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, + VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, ++ VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, + VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, + VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, + VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES, + VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, + VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, + VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, + VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, + VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, ++ VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO, ++ VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, ++ VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, ++ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, ++ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, ++ VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, ++ VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, ++ VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, ++ VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, ++ VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2, ++ VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2, ++ VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2, ++ VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2, ++ VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2, ++ VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2, ++ VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2, ++ VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2, ++ VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, ++ VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, ++ VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, ++ VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, ++ VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, ++ VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, + VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkImageLayout + { + VK_IMAGE_LAYOUT_UNDEFINED = 0, + VK_IMAGE_LAYOUT_GENERAL = 1, + VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, + VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, + VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, + VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, + VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, + VK_IMAGE_LAYOUT_PREINITIALIZED = 8, + VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, + VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, + VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, + VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, + VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, + VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, ++ VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, ++ VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, + VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, + VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, + VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, + VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002, + VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, + VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, + VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, + VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, + VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000, - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001, + VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, + VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR, + VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, + VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, + VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, + VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, ++ VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, ++ VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, + VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkObjectType + { + VK_OBJECT_TYPE_UNKNOWN = 0, + VK_OBJECT_TYPE_INSTANCE = 1, + VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, + VK_OBJECT_TYPE_DEVICE = 3, + VK_OBJECT_TYPE_QUEUE = 4, + VK_OBJECT_TYPE_SEMAPHORE = 5, + VK_OBJECT_TYPE_COMMAND_BUFFER = 6, + VK_OBJECT_TYPE_FENCE = 7, + VK_OBJECT_TYPE_DEVICE_MEMORY = 8, + VK_OBJECT_TYPE_BUFFER = 9, + VK_OBJECT_TYPE_IMAGE = 10, + VK_OBJECT_TYPE_EVENT = 11, + VK_OBJECT_TYPE_QUERY_POOL = 12, + VK_OBJECT_TYPE_BUFFER_VIEW = 13, + VK_OBJECT_TYPE_IMAGE_VIEW = 14, + VK_OBJECT_TYPE_SHADER_MODULE = 15, + VK_OBJECT_TYPE_PIPELINE_CACHE = 16, + VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, + VK_OBJECT_TYPE_RENDER_PASS = 18, + VK_OBJECT_TYPE_PIPELINE = 19, + VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, + VK_OBJECT_TYPE_SAMPLER = 21, + VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, + VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, + VK_OBJECT_TYPE_FRAMEBUFFER = 24, + VK_OBJECT_TYPE_COMMAND_POOL = 25, + VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, + VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, ++ VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000, + VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, + VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, + VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, + VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, + VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, + VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000, + VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001, + VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, + VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, + VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, + VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, + VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, + VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, + VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, + VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, + VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, - VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000, + VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000, + VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, + VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, ++ VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, + VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkPipelineCacheHeaderVersion + { + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkVendorId + { + VK_VENDOR_ID_VIV = 0x10001, + VK_VENDOR_ID_VSI = 0x10002, + VK_VENDOR_ID_KAZAN = 0x10003, + VK_VENDOR_ID_CODEPLAY = 0x10004, + VK_VENDOR_ID_MESA = 0x10005, + VK_VENDOR_ID_POCL = 0x10006, + VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkSystemAllocationScope + { + VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, + VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, + VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, + VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, + VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, + VK_SYSTEM_ALLOCATION_SCOPE_LAST, + VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkInternalAllocationType + { + VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, + VK_INTERNAL_ALLOCATION_TYPE_LAST, + VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkFormat + { + VK_FORMAT_UNDEFINED = 0, + VK_FORMAT_R4G4_UNORM_PACK8 = 1, + VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, + VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, + VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, + VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, + VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, + VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, + VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, + VK_FORMAT_R8_UNORM = 9, + VK_FORMAT_R8_SNORM = 10, + VK_FORMAT_R8_USCALED = 11, + VK_FORMAT_R8_SSCALED = 12, + VK_FORMAT_R8_UINT = 13, + VK_FORMAT_R8_SINT = 14, + VK_FORMAT_R8_SRGB = 15, + VK_FORMAT_R8G8_UNORM = 16, + VK_FORMAT_R8G8_SNORM = 17, + VK_FORMAT_R8G8_USCALED = 18, + VK_FORMAT_R8G8_SSCALED = 19, + VK_FORMAT_R8G8_UINT = 20, + VK_FORMAT_R8G8_SINT = 21, + VK_FORMAT_R8G8_SRGB = 22, + VK_FORMAT_R8G8B8_UNORM = 23, + VK_FORMAT_R8G8B8_SNORM = 24, + VK_FORMAT_R8G8B8_USCALED = 25, + VK_FORMAT_R8G8B8_SSCALED = 26, + VK_FORMAT_R8G8B8_UINT = 27, + VK_FORMAT_R8G8B8_SINT = 28, + VK_FORMAT_R8G8B8_SRGB = 29, + VK_FORMAT_B8G8R8_UNORM = 30, + VK_FORMAT_B8G8R8_SNORM = 31, + VK_FORMAT_B8G8R8_USCALED = 32, + VK_FORMAT_B8G8R8_SSCALED = 33, + VK_FORMAT_B8G8R8_UINT = 34, + VK_FORMAT_B8G8R8_SINT = 35, + VK_FORMAT_B8G8R8_SRGB = 36, + VK_FORMAT_R8G8B8A8_UNORM = 37, + VK_FORMAT_R8G8B8A8_SNORM = 38, + VK_FORMAT_R8G8B8A8_USCALED = 39, + VK_FORMAT_R8G8B8A8_SSCALED = 40, + VK_FORMAT_R8G8B8A8_UINT = 41, + VK_FORMAT_R8G8B8A8_SINT = 42, + VK_FORMAT_R8G8B8A8_SRGB = 43, + VK_FORMAT_B8G8R8A8_UNORM = 44, + VK_FORMAT_B8G8R8A8_SNORM = 45, + VK_FORMAT_B8G8R8A8_USCALED = 46, + VK_FORMAT_B8G8R8A8_SSCALED = 47, + VK_FORMAT_B8G8R8A8_UINT = 48, + VK_FORMAT_B8G8R8A8_SINT = 49, + VK_FORMAT_B8G8R8A8_SRGB = 50, + VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, + VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, + VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, + VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, + VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, + VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, + VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, + VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, + VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, + VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, + VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, + VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, + VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, + VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, + VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, + VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, + VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, + VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, + VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, + VK_FORMAT_R16_UNORM = 70, + VK_FORMAT_R16_SNORM = 71, + VK_FORMAT_R16_USCALED = 72, + VK_FORMAT_R16_SSCALED = 73, + VK_FORMAT_R16_UINT = 74, + VK_FORMAT_R16_SINT = 75, + VK_FORMAT_R16_SFLOAT = 76, + VK_FORMAT_R16G16_UNORM = 77, + VK_FORMAT_R16G16_SNORM = 78, + VK_FORMAT_R16G16_USCALED = 79, + VK_FORMAT_R16G16_SSCALED = 80, + VK_FORMAT_R16G16_UINT = 81, + VK_FORMAT_R16G16_SINT = 82, + VK_FORMAT_R16G16_SFLOAT = 83, + VK_FORMAT_R16G16B16_UNORM = 84, + VK_FORMAT_R16G16B16_SNORM = 85, + VK_FORMAT_R16G16B16_USCALED = 86, + VK_FORMAT_R16G16B16_SSCALED = 87, + VK_FORMAT_R16G16B16_UINT = 88, + VK_FORMAT_R16G16B16_SINT = 89, + VK_FORMAT_R16G16B16_SFLOAT = 90, + VK_FORMAT_R16G16B16A16_UNORM = 91, + VK_FORMAT_R16G16B16A16_SNORM = 92, + VK_FORMAT_R16G16B16A16_USCALED = 93, + VK_FORMAT_R16G16B16A16_SSCALED = 94, + VK_FORMAT_R16G16B16A16_UINT = 95, + VK_FORMAT_R16G16B16A16_SINT = 96, + VK_FORMAT_R16G16B16A16_SFLOAT = 97, + VK_FORMAT_R32_UINT = 98, + VK_FORMAT_R32_SINT = 99, + VK_FORMAT_R32_SFLOAT = 100, + VK_FORMAT_R32G32_UINT = 101, + VK_FORMAT_R32G32_SINT = 102, + VK_FORMAT_R32G32_SFLOAT = 103, + VK_FORMAT_R32G32B32_UINT = 104, + VK_FORMAT_R32G32B32_SINT = 105, + VK_FORMAT_R32G32B32_SFLOAT = 106, + VK_FORMAT_R32G32B32A32_UINT = 107, + VK_FORMAT_R32G32B32A32_SINT = 108, + VK_FORMAT_R32G32B32A32_SFLOAT = 109, + VK_FORMAT_R64_UINT = 110, + VK_FORMAT_R64_SINT = 111, + VK_FORMAT_R64_SFLOAT = 112, + VK_FORMAT_R64G64_UINT = 113, + VK_FORMAT_R64G64_SINT = 114, + VK_FORMAT_R64G64_SFLOAT = 115, + VK_FORMAT_R64G64B64_UINT = 116, + VK_FORMAT_R64G64B64_SINT = 117, + VK_FORMAT_R64G64B64_SFLOAT = 118, + VK_FORMAT_R64G64B64A64_UINT = 119, + VK_FORMAT_R64G64B64A64_SINT = 120, + VK_FORMAT_R64G64B64A64_SFLOAT = 121, + VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, + VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, + VK_FORMAT_D16_UNORM = 124, + VK_FORMAT_X8_D24_UNORM_PACK32 = 125, + VK_FORMAT_D32_SFLOAT = 126, + VK_FORMAT_S8_UINT = 127, + VK_FORMAT_D16_UNORM_S8_UINT = 128, + VK_FORMAT_D24_UNORM_S8_UINT = 129, + VK_FORMAT_D32_SFLOAT_S8_UINT = 130, + VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, + VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, + VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, + VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, + VK_FORMAT_BC2_UNORM_BLOCK = 135, + VK_FORMAT_BC2_SRGB_BLOCK = 136, + VK_FORMAT_BC3_UNORM_BLOCK = 137, + VK_FORMAT_BC3_SRGB_BLOCK = 138, + VK_FORMAT_BC4_UNORM_BLOCK = 139, + VK_FORMAT_BC4_SNORM_BLOCK = 140, + VK_FORMAT_BC5_UNORM_BLOCK = 141, + VK_FORMAT_BC5_SNORM_BLOCK = 142, + VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, + VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, + VK_FORMAT_BC7_UNORM_BLOCK = 145, + VK_FORMAT_BC7_SRGB_BLOCK = 146, + VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, + VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, + VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, + VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, + VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, + VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, + VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, + VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, + VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, + VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, + VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, + VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, + VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, + VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, + VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, + VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, + VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, + VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, + VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, + VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, + VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, + VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, + VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, + VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, + VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, + VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, + VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, + VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, + VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, + VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, + VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, + VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, + VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, + VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, + VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, + VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, + VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, + VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, + VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, + VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, + VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, + VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, + VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, + VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, + VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, + VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, + VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, + VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, + VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, + VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, + VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, + VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, + VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, + VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, + VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, + VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, + VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, + VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, + VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, + VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, + VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, + VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, + VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, + VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, + VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, + VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, ++ VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, ++ VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, ++ VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, ++ VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003, ++ VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000, ++ VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001, ++ VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000, ++ VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001, ++ VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002, ++ VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003, ++ VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004, ++ VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005, ++ VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006, ++ VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007, ++ VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008, ++ VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009, ++ VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010, ++ VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011, ++ VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012, ++ VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013, + VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, + VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, + VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, + VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, + VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, + VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, + VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, + VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, - VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000, - VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001, - VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002, - VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003, - VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004, - VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005, - VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006, - VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007, - VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008, - VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009, - VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010, - VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011, - VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012, - VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013, - VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000, - VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001, - VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002, - VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003, - VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000, - VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001, ++ VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK, + VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, + VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, + VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, + VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, + VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, + VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, + VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, + VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, + VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, + VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, + VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, + VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, + VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, + VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, + VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, + VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, + VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, + VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, + VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, + VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, + VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, + VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, + VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, + VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, + VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, + VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, + VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, + VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, ++ VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, ++ VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, ++ VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, ++ VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, ++ VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16, ++ VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16, + VK_FORMAT_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkImageTiling + { + VK_IMAGE_TILING_OPTIMAL = 0, + VK_IMAGE_TILING_LINEAR = 1, + VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, + VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkImageType + { + VK_IMAGE_TYPE_1D = 0, + VK_IMAGE_TYPE_2D = 1, + VK_IMAGE_TYPE_3D = 2, + VK_IMAGE_TYPE_LAST, + VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkPhysicalDeviceType + { + VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, + VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, + VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, + VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, + VK_PHYSICAL_DEVICE_TYPE_CPU = 4, + VK_PHYSICAL_DEVICE_TYPE_LAST, + VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkQueryType + { + VK_QUERY_TYPE_OCCLUSION = 0, + VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, + VK_QUERY_TYPE_TIMESTAMP = 2, + VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, + VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, + VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, + VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, + VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, + VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, + VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, + VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000, + VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkSharingMode + { + VK_SHARING_MODE_EXCLUSIVE = 0, + VK_SHARING_MODE_CONCURRENT = 1, + VK_SHARING_MODE_LAST, + VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkComponentSwizzle + { + VK_COMPONENT_SWIZZLE_IDENTITY = 0, + VK_COMPONENT_SWIZZLE_ZERO = 1, + VK_COMPONENT_SWIZZLE_ONE = 2, + VK_COMPONENT_SWIZZLE_R = 3, + VK_COMPONENT_SWIZZLE_G = 4, + VK_COMPONENT_SWIZZLE_B = 5, + VK_COMPONENT_SWIZZLE_A = 6, + VK_COMPONENT_SWIZZLE_LAST, + VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkImageViewType + { + VK_IMAGE_VIEW_TYPE_1D = 0, + VK_IMAGE_VIEW_TYPE_2D = 1, + VK_IMAGE_VIEW_TYPE_3D = 2, + VK_IMAGE_VIEW_TYPE_CUBE = 3, + VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, + VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, + VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, + VK_IMAGE_VIEW_TYPE_LAST, + VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkBlendFactor + { + VK_BLEND_FACTOR_ZERO = 0, + VK_BLEND_FACTOR_ONE = 1, + VK_BLEND_FACTOR_SRC_COLOR = 2, + VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, + VK_BLEND_FACTOR_DST_COLOR = 4, + VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, + VK_BLEND_FACTOR_SRC_ALPHA = 6, + VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, + VK_BLEND_FACTOR_DST_ALPHA = 8, + VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, + VK_BLEND_FACTOR_CONSTANT_COLOR = 10, + VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, + VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, + VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, + VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, + VK_BLEND_FACTOR_SRC1_COLOR = 15, + VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, + VK_BLEND_FACTOR_SRC1_ALPHA = 17, + VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, + VK_BLEND_FACTOR_LAST, + VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkBlendOp + { + VK_BLEND_OP_ADD = 0, + VK_BLEND_OP_SUBTRACT = 1, + VK_BLEND_OP_REVERSE_SUBTRACT = 2, + VK_BLEND_OP_MIN = 3, + VK_BLEND_OP_MAX = 4, + VK_BLEND_OP_ZERO_EXT = 1000148000, + VK_BLEND_OP_SRC_EXT = 1000148001, + VK_BLEND_OP_DST_EXT = 1000148002, + VK_BLEND_OP_SRC_OVER_EXT = 1000148003, + VK_BLEND_OP_DST_OVER_EXT = 1000148004, + VK_BLEND_OP_SRC_IN_EXT = 1000148005, + VK_BLEND_OP_DST_IN_EXT = 1000148006, + VK_BLEND_OP_SRC_OUT_EXT = 1000148007, + VK_BLEND_OP_DST_OUT_EXT = 1000148008, + VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, + VK_BLEND_OP_DST_ATOP_EXT = 1000148010, + VK_BLEND_OP_XOR_EXT = 1000148011, + VK_BLEND_OP_MULTIPLY_EXT = 1000148012, + VK_BLEND_OP_SCREEN_EXT = 1000148013, + VK_BLEND_OP_OVERLAY_EXT = 1000148014, + VK_BLEND_OP_DARKEN_EXT = 1000148015, + VK_BLEND_OP_LIGHTEN_EXT = 1000148016, + VK_BLEND_OP_COLORDODGE_EXT = 1000148017, + VK_BLEND_OP_COLORBURN_EXT = 1000148018, + VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, + VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, + VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, + VK_BLEND_OP_EXCLUSION_EXT = 1000148022, + VK_BLEND_OP_INVERT_EXT = 1000148023, + VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, + VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, + VK_BLEND_OP_LINEARBURN_EXT = 1000148026, + VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, + VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, + VK_BLEND_OP_PINLIGHT_EXT = 1000148029, + VK_BLEND_OP_HARDMIX_EXT = 1000148030, + VK_BLEND_OP_HSL_HUE_EXT = 1000148031, + VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, + VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, + VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, + VK_BLEND_OP_PLUS_EXT = 1000148035, + VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, + VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, + VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, + VK_BLEND_OP_MINUS_EXT = 1000148039, + VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, + VK_BLEND_OP_CONTRAST_EXT = 1000148041, + VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, + VK_BLEND_OP_RED_EXT = 1000148043, + VK_BLEND_OP_GREEN_EXT = 1000148044, + VK_BLEND_OP_BLUE_EXT = 1000148045, + VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkCompareOp + { + VK_COMPARE_OP_NEVER = 0, + VK_COMPARE_OP_LESS = 1, + VK_COMPARE_OP_EQUAL = 2, + VK_COMPARE_OP_LESS_OR_EQUAL = 3, + VK_COMPARE_OP_GREATER = 4, + VK_COMPARE_OP_NOT_EQUAL = 5, + VK_COMPARE_OP_GREATER_OR_EQUAL = 6, + VK_COMPARE_OP_ALWAYS = 7, + VK_COMPARE_OP_LAST, + VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkDynamicState + { + VK_DYNAMIC_STATE_VIEWPORT = 0, + VK_DYNAMIC_STATE_SCISSOR = 1, + VK_DYNAMIC_STATE_LINE_WIDTH = 2, + VK_DYNAMIC_STATE_DEPTH_BIAS = 3, + VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, + VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, + VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, + VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, + VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, ++ VK_DYNAMIC_STATE_CULL_MODE = 1000267000, ++ VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, ++ VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, ++ VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, ++ VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, ++ VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, ++ VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, ++ VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, ++ VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, ++ VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, ++ VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, ++ VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, ++ VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, ++ VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, ++ VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, + VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, + VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, + VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, + VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, + VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, + VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, + VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, + VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, + VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000, - VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000, - VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001, - VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002, - VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003, - VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004, - VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005, - VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006, - VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007, - VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008, - VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009, - VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010, - VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011, + VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, - VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001, - VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002, + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, - VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004, + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, ++ VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, ++ VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, ++ VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, ++ VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, ++ VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, ++ VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, ++ VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, ++ VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, ++ VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, ++ VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, ++ VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, ++ VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP, ++ VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, ++ VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, ++ VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, + VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkFrontFace + { + VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, + VK_FRONT_FACE_CLOCKWISE = 1, + VK_FRONT_FACE_LAST, + VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkVertexInputRate + { + VK_VERTEX_INPUT_RATE_VERTEX = 0, + VK_VERTEX_INPUT_RATE_INSTANCE = 1, + VK_VERTEX_INPUT_RATE_LAST, + VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkPrimitiveTopology + { + VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, + VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, + VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, + VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, + VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, + VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, + VK_PRIMITIVE_TOPOLOGY_LAST, + VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkPolygonMode + { + VK_POLYGON_MODE_FILL = 0, + VK_POLYGON_MODE_LINE = 1, + VK_POLYGON_MODE_POINT = 2, + VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, + VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkStencilOp + { + VK_STENCIL_OP_KEEP = 0, + VK_STENCIL_OP_ZERO = 1, + VK_STENCIL_OP_REPLACE = 2, + VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, + VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, + VK_STENCIL_OP_INVERT = 5, + VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, + VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, + VK_STENCIL_OP_LAST, + VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkLogicOp + { + VK_LOGIC_OP_CLEAR = 0, + VK_LOGIC_OP_AND = 1, + VK_LOGIC_OP_AND_REVERSE = 2, + VK_LOGIC_OP_COPY = 3, + VK_LOGIC_OP_AND_INVERTED = 4, + VK_LOGIC_OP_NO_OP = 5, + VK_LOGIC_OP_XOR = 6, + VK_LOGIC_OP_OR = 7, + VK_LOGIC_OP_NOR = 8, + VK_LOGIC_OP_EQUIVALENT = 9, + VK_LOGIC_OP_INVERT = 10, + VK_LOGIC_OP_OR_REVERSE = 11, + VK_LOGIC_OP_COPY_INVERTED = 12, + VK_LOGIC_OP_OR_INVERTED = 13, + VK_LOGIC_OP_NAND = 14, + VK_LOGIC_OP_SET = 15, + VK_LOGIC_OP_LAST, + VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkBorderColor + { + VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, + VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, + VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, + VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, + VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, + VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, + VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, + VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, + VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkFilter + { + VK_FILTER_NEAREST = 0, + VK_FILTER_LINEAR = 1, + VK_FILTER_CUBIC_IMG = 1000015000, + VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG, + VK_FILTER_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkSamplerAddressMode + { + VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, + VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, + VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, + VK_SAMPLER_ADDRESS_MODE_LAST, + VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, + VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkSamplerMipmapMode + { + VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, + VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, + VK_SAMPLER_MIPMAP_MODE_LAST, + VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkDescriptorType + { + VK_DESCRIPTOR_TYPE_SAMPLER = 0, + VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, + VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, + VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, + VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, + VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, + VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, + VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, + VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, + VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, + VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, - VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000, ++ VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, + VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, + VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, + VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000, ++ VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, + VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkAttachmentLoadOp + { + VK_ATTACHMENT_LOAD_OP_LOAD = 0, + VK_ATTACHMENT_LOAD_OP_CLEAR = 1, + VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, + VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000, + VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkAttachmentStoreOp + { + VK_ATTACHMENT_STORE_OP_STORE = 0, + VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, - VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000, - VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE_KHR, - VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE_KHR, ++ VK_ATTACHMENT_STORE_OP_NONE = 1000301000, ++ VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE, ++ VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE, ++ VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE, + VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkPipelineBindPoint + { + VK_PIPELINE_BIND_POINT_GRAPHICS = 0, + VK_PIPELINE_BIND_POINT_COMPUTE = 1, + VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, + VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003, + VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, + VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkCommandBufferLevel + { + VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, + VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, + VK_COMMAND_BUFFER_LEVEL_LAST, + VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkIndexType + { + VK_INDEX_TYPE_UINT16 = 0, + VK_INDEX_TYPE_UINT32 = 1, + VK_INDEX_TYPE_NONE_KHR = 1000165000, + VK_INDEX_TYPE_UINT8_EXT = 1000265000, + VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR, + VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkSubpassContents + { + VK_SUBPASS_CONTENTS_INLINE = 0, + VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, + VK_SUBPASS_CONTENTS_LAST, + VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkPointClippingBehavior + { + VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, + VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, + VK_POINT_CLIPPING_BEHAVIOR_LAST, + VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, + VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, + VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkTessellationDomainOrigin + { + VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, + VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, + VK_TESSELLATION_DOMAIN_ORIGIN_LAST, + VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, + VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, + VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkSamplerYcbcrModelConversion + { + VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_LAST, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkSamplerYcbcrRange + { + VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, + VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, + VK_SAMPLER_YCBCR_RANGE_LAST, + VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, + VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, + VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkChromaLocation + { + VK_CHROMA_LOCATION_COSITED_EVEN = 0, + VK_CHROMA_LOCATION_MIDPOINT = 1, + VK_CHROMA_LOCATION_LAST, + VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN, + VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT, + VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkDescriptorUpdateTemplateType + { + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0, + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1, + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_LAST, + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkDriverId + { + VK_DRIVER_ID_AMD_PROPRIETARY = 1, + VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, + VK_DRIVER_ID_MESA_RADV = 3, + VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, + VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, + VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, + VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, + VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, + VK_DRIVER_ID_ARM_PROPRIETARY = 9, + VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, + VK_DRIVER_ID_GGP_PROPRIETARY = 11, + VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, + VK_DRIVER_ID_MESA_LLVMPIPE = 13, + VK_DRIVER_ID_MOLTENVK = 14, + VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, + VK_DRIVER_ID_JUICE_PROPRIETARY = 16, + VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, + VK_DRIVER_ID_MESA_TURNIP = 18, + VK_DRIVER_ID_MESA_V3DV = 19, + VK_DRIVER_ID_MESA_PANVK = 20, + VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, + VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, + VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, + VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, + VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY, + VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, + VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, + VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, + VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY, + VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY, + VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, + VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY, + VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY, + VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkShaderFloatControlsIndependence + { + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_LAST, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkSamplerReductionMode + { + VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, + VK_SAMPLER_REDUCTION_MODE_MIN = 1, + VK_SAMPLER_REDUCTION_MODE_MAX = 2, + VK_SAMPLER_REDUCTION_MODE_LAST, + VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, + VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN, + VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX, + VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkSemaphoreType + { + VK_SEMAPHORE_TYPE_BINARY = 0, + VK_SEMAPHORE_TYPE_TIMELINE = 1, + VK_SEMAPHORE_TYPE_LAST, + VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY, + VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE, + VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF, + }; + + enum VkPresentModeKHR + { + VK_PRESENT_MODE_IMMEDIATE_KHR = 0, + VK_PRESENT_MODE_MAILBOX_KHR = 1, + VK_PRESENT_MODE_FIFO_KHR = 2, + VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, + VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, + VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, + VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkColorSpaceKHR + { + VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, + VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, + VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, + VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, + VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, + VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, + VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, + VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, + VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, + VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, + VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, + VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, + VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, + VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, + VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, + VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000, + VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, + VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkPerformanceCounterUnitKHR + { + VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, + VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, + VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, + VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, + VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, + VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, + VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, + VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, + VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, + VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, + VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, + VK_PERFORMANCE_COUNTER_UNIT_KHR_LAST, + VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkPerformanceCounterScopeKHR + { + VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, + VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, + VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, + VK_PERFORMANCE_COUNTER_SCOPE_KHR_LAST, + VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, + VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, + VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, + VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkPerformanceCounterStorageKHR + { + VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, + VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, + VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, + VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, + VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, + VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, + VK_PERFORMANCE_COUNTER_STORAGE_KHR_LAST, + VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkFragmentShadingRateCombinerOpKHR + { + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KHR_LAST, + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkPipelineExecutableStatisticFormatKHR + { + VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0, + VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1, + VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2, + VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3, + VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_KHR_LAST, + VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkDebugReportObjectTypeEXT + { + VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, + VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, + VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, + VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, + VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, + VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, + VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, + VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, + VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, + VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, + VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, + VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, + VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, + VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, + VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, + VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, + VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, + VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, + VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, + VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, + VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, + VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, + VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, + VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, + VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, + VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, + VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, + VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, + VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28, + VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, + VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, + VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33, + VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000, + VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000, + VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000, + VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001, + VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000, + VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000, + VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000, + VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, + VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, + VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, + VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, + VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkRasterizationOrderAMD + { + VK_RASTERIZATION_ORDER_STRICT_AMD = 0, + VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, + VK_RASTERIZATION_ORDER_AMD_LAST, + VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF, + }; + + enum VkShaderInfoTypeAMD + { + VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0, + VK_SHADER_INFO_TYPE_BINARY_AMD = 1, + VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2, + VK_SHADER_INFO_TYPE_AMD_LAST, + VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF, + }; + + enum VkValidationCheckEXT + { + VK_VALIDATION_CHECK_ALL_EXT = 0, + VK_VALIDATION_CHECK_SHADERS_EXT = 1, + VK_VALIDATION_CHECK_EXT_LAST, + VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkDisplayPowerStateEXT + { + VK_DISPLAY_POWER_STATE_OFF_EXT = 0, + VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, + VK_DISPLAY_POWER_STATE_ON_EXT = 2, + VK_DISPLAY_POWER_STATE_EXT_LAST, + VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkDeviceEventTypeEXT + { + VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, + VK_DEVICE_EVENT_TYPE_EXT_LAST, + VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkDisplayEventTypeEXT + { + VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, + VK_DISPLAY_EVENT_TYPE_EXT_LAST, + VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkViewportCoordinateSwizzleNV + { + VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, + VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, + VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, + VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, + VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, + VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, + VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, + VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, + VK_VIEWPORT_COORDINATE_SWIZZLE_NV_LAST, + VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF, + }; + + enum VkDiscardRectangleModeEXT + { + VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, + VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, + VK_DISCARD_RECTANGLE_MODE_EXT_LAST, + VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkConservativeRasterizationModeEXT + { + VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, + VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, + VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, + VK_CONSERVATIVE_RASTERIZATION_MODE_EXT_LAST, + VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkBlendOverlapEXT + { + VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, + VK_BLEND_OVERLAP_DISJOINT_EXT = 1, + VK_BLEND_OVERLAP_CONJOINT_EXT = 2, + VK_BLEND_OVERLAP_EXT_LAST, + VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkCoverageModulationModeNV + { + VK_COVERAGE_MODULATION_MODE_NONE_NV = 0, + VK_COVERAGE_MODULATION_MODE_RGB_NV = 1, + VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2, + VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3, + VK_COVERAGE_MODULATION_MODE_NV_LAST, + VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF, + }; + + enum VkValidationCacheHeaderVersionEXT + { + VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1, + VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkShadingRatePaletteEntryNV + { + VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0, + VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1, + VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2, + VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3, + VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11, + VK_SHADING_RATE_PALETTE_ENTRY_NV_LAST, + VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF, + }; + + enum VkCoarseSampleOrderTypeNV + { + VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0, + VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1, + VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2, + VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3, + VK_COARSE_SAMPLE_ORDER_TYPE_NV_LAST, + VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF, + }; + + enum VkRayTracingShaderGroupTypeKHR + { + VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0, + VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1, + VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2, + VK_RAY_TRACING_SHADER_GROUP_TYPE_KHR_LAST, + VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, + VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR, + VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, + VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkGeometryTypeKHR + { + VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, + VK_GEOMETRY_TYPE_AABBS_KHR = 1, + VK_GEOMETRY_TYPE_INSTANCES_KHR = 2, + VK_GEOMETRY_TYPE_KHR_LAST, + VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, + VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, + VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkAccelerationStructureTypeKHR + { + VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0, + VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1, + VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2, + VK_ACCELERATION_STRUCTURE_TYPE_KHR_LAST, + VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, + VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, + VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkCopyAccelerationStructureModeKHR + { + VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, + VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1, + VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2, + VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3, + VK_COPY_ACCELERATION_STRUCTURE_MODE_KHR_LAST, + VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, + VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, + VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkAccelerationStructureMemoryRequirementsTypeNV + { + VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0, + VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1, + VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2, + VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_NV_LAST, + VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF, + }; + + enum VkQueueGlobalPriorityEXT + { + VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128, + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256, + VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512, + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024, + VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkTimeDomainEXT + { + VK_TIME_DOMAIN_DEVICE_EXT = 0, + VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1, + VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2, + VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3, + VK_TIME_DOMAIN_EXT_LAST, + VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkMemoryOverallocationBehaviorAMD + { + VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0, + VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1, + VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2, + VK_MEMORY_OVERALLOCATION_BEHAVIOR_AMD_LAST, + VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF, + }; + + enum VkPerformanceConfigurationTypeINTEL + { + VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0, + VK_PERFORMANCE_CONFIGURATION_TYPE_INTEL_LAST, + VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF, + }; + + enum VkQueryPoolSamplingModeINTEL + { + VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0, + VK_QUERY_POOL_SAMPLING_MODE_INTEL_LAST, + VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF, + }; + + enum VkPerformanceOverrideTypeINTEL + { + VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0, + VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1, + VK_PERFORMANCE_OVERRIDE_TYPE_INTEL_LAST, + VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF, + }; + + enum VkPerformanceParameterTypeINTEL + { + VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0, + VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1, + VK_PERFORMANCE_PARAMETER_TYPE_INTEL_LAST, + VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF, + }; + + enum VkPerformanceValueTypeINTEL + { + VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0, + VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1, + VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2, + VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3, + VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4, + VK_PERFORMANCE_VALUE_TYPE_INTEL_LAST, + VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF, + }; + + enum VkValidationFeatureEnableEXT + { + VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, + VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, + VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, + VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, + VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, + VK_VALIDATION_FEATURE_ENABLE_EXT_LAST, + VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkValidationFeatureDisableEXT + { + VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, + VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, + VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, + VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, + VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, + VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, + VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, + VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, + VK_VALIDATION_FEATURE_DISABLE_EXT_LAST, + VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkComponentTypeNV + { + VK_COMPONENT_TYPE_FLOAT16_NV = 0, + VK_COMPONENT_TYPE_FLOAT32_NV = 1, + VK_COMPONENT_TYPE_FLOAT64_NV = 2, + VK_COMPONENT_TYPE_SINT8_NV = 3, + VK_COMPONENT_TYPE_SINT16_NV = 4, + VK_COMPONENT_TYPE_SINT32_NV = 5, + VK_COMPONENT_TYPE_SINT64_NV = 6, + VK_COMPONENT_TYPE_UINT8_NV = 7, + VK_COMPONENT_TYPE_UINT16_NV = 8, + VK_COMPONENT_TYPE_UINT32_NV = 9, + VK_COMPONENT_TYPE_UINT64_NV = 10, + VK_COMPONENT_TYPE_NV_LAST, + VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF, + }; + + enum VkScopeNV + { + VK_SCOPE_DEVICE_NV = 1, + VK_SCOPE_WORKGROUP_NV = 2, + VK_SCOPE_SUBGROUP_NV = 3, + VK_SCOPE_QUEUE_FAMILY_NV = 5, + VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF, + }; + + enum VkCoverageReductionModeNV + { + VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0, + VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1, + VK_COVERAGE_REDUCTION_MODE_NV_LAST, + VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF, + }; + + enum VkProvokingVertexModeEXT + { + VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0, + VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1, + VK_PROVOKING_VERTEX_MODE_EXT_LAST, + VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkLineRasterizationModeEXT + { + VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0, + VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1, + VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2, + VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3, + VK_LINE_RASTERIZATION_MODE_EXT_LAST, + VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkIndirectCommandsTokenTypeNV + { + VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_NV_LAST, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF, + }; + + enum VkDeviceMemoryReportEventTypeEXT + { + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0, + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1, + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2, + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3, + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4, + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_EXT_LAST, + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + enum VkFragmentShadingRateTypeNV + { + VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0, + VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1, + VK_FRAGMENT_SHADING_RATE_TYPE_NV_LAST, + VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF, + }; + + enum VkFragmentShadingRateNV + { + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0, + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1, + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4, + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5, + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6, + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9, + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10, + VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11, + VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12, + VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13, + VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14, + VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15, + VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF, + }; + + enum VkAccelerationStructureMotionInstanceTypeNV + { + VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0, + VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1, + VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2, + VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_NV_LAST, + VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF, + }; + + enum VkBuildAccelerationStructureModeKHR + { + VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0, + VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1, + VK_BUILD_ACCELERATION_STRUCTURE_MODE_KHR_LAST, + VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkAccelerationStructureBuildTypeKHR + { + VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, + VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, + VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, + VK_ACCELERATION_STRUCTURE_BUILD_TYPE_KHR_LAST, + VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkAccelerationStructureCompatibilityKHR + { + VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, + VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1, + VK_ACCELERATION_STRUCTURE_COMPATIBILITY_KHR_LAST, + VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkShaderGroupShaderKHR + { + VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0, + VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1, + VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2, + VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3, + VK_SHADER_GROUP_SHADER_KHR_LAST, + VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum VkQueryResultStatusKHR + { + VK_QUERY_RESULT_STATUS_ERROR_KHR = -1, + VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0, + VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1, + VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + + enum StdVideoH264ChromaFormatIdc + { + STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_420 = 1, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_422 = 2, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_444 = 3, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_LAST, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH264ProfileIdc + { + STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66, + STD_VIDEO_H264_PROFILE_IDC_MAIN = 77, + STD_VIDEO_H264_PROFILE_IDC_HIGH = 100, + STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244, + STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH264Level + { + STD_VIDEO_H264_LEVEL_1_0 = 0, + STD_VIDEO_H264_LEVEL_1_1 = 1, + STD_VIDEO_H264_LEVEL_1_2 = 2, + STD_VIDEO_H264_LEVEL_1_3 = 3, + STD_VIDEO_H264_LEVEL_2_0 = 4, + STD_VIDEO_H264_LEVEL_2_1 = 5, + STD_VIDEO_H264_LEVEL_2_2 = 6, + STD_VIDEO_H264_LEVEL_3_0 = 7, + STD_VIDEO_H264_LEVEL_3_1 = 8, + STD_VIDEO_H264_LEVEL_3_2 = 9, + STD_VIDEO_H264_LEVEL_4_0 = 10, + STD_VIDEO_H264_LEVEL_4_1 = 11, + STD_VIDEO_H264_LEVEL_4_2 = 12, + STD_VIDEO_H264_LEVEL_5_0 = 13, + STD_VIDEO_H264_LEVEL_5_1 = 14, + STD_VIDEO_H264_LEVEL_5_2 = 15, + STD_VIDEO_H264_LEVEL_6_0 = 16, + STD_VIDEO_H264_LEVEL_6_1 = 17, + STD_VIDEO_H264_LEVEL_6_2 = 18, + STD_VIDEO_H264_LEVEL_LAST, + STD_VIDEO_H264_LEVEL_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH264PocType + { + STD_VIDEO_H264_POC_TYPE_0 = 0, + STD_VIDEO_H264_POC_TYPE_1 = 1, + STD_VIDEO_H264_POC_TYPE_2 = 2, + STD_VIDEO_H264_POC_TYPE_LAST, + STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH264AspectRatioIdc + { + STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED = 0, + STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE = 1, + STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11 = 2, + STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11 = 3, + STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11 = 4, + STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33 = 5, + STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11 = 6, + STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11 = 7, + STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11 = 8, + STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33 = 9, + STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11 = 10, + STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11 = 11, + STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33 = 12, + STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99 = 13, + STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3 = 14, + STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2 = 15, + STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1 = 16, + STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR = 255, + STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH264WeightedBipredIdc + { + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT = 0, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT = 1, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT = 2, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_LAST, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH264ModificationOfPicNumsIdc + { + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT = 0, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD = 1, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM = 2, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END = 3, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LAST, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH264MemMgmtControlOp + { + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END = 0, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM = 1, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM = 2, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM = 3, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX = 4, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL = 5, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM = 6, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_LAST, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH264CabacInitIdc + { + STD_VIDEO_H264_CABAC_INIT_IDC_0 = 0, + STD_VIDEO_H264_CABAC_INIT_IDC_1 = 1, + STD_VIDEO_H264_CABAC_INIT_IDC_2 = 2, + STD_VIDEO_H264_CABAC_INIT_IDC_LAST, + STD_VIDEO_H264_CABAC_INIT_IDC_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH264DisableDeblockingFilterIdc + { + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED = 0, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED = 1, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL = 2, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_LAST, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH264SliceType + { + STD_VIDEO_H264_SLICE_TYPE_P = 0, + STD_VIDEO_H264_SLICE_TYPE_B = 1, + STD_VIDEO_H264_SLICE_TYPE_I = 2, + STD_VIDEO_H264_SLICE_TYPE_LAST, + STD_VIDEO_H264_SLICE_TYPE_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH264PictureType + { + STD_VIDEO_H264_PICTURE_TYPE_P = 0, + STD_VIDEO_H264_PICTURE_TYPE_B = 1, + STD_VIDEO_H264_PICTURE_TYPE_I = 2, + STD_VIDEO_H264_PICTURE_TYPE_IDR = 5, + STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH264NonVclNaluType + { + STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS = 0, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS = 1, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD = 2, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX = 3, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE = 4, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM = 5, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED = 6, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_LAST, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH265ChromaFormatIdc + { + STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_LAST, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH265ProfileIdc + { + STD_VIDEO_H265_PROFILE_IDC_MAIN = 1, + STD_VIDEO_H265_PROFILE_IDC_MAIN_10 = 2, + STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE = 3, + STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4, + STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9, + STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH265Level + { + STD_VIDEO_H265_LEVEL_1_0 = 0, + STD_VIDEO_H265_LEVEL_2_0 = 1, + STD_VIDEO_H265_LEVEL_2_1 = 2, + STD_VIDEO_H265_LEVEL_3_0 = 3, + STD_VIDEO_H265_LEVEL_3_1 = 4, + STD_VIDEO_H265_LEVEL_4_0 = 5, + STD_VIDEO_H265_LEVEL_4_1 = 6, + STD_VIDEO_H265_LEVEL_5_0 = 7, + STD_VIDEO_H265_LEVEL_5_1 = 8, + STD_VIDEO_H265_LEVEL_5_2 = 9, + STD_VIDEO_H265_LEVEL_6_0 = 10, + STD_VIDEO_H265_LEVEL_6_1 = 11, + STD_VIDEO_H265_LEVEL_6_2 = 12, + STD_VIDEO_H265_LEVEL_LAST, + STD_VIDEO_H265_LEVEL_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH265SliceType + { + STD_VIDEO_H265_SLICE_TYPE_B = 0, + STD_VIDEO_H265_SLICE_TYPE_P = 1, + STD_VIDEO_H265_SLICE_TYPE_I = 2, + STD_VIDEO_H265_SLICE_TYPE_LAST, + STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoH265PictureType + { + STD_VIDEO_H265_PICTURE_TYPE_P = 0, + STD_VIDEO_H265_PICTURE_TYPE_B = 1, + STD_VIDEO_H265_PICTURE_TYPE_I = 2, + STD_VIDEO_H265_PICTURE_TYPE_IDR = 3, + STD_VIDEO_H265_PICTURE_TYPE_LAST, + STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF, + }; + + enum StdVideoDecodeH264FieldOrderCnt + { + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE = 2, + STD_VIDEO_DECODE_H264_FIELD_ORDER_CNT_LAST, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF, + }; + + enum VkFullScreenExclusiveEXT + { + VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT = 0, + VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT = 1, + VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT = 2, + VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT = 3, + VK_FULL_SCREEN_EXCLUSIVE_EXT_LAST, + VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + + typedef VkPointClippingBehavior VkPointClippingBehaviorKHR; + + typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR; + + typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; + + typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; + + typedef VkChromaLocation VkChromaLocationKHR; + + typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR; + + typedef VkDriverId VkDriverIdKHR; + + typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR; + + typedef VkSamplerReductionMode VkSamplerReductionModeEXT; + + typedef VkSemaphoreType VkSemaphoreTypeKHR; + + typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV; + + typedef VkGeometryTypeKHR VkGeometryTypeNV; + + typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV; + + typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV; + + enum VkAccessFlagBits + { + VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, + VK_ACCESS_INDEX_READ_BIT = 0x00000002, + VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, + VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, + VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, + VK_ACCESS_SHADER_READ_BIT = 0x00000020, + VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, + VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, + VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, + VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, + VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, + VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, + VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, + VK_ACCESS_HOST_READ_BIT = 0x00002000, + VK_ACCESS_HOST_WRITE_BIT = 0x00004000, + VK_ACCESS_MEMORY_READ_BIT = 0x00008000, + VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, ++ VK_ACCESS_NONE = 0, + VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000, + VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000, + VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000, + VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000, + VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, + VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000, + VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000, + VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000, + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, + VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000, + VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000, - VK_ACCESS_NONE_KHR = 0, + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, + VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, + VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, ++ VK_ACCESS_NONE_KHR = VK_ACCESS_NONE, + VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkAccessFlags; + + enum VkImageAspectFlagBits + { + VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, + VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, + VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, + VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, + VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, + VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, + VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, + VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, + VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, + VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, + VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, + VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, + VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, + VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, + VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkImageAspectFlags; + + enum VkFormatFeatureFlagBits + { + VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, + VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, + VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, + VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, + VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, + VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, + VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, + VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, + VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, + VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, + VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, + VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, + VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, + VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, + VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, + VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, + VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000, + VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000, + VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000, + VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, + VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, + VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, + VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000, + VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000, + VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, + VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, + VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, + VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT, + VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG, + VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkFormatFeatureFlags; + + enum VkImageCreateFlagBits + { + VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, + VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, + VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, + VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, + VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, + VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, + VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, + VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, + VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, + VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, + VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, + VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, + VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, + VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, + VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, + VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, + VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, + VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, + VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, + VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, + VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, + VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkImageCreateFlags; + + enum VkSampleCountFlagBits + { + VK_SAMPLE_COUNT_1_BIT = 0x00000001, + VK_SAMPLE_COUNT_2_BIT = 0x00000002, + VK_SAMPLE_COUNT_4_BIT = 0x00000004, + VK_SAMPLE_COUNT_8_BIT = 0x00000008, + VK_SAMPLE_COUNT_16_BIT = 0x00000010, + VK_SAMPLE_COUNT_32_BIT = 0x00000020, + VK_SAMPLE_COUNT_64_BIT = 0x00000040, + VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkSampleCountFlags; + + enum VkImageUsageFlagBits + { + VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, + VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, + VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, + VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, + VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, + VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, + VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, + VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400, + VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800, + VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000, + VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, + VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, + VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000, + VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000, + VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000, + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000, + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, + VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkImageUsageFlags; + + enum VkMemoryHeapFlagBits + { + VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, + VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, + VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, + VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkMemoryHeapFlags; + + enum VkMemoryPropertyFlagBits + { + VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, + VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, + VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, + VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, + VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, + VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, + VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040, + VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080, + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100, + VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkMemoryPropertyFlags; + + enum VkQueueFlagBits + { + VK_QUEUE_GRAPHICS_BIT = 0x00000001, + VK_QUEUE_COMPUTE_BIT = 0x00000002, + VK_QUEUE_TRANSFER_BIT = 0x00000004, + VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, + VK_QUEUE_PROTECTED_BIT = 0x00000010, + VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020, + VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040, + VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkQueueFlags; + + enum VkDeviceQueueCreateFlagBits + { + VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, + VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkDeviceQueueCreateFlags; + + enum VkPipelineStageFlagBits + { + VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, + VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, + VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, + VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, + VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, + VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, + VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, + VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, + VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, + VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, + VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, + VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, + VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, + VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, + VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, + VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, + VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, ++ VK_PIPELINE_STAGE_NONE = 0, + VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000, + VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000, + VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000, + VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000, + VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000, + VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000, + VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000, + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, + VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000, - VK_PIPELINE_STAGE_NONE_KHR = 0, + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, + VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, + VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, ++ VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE, + VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkPipelineStageFlags; + + enum VkSparseMemoryBindFlagBits + { + VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, + VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkSparseMemoryBindFlags; + + enum VkSparseImageFormatFlagBits + { + VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, + VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, + VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, + VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkSparseImageFormatFlags; + + enum VkFenceCreateFlagBits + { + VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, + VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkFenceCreateFlags; + + enum VkEventCreateFlagBits + { - VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001, ++ VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001, ++ VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT, + VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkEventCreateFlags; + + enum VkQueryPipelineStatisticFlagBits + { + VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, + VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, + VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, + VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, + VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, + VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, + VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, + VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, + VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, + VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, + VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, + VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkQueryPipelineStatisticFlags; + + enum VkQueryResultFlagBits + { + VK_QUERY_RESULT_64_BIT = 0x00000001, + VK_QUERY_RESULT_WAIT_BIT = 0x00000002, + VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, + VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, + VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, + VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkQueryResultFlags; + + enum VkBufferCreateFlagBits + { + VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, + VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, + VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, + VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, + VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, + VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, + VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, + VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkBufferCreateFlags; + + enum VkBufferUsageFlagBits + { + VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, + VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, + VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, + VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, + VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, + VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, + VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, + VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, + VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, + VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, + VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000, + VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000, + VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, + VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, + VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, + VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, + VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, + VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, + VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000, + VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000, + VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, + VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, + VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, + VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkBufferUsageFlags; + + enum VkImageViewCreateFlagBits + { + VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, + VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, + VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkImageViewCreateFlags; + + enum VkPipelineCacheCreateFlagBits + { - VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001, ++ VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, ++ VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, + VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkPipelineCacheCreateFlags; + + enum VkColorComponentFlagBits + { + VK_COLOR_COMPONENT_R_BIT = 0x00000001, + VK_COLOR_COMPONENT_G_BIT = 0x00000002, + VK_COLOR_COMPONENT_B_BIT = 0x00000004, + VK_COLOR_COMPONENT_A_BIT = 0x00000008, + VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkColorComponentFlags; + + enum VkPipelineCreateFlagBits + { + VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, + VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, + VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, + VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, + VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, ++ VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100, ++ VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200, + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, + VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, + VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, + VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, + VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000, + VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000, + VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000, + VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000, + VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020, + VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040, + VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, + VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, + VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100, - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200, + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, + VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, + VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, + VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE, ++ VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, ++ VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, + VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkPipelineCreateFlags; + + enum VkPipelineShaderStageCreateFlagBits + { - VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001, - VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002, ++ VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001, ++ VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002, ++ VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, ++ VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, + VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkPipelineShaderStageCreateFlags; + + enum VkShaderStageFlagBits + { + VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, + VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, + VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, + VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, + VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, + VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, + VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, + VK_SHADER_STAGE_ALL = 0x7FFFFFFF, + VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100, + VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200, + VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400, + VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800, + VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000, + VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000, + VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040, + VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080, + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, + VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, + VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, + VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, + VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR, + VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, + VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR, + VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkShaderStageFlags; + + enum VkCullModeFlagBits + { + VK_CULL_MODE_NONE = 0, + VK_CULL_MODE_FRONT_BIT = 0x00000001, + VK_CULL_MODE_BACK_BIT = 0x00000002, + VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, + VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkCullModeFlags; + + enum VkPipelineDepthStencilStateCreateFlagBits + { + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 0x00000001, + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 0x00000002, + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkPipelineDepthStencilStateCreateFlags; + + enum VkPipelineColorBlendStateCreateFlagBits + { + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 0x00000001, + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkPipelineColorBlendStateCreateFlags; + + enum VkSamplerCreateFlagBits + { + VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, + VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, + VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkSamplerCreateFlags; + + enum VkDescriptorPoolCreateFlagBits + { + VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, + VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, + VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004, + VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, + VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkDescriptorPoolCreateFlags; + + enum VkDescriptorSetLayoutCreateFlagBits + { + VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, + VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001, + VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004, + VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, + VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkDescriptorSetLayoutCreateFlags; + + enum VkAttachmentDescriptionFlagBits + { + VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, + VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkAttachmentDescriptionFlags; + + enum VkDependencyFlagBits + { + VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, + VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, + VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, + VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT, + VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, + VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkDependencyFlags; + + enum VkFramebufferCreateFlagBits + { + VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, + VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, + VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkFramebufferCreateFlags; + + enum VkRenderPassCreateFlagBits + { + VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002, + VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkRenderPassCreateFlags; + + enum VkSubpassDescriptionFlagBits + { + VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, + VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, + VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, + VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 0x00000010, + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 0x00000020, + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 0x00000040, + VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkSubpassDescriptionFlags; + + enum VkCommandPoolCreateFlagBits + { + VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, + VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, + VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, + VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkCommandPoolCreateFlags; + + enum VkCommandPoolResetFlagBits + { + VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, + VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkCommandPoolResetFlags; + + enum VkCommandBufferUsageFlagBits + { + VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, + VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, + VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, + VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkCommandBufferUsageFlags; + + enum VkQueryControlFlagBits + { + VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, + VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkQueryControlFlags; + + enum VkCommandBufferResetFlagBits + { + VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, + VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkCommandBufferResetFlags; + + enum VkStencilFaceFlagBits + { + VK_STENCIL_FACE_FRONT_BIT = 0x00000001, + VK_STENCIL_FACE_BACK_BIT = 0x00000002, + VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, + VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK, + VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkStencilFaceFlags; + + enum VkSubgroupFeatureFlagBits + { + VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, + VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, + VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, + VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, + VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, + VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, + VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, + VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, + VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, + VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkSubgroupFeatureFlags; + + enum VkPeerMemoryFeatureFlagBits + { + VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, + VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, + VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, + VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, + VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, + VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, + VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, + VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, + VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkPeerMemoryFeatureFlags; + + enum VkMemoryAllocateFlagBits + { + VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, + VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, + VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, + VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, + VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, + VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, + VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkMemoryAllocateFlags; + + enum VkExternalMemoryHandleTypeFlagBits + { + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkExternalMemoryHandleTypeFlags; + + enum VkExternalMemoryFeatureFlagBits + { + VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, + VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, + VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, + VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, + VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, + VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, + VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkExternalMemoryFeatureFlags; + + enum VkExternalFenceHandleTypeFlagBits + { + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, + VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, + VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, + VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkExternalFenceHandleTypeFlags; + + enum VkExternalFenceFeatureFlagBits + { + VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, + VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, + VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, + VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, + VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkExternalFenceFeatureFlags; + + enum VkFenceImportFlagBits + { + VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, + VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT, + VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkFenceImportFlags; + + enum VkSemaphoreImportFlagBits + { + VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, + VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, + VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkSemaphoreImportFlags; + + enum VkExternalSemaphoreHandleTypeFlagBits + { + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkExternalSemaphoreHandleTypeFlags; + + enum VkExternalSemaphoreFeatureFlagBits + { + VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, + VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, + VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, + VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, + VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkExternalSemaphoreFeatureFlags; + + enum VkResolveModeFlagBits + { + VK_RESOLVE_MODE_NONE = 0, + VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, + VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, + VK_RESOLVE_MODE_MIN_BIT = 0x00000004, + VK_RESOLVE_MODE_MAX_BIT = 0x00000008, + VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE, + VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, + VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT, + VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT, + VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT, + VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkResolveModeFlags; + + enum VkDescriptorBindingFlagBits + { + VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, + VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, + VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, + VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, + VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, + VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, + VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, + VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, + VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkDescriptorBindingFlags; + + enum VkSemaphoreWaitFlagBits + { + VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, + VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT, + VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, + }; + typedef uint32_t VkSemaphoreWaitFlags; + ++enum VkPipelineCreationFeedbackFlagBits ++{ ++ VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001, ++ VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002, ++ VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004, ++ VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, ++ VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, ++ VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, ++ VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, ++}; ++typedef uint32_t VkPipelineCreationFeedbackFlags; ++ ++enum VkToolPurposeFlagBits ++{ ++ VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001, ++ VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002, ++ VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004, ++ VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008, ++ VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010, ++ VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, ++ VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, ++ VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT, ++ VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT, ++ VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT, ++ VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, ++ VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, ++ VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, ++}; ++typedef uint32_t VkToolPurposeFlags; ++ ++enum VkPrivateDataSlotCreateFlagBits ++{ ++ VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, ++}; ++typedef uint32_t VkPrivateDataSlotCreateFlags; ++ ++enum VkSubmitFlagBits ++{ ++ VK_SUBMIT_PROTECTED_BIT = 0x00000001, ++ VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT, ++ VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, ++}; ++typedef uint32_t VkSubmitFlags; ++ ++enum VkRenderingFlagBits ++{ ++ VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001, ++ VK_RENDERING_SUSPENDING_BIT = 0x00000002, ++ VK_RENDERING_RESUMING_BIT = 0x00000004, ++ VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, ++ VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, ++ VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT, ++ VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF, ++}; ++typedef uint32_t VkRenderingFlags; ++ + enum VkSurfaceTransformFlagBitsKHR + { + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkSurfaceTransformFlagsKHR; + + enum VkCompositeAlphaFlagBitsKHR + { + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkCompositeAlphaFlagsKHR; + + enum VkSwapchainCreateFlagBitsKHR + { + VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, + VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, + VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, + VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkSwapchainCreateFlagsKHR; + + enum VkDeviceGroupPresentModeFlagBitsKHR + { + VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, + VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, + VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, + VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, + VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkDeviceGroupPresentModeFlagsKHR; + + enum VkDisplayPlaneAlphaFlagBitsKHR + { + VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, + VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, + VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, + VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, + VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkDisplayPlaneAlphaFlagsKHR; + -enum VkRenderingFlagBitsKHR -{ - VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 0x00000001, - VK_RENDERING_SUSPENDING_BIT_KHR = 0x00000002, - VK_RENDERING_RESUMING_BIT_KHR = 0x00000004, - VK_RENDERING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, -}; -typedef uint32_t VkRenderingFlagsKHR; - + enum VkPerformanceCounterDescriptionFlagBitsKHR + { + VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001, + VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002, + VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, + VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, + VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkPerformanceCounterDescriptionFlagsKHR; + + enum VkAcquireProfilingLockFlagBitsKHR + { + VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkAcquireProfilingLockFlagsKHR; + -enum VkSubmitFlagBitsKHR -{ - VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001, - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, -}; -typedef uint32_t VkSubmitFlagsKHR; - + enum VkDebugReportFlagBitsEXT + { + VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, + VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, + VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, + VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, + VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, + VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkDebugReportFlagsEXT; + + enum VkExternalMemoryHandleTypeFlagBitsNV + { + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF, + }; + typedef uint32_t VkExternalMemoryHandleTypeFlagsNV; + + enum VkExternalMemoryFeatureFlagBitsNV + { + VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, + VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, + VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, + VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF, + }; + typedef uint32_t VkExternalMemoryFeatureFlagsNV; + + enum VkConditionalRenderingFlagBitsEXT + { + VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001, + VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkConditionalRenderingFlagsEXT; + + enum VkSurfaceCounterFlagBitsEXT + { + VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001, + VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT, + VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkSurfaceCounterFlagsEXT; + + enum VkDebugUtilsMessageSeverityFlagBitsEXT + { + VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, + VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, + VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, + VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, + VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkDebugUtilsMessageSeverityFlagsEXT; + + enum VkDebugUtilsMessageTypeFlagBitsEXT + { + VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, + VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, + VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, + VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkDebugUtilsMessageTypeFlagsEXT; + + enum VkGeometryFlagBitsKHR + { + VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001, + VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002, + VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR, + VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, + VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkGeometryFlagsKHR; + + enum VkGeometryInstanceFlagBitsKHR + { + VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001, + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, + VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, + VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, + VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, + VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, + VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, + VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkGeometryInstanceFlagsKHR; + + enum VkBuildAccelerationStructureFlagBitsKHR + { + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001, + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002, + VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004, + VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, + VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020, + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, + VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, + VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, + VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, + VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkBuildAccelerationStructureFlagsKHR; + + enum VkPipelineCompilerControlFlagBitsAMD + { + VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF, + }; + typedef uint32_t VkPipelineCompilerControlFlagsAMD; + -enum VkPipelineCreationFeedbackFlagBitsEXT -{ - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001, - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002, - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004, - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, -}; -typedef uint32_t VkPipelineCreationFeedbackFlagsEXT; - + enum VkShaderCorePropertiesFlagBitsAMD + { + VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF, + }; + typedef uint32_t VkShaderCorePropertiesFlagsAMD; + -enum VkToolPurposeFlagBitsEXT -{ - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001, - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002, - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004, - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008, - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010, - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, -}; -typedef uint32_t VkToolPurposeFlagsEXT; - + enum VkIndirectStateFlagBitsNV + { + VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001, + VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF, + }; + typedef uint32_t VkIndirectStateFlagsNV; + + enum VkIndirectCommandsLayoutUsageFlagBitsNV + { + VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001, + VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002, + VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004, + VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF, + }; + typedef uint32_t VkIndirectCommandsLayoutUsageFlagsNV; + -enum VkPrivateDataSlotCreateFlagBitsEXT -{ - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, -}; -typedef uint32_t VkPrivateDataSlotCreateFlagsEXT; - + enum VkDeviceDiagnosticsConfigFlagBitsNV + { + VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001, + VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002, + VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004, + VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF, + }; + typedef uint32_t VkDeviceDiagnosticsConfigFlagsNV; + + enum VkAccelerationStructureCreateFlagBitsKHR + { + VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001, + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004, + VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkAccelerationStructureCreateFlagsKHR; + + enum VkVideoCodecOperationFlagBitsKHR + { + VK_VIDEO_CODEC_OPERATION_INVALID_BIT_KHR = 0, + VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT = 0x00010000, + VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT = 0x00020000, + VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT = 0x00000001, + VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT = 0x00000002, + VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoCodecOperationFlagsKHR; + + enum VkVideoChromaSubsamplingFlagBitsKHR + { + VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_BIT_KHR = 0, + VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001, + VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002, + VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004, + VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008, + VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoChromaSubsamplingFlagsKHR; + + enum VkVideoComponentBitDepthFlagBitsKHR + { + VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0, + VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001, + VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004, + VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010, + VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoComponentBitDepthFlagsKHR; + + enum VkVideoCapabilityFlagBitsKHR + { + VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001, + VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002, + VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoCapabilityFlagsKHR; + + enum VkVideoSessionCreateFlagBitsKHR + { + VK_VIDEO_SESSION_CREATE_DEFAULT_KHR = 0, + VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001, + VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoSessionCreateFlagsKHR; + + enum VkVideoCodingControlFlagBitsKHR + { + VK_VIDEO_CODING_CONTROL_DEFAULT_KHR = 0, + VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001, + VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoCodingControlFlagsKHR; + + enum VkVideoCodingQualityPresetFlagBitsKHR + { + VK_VIDEO_CODING_QUALITY_PRESET_NORMAL_BIT_KHR = 0x00000001, + VK_VIDEO_CODING_QUALITY_PRESET_POWER_BIT_KHR = 0x00000002, + VK_VIDEO_CODING_QUALITY_PRESET_QUALITY_BIT_KHR = 0x00000004, + VK_VIDEO_CODING_QUALITY_PRESET_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoCodingQualityPresetFlagsKHR; + + enum VkVideoDecodeFlagBitsKHR + { + VK_VIDEO_DECODE_DEFAULT_KHR = 0, + VK_VIDEO_DECODE_RESERVED_0_BIT_KHR = 0x00000001, + VK_VIDEO_DECODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoDecodeFlagsKHR; + + enum VkVideoEncodeFlagBitsKHR + { + VK_VIDEO_ENCODE_DEFAULT_KHR = 0, + VK_VIDEO_ENCODE_RESERVED_0_BIT_KHR = 0x00000001, + VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoEncodeFlagsKHR; + + enum VkVideoEncodeRateControlFlagBitsKHR + { + VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR = 0, + VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR = 0x00000001, + VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoEncodeRateControlFlagsKHR; + + enum VkVideoEncodeRateControlModeFlagBitsKHR + { + VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR = 0, + VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 1, + VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 2, + VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoEncodeRateControlModeFlagsKHR; + + enum VkVideoEncodeH264CapabilityFlagBitsEXT + { + VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT = 0x00000001, + VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT = 0x00000004, + VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT = 0x00000008, + VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT = 0x00000010, + VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT = 0x00000020, + VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT = 0x00000040, + VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT = 0x00000080, + VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT = 0x00000100, + VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT = 0x00000200, + VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT = 0x00000400, + VK_VIDEO_ENCODE_H264_CAPABILITY_OPTIONAL_RC_EXTENSION_STRUCT_BIT_EXT = 0x00000800, + VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoEncodeH264CapabilityFlagsEXT; + + enum VkVideoEncodeH264InputModeFlagBitsEXT + { + VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT = 0x00000001, + VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT = 0x00000004, + VK_VIDEO_ENCODE_H264_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoEncodeH264InputModeFlagsEXT; + + enum VkVideoEncodeH264OutputModeFlagBitsEXT + { + VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT = 0x00000001, + VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT = 0x00000004, + VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoEncodeH264OutputModeFlagsEXT; + + enum VkVideoEncodeH264CreateFlagBitsEXT + { + VK_VIDEO_ENCODE_H264_CREATE_DEFAULT_EXT = 0, + VK_VIDEO_ENCODE_H264_CREATE_RESERVED_0_BIT_EXT = 0x00000001, + VK_VIDEO_ENCODE_H264_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoEncodeH264CreateFlagsEXT; + + enum VkVideoEncodeH264RateControlStructureFlagBitsEXT + { + VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT = 0, + VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT = 0x00000001, + VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoEncodeH264RateControlStructureFlagsEXT; + + enum VkVideoEncodeH265InputModeFlagBitsEXT + { + VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT = 0x00000001, + VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT = 0x00000004, + VK_VIDEO_ENCODE_H265_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoEncodeH265InputModeFlagsEXT; + + enum VkVideoEncodeH265OutputModeFlagBitsEXT + { + VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT = 0x00000001, + VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT = 0x00000004, + VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoEncodeH265OutputModeFlagsEXT; + + enum VkVideoEncodeH265CtbSizeFlagBitsEXT + { + VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT = 0x00000001, + VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT = 0x00000004, + VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT = 0x00000008, + VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoEncodeH265CtbSizeFlagsEXT; + + enum VkVideoEncodeH265RateControlStructureFlagBitsEXT + { + VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT = 0, + VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT = 0x00000001, + VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoEncodeH265RateControlStructureFlagsEXT; + + enum VkVideoDecodeH264PictureLayoutFlagBitsEXT + { + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_EXT = 0, + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_EXT = 0x00000001, + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_EXT = 0x00000002, + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF, + }; + typedef uint32_t VkVideoDecodeH264PictureLayoutFlagsEXT; + + enum VkImageConstraintsInfoFlagBitsFUCHSIA + { + VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA = 0x00000001, + VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA = 0x00000002, + VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA = 0x00000004, + VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA = 0x00000008, + VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = 0x00000010, + VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIA = 0x7FFFFFFF, + }; + typedef uint32_t VkImageConstraintsInfoFlagsFUCHSIA; + + typedef uint32_t VkInstanceCreateFlags; + + typedef uint32_t VkDeviceCreateFlags; + + typedef uint32_t VkMemoryMapFlags; + + typedef uint32_t VkSemaphoreCreateFlags; + + typedef uint32_t VkQueryPoolCreateFlags; + + typedef uint32_t VkBufferViewCreateFlags; + + typedef uint32_t VkShaderModuleCreateFlags; + + typedef uint32_t VkPipelineVertexInputStateCreateFlags; + + typedef uint32_t VkPipelineInputAssemblyStateCreateFlags; + + typedef uint32_t VkPipelineTessellationStateCreateFlags; + + typedef uint32_t VkPipelineViewportStateCreateFlags; + + typedef uint32_t VkPipelineRasterizationStateCreateFlags; + + typedef uint32_t VkPipelineMultisampleStateCreateFlags; + + typedef uint32_t VkPipelineDynamicStateCreateFlags; + + typedef uint32_t VkPipelineLayoutCreateFlags; + + typedef uint32_t VkDescriptorPoolResetFlags; + + typedef uint32_t VkCommandPoolTrimFlags; + + typedef uint32_t VkDescriptorUpdateTemplateCreateFlags; + + typedef uint32_t VkDisplayModeCreateFlagsKHR; + + typedef uint32_t VkDisplaySurfaceCreateFlagsKHR; + + typedef uint32_t VkPipelineRasterizationStateStreamCreateFlagsEXT; + + typedef uint32_t VkPipelineViewportSwizzleStateCreateFlagsNV; + + typedef uint32_t VkPipelineDiscardRectangleStateCreateFlagsEXT; + + typedef uint32_t VkPipelineRasterizationConservativeStateCreateFlagsEXT; + + typedef uint32_t VkPipelineRasterizationDepthClipStateCreateFlagsEXT; + + typedef uint32_t VkDebugUtilsMessengerCallbackDataFlagsEXT; + + typedef uint32_t VkDebugUtilsMessengerCreateFlagsEXT; + + typedef uint32_t VkPipelineCoverageToColorStateCreateFlagsNV; + + typedef uint32_t VkPipelineCoverageModulationStateCreateFlagsNV; + + typedef uint32_t VkValidationCacheCreateFlagsEXT; + + typedef uint32_t VkPipelineCoverageReductionStateCreateFlagsNV; + + typedef uint32_t VkHeadlessSurfaceCreateFlagsEXT; + + typedef uint32_t VkDeviceMemoryReportFlagsEXT; + + typedef uint32_t VkAccelerationStructureMotionInfoFlagsNV; + + typedef uint32_t VkAccelerationStructureMotionInstanceFlagsNV; + + typedef uint32_t VkAndroidSurfaceCreateFlagsKHR; + + typedef uint32_t VkVideoBeginCodingFlagsKHR; + + typedef uint32_t VkVideoEndCodingFlagsKHR; + + typedef uint32_t VkVideoEncodeH265CapabilityFlagsEXT; + + typedef uint32_t VkVideoEncodeH265CreateFlagsEXT; + + typedef uint32_t VkVideoDecodeH264CreateFlagsEXT; + + typedef uint32_t VkVideoDecodeH265CreateFlagsEXT; + + typedef uint32_t VkImagePipeSurfaceCreateFlagsFUCHSIA; + + typedef uint32_t VkImageFormatConstraintsFlagsFUCHSIA; + + typedef uint32_t VkStreamDescriptorSurfaceCreateFlagsGGP; + + typedef uint32_t VkIOSSurfaceCreateFlagsMVK; + + typedef uint32_t VkMacOSSurfaceCreateFlagsMVK; + + typedef uint32_t VkMetalSurfaceCreateFlagsEXT; + + typedef uint32_t VkViSurfaceCreateFlagsNN; + + typedef uint32_t VkWaylandSurfaceCreateFlagsKHR; + + typedef uint32_t VkWin32SurfaceCreateFlagsKHR; + + typedef uint32_t VkXcbSurfaceCreateFlagsKHR; + + typedef uint32_t VkXlibSurfaceCreateFlagsKHR; + + typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; + + typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR; + + typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; + + typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; + + typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR; + + typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; + + typedef VkFenceImportFlags VkFenceImportFlagsKHR; + + typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR; + + typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR; + + typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR; + + typedef VkResolveModeFlags VkResolveModeFlagsKHR; + + typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT; + + typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR; + ++typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; ++ ++typedef VkToolPurposeFlags VkToolPurposeFlagsEXT; ++ ++typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; ++ ++typedef VkSubmitFlags VkSubmitFlagsKHR; ++ ++typedef VkRenderingFlags VkRenderingFlagsKHR; ++ + typedef VkGeometryFlagsKHR VkGeometryFlagsNV; + + typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; + + typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; + + typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; + + typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR; + -typedef uint64_t VkPipelineStageFlags2KHR; -typedef uint64_t VkPipelineStageFlagBits2KHR; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; - -typedef uint64_t VkAccessFlags2KHR; -typedef uint64_t VkAccessFlagBits2KHR; -static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; - -typedef uint64_t VkFormatFeatureFlags2KHR; -typedef uint64_t VkFormatFeatureFlagBits2KHR; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; ++typedef uint64_t VkPipelineStageFlags2; ++ ++typedef uint64_t VkPipelineStageFlagBits2; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; ++ ++ ++typedef uint64_t VkAccessFlags2; ++ ++typedef uint64_t VkAccessFlagBits2; ++static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; ++ ++ ++typedef uint64_t VkFormatFeatureFlags2; ++ ++typedef uint64_t VkFormatFeatureFlagBits2; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; ++ ++ ++typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR; ++ ++typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR; ++ ++typedef VkAccessFlags2 VkAccessFlags2KHR; ++ ++typedef VkAccessFlagBits2 VkAccessFlagBits2KHR; ++ ++typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR; ++ ++typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR; + + VK_DEFINE_PLATFORM_TYPE(XlibDisplayPtr, void*) + VK_DEFINE_PLATFORM_TYPE(XlibWindow, uintptr_t) + VK_DEFINE_PLATFORM_TYPE(XlibVisualID, uint32_t) + VK_DEFINE_PLATFORM_TYPE(XcbConnectionPtr, void*) + VK_DEFINE_PLATFORM_TYPE(XcbWindow, uintptr_t) + VK_DEFINE_PLATFORM_TYPE(XcbVisualid, uint32_t) + VK_DEFINE_PLATFORM_TYPE(WaylandDisplayPtr, void*) + VK_DEFINE_PLATFORM_TYPE(WaylandSurfacePtr, void*) + VK_DEFINE_PLATFORM_TYPE(MirConnectionPtr, void*) + VK_DEFINE_PLATFORM_TYPE(MirSurfacePtr, void*) + VK_DEFINE_PLATFORM_TYPE(AndroidNativeWindowPtr, void*) + VK_DEFINE_PLATFORM_TYPE(Win32InstanceHandle, void*) + VK_DEFINE_PLATFORM_TYPE(Win32WindowHandle, void*) + VK_DEFINE_PLATFORM_TYPE(Win32Handle, void*) + VK_DEFINE_PLATFORM_TYPE(Win32SecurityAttributesPtr, const void*) + VK_DEFINE_PLATFORM_TYPE(AndroidHardwareBufferPtr, void*) + VK_DEFINE_PLATFORM_TYPE(Win32MonitorHandle, void*) + VK_DEFINE_PLATFORM_TYPE(Win32LPCWSTR, const void*) + VK_DEFINE_PLATFORM_TYPE(RROutput, void*) + VK_DEFINE_PLATFORM_TYPE(zx_handle_t, uint32_t) + VK_DEFINE_PLATFORM_TYPE(GgpFrameToken, int32_t) + VK_DEFINE_PLATFORM_TYPE(GgpStreamDescriptor, int32_t) + VK_DEFINE_PLATFORM_TYPE(CAMetalLayer, void*) + #define VK_KHR_SURFACE_SPEC_VERSION 25 + #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 + #define VK_KHR_DISPLAY_SPEC_VERSION 23 + #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 + #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3 + #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 + #define VK_KHR_MULTIVIEW_SPEC_VERSION 1 + #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 + #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" + #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 + #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 + #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2 + #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1" + #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 + #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE + #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 + #define VK_LUID_SIZE_KHR VK_LUID_SIZE + #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 + #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL + #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 + #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 + #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1 + #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 + #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 + #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 + #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1 + #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 + #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" + #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 + #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 + #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1 + #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2" + #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 + #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" + #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 + #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 + #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" + #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 + #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 + #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 + #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 + #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" + #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1 + #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14 + #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 + #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" + #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1 + #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" + #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 + #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 + #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1 + #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1 + #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 + #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1 + #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE + #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE + #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 + #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1 + #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 + #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 + #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3 + #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 + #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 + #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1 + #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1 + #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1 + #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1 + #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1 + #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 + #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4 + #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1 + #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 + #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 + #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 + #define VK_KHR_PRESENT_ID_SPEC_VERSION 1 + #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 + #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1 + #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1 + #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1 + #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 + #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" + #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 1 + #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2" + #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 + #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" + #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10 + #define VK_NV_GLSL_SHADER_SPEC_VERSION 1 + #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 + #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 + #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 + #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 + #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 + #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 + #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 + #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 + #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1 + #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1 + #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2 + #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 + #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 + #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2 + #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 + #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 + #define VK_AMD_SHADER_INFO_SPEC_VERSION 1 + #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1 + #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2 + #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 + #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 + #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 + #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2 + #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 + #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 + #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 + #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 + #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2 + #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 + #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 + #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 + #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 + #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 + #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 + #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 + #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1 + #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2" + #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 + #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 + #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1 + #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 + #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 + #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4 + #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" + #define VK_EXT_HDR_METADATA_SPEC_VERSION 2 + #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 + #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 + #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) + #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 + #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2 + #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2 + #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 + #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1 + #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1 + #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 + #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 + #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 + #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 + #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 + #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 + #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1 + #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 + #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 + #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1 + #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2 + #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 + #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3 + #define VK_NV_RAY_TRACING_SPEC_VERSION 3 + #define VK_SHADER_UNUSED_KHR (~0U) + #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR + #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2 + #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 + #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 + #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 + #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 + #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1 + #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1 + #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 + #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2 + #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1 + #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 + #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1 + #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 + #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 + #define VK_NV_MESH_SHADER_SPEC_VERSION 1 + #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 + #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 + #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1 + #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 + #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1 + #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2 + #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 + #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1 + #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2 + #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1 + #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1 + #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" + #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1 + #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 + #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1 + #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1 + #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 + #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 + #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1 + #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1 + #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 + #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 + #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1 + #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5 + #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 + #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 + #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 + #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 + #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1 + #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 + #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 + #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 + #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 + #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 + #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 + #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1 + #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 + #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3 + #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1 + #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 + #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2 + #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2 + #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1 + #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 + #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 + #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 + #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1 + #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3 + #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1 + #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2 + #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1 + #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1 + #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 + #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1 + #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1 + #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 + #define VK_EXT_4444_FORMATS_SPEC_VERSION 1 + #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 + #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1 + #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1 + #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 + #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 + #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1 + #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1 + #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 + #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2 + #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1 + #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1 + #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 + #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 + #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT 16U + #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1 + #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1 + #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1 + #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 + #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1 + #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1 + #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 + #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1 + #define VK_KHR_RAY_QUERY_SPEC_VERSION 1 + #define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6 + #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 4 + #define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 2 + #define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 2 + #define VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION 1 + #define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 3 + #define VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5 VK_MAKE_VIDEO_STD_VERSION(0, 9, 5) + #define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5 + #define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264" + #define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32 + #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6 + #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16 + #define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 2 + #define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64 + #define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 2 + #define VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_9_5 VK_MAKE_VIDEO_STD_VERSION(0, 9, 5) + #define VK_STD_VULKAN_VIDEO_CODEC_H265_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_9_5 + #define VK_STD_VULKAN_VIDEO_CODEC_H265_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265" + #define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32 + #define STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE 7 + #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6 + #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16 + #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6 + #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS 64 + #define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS 6 + #define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64 + #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2 + #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64 + #define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6 + #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19 + #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21 + #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3 + #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128 + #define STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE 15 + #define STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE 15 + #define STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM 2 + #define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 2 + #define STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE 15 + #define VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION 3 + #define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8 + #define VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION 1 + #define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1 + #define VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION 1 + #define VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 + #define VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION 2 + #define VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION 1 + #define VK_GGP_FRAME_TOKEN_SPEC_VERSION 1 + #define VK_MVK_IOS_SURFACE_SPEC_VERSION 3 + #define VK_MVK_MACOS_SURFACE_SPEC_VERSION 3 + #define VK_EXT_METAL_SURFACE_SPEC_VERSION 1 + #define VK_NN_VI_SURFACE_SPEC_VERSION 1 + #define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6 + #define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6 + #define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 + #define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1 + #define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 + #define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 2 + #define VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION 4 + #define VK_KHR_XCB_SURFACE_SPEC_VERSION 6 + #define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6 + #define VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION 1 diff --cc external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl index 0000000,eb7ba3e..f1fe258 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl +++ b/external/vulkancts/framework/vulkan/vkConcreteDeviceInterface.inl @@@ -1,0 -1,378 +1,378 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + virtual PFN_vkVoidFunction getDeviceProcAddr (VkDevice device, const char* pName) const; + virtual void destroyDevice (VkDevice device, const VkAllocationCallbacks* pAllocator) const; + virtual void getDeviceQueue (VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) const; + virtual VkResult queueSubmit (VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const; + virtual VkResult queueWaitIdle (VkQueue queue) const; + virtual VkResult deviceWaitIdle (VkDevice device) const; + virtual VkResult allocateMemory (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const; + virtual void freeMemory (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult mapMemory (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const; + virtual void unmapMemory (VkDevice device, VkDeviceMemory memory) const; + virtual VkResult flushMappedMemoryRanges (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const; + virtual VkResult invalidateMappedMemoryRanges (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const; + virtual void getDeviceMemoryCommitment (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const; + virtual VkResult bindBufferMemory (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const; + virtual VkResult bindImageMemory (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const; + virtual void getBufferMemoryRequirements (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const; + virtual void getImageMemoryRequirements (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) const; + virtual void getImageSparseMemoryRequirements (VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const; + virtual VkResult queueBindSparse (VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const; + virtual VkResult createFence (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const; + virtual void destroyFence (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult resetFences (VkDevice device, uint32_t fenceCount, const VkFence* pFences) const; + virtual VkResult getFenceStatus (VkDevice device, VkFence fence) const; + virtual VkResult waitForFences (VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) const; + virtual VkResult createSemaphore (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const; + virtual void destroySemaphore (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult createEvent (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const; + virtual void destroyEvent (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult getEventStatus (VkDevice device, VkEvent event) const; + virtual VkResult setEvent (VkDevice device, VkEvent event) const; + virtual VkResult resetEvent (VkDevice device, VkEvent event) const; + virtual VkResult createQueryPool (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const; + virtual void destroyQueryPool (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult getQueryPoolResults (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const; + virtual VkResult createBuffer (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const; + virtual void destroyBuffer (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult createBufferView (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const; + virtual void destroyBufferView (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult createImage (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const; + virtual void destroyImage (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) const; + virtual void getImageSubresourceLayout (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const; + virtual VkResult createImageView (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const; + virtual void destroyImageView (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult createShaderModule (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const; + virtual void destroyShaderModule (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult createPipelineCache (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const; + virtual void destroyPipelineCache (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult getPipelineCacheData (VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) const; + virtual VkResult mergePipelineCaches (VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) const; + virtual VkResult createGraphicsPipelines (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const; + virtual VkResult createComputePipelines (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const; + virtual void destroyPipeline (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult createPipelineLayout (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const; + virtual void destroyPipelineLayout (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult createSampler (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const; + virtual void destroySampler (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult createDescriptorSetLayout (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const; + virtual void destroyDescriptorSetLayout (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult createDescriptorPool (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const; + virtual void destroyDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult resetDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const; + virtual VkResult allocateDescriptorSets (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const; + virtual VkResult freeDescriptorSets (VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const; + virtual void updateDescriptorSets (VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const; + virtual VkResult createFramebuffer (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const; + virtual void destroyFramebuffer (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult createRenderPass (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const; + virtual void destroyRenderPass (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const; + virtual void getRenderAreaGranularity (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) const; + virtual VkResult createCommandPool (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const; + virtual void destroyCommandPool (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult resetCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const; + virtual VkResult allocateCommandBuffers (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const; + virtual void freeCommandBuffers (VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const; + virtual VkResult beginCommandBuffer (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const; + virtual VkResult endCommandBuffer (VkCommandBuffer commandBuffer) const; + virtual VkResult resetCommandBuffer (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const; + virtual void cmdBindPipeline (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const; + virtual void cmdSetViewport (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) const; + virtual void cmdSetScissor (VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) const; + virtual void cmdSetLineWidth (VkCommandBuffer commandBuffer, float lineWidth) const; + virtual void cmdSetDepthBias (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const; + virtual void cmdSetBlendConstants (VkCommandBuffer commandBuffer, const float blendConstants[4]) const; + virtual void cmdSetDepthBounds (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const; + virtual void cmdSetStencilCompareMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) const; + virtual void cmdSetStencilWriteMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) const; + virtual void cmdSetStencilReference (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) const; + virtual void cmdBindDescriptorSets (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) const; + virtual void cmdBindIndexBuffer (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const; + virtual void cmdBindVertexBuffers (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const; + virtual void cmdDraw (VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) const; + virtual void cmdDrawIndexed (VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) const; + virtual void cmdDrawIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const; + virtual void cmdDrawIndexedIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const; + virtual void cmdDispatch (VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const; + virtual void cmdDispatchIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const; + virtual void cmdCopyBuffer (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) const; + virtual void cmdCopyImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) const; + virtual void cmdBlitImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) const; + virtual void cmdCopyBufferToImage (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) const; + virtual void cmdCopyImageToBuffer (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) const; + virtual void cmdUpdateBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const; + virtual void cmdFillBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) const; + virtual void cmdClearColorImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const; + virtual void cmdClearDepthStencilImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const; + virtual void cmdClearAttachments (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) const; + virtual void cmdResolveImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) const; + virtual void cmdSetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const; + virtual void cmdResetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const; + virtual void cmdWaitEvents (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const; + virtual void cmdPipelineBarrier (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const; + virtual void cmdBeginQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) const; + virtual void cmdEndQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) const; + virtual void cmdResetQueryPool (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const; + virtual void cmdWriteTimestamp (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) const; + virtual void cmdCopyQueryPoolResults (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const; + virtual void cmdPushConstants (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) const; + virtual void cmdBeginRenderPass (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const; + virtual void cmdNextSubpass (VkCommandBuffer commandBuffer, VkSubpassContents contents) const; + virtual void cmdEndRenderPass (VkCommandBuffer commandBuffer) const; + virtual void cmdExecuteCommands (VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const; + virtual VkResult bindBufferMemory2 (VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const; + virtual VkResult bindImageMemory2 (VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const; + virtual void getDeviceGroupPeerMemoryFeatures (VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const; + virtual void cmdSetDeviceMask (VkCommandBuffer commandBuffer, uint32_t deviceMask) const; + virtual void cmdDispatchBase (VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const; + virtual void getImageMemoryRequirements2 (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const; + virtual void getBufferMemoryRequirements2 (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const; + virtual void getImageSparseMemoryRequirements2 (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const; + virtual void trimCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const; + virtual void getDeviceQueue2 (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const; + virtual VkResult createSamplerYcbcrConversion (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) const; + virtual void destroySamplerYcbcrConversion (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult createDescriptorUpdateTemplate (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) const; + virtual void destroyDescriptorUpdateTemplate (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const; + virtual void updateDescriptorSetWithTemplate (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) const; + virtual void getDescriptorSetLayoutSupport (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) const; + virtual void cmdDrawIndirectCount (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const; + virtual void cmdDrawIndexedIndirectCount (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const; + virtual VkResult createRenderPass2 (VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const; + virtual void cmdBeginRenderPass2 (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo) const; + virtual void cmdNextSubpass2 (VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo) const; + virtual void cmdEndRenderPass2 (VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo) const; + virtual void resetQueryPool (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const; + virtual VkResult getSemaphoreCounterValue (VkDevice device, VkSemaphore semaphore, uint64_t* pValue) const; + virtual VkResult waitSemaphores (VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) const; + virtual VkResult signalSemaphore (VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) const; + virtual VkDeviceAddress getBufferDeviceAddress (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const; + virtual uint64_t getBufferOpaqueCaptureAddress (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const; + virtual uint64_t getDeviceMemoryOpaqueCaptureAddress (VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) const; ++virtual VkResult createPrivateDataSlot (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot) const; ++virtual void destroyPrivateDataSlot (VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator) const; ++virtual VkResult setPrivateData (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data) const; ++virtual void getPrivateData (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData) const; ++virtual void cmdSetEvent2 (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo) const; ++virtual void cmdResetEvent2 (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask) const; ++virtual void cmdWaitEvents2 (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos) const; ++virtual void cmdPipelineBarrier2 (VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo) const; ++virtual void cmdWriteTimestamp2 (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query) const; ++virtual VkResult queueSubmit2 (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence) const; ++virtual void cmdCopyBuffer2 (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo) const; ++virtual void cmdCopyImage2 (VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo) const; ++virtual void cmdCopyBufferToImage2 (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo) const; ++virtual void cmdCopyImageToBuffer2 (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) const; ++virtual void cmdBlitImage2 (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo) const; ++virtual void cmdResolveImage2 (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo) const; ++virtual void cmdBeginRendering (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const; ++virtual void cmdEndRendering (VkCommandBuffer commandBuffer) const; ++virtual void cmdSetCullMode (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const; ++virtual void cmdSetFrontFace (VkCommandBuffer commandBuffer, VkFrontFace frontFace) const; ++virtual void cmdSetPrimitiveTopology (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) const; ++virtual void cmdSetViewportWithCount (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) const; ++virtual void cmdSetScissorWithCount (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) const; ++virtual void cmdBindVertexBuffers2 (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) const; ++virtual void cmdSetDepthTestEnable (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) const; ++virtual void cmdSetDepthWriteEnable (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) const; ++virtual void cmdSetDepthCompareOp (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) const; ++virtual void cmdSetDepthBoundsTestEnable (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) const; ++virtual void cmdSetStencilTestEnable (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) const; ++virtual void cmdSetStencilOp (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) const; ++virtual void cmdSetRasterizerDiscardEnable (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const; ++virtual void cmdSetDepthBiasEnable (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const; ++virtual void cmdSetPrimitiveRestartEnable (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const; ++virtual void getDeviceBufferMemoryRequirements (VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const; ++virtual void getDeviceImageMemoryRequirements (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const; ++virtual void getDeviceImageSparseMemoryRequirements (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const; + virtual VkResult createSwapchainKHR (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const; + virtual void destroySwapchainKHR (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult getSwapchainImagesKHR (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) const; + virtual VkResult acquireNextImageKHR (VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) const; + virtual VkResult queuePresentKHR (VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const; + virtual VkResult getDeviceGroupPresentCapabilitiesKHR (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const; + virtual VkResult getDeviceGroupSurfacePresentModesKHR (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const; + virtual VkResult acquireNextImage2KHR (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) const; + virtual VkResult createSharedSwapchainsKHR (VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const; -virtual void cmdBeginRenderingKHR (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const; -virtual void cmdEndRenderingKHR (VkCommandBuffer commandBuffer) const; + virtual VkResult getMemoryFdKHR (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const; + virtual VkResult getMemoryFdPropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const; + virtual VkResult importSemaphoreFdKHR (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const; + virtual VkResult getSemaphoreFdKHR (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const; + virtual void cmdPushDescriptorSetKHR (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const; + virtual void cmdPushDescriptorSetWithTemplateKHR (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) const; + virtual VkResult getSwapchainStatusKHR (VkDevice device, VkSwapchainKHR swapchain) const; + virtual VkResult importFenceFdKHR (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const; + virtual VkResult getFenceFdKHR (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const; + virtual VkResult acquireProfilingLockKHR (VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) const; + virtual void releaseProfilingLockKHR (VkDevice device) const; + virtual void cmdSetFragmentShadingRateKHR (VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const; + virtual VkResult waitForPresentKHR (VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout) const; + virtual VkResult createDeferredOperationKHR (VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation) const; + virtual void destroyDeferredOperationKHR (VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator) const; + virtual uint32_t getDeferredOperationMaxConcurrencyKHR (VkDevice device, VkDeferredOperationKHR operation) const; + virtual VkResult getDeferredOperationResultKHR (VkDevice device, VkDeferredOperationKHR operation) const; + virtual VkResult deferredOperationJoinKHR (VkDevice device, VkDeferredOperationKHR operation) const; + virtual VkResult getPipelineExecutablePropertiesKHR (VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) const; + virtual VkResult getPipelineExecutableStatisticsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) const; + virtual VkResult getPipelineExecutableInternalRepresentationsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) const; -virtual void cmdSetEvent2KHR (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo) const; -virtual void cmdResetEvent2KHR (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask) const; -virtual void cmdWaitEvents2KHR (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos) const; -virtual void cmdPipelineBarrier2KHR (VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo) const; -virtual void cmdWriteTimestamp2KHR (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, uint32_t query) const; -virtual VkResult queueSubmit2KHR (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence) const; + virtual void cmdWriteBufferMarker2AMD (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const; + virtual void getQueueCheckpointData2NV (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) const; -virtual void cmdCopyBuffer2KHR (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) const; -virtual void cmdCopyImage2KHR (VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) const; -virtual void cmdCopyBufferToImage2KHR (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) const; -virtual void cmdCopyImageToBuffer2KHR (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) const; -virtual void cmdBlitImage2KHR (VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) const; -virtual void cmdResolveImage2KHR (VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo) const; -virtual void getDeviceBufferMemoryRequirementsKHR (VkDevice device, const VkDeviceBufferMemoryRequirementsKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements) const; -virtual void getDeviceImageMemoryRequirementsKHR (VkDevice device, const VkDeviceImageMemoryRequirementsKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements) const; -virtual void getDeviceImageSparseMemoryRequirementsKHR (VkDevice device, const VkDeviceImageMemoryRequirementsKHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const; + virtual VkResult debugMarkerSetObjectTagEXT (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const; + virtual VkResult debugMarkerSetObjectNameEXT (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const; + virtual void cmdDebugMarkerBeginEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const; + virtual void cmdDebugMarkerEndEXT (VkCommandBuffer commandBuffer) const; + virtual void cmdDebugMarkerInsertEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const; + virtual void cmdBindTransformFeedbackBuffersEXT (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) const; + virtual void cmdBeginTransformFeedbackEXT (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const; + virtual void cmdEndTransformFeedbackEXT (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const; + virtual void cmdBeginQueryIndexedEXT (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) const; + virtual void cmdEndQueryIndexedEXT (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) const; + virtual void cmdDrawIndirectByteCountEXT (VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) const; + virtual VkResult createCuModuleNVX (VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule) const; + virtual VkResult createCuFunctionNVX (VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction) const; + virtual void destroyCuModuleNVX (VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator) const; + virtual void destroyCuFunctionNVX (VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator) const; + virtual void cmdCuLaunchKernelNVX (VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo) const; + virtual uint32_t getImageViewHandleNVX (VkDevice device, const VkImageViewHandleInfoNVX* pInfo) const; + virtual VkResult getImageViewAddressNVX (VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties) const; + virtual void cmdDrawIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const; + virtual void cmdDrawIndexedIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const; + virtual VkResult getShaderInfoAMD (VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo) const; + virtual void cmdBeginConditionalRenderingEXT (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const; + virtual void cmdEndConditionalRenderingEXT (VkCommandBuffer commandBuffer) const; + virtual void cmdSetViewportWScalingNV (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings) const; + virtual VkResult displayPowerControlEXT (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const; + virtual VkResult registerDeviceEventEXT (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const; + virtual VkResult registerDisplayEventEXT (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const; + virtual VkResult getSwapchainCounterEXT (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) const; + virtual VkResult getRefreshCycleDurationGOOGLE (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const; + virtual VkResult getPastPresentationTimingGOOGLE (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const; + virtual void cmdSetDiscardRectangleEXT (VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles) const; + virtual void setHdrMetadataEXT (VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const; + virtual VkResult setDebugUtilsObjectNameEXT (VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo) const; + virtual VkResult setDebugUtilsObjectTagEXT (VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo) const; + virtual void queueBeginDebugUtilsLabelEXT (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const; + virtual void queueEndDebugUtilsLabelEXT (VkQueue queue) const; + virtual void queueInsertDebugUtilsLabelEXT (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const; + virtual void cmdBeginDebugUtilsLabelEXT (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const; + virtual void cmdEndDebugUtilsLabelEXT (VkCommandBuffer commandBuffer) const; + virtual void cmdInsertDebugUtilsLabelEXT (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const; + virtual void cmdSetSampleLocationsEXT (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const; + virtual VkResult getImageDrmFormatModifierPropertiesEXT (VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) const; + virtual VkResult createValidationCacheEXT (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const; + virtual void destroyValidationCacheEXT (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult mergeValidationCachesEXT (VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const; + virtual VkResult getValidationCacheDataEXT (VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData) const; + virtual void cmdBindShadingRateImageNV (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const; + virtual void cmdSetViewportShadingRatePaletteNV (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes) const; + virtual void cmdSetCoarseSampleOrderNV (VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders) const; + virtual VkResult createAccelerationStructureNV (VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure) const; + virtual void destroyAccelerationStructureNV (VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator) const; + virtual void getAccelerationStructureMemoryRequirementsNV (VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const; + virtual VkResult bindAccelerationStructureMemoryNV (VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos) const; + virtual void cmdBuildAccelerationStructureNV (VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset) const; + virtual void cmdCopyAccelerationStructureNV (VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode) const; + virtual void cmdTraceRaysNV (VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth) const; + virtual VkResult createRayTracingPipelinesNV (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const; + virtual VkResult getRayTracingShaderGroupHandlesKHR (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const; + virtual VkResult getRayTracingShaderGroupHandlesNV (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const; + virtual VkResult getAccelerationStructureHandleNV (VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData) const; + virtual void cmdWriteAccelerationStructuresPropertiesNV (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const; + virtual VkResult compileDeferredNV (VkDevice device, VkPipeline pipeline, uint32_t shader) const; + virtual VkResult getMemoryHostPointerPropertiesEXT (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) const; + virtual void cmdWriteBufferMarkerAMD (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const; + virtual VkResult getCalibratedTimestampsEXT (VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) const; + virtual void cmdDrawMeshTasksNV (VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask) const; + virtual void cmdDrawMeshTasksIndirectNV (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const; + virtual void cmdDrawMeshTasksIndirectCountNV (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const; + virtual void cmdSetExclusiveScissorNV (VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors) const; + virtual void cmdSetCheckpointNV (VkCommandBuffer commandBuffer, const void* pCheckpointMarker) const; + virtual void getQueueCheckpointDataNV (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData) const; + virtual VkResult initializePerformanceApiINTEL (VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) const; + virtual void uninitializePerformanceApiINTEL (VkDevice device) const; + virtual VkResult cmdSetPerformanceMarkerINTEL (VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) const; + virtual VkResult cmdSetPerformanceStreamMarkerINTEL (VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) const; + virtual VkResult cmdSetPerformanceOverrideINTEL (VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) const; + virtual VkResult acquirePerformanceConfigurationINTEL (VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) const; + virtual VkResult releasePerformanceConfigurationINTEL (VkDevice device, VkPerformanceConfigurationINTEL configuration) const; + virtual VkResult queueSetPerformanceConfigurationINTEL (VkQueue queue, VkPerformanceConfigurationINTEL configuration) const; + virtual VkResult getPerformanceParameterINTEL (VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) const; + virtual void setLocalDimmingAMD (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) const; + virtual VkDeviceAddress getBufferDeviceAddressEXT (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const; + virtual void cmdSetLineStippleEXT (VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) const; -virtual void cmdSetCullModeEXT (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const; -virtual void cmdSetFrontFaceEXT (VkCommandBuffer commandBuffer, VkFrontFace frontFace) const; -virtual void cmdSetPrimitiveTopologyEXT (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) const; -virtual void cmdSetViewportWithCountEXT (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) const; -virtual void cmdSetScissorWithCountEXT (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) const; -virtual void cmdBindVertexBuffers2EXT (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) const; -virtual void cmdSetDepthTestEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) const; -virtual void cmdSetDepthWriteEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) const; -virtual void cmdSetDepthCompareOpEXT (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) const; -virtual void cmdSetDepthBoundsTestEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) const; -virtual void cmdSetStencilTestEnableEXT (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) const; -virtual void cmdSetStencilOpEXT (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) const; + virtual void getGeneratedCommandsMemoryRequirementsNV (VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements) const; + virtual void cmdPreprocessGeneratedCommandsNV (VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const; + virtual void cmdExecuteGeneratedCommandsNV (VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const; + virtual void cmdBindPipelineShaderGroupNV (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex) const; + virtual VkResult createIndirectCommandsLayoutNV (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout) const; + virtual void destroyIndirectCommandsLayoutNV (VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult createPrivateDataSlotEXT (VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot) const; -virtual void destroyPrivateDataSlotEXT (VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator) const; -virtual VkResult setPrivateDataEXT (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data) const; -virtual void getPrivateDataEXT (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData) const; + virtual void cmdSetFragmentShadingRateEnumNV (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const; + virtual void cmdSetVertexInputEXT (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const; + virtual VkResult getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI (VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize) const; + virtual void cmdSubpassShadingHUAWEI (VkCommandBuffer commandBuffer) const; + virtual void cmdBindInvocationMaskHUAWEI (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const; + virtual VkResult getMemoryRemoteAddressNV (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) const; + virtual void cmdSetPatchControlPointsEXT (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const; -virtual void cmdSetRasterizerDiscardEnableEXT (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const; -virtual void cmdSetDepthBiasEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const; + virtual void cmdSetLogicOpEXT (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const; -virtual void cmdSetPrimitiveRestartEnableEXT (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const; + virtual void cmdSetColorWriteEnableEXT (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const; + virtual void cmdDrawMultiEXT (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) const; + virtual void cmdDrawMultiIndexedEXT (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) const; + virtual void setDeviceMemoryPriorityEXT (VkDevice device, VkDeviceMemory memory, float priority) const; + virtual VkResult createAccelerationStructureKHR (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const; + virtual void destroyAccelerationStructureKHR (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const; + virtual void cmdBuildAccelerationStructuresKHR (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const; + virtual void cmdBuildAccelerationStructuresIndirectKHR (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts) const; + virtual VkResult buildAccelerationStructuresKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const; + virtual VkResult copyAccelerationStructureKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo) const; + virtual VkResult copyAccelerationStructureToMemoryKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const; + virtual VkResult copyMemoryToAccelerationStructureKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const; + virtual VkResult writeAccelerationStructuresPropertiesKHR (VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const; + virtual void cmdCopyAccelerationStructureKHR (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo) const; + virtual void cmdCopyAccelerationStructureToMemoryKHR (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const; + virtual void cmdCopyMemoryToAccelerationStructureKHR (VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const; + virtual VkDeviceAddress getAccelerationStructureDeviceAddressKHR (VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo) const; + virtual void cmdWriteAccelerationStructuresPropertiesKHR (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const; + virtual void getDeviceAccelerationStructureCompatibilityKHR (VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const; + virtual void getAccelerationStructureBuildSizesKHR (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo) const; + virtual void cmdTraceRaysKHR (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth) const; + virtual VkResult createRayTracingPipelinesKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const; + virtual VkResult getRayTracingCaptureReplayShaderGroupHandlesKHR (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const; + virtual void cmdTraceRaysIndirectKHR (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress) const; + virtual VkDeviceSize getRayTracingShaderGroupStackSizeKHR (VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader) const; + virtual void cmdSetRayTracingPipelineStackSizeKHR (VkCommandBuffer commandBuffer, uint32_t pipelineStackSize) const; + virtual VkResult getAndroidHardwareBufferPropertiesANDROID (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const; + virtual VkResult getMemoryAndroidHardwareBufferANDROID (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const; + virtual VkResult createVideoSessionKHR (VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession) const; + virtual void destroyVideoSessionKHR (VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult getVideoSessionMemoryRequirementsKHR (VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pVideoSessionMemoryRequirementsCount, VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements) const; + virtual VkResult bindVideoSessionMemoryKHR (VkDevice device, VkVideoSessionKHR videoSession, uint32_t videoSessionBindMemoryCount, const VkVideoBindMemoryKHR* pVideoSessionBindMemories) const; + virtual VkResult createVideoSessionParametersKHR (VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters) const; + virtual VkResult updateVideoSessionParametersKHR (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo) const; + virtual void destroyVideoSessionParametersKHR (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator) const; + virtual void cmdBeginVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo) const; + virtual void cmdEndVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo) const; + virtual void cmdControlVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo) const; + virtual void cmdDecodeVideoKHR (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo) const; + virtual void cmdEncodeVideoKHR (VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo) const; + virtual VkResult getMemoryZirconHandleFUCHSIA (VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const; + virtual VkResult getMemoryZirconHandlePropertiesFUCHSIA (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties) const; + virtual VkResult importSemaphoreZirconHandleFUCHSIA (VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo) const; + virtual VkResult getSemaphoreZirconHandleFUCHSIA (VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const; + virtual VkResult createBufferCollectionFUCHSIA (VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection) const; + virtual VkResult setBufferCollectionImageConstraintsFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const; + virtual VkResult setBufferCollectionBufferConstraintsFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) const; + virtual void destroyBufferCollectionFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult getBufferCollectionPropertiesFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties) const; + virtual VkResult getMemoryWin32HandleKHR (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const; + virtual VkResult getMemoryWin32HandlePropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const; + virtual VkResult importSemaphoreWin32HandleKHR (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const; + virtual VkResult getSemaphoreWin32HandleKHR (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const; + virtual VkResult importFenceWin32HandleKHR (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const; + virtual VkResult getFenceWin32HandleKHR (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const; + virtual VkResult getMemoryWin32HandleNV (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const; + virtual VkResult acquireFullScreenExclusiveModeEXT (VkDevice device, VkSwapchainKHR swapchain) const; + virtual VkResult releaseFullScreenExclusiveModeEXT (VkDevice device, VkSwapchainKHR swapchain) const; + virtual VkResult getDeviceGroupSurfacePresentModes2EXT (VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes) const; diff --cc external/vulkancts/framework/vulkan/vkConcreteInstanceInterface.inl index 0000000,6b38b4d..903affd mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkConcreteInstanceInterface.inl +++ b/external/vulkancts/framework/vulkan/vkConcreteInstanceInterface.inl @@@ -1,0 -1,88 +1,88 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + virtual void destroyInstance (VkInstance instance, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult enumeratePhysicalDevices (VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) const; + virtual void getPhysicalDeviceFeatures (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) const; + virtual void getPhysicalDeviceFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) const; + virtual VkResult getPhysicalDeviceImageFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties) const; + virtual void getPhysicalDeviceProperties (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) const; + virtual void getPhysicalDeviceQueueFamilyProperties (VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) const; + virtual void getPhysicalDeviceMemoryProperties (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) const; + virtual VkResult createDevice (VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) const; + virtual VkResult enumerateDeviceExtensionProperties (VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) const; + virtual VkResult enumerateDeviceLayerProperties (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) const; + virtual void getPhysicalDeviceSparseImageFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) const; + virtual VkResult enumeratePhysicalDeviceGroups (VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties) const; + virtual void getPhysicalDeviceFeatures2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures) const; + virtual void getPhysicalDeviceProperties2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties) const; + virtual void getPhysicalDeviceFormatProperties2 (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties) const; + virtual VkResult getPhysicalDeviceImageFormatProperties2 (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties) const; + virtual void getPhysicalDeviceQueueFamilyProperties2 (VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties) const; + virtual void getPhysicalDeviceMemoryProperties2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties) const; + virtual void getPhysicalDeviceSparseImageFormatProperties2 (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties) const; + virtual void getPhysicalDeviceExternalBufferProperties (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties) const; + virtual void getPhysicalDeviceExternalFenceProperties (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties) const; + virtual void getPhysicalDeviceExternalSemaphoreProperties (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties) const; ++virtual VkResult getPhysicalDeviceToolProperties (VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties) const; + virtual void destroySurfaceKHR (VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator) const; + virtual VkResult getPhysicalDeviceSurfaceSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported) const; + virtual VkResult getPhysicalDeviceSurfaceCapabilitiesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) const; + virtual VkResult getPhysicalDeviceSurfaceFormatsKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats) const; + virtual VkResult getPhysicalDeviceSurfacePresentModesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) const; + virtual VkResult getPhysicalDevicePresentRectanglesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects) const; + virtual VkResult getPhysicalDeviceDisplayPropertiesKHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties) const; + virtual VkResult getPhysicalDeviceDisplayPlanePropertiesKHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties) const; + virtual VkResult getDisplayPlaneSupportedDisplaysKHR (VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays) const; + virtual VkResult getDisplayModePropertiesKHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties) const; + virtual VkResult createDisplayModeKHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode) const; + virtual VkResult getDisplayPlaneCapabilitiesKHR (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities) const; + virtual VkResult createDisplayPlaneSurfaceKHR (VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; + virtual VkResult enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions) const; + virtual void getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR (VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses) const; + virtual VkResult getPhysicalDeviceSurfaceCapabilities2KHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) const; + virtual VkResult getPhysicalDeviceSurfaceFormats2KHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) const; + virtual VkResult getPhysicalDeviceDisplayProperties2KHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties) const; + virtual VkResult getPhysicalDeviceDisplayPlaneProperties2KHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties) const; + virtual VkResult getDisplayModeProperties2KHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties) const; + virtual VkResult getDisplayPlaneCapabilities2KHR (VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities) const; + virtual VkResult getPhysicalDeviceFragmentShadingRatesKHR (VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates) const; + virtual VkResult createDebugReportCallbackEXT (VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) const; + virtual void destroyDebugReportCallbackEXT (VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) const; + virtual void debugReportMessageEXT (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage) const; + virtual VkResult getPhysicalDeviceExternalImageFormatPropertiesNV (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties) const; + virtual VkResult releaseDisplayEXT (VkPhysicalDevice physicalDevice, VkDisplayKHR display) const; + virtual VkResult getPhysicalDeviceSurfaceCapabilities2EXT (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities) const; + virtual VkResult createDebugUtilsMessengerEXT (VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger) const; + virtual void destroyDebugUtilsMessengerEXT (VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator) const; + virtual void submitDebugUtilsMessageEXT (VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData) const; + virtual void getPhysicalDeviceMultisamplePropertiesEXT (VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties) const; + virtual VkResult getPhysicalDeviceCalibrateableTimeDomainsEXT (VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains) const; -virtual VkResult getPhysicalDeviceToolPropertiesEXT (VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties) const; + virtual VkResult getPhysicalDeviceCooperativeMatrixPropertiesNV (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties) const; + virtual VkResult getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV (VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations) const; + virtual VkResult createHeadlessSurfaceEXT (VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; + virtual VkResult acquireDrmDisplayEXT (VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display) const; + virtual VkResult getDrmDisplayEXT (VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display) const; + virtual VkResult acquireWinrtDisplayNV (VkPhysicalDevice physicalDevice, VkDisplayKHR display) const; + virtual VkResult getWinrtDisplayNV (VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay) const; + virtual VkResult createAndroidSurfaceKHR (VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; + virtual VkResult getPhysicalDeviceVideoCapabilitiesKHR (VkPhysicalDevice physicalDevice, const VkVideoProfileKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities) const; + virtual VkResult getPhysicalDeviceVideoFormatPropertiesKHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties) const; + virtual VkResult createImagePipeSurfaceFUCHSIA (VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; + virtual VkResult createStreamDescriptorSurfaceGGP (VkInstance instance, const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; + virtual VkResult createIOSSurfaceMVK (VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; + virtual VkResult createMacOSSurfaceMVK (VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; + virtual VkResult createMetalSurfaceEXT (VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; + virtual VkResult createViSurfaceNN (VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; + virtual VkResult createWaylandSurfaceKHR (VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; + virtual VkBool32 getPhysicalDeviceWaylandPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::WaylandDisplayPtr display) const; + virtual VkResult createWin32SurfaceKHR (VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; + virtual VkBool32 getPhysicalDeviceWin32PresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex) const; + virtual VkResult getPhysicalDeviceSurfacePresentModes2EXT (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) const; + virtual VkResult createXcbSurfaceKHR (VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; + virtual VkBool32 getPhysicalDeviceXcbPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::XcbConnectionPtr connection, pt::XcbVisualid visual_id) const; + virtual VkResult createXlibSurfaceKHR (VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const; + virtual VkBool32 getPhysicalDeviceXlibPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::XlibDisplayPtr dpy, pt::XlibVisualID visualID) const; + virtual VkResult acquireXlibDisplayEXT (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, VkDisplayKHR display) const; + virtual VkResult getRandROutputDisplayEXT (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, pt::RROutput rrOutput, VkDisplayKHR* pDisplay) const; diff --cc external/vulkancts/framework/vulkan/vkCoreFunctionalities.inl index 0000000,06bf2b1..80ea026 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkCoreFunctionalities.inl +++ b/external/vulkancts/framework/vulkan/vkCoreFunctionalities.inl @@@ -1,0 -1,508 +1,725 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + + enum FunctionOrigin + { + FUNCTIONORIGIN_PLATFORM = 0, + FUNCTIONORIGIN_INSTANCE, + FUNCTIONORIGIN_DEVICE + }; + + typedef ::std::pair FunctionInfo; + typedef ::std::vector FunctionInfosList; + typedef ::std::map ApisMap; + + void initApisMap (ApisMap& apis) + { + apis.clear(); + apis.insert(::std::pair(VK_API_VERSION_1_0, FunctionInfosList())); + apis.insert(::std::pair(VK_API_VERSION_1_1, FunctionInfosList())); + apis.insert(::std::pair(VK_API_VERSION_1_2, FunctionInfosList())); ++ apis.insert(::std::pair(VK_API_VERSION_1_3, FunctionInfosList())); + + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateInstance", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyInstance", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkEnumeratePhysicalDevices", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetPhysicalDeviceFeatures", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetPhysicalDeviceFormatProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetPhysicalDeviceImageFormatProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetPhysicalDeviceProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetPhysicalDeviceQueueFamilyProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetPhysicalDeviceMemoryProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetInstanceProcAddr", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetDeviceProcAddr", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateDevice", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyDevice", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkEnumerateInstanceExtensionProperties", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkEnumerateDeviceExtensionProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkEnumerateInstanceLayerProperties", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkEnumerateDeviceLayerProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetDeviceQueue", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkQueueSubmit", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkQueueWaitIdle", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDeviceWaitIdle", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkAllocateMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkFreeMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkMapMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkUnmapMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkFlushMappedMemoryRanges", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkInvalidateMappedMemoryRanges", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetDeviceMemoryCommitment", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkBindBufferMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkBindImageMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetBufferMemoryRequirements", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetImageMemoryRequirements", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetImageSparseMemoryRequirements", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetPhysicalDeviceSparseImageFormatProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkQueueBindSparse", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateFence", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyFence", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkResetFences", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetFenceStatus", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkWaitForFences", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateSemaphore", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroySemaphore", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetEventStatus", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkSetEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkResetEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateQueryPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyQueryPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetQueryPoolResults", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateBufferView", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyBufferView", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetImageSubresourceLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateImageView", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyImageView", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateShaderModule", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyShaderModule", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreatePipelineCache", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyPipelineCache", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetPipelineCacheData", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkMergePipelineCaches", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateGraphicsPipelines", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateComputePipelines", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyPipeline", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreatePipelineLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyPipelineLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateSampler", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroySampler", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateDescriptorSetLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyDescriptorSetLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateDescriptorPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyDescriptorPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkResetDescriptorPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkAllocateDescriptorSets", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkFreeDescriptorSets", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkUpdateDescriptorSets", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateFramebuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyFramebuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateRenderPass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyRenderPass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkGetRenderAreaGranularity", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCreateCommandPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkDestroyCommandPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkResetCommandPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkAllocateCommandBuffers", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkFreeCommandBuffers", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkBeginCommandBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkEndCommandBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkResetCommandBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdBindPipeline", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdSetViewport", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdSetScissor", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdSetLineWidth", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdSetDepthBias", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdSetBlendConstants", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdSetDepthBounds", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdSetStencilCompareMask", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdSetStencilWriteMask", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdSetStencilReference", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdBindDescriptorSets", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdBindIndexBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdBindVertexBuffers", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdDraw", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdDrawIndexed", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdDrawIndirect", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdDrawIndexedIndirect", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdDispatch", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdDispatchIndirect", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdCopyBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdCopyImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdBlitImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdCopyBufferToImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdCopyImageToBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdUpdateBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdFillBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdClearColorImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdClearDepthStencilImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdClearAttachments", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdResolveImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdSetEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdResetEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdWaitEvents", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdPipelineBarrier", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdBeginQuery", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdEndQuery", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdResetQueryPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdWriteTimestamp", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdCopyQueryPoolResults", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdPushConstants", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdBeginRenderPass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdNextSubpass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdEndRenderPass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_0].push_back(FunctionInfo("vkCmdExecuteCommands", FUNCTIONORIGIN_DEVICE)); + + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateInstance", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyInstance", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkEnumeratePhysicalDevices", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceFeatures", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceFormatProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceImageFormatProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceQueueFamilyProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceMemoryProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetInstanceProcAddr", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetDeviceProcAddr", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateDevice", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyDevice", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkEnumerateInstanceExtensionProperties", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkEnumerateDeviceExtensionProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkEnumerateInstanceLayerProperties", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkEnumerateDeviceLayerProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetDeviceQueue", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkQueueSubmit", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkQueueWaitIdle", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDeviceWaitIdle", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkAllocateMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkFreeMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkMapMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkUnmapMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkFlushMappedMemoryRanges", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkInvalidateMappedMemoryRanges", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetDeviceMemoryCommitment", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkBindBufferMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkBindImageMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetBufferMemoryRequirements", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetImageMemoryRequirements", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetImageSparseMemoryRequirements", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceSparseImageFormatProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkQueueBindSparse", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateFence", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyFence", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkResetFences", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetFenceStatus", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkWaitForFences", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateSemaphore", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroySemaphore", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetEventStatus", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkSetEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkResetEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateQueryPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyQueryPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetQueryPoolResults", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateBufferView", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyBufferView", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetImageSubresourceLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateImageView", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyImageView", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateShaderModule", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyShaderModule", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreatePipelineCache", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyPipelineCache", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPipelineCacheData", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkMergePipelineCaches", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateGraphicsPipelines", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateComputePipelines", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyPipeline", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreatePipelineLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyPipelineLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateSampler", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroySampler", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateDescriptorSetLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyDescriptorSetLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateDescriptorPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyDescriptorPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkResetDescriptorPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkAllocateDescriptorSets", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkFreeDescriptorSets", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkUpdateDescriptorSets", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateFramebuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyFramebuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateRenderPass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyRenderPass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetRenderAreaGranularity", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateCommandPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyCommandPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkResetCommandPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkAllocateCommandBuffers", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkFreeCommandBuffers", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkBeginCommandBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkEndCommandBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkResetCommandBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdBindPipeline", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdSetViewport", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdSetScissor", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdSetLineWidth", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdSetDepthBias", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdSetBlendConstants", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdSetDepthBounds", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdSetStencilCompareMask", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdSetStencilWriteMask", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdSetStencilReference", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdBindDescriptorSets", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdBindIndexBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdBindVertexBuffers", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdDraw", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdDrawIndexed", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdDrawIndirect", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdDrawIndexedIndirect", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdDispatch", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdDispatchIndirect", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdCopyBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdCopyImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdBlitImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdCopyBufferToImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdCopyImageToBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdUpdateBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdFillBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdClearColorImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdClearDepthStencilImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdClearAttachments", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdResolveImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdSetEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdResetEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdWaitEvents", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdPipelineBarrier", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdBeginQuery", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdEndQuery", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdResetQueryPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdWriteTimestamp", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdCopyQueryPoolResults", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdPushConstants", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdBeginRenderPass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdNextSubpass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdEndRenderPass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdExecuteCommands", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkEnumerateInstanceVersion", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkBindBufferMemory2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkBindImageMemory2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetDeviceGroupPeerMemoryFeatures", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdSetDeviceMask", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCmdDispatchBase", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkEnumeratePhysicalDeviceGroups", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetImageMemoryRequirements2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetBufferMemoryRequirements2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetImageSparseMemoryRequirements2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceFeatures2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceProperties2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceFormatProperties2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceImageFormatProperties2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceQueueFamilyProperties2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceMemoryProperties2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceSparseImageFormatProperties2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkTrimCommandPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetDeviceQueue2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateSamplerYcbcrConversion", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroySamplerYcbcrConversion", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkCreateDescriptorUpdateTemplate", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkDestroyDescriptorUpdateTemplate", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkUpdateDescriptorSetWithTemplate", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceExternalBufferProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceExternalFenceProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetPhysicalDeviceExternalSemaphoreProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_1].push_back(FunctionInfo("vkGetDescriptorSetLayoutSupport", FUNCTIONORIGIN_DEVICE)); + + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateInstance", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyInstance", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkEnumeratePhysicalDevices", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceFeatures", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceFormatProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceImageFormatProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceQueueFamilyProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceMemoryProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetInstanceProcAddr", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetDeviceProcAddr", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateDevice", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyDevice", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkEnumerateInstanceExtensionProperties", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkEnumerateDeviceExtensionProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkEnumerateInstanceLayerProperties", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkEnumerateDeviceLayerProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetDeviceQueue", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkQueueSubmit", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkQueueWaitIdle", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDeviceWaitIdle", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkAllocateMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkFreeMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkMapMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkUnmapMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkFlushMappedMemoryRanges", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkInvalidateMappedMemoryRanges", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetDeviceMemoryCommitment", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkBindBufferMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkBindImageMemory", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetBufferMemoryRequirements", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetImageMemoryRequirements", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetImageSparseMemoryRequirements", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceSparseImageFormatProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkQueueBindSparse", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateFence", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyFence", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkResetFences", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetFenceStatus", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkWaitForFences", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateSemaphore", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroySemaphore", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetEventStatus", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkSetEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkResetEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateQueryPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyQueryPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetQueryPoolResults", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateBufferView", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyBufferView", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetImageSubresourceLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateImageView", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyImageView", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateShaderModule", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyShaderModule", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreatePipelineCache", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyPipelineCache", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPipelineCacheData", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkMergePipelineCaches", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateGraphicsPipelines", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateComputePipelines", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyPipeline", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreatePipelineLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyPipelineLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateSampler", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroySampler", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateDescriptorSetLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyDescriptorSetLayout", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateDescriptorPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyDescriptorPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkResetDescriptorPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkAllocateDescriptorSets", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkFreeDescriptorSets", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkUpdateDescriptorSets", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateFramebuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyFramebuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateRenderPass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyRenderPass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetRenderAreaGranularity", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateCommandPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyCommandPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkResetCommandPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkAllocateCommandBuffers", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkFreeCommandBuffers", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkBeginCommandBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkEndCommandBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkResetCommandBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdBindPipeline", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdSetViewport", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdSetScissor", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdSetLineWidth", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdSetDepthBias", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdSetBlendConstants", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdSetDepthBounds", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdSetStencilCompareMask", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdSetStencilWriteMask", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdSetStencilReference", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdBindDescriptorSets", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdBindIndexBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdBindVertexBuffers", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdDraw", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdDrawIndexed", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdDrawIndirect", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdDrawIndexedIndirect", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdDispatch", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdDispatchIndirect", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdCopyBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdCopyImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdBlitImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdCopyBufferToImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdCopyImageToBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdUpdateBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdFillBuffer", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdClearColorImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdClearDepthStencilImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdClearAttachments", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdResolveImage", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdSetEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdResetEvent", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdWaitEvents", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdPipelineBarrier", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdBeginQuery", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdEndQuery", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdResetQueryPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdWriteTimestamp", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdCopyQueryPoolResults", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdPushConstants", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdBeginRenderPass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdNextSubpass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdEndRenderPass", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdExecuteCommands", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkEnumerateInstanceVersion", FUNCTIONORIGIN_PLATFORM)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkBindBufferMemory2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkBindImageMemory2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetDeviceGroupPeerMemoryFeatures", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdSetDeviceMask", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdDispatchBase", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkEnumeratePhysicalDeviceGroups", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetImageMemoryRequirements2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetBufferMemoryRequirements2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetImageSparseMemoryRequirements2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceFeatures2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceProperties2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceFormatProperties2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceImageFormatProperties2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceQueueFamilyProperties2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceMemoryProperties2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceSparseImageFormatProperties2", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkTrimCommandPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetDeviceQueue2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateSamplerYcbcrConversion", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroySamplerYcbcrConversion", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateDescriptorUpdateTemplate", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkDestroyDescriptorUpdateTemplate", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkUpdateDescriptorSetWithTemplate", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceExternalBufferProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceExternalFenceProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetPhysicalDeviceExternalSemaphoreProperties", FUNCTIONORIGIN_INSTANCE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetDescriptorSetLayoutSupport", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdDrawIndirectCount", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdDrawIndexedIndirectCount", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCreateRenderPass2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdBeginRenderPass2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdNextSubpass2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkCmdEndRenderPass2", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkResetQueryPool", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetSemaphoreCounterValue", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkWaitSemaphores", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkSignalSemaphore", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetBufferDeviceAddress", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetBufferOpaqueCaptureAddress", FUNCTIONORIGIN_DEVICE)); + apis[VK_API_VERSION_1_2].push_back(FunctionInfo("vkGetDeviceMemoryOpaqueCaptureAddress", FUNCTIONORIGIN_DEVICE)); + ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateInstance", FUNCTIONORIGIN_PLATFORM)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyInstance", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkEnumeratePhysicalDevices", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceFeatures", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceFormatProperties", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceImageFormatProperties", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceProperties", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceQueueFamilyProperties", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceMemoryProperties", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetInstanceProcAddr", FUNCTIONORIGIN_PLATFORM)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetDeviceProcAddr", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateDevice", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyDevice", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkEnumerateInstanceExtensionProperties", FUNCTIONORIGIN_PLATFORM)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkEnumerateDeviceExtensionProperties", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkEnumerateInstanceLayerProperties", FUNCTIONORIGIN_PLATFORM)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkEnumerateDeviceLayerProperties", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetDeviceQueue", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkQueueSubmit", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkQueueWaitIdle", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDeviceWaitIdle", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkAllocateMemory", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkFreeMemory", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkMapMemory", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkUnmapMemory", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkFlushMappedMemoryRanges", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkInvalidateMappedMemoryRanges", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetDeviceMemoryCommitment", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkBindBufferMemory", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkBindImageMemory", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetBufferMemoryRequirements", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetImageMemoryRequirements", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetImageSparseMemoryRequirements", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceSparseImageFormatProperties", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkQueueBindSparse", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateFence", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyFence", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkResetFences", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetFenceStatus", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkWaitForFences", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateSemaphore", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroySemaphore", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateEvent", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyEvent", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetEventStatus", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkSetEvent", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkResetEvent", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateQueryPool", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyQueryPool", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetQueryPoolResults", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateBuffer", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyBuffer", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateBufferView", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyBufferView", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateImage", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyImage", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetImageSubresourceLayout", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateImageView", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyImageView", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateShaderModule", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyShaderModule", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreatePipelineCache", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyPipelineCache", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPipelineCacheData", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkMergePipelineCaches", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateGraphicsPipelines", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateComputePipelines", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyPipeline", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreatePipelineLayout", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyPipelineLayout", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateSampler", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroySampler", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateDescriptorSetLayout", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyDescriptorSetLayout", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateDescriptorPool", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyDescriptorPool", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkResetDescriptorPool", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkAllocateDescriptorSets", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkFreeDescriptorSets", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkUpdateDescriptorSets", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateFramebuffer", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyFramebuffer", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateRenderPass", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyRenderPass", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetRenderAreaGranularity", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateCommandPool", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyCommandPool", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkResetCommandPool", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkAllocateCommandBuffers", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkFreeCommandBuffers", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkBeginCommandBuffer", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkEndCommandBuffer", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkResetCommandBuffer", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdBindPipeline", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetViewport", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetScissor", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetLineWidth", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetDepthBias", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetBlendConstants", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetDepthBounds", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetStencilCompareMask", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetStencilWriteMask", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetStencilReference", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdBindDescriptorSets", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdBindIndexBuffer", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdBindVertexBuffers", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdDraw", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdDrawIndexed", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdDrawIndirect", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdDrawIndexedIndirect", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdDispatch", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdDispatchIndirect", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdCopyBuffer", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdCopyImage", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdBlitImage", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdCopyBufferToImage", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdCopyImageToBuffer", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdUpdateBuffer", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdFillBuffer", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdClearColorImage", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdClearDepthStencilImage", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdClearAttachments", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdResolveImage", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetEvent", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdResetEvent", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdWaitEvents", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdPipelineBarrier", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdBeginQuery", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdEndQuery", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdResetQueryPool", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdWriteTimestamp", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdCopyQueryPoolResults", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdPushConstants", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdBeginRenderPass", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdNextSubpass", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdEndRenderPass", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdExecuteCommands", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkEnumerateInstanceVersion", FUNCTIONORIGIN_PLATFORM)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkBindBufferMemory2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkBindImageMemory2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetDeviceGroupPeerMemoryFeatures", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetDeviceMask", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdDispatchBase", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkEnumeratePhysicalDeviceGroups", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetImageMemoryRequirements2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetBufferMemoryRequirements2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetImageSparseMemoryRequirements2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceFeatures2", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceProperties2", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceFormatProperties2", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceImageFormatProperties2", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceQueueFamilyProperties2", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceMemoryProperties2", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceSparseImageFormatProperties2", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkTrimCommandPool", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetDeviceQueue2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateSamplerYcbcrConversion", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroySamplerYcbcrConversion", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateDescriptorUpdateTemplate", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyDescriptorUpdateTemplate", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkUpdateDescriptorSetWithTemplate", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceExternalBufferProperties", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceExternalFenceProperties", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceExternalSemaphoreProperties", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetDescriptorSetLayoutSupport", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdDrawIndirectCount", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdDrawIndexedIndirectCount", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreateRenderPass2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdBeginRenderPass2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdNextSubpass2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdEndRenderPass2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkResetQueryPool", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetSemaphoreCounterValue", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkWaitSemaphores", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkSignalSemaphore", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetBufferDeviceAddress", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetBufferOpaqueCaptureAddress", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetDeviceMemoryOpaqueCaptureAddress", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPhysicalDeviceToolProperties", FUNCTIONORIGIN_INSTANCE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCreatePrivateDataSlot", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkDestroyPrivateDataSlot", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkSetPrivateData", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetPrivateData", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetEvent2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdResetEvent2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdWaitEvents2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdPipelineBarrier2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdWriteTimestamp2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkQueueSubmit2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdCopyBuffer2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdCopyImage2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdCopyBufferToImage2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdCopyImageToBuffer2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdBlitImage2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdResolveImage2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdBeginRendering", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdEndRendering", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetCullMode", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetFrontFace", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetPrimitiveTopology", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetViewportWithCount", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetScissorWithCount", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdBindVertexBuffers2", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetDepthTestEnable", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetDepthWriteEnable", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetDepthCompareOp", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetDepthBoundsTestEnable", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetStencilTestEnable", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetStencilOp", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetRasterizerDiscardEnable", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetDepthBiasEnable", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkCmdSetPrimitiveRestartEnable", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetDeviceBufferMemoryRequirements", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetDeviceImageMemoryRequirements", FUNCTIONORIGIN_DEVICE)); ++ apis[VK_API_VERSION_1_3].push_back(FunctionInfo("vkGetDeviceImageSparseMemoryRequirements", FUNCTIONORIGIN_DEVICE)); ++ + } + diff --cc external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl index 0000000,8609801..fc8cf1f mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceDriverImpl.inl @@@ -1,0 -1,1874 +1,1874 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + + PFN_vkVoidFunction DeviceDriver::getDeviceProcAddr (VkDevice device, const char* pName) const + { + return m_vk.getDeviceProcAddr(device, pName); + } + + void DeviceDriver::destroyDevice (VkDevice device, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyDevice(device, pAllocator); + } + + void DeviceDriver::getDeviceQueue (VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) const + { + m_vk.getDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue); + } + + VkResult DeviceDriver::queueSubmit (VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const + { + return m_vk.queueSubmit(queue, submitCount, pSubmits, fence); + } + + VkResult DeviceDriver::queueWaitIdle (VkQueue queue) const + { + return m_vk.queueWaitIdle(queue); + } + + VkResult DeviceDriver::deviceWaitIdle (VkDevice device) const + { + return m_vk.deviceWaitIdle(device); + } + + VkResult DeviceDriver::allocateMemory (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const + { + return m_vk.allocateMemory(device, pAllocateInfo, pAllocator, pMemory); + } + + void DeviceDriver::freeMemory (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const + { + m_vk.freeMemory(device, memory, pAllocator); + } + + VkResult DeviceDriver::mapMemory (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const + { + return m_vk.mapMemory(device, memory, offset, size, flags, ppData); + } + + void DeviceDriver::unmapMemory (VkDevice device, VkDeviceMemory memory) const + { + m_vk.unmapMemory(device, memory); + } + + VkResult DeviceDriver::flushMappedMemoryRanges (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const + { + return m_vk.flushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges); + } + + VkResult DeviceDriver::invalidateMappedMemoryRanges (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const + { + return m_vk.invalidateMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges); + } + + void DeviceDriver::getDeviceMemoryCommitment (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const + { + m_vk.getDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes); + } + + VkResult DeviceDriver::bindBufferMemory (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const + { + return m_vk.bindBufferMemory(device, buffer, memory, memoryOffset); + } + + VkResult DeviceDriver::bindImageMemory (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const + { + return m_vk.bindImageMemory(device, image, memory, memoryOffset); + } + + void DeviceDriver::getBufferMemoryRequirements (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const + { + m_vk.getBufferMemoryRequirements(device, buffer, pMemoryRequirements); + } + + void DeviceDriver::getImageMemoryRequirements (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) const + { + m_vk.getImageMemoryRequirements(device, image, pMemoryRequirements); + } + + void DeviceDriver::getImageSparseMemoryRequirements (VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const + { + m_vk.getImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + } + + VkResult DeviceDriver::queueBindSparse (VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const + { + return m_vk.queueBindSparse(queue, bindInfoCount, pBindInfo, fence); + } + + VkResult DeviceDriver::createFence (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const + { + return m_vk.createFence(device, pCreateInfo, pAllocator, pFence); + } + + void DeviceDriver::destroyFence (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyFence(device, fence, pAllocator); + } + + VkResult DeviceDriver::resetFences (VkDevice device, uint32_t fenceCount, const VkFence* pFences) const + { + return m_vk.resetFences(device, fenceCount, pFences); + } + + VkResult DeviceDriver::getFenceStatus (VkDevice device, VkFence fence) const + { + return m_vk.getFenceStatus(device, fence); + } + + VkResult DeviceDriver::waitForFences (VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) const + { + return m_vk.waitForFences(device, fenceCount, pFences, waitAll, timeout); + } + + VkResult DeviceDriver::createSemaphore (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const + { + return m_vk.createSemaphore(device, pCreateInfo, pAllocator, pSemaphore); + } + + void DeviceDriver::destroySemaphore (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroySemaphore(device, semaphore, pAllocator); + } + + VkResult DeviceDriver::createEvent (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const + { + return m_vk.createEvent(device, pCreateInfo, pAllocator, pEvent); + } + + void DeviceDriver::destroyEvent (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyEvent(device, event, pAllocator); + } + + VkResult DeviceDriver::getEventStatus (VkDevice device, VkEvent event) const + { + return m_vk.getEventStatus(device, event); + } + + VkResult DeviceDriver::setEvent (VkDevice device, VkEvent event) const + { + return m_vk.setEvent(device, event); + } + + VkResult DeviceDriver::resetEvent (VkDevice device, VkEvent event) const + { + return m_vk.resetEvent(device, event); + } + + VkResult DeviceDriver::createQueryPool (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const + { + return m_vk.createQueryPool(device, pCreateInfo, pAllocator, pQueryPool); + } + + void DeviceDriver::destroyQueryPool (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyQueryPool(device, queryPool, pAllocator); + } + + VkResult DeviceDriver::getQueryPoolResults (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const + { + return m_vk.getQueryPoolResults(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags); + } + + VkResult DeviceDriver::createBuffer (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const + { + return m_vk.createBuffer(device, pCreateInfo, pAllocator, pBuffer); + } + + void DeviceDriver::destroyBuffer (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyBuffer(device, buffer, pAllocator); + } + + VkResult DeviceDriver::createBufferView (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const + { + return m_vk.createBufferView(device, pCreateInfo, pAllocator, pView); + } + + void DeviceDriver::destroyBufferView (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyBufferView(device, bufferView, pAllocator); + } + + VkResult DeviceDriver::createImage (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const + { + return m_vk.createImage(device, pCreateInfo, pAllocator, pImage); + } + + void DeviceDriver::destroyImage (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyImage(device, image, pAllocator); + } + + void DeviceDriver::getImageSubresourceLayout (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const + { + m_vk.getImageSubresourceLayout(device, image, pSubresource, pLayout); + } + + VkResult DeviceDriver::createImageView (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const + { + return m_vk.createImageView(device, pCreateInfo, pAllocator, pView); + } + + void DeviceDriver::destroyImageView (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyImageView(device, imageView, pAllocator); + } + + VkResult DeviceDriver::createShaderModule (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const + { + return m_vk.createShaderModule(device, pCreateInfo, pAllocator, pShaderModule); + } + + void DeviceDriver::destroyShaderModule (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyShaderModule(device, shaderModule, pAllocator); + } + + VkResult DeviceDriver::createPipelineCache (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const + { + return m_vk.createPipelineCache(device, pCreateInfo, pAllocator, pPipelineCache); + } + + void DeviceDriver::destroyPipelineCache (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyPipelineCache(device, pipelineCache, pAllocator); + } + + VkResult DeviceDriver::getPipelineCacheData (VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) const + { + return m_vk.getPipelineCacheData(device, pipelineCache, pDataSize, pData); + } + + VkResult DeviceDriver::mergePipelineCaches (VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) const + { + return m_vk.mergePipelineCaches(device, dstCache, srcCacheCount, pSrcCaches); + } + + VkResult DeviceDriver::createGraphicsPipelines (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const + { + return m_vk.createGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); + } + + VkResult DeviceDriver::createComputePipelines (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const + { + return m_vk.createComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); + } + + void DeviceDriver::destroyPipeline (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyPipeline(device, pipeline, pAllocator); + } + + VkResult DeviceDriver::createPipelineLayout (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const + { + return m_vk.createPipelineLayout(device, pCreateInfo, pAllocator, pPipelineLayout); + } + + void DeviceDriver::destroyPipelineLayout (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyPipelineLayout(device, pipelineLayout, pAllocator); + } + + VkResult DeviceDriver::createSampler (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const + { + return m_vk.createSampler(device, pCreateInfo, pAllocator, pSampler); + } + + void DeviceDriver::destroySampler (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroySampler(device, sampler, pAllocator); + } + + VkResult DeviceDriver::createDescriptorSetLayout (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const + { + return m_vk.createDescriptorSetLayout(device, pCreateInfo, pAllocator, pSetLayout); + } + + void DeviceDriver::destroyDescriptorSetLayout (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyDescriptorSetLayout(device, descriptorSetLayout, pAllocator); + } + + VkResult DeviceDriver::createDescriptorPool (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const + { + return m_vk.createDescriptorPool(device, pCreateInfo, pAllocator, pDescriptorPool); + } + + void DeviceDriver::destroyDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyDescriptorPool(device, descriptorPool, pAllocator); + } + + VkResult DeviceDriver::resetDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const + { + return m_vk.resetDescriptorPool(device, descriptorPool, flags); + } + + VkResult DeviceDriver::allocateDescriptorSets (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const + { + return m_vk.allocateDescriptorSets(device, pAllocateInfo, pDescriptorSets); + } + + VkResult DeviceDriver::freeDescriptorSets (VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const + { + return m_vk.freeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets); + } + + void DeviceDriver::updateDescriptorSets (VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const + { + m_vk.updateDescriptorSets(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies); + } + + VkResult DeviceDriver::createFramebuffer (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const + { + return m_vk.createFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer); + } + + void DeviceDriver::destroyFramebuffer (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyFramebuffer(device, framebuffer, pAllocator); + } + + VkResult DeviceDriver::createRenderPass (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const + { + return m_vk.createRenderPass(device, pCreateInfo, pAllocator, pRenderPass); + } + + void DeviceDriver::destroyRenderPass (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyRenderPass(device, renderPass, pAllocator); + } + + void DeviceDriver::getRenderAreaGranularity (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) const + { + m_vk.getRenderAreaGranularity(device, renderPass, pGranularity); + } + + VkResult DeviceDriver::createCommandPool (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const + { + return m_vk.createCommandPool(device, pCreateInfo, pAllocator, pCommandPool); + } + + void DeviceDriver::destroyCommandPool (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyCommandPool(device, commandPool, pAllocator); + } + + VkResult DeviceDriver::resetCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const + { + return m_vk.resetCommandPool(device, commandPool, flags); + } + + VkResult DeviceDriver::allocateCommandBuffers (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const + { + return m_vk.allocateCommandBuffers(device, pAllocateInfo, pCommandBuffers); + } + + void DeviceDriver::freeCommandBuffers (VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const + { + m_vk.freeCommandBuffers(device, commandPool, commandBufferCount, pCommandBuffers); + } + + VkResult DeviceDriver::beginCommandBuffer (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const + { + return m_vk.beginCommandBuffer(commandBuffer, pBeginInfo); + } + + VkResult DeviceDriver::endCommandBuffer (VkCommandBuffer commandBuffer) const + { + return m_vk.endCommandBuffer(commandBuffer); + } + + VkResult DeviceDriver::resetCommandBuffer (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const + { + return m_vk.resetCommandBuffer(commandBuffer, flags); + } + + void DeviceDriver::cmdBindPipeline (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const + { + m_vk.cmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline); + } + + void DeviceDriver::cmdSetViewport (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) const + { + m_vk.cmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports); + } + + void DeviceDriver::cmdSetScissor (VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) const + { + m_vk.cmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors); + } + + void DeviceDriver::cmdSetLineWidth (VkCommandBuffer commandBuffer, float lineWidth) const + { + m_vk.cmdSetLineWidth(commandBuffer, lineWidth); + } + + void DeviceDriver::cmdSetDepthBias (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const + { + m_vk.cmdSetDepthBias(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor); + } + + void DeviceDriver::cmdSetBlendConstants (VkCommandBuffer commandBuffer, const float blendConstants[4]) const + { + m_vk.cmdSetBlendConstants(commandBuffer, blendConstants); + } + + void DeviceDriver::cmdSetDepthBounds (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const + { + m_vk.cmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds); + } + + void DeviceDriver::cmdSetStencilCompareMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) const + { + m_vk.cmdSetStencilCompareMask(commandBuffer, faceMask, compareMask); + } + + void DeviceDriver::cmdSetStencilWriteMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) const + { + m_vk.cmdSetStencilWriteMask(commandBuffer, faceMask, writeMask); + } + + void DeviceDriver::cmdSetStencilReference (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) const + { + m_vk.cmdSetStencilReference(commandBuffer, faceMask, reference); + } + + void DeviceDriver::cmdBindDescriptorSets (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) const + { + m_vk.cmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets); + } + + void DeviceDriver::cmdBindIndexBuffer (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const + { + m_vk.cmdBindIndexBuffer(commandBuffer, buffer, offset, indexType); + } + + void DeviceDriver::cmdBindVertexBuffers (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const + { + m_vk.cmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets); + } + + void DeviceDriver::cmdDraw (VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) const + { + m_vk.cmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance); + } + + void DeviceDriver::cmdDrawIndexed (VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) const + { + m_vk.cmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance); + } + + void DeviceDriver::cmdDrawIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const + { + m_vk.cmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride); + } + + void DeviceDriver::cmdDrawIndexedIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const + { + m_vk.cmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride); + } + + void DeviceDriver::cmdDispatch (VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const + { + m_vk.cmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ); + } + + void DeviceDriver::cmdDispatchIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const + { + m_vk.cmdDispatchIndirect(commandBuffer, buffer, offset); + } + + void DeviceDriver::cmdCopyBuffer (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) const + { + m_vk.cmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions); + } + + void DeviceDriver::cmdCopyImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) const + { + m_vk.cmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); + } + + void DeviceDriver::cmdBlitImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) const + { + m_vk.cmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter); + } + + void DeviceDriver::cmdCopyBufferToImage (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) const + { + m_vk.cmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions); + } + + void DeviceDriver::cmdCopyImageToBuffer (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) const + { + m_vk.cmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions); + } + + void DeviceDriver::cmdUpdateBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const + { + m_vk.cmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData); + } + + void DeviceDriver::cmdFillBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) const + { + m_vk.cmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data); + } + + void DeviceDriver::cmdClearColorImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const + { + m_vk.cmdClearColorImage(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges); + } + + void DeviceDriver::cmdClearDepthStencilImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const + { + m_vk.cmdClearDepthStencilImage(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges); + } + + void DeviceDriver::cmdClearAttachments (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) const + { + m_vk.cmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects); + } + + void DeviceDriver::cmdResolveImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) const + { + m_vk.cmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions); + } + + void DeviceDriver::cmdSetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const + { + m_vk.cmdSetEvent(commandBuffer, event, stageMask); + } + + void DeviceDriver::cmdResetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const + { + m_vk.cmdResetEvent(commandBuffer, event, stageMask); + } + + void DeviceDriver::cmdWaitEvents (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const + { + m_vk.cmdWaitEvents(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); + } + + void DeviceDriver::cmdPipelineBarrier (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const + { + m_vk.cmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers); + } + + void DeviceDriver::cmdBeginQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) const + { + m_vk.cmdBeginQuery(commandBuffer, queryPool, query, flags); + } + + void DeviceDriver::cmdEndQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) const + { + m_vk.cmdEndQuery(commandBuffer, queryPool, query); + } + + void DeviceDriver::cmdResetQueryPool (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const + { + m_vk.cmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount); + } + + void DeviceDriver::cmdWriteTimestamp (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) const + { + m_vk.cmdWriteTimestamp(commandBuffer, pipelineStage, queryPool, query); + } + + void DeviceDriver::cmdCopyQueryPoolResults (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const + { + m_vk.cmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags); + } + + void DeviceDriver::cmdPushConstants (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) const + { + m_vk.cmdPushConstants(commandBuffer, layout, stageFlags, offset, size, pValues); + } + + void DeviceDriver::cmdBeginRenderPass (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const + { + m_vk.cmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents); + } + + void DeviceDriver::cmdNextSubpass (VkCommandBuffer commandBuffer, VkSubpassContents contents) const + { + m_vk.cmdNextSubpass(commandBuffer, contents); + } + + void DeviceDriver::cmdEndRenderPass (VkCommandBuffer commandBuffer) const + { + m_vk.cmdEndRenderPass(commandBuffer); + } + + void DeviceDriver::cmdExecuteCommands (VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const + { + m_vk.cmdExecuteCommands(commandBuffer, commandBufferCount, pCommandBuffers); + } + + VkResult DeviceDriver::bindBufferMemory2 (VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const + { + return m_vk.bindBufferMemory2(device, bindInfoCount, pBindInfos); + } + + VkResult DeviceDriver::bindImageMemory2 (VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const + { + return m_vk.bindImageMemory2(device, bindInfoCount, pBindInfos); + } + + void DeviceDriver::getDeviceGroupPeerMemoryFeatures (VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const + { + m_vk.getDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures); + } + + void DeviceDriver::cmdSetDeviceMask (VkCommandBuffer commandBuffer, uint32_t deviceMask) const + { + m_vk.cmdSetDeviceMask(commandBuffer, deviceMask); + } + + void DeviceDriver::cmdDispatchBase (VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const + { + m_vk.cmdDispatchBase(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ); + } + + void DeviceDriver::getImageMemoryRequirements2 (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const + { + m_vk.getImageMemoryRequirements2(device, pInfo, pMemoryRequirements); + } + + void DeviceDriver::getBufferMemoryRequirements2 (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const + { + m_vk.getBufferMemoryRequirements2(device, pInfo, pMemoryRequirements); + } + + void DeviceDriver::getImageSparseMemoryRequirements2 (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const + { + m_vk.getImageSparseMemoryRequirements2(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); + } + + void DeviceDriver::trimCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const + { + m_vk.trimCommandPool(device, commandPool, flags); + } + + void DeviceDriver::getDeviceQueue2 (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const + { + m_vk.getDeviceQueue2(device, pQueueInfo, pQueue); + } + + VkResult DeviceDriver::createSamplerYcbcrConversion (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) const + { + return m_vk.createSamplerYcbcrConversion(device, pCreateInfo, pAllocator, pYcbcrConversion); + } + + void DeviceDriver::destroySamplerYcbcrConversion (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroySamplerYcbcrConversion(device, ycbcrConversion, pAllocator); + } + + VkResult DeviceDriver::createDescriptorUpdateTemplate (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) const + { + return m_vk.createDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate); + } + + void DeviceDriver::destroyDescriptorUpdateTemplate (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyDescriptorUpdateTemplate(device, descriptorUpdateTemplate, pAllocator); + } + + void DeviceDriver::updateDescriptorSetWithTemplate (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) const + { + m_vk.updateDescriptorSetWithTemplate(device, descriptorSet, descriptorUpdateTemplate, pData); + } + + void DeviceDriver::getDescriptorSetLayoutSupport (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) const + { + m_vk.getDescriptorSetLayoutSupport(device, pCreateInfo, pSupport); + } + + void DeviceDriver::cmdDrawIndirectCount (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const + { + m_vk.cmdDrawIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + } + + void DeviceDriver::cmdDrawIndexedIndirectCount (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const + { + m_vk.cmdDrawIndexedIndirectCount(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + } + + VkResult DeviceDriver::createRenderPass2 (VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const + { + return m_vk.createRenderPass2(device, pCreateInfo, pAllocator, pRenderPass); + } + + void DeviceDriver::cmdBeginRenderPass2 (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo) const + { + m_vk.cmdBeginRenderPass2(commandBuffer, pRenderPassBegin, pSubpassBeginInfo); + } + + void DeviceDriver::cmdNextSubpass2 (VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo) const + { + m_vk.cmdNextSubpass2(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo); + } + + void DeviceDriver::cmdEndRenderPass2 (VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo) const + { + m_vk.cmdEndRenderPass2(commandBuffer, pSubpassEndInfo); + } + + void DeviceDriver::resetQueryPool (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const + { + m_vk.resetQueryPool(device, queryPool, firstQuery, queryCount); + } + + VkResult DeviceDriver::getSemaphoreCounterValue (VkDevice device, VkSemaphore semaphore, uint64_t* pValue) const + { + return m_vk.getSemaphoreCounterValue(device, semaphore, pValue); + } + + VkResult DeviceDriver::waitSemaphores (VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) const + { + return m_vk.waitSemaphores(device, pWaitInfo, timeout); + } + + VkResult DeviceDriver::signalSemaphore (VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) const + { + return m_vk.signalSemaphore(device, pSignalInfo); + } + + VkDeviceAddress DeviceDriver::getBufferDeviceAddress (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const + { + return m_vk.getBufferDeviceAddress(device, pInfo); + } + + uint64_t DeviceDriver::getBufferOpaqueCaptureAddress (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const + { + return m_vk.getBufferOpaqueCaptureAddress(device, pInfo); + } + + uint64_t DeviceDriver::getDeviceMemoryOpaqueCaptureAddress (VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) const + { + return m_vk.getDeviceMemoryOpaqueCaptureAddress(device, pInfo); + } + ++VkResult DeviceDriver::createPrivateDataSlot (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot) const ++{ ++ return m_vk.createPrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot); ++} ++ ++void DeviceDriver::destroyPrivateDataSlot (VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator) const ++{ ++ m_vk.destroyPrivateDataSlot(device, privateDataSlot, pAllocator); ++} ++ ++VkResult DeviceDriver::setPrivateData (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data) const ++{ ++ return m_vk.setPrivateData(device, objectType, objectHandle, privateDataSlot, data); ++} ++ ++void DeviceDriver::getPrivateData (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData) const ++{ ++ m_vk.getPrivateData(device, objectType, objectHandle, privateDataSlot, pData); ++} ++ ++void DeviceDriver::cmdSetEvent2 (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo) const ++{ ++ m_vk.cmdSetEvent2(commandBuffer, event, pDependencyInfo); ++} ++ ++void DeviceDriver::cmdResetEvent2 (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask) const ++{ ++ m_vk.cmdResetEvent2(commandBuffer, event, stageMask); ++} ++ ++void DeviceDriver::cmdWaitEvents2 (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos) const ++{ ++ m_vk.cmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos); ++} ++ ++void DeviceDriver::cmdPipelineBarrier2 (VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo) const ++{ ++ m_vk.cmdPipelineBarrier2(commandBuffer, pDependencyInfo); ++} ++ ++void DeviceDriver::cmdWriteTimestamp2 (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query) const ++{ ++ m_vk.cmdWriteTimestamp2(commandBuffer, stage, queryPool, query); ++} ++ ++VkResult DeviceDriver::queueSubmit2 (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence) const ++{ ++ return m_vk.queueSubmit2(queue, submitCount, pSubmits, fence); ++} ++ ++void DeviceDriver::cmdCopyBuffer2 (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo) const ++{ ++ m_vk.cmdCopyBuffer2(commandBuffer, pCopyBufferInfo); ++} ++ ++void DeviceDriver::cmdCopyImage2 (VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo) const ++{ ++ m_vk.cmdCopyImage2(commandBuffer, pCopyImageInfo); ++} ++ ++void DeviceDriver::cmdCopyBufferToImage2 (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo) const ++{ ++ m_vk.cmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo); ++} ++ ++void DeviceDriver::cmdCopyImageToBuffer2 (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) const ++{ ++ m_vk.cmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo); ++} ++ ++void DeviceDriver::cmdBlitImage2 (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo) const ++{ ++ m_vk.cmdBlitImage2(commandBuffer, pBlitImageInfo); ++} ++ ++void DeviceDriver::cmdResolveImage2 (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo) const ++{ ++ m_vk.cmdResolveImage2(commandBuffer, pResolveImageInfo); ++} ++ ++void DeviceDriver::cmdBeginRendering (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const ++{ ++ m_vk.cmdBeginRendering(commandBuffer, pRenderingInfo); ++} ++ ++void DeviceDriver::cmdEndRendering (VkCommandBuffer commandBuffer) const ++{ ++ m_vk.cmdEndRendering(commandBuffer); ++} ++ ++void DeviceDriver::cmdSetCullMode (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const ++{ ++ m_vk.cmdSetCullMode(commandBuffer, cullMode); ++} ++ ++void DeviceDriver::cmdSetFrontFace (VkCommandBuffer commandBuffer, VkFrontFace frontFace) const ++{ ++ m_vk.cmdSetFrontFace(commandBuffer, frontFace); ++} ++ ++void DeviceDriver::cmdSetPrimitiveTopology (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) const ++{ ++ m_vk.cmdSetPrimitiveTopology(commandBuffer, primitiveTopology); ++} ++ ++void DeviceDriver::cmdSetViewportWithCount (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) const ++{ ++ m_vk.cmdSetViewportWithCount(commandBuffer, viewportCount, pViewports); ++} ++ ++void DeviceDriver::cmdSetScissorWithCount (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) const ++{ ++ m_vk.cmdSetScissorWithCount(commandBuffer, scissorCount, pScissors); ++} ++ ++void DeviceDriver::cmdBindVertexBuffers2 (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) const ++{ ++ m_vk.cmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides); ++} ++ ++void DeviceDriver::cmdSetDepthTestEnable (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) const ++{ ++ m_vk.cmdSetDepthTestEnable(commandBuffer, depthTestEnable); ++} ++ ++void DeviceDriver::cmdSetDepthWriteEnable (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) const ++{ ++ m_vk.cmdSetDepthWriteEnable(commandBuffer, depthWriteEnable); ++} ++ ++void DeviceDriver::cmdSetDepthCompareOp (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) const ++{ ++ m_vk.cmdSetDepthCompareOp(commandBuffer, depthCompareOp); ++} ++ ++void DeviceDriver::cmdSetDepthBoundsTestEnable (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) const ++{ ++ m_vk.cmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable); ++} ++ ++void DeviceDriver::cmdSetStencilTestEnable (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) const ++{ ++ m_vk.cmdSetStencilTestEnable(commandBuffer, stencilTestEnable); ++} ++ ++void DeviceDriver::cmdSetStencilOp (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) const ++{ ++ m_vk.cmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp); ++} ++ ++void DeviceDriver::cmdSetRasterizerDiscardEnable (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const ++{ ++ m_vk.cmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable); ++} ++ ++void DeviceDriver::cmdSetDepthBiasEnable (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const ++{ ++ m_vk.cmdSetDepthBiasEnable(commandBuffer, depthBiasEnable); ++} ++ ++void DeviceDriver::cmdSetPrimitiveRestartEnable (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const ++{ ++ m_vk.cmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable); ++} ++ ++void DeviceDriver::getDeviceBufferMemoryRequirements (VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const ++{ ++ m_vk.getDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements); ++} ++ ++void DeviceDriver::getDeviceImageMemoryRequirements (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const ++{ ++ m_vk.getDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements); ++} ++ ++void DeviceDriver::getDeviceImageSparseMemoryRequirements (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const ++{ ++ m_vk.getDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); ++} ++ + VkResult DeviceDriver::createSwapchainKHR (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const + { + return m_vk.createSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain); + } + + void DeviceDriver::destroySwapchainKHR (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroySwapchainKHR(device, swapchain, pAllocator); + } + + VkResult DeviceDriver::getSwapchainImagesKHR (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) const + { + return m_vk.getSwapchainImagesKHR(device, swapchain, pSwapchainImageCount, pSwapchainImages); + } + + VkResult DeviceDriver::acquireNextImageKHR (VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) const + { + return m_vk.acquireNextImageKHR(device, swapchain, timeout, semaphore, fence, pImageIndex); + } + + VkResult DeviceDriver::queuePresentKHR (VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const + { + return m_vk.queuePresentKHR(queue, pPresentInfo); + } + + VkResult DeviceDriver::getDeviceGroupPresentCapabilitiesKHR (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const + { + return m_vk.getDeviceGroupPresentCapabilitiesKHR(device, pDeviceGroupPresentCapabilities); + } + + VkResult DeviceDriver::getDeviceGroupSurfacePresentModesKHR (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const + { + return m_vk.getDeviceGroupSurfacePresentModesKHR(device, surface, pModes); + } + + VkResult DeviceDriver::acquireNextImage2KHR (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) const + { + return m_vk.acquireNextImage2KHR(device, pAcquireInfo, pImageIndex); + } + + VkResult DeviceDriver::createSharedSwapchainsKHR (VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const + { + return m_vk.createSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllocator, pSwapchains); + } + -void DeviceDriver::cmdBeginRenderingKHR (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const -{ - m_vk.cmdBeginRenderingKHR(commandBuffer, pRenderingInfo); -} - -void DeviceDriver::cmdEndRenderingKHR (VkCommandBuffer commandBuffer) const -{ - m_vk.cmdEndRenderingKHR(commandBuffer); -} - + VkResult DeviceDriver::getMemoryFdKHR (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const + { + return m_vk.getMemoryFdKHR(device, pGetFdInfo, pFd); + } + + VkResult DeviceDriver::getMemoryFdPropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const + { + return m_vk.getMemoryFdPropertiesKHR(device, handleType, fd, pMemoryFdProperties); + } + + VkResult DeviceDriver::importSemaphoreFdKHR (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const + { + return m_vk.importSemaphoreFdKHR(device, pImportSemaphoreFdInfo); + } + + VkResult DeviceDriver::getSemaphoreFdKHR (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const + { + return m_vk.getSemaphoreFdKHR(device, pGetFdInfo, pFd); + } + + void DeviceDriver::cmdPushDescriptorSetKHR (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const + { + m_vk.cmdPushDescriptorSetKHR(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites); + } + + void DeviceDriver::cmdPushDescriptorSetWithTemplateKHR (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) const + { + m_vk.cmdPushDescriptorSetWithTemplateKHR(commandBuffer, descriptorUpdateTemplate, layout, set, pData); + } + + VkResult DeviceDriver::getSwapchainStatusKHR (VkDevice device, VkSwapchainKHR swapchain) const + { + return m_vk.getSwapchainStatusKHR(device, swapchain); + } + + VkResult DeviceDriver::importFenceFdKHR (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const + { + return m_vk.importFenceFdKHR(device, pImportFenceFdInfo); + } + + VkResult DeviceDriver::getFenceFdKHR (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const + { + return m_vk.getFenceFdKHR(device, pGetFdInfo, pFd); + } + + VkResult DeviceDriver::acquireProfilingLockKHR (VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) const + { + return m_vk.acquireProfilingLockKHR(device, pInfo); + } + + void DeviceDriver::releaseProfilingLockKHR (VkDevice device) const + { + m_vk.releaseProfilingLockKHR(device); + } + + void DeviceDriver::cmdSetFragmentShadingRateKHR (VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const + { + m_vk.cmdSetFragmentShadingRateKHR(commandBuffer, pFragmentSize, combinerOps); + } + + VkResult DeviceDriver::waitForPresentKHR (VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout) const + { + return m_vk.waitForPresentKHR(device, swapchain, presentId, timeout); + } + + VkResult DeviceDriver::createDeferredOperationKHR (VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation) const + { + return m_vk.createDeferredOperationKHR(device, pAllocator, pDeferredOperation); + } + + void DeviceDriver::destroyDeferredOperationKHR (VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyDeferredOperationKHR(device, operation, pAllocator); + } + + uint32_t DeviceDriver::getDeferredOperationMaxConcurrencyKHR (VkDevice device, VkDeferredOperationKHR operation) const + { + return m_vk.getDeferredOperationMaxConcurrencyKHR(device, operation); + } + + VkResult DeviceDriver::getDeferredOperationResultKHR (VkDevice device, VkDeferredOperationKHR operation) const + { + return m_vk.getDeferredOperationResultKHR(device, operation); + } + + VkResult DeviceDriver::deferredOperationJoinKHR (VkDevice device, VkDeferredOperationKHR operation) const + { + return m_vk.deferredOperationJoinKHR(device, operation); + } + + VkResult DeviceDriver::getPipelineExecutablePropertiesKHR (VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) const + { + return m_vk.getPipelineExecutablePropertiesKHR(device, pPipelineInfo, pExecutableCount, pProperties); + } + + VkResult DeviceDriver::getPipelineExecutableStatisticsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) const + { + return m_vk.getPipelineExecutableStatisticsKHR(device, pExecutableInfo, pStatisticCount, pStatistics); + } + + VkResult DeviceDriver::getPipelineExecutableInternalRepresentationsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) const + { + return m_vk.getPipelineExecutableInternalRepresentationsKHR(device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations); + } + -void DeviceDriver::cmdSetEvent2KHR (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo) const -{ - m_vk.cmdSetEvent2KHR(commandBuffer, event, pDependencyInfo); -} - -void DeviceDriver::cmdResetEvent2KHR (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask) const -{ - m_vk.cmdResetEvent2KHR(commandBuffer, event, stageMask); -} - -void DeviceDriver::cmdWaitEvents2KHR (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos) const -{ - m_vk.cmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos); -} - -void DeviceDriver::cmdPipelineBarrier2KHR (VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo) const -{ - m_vk.cmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo); -} - -void DeviceDriver::cmdWriteTimestamp2KHR (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, uint32_t query) const -{ - m_vk.cmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query); -} - -VkResult DeviceDriver::queueSubmit2KHR (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence) const -{ - return m_vk.queueSubmit2KHR(queue, submitCount, pSubmits, fence); -} - + void DeviceDriver::cmdWriteBufferMarker2AMD (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const + { + m_vk.cmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker); + } + + void DeviceDriver::getQueueCheckpointData2NV (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) const + { + m_vk.getQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData); + } + -void DeviceDriver::cmdCopyBuffer2KHR (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) const -{ - m_vk.cmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo); -} - -void DeviceDriver::cmdCopyImage2KHR (VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) const -{ - m_vk.cmdCopyImage2KHR(commandBuffer, pCopyImageInfo); -} - -void DeviceDriver::cmdCopyBufferToImage2KHR (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) const -{ - m_vk.cmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo); -} - -void DeviceDriver::cmdCopyImageToBuffer2KHR (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) const -{ - m_vk.cmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo); -} - -void DeviceDriver::cmdBlitImage2KHR (VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) const -{ - m_vk.cmdBlitImage2KHR(commandBuffer, pBlitImageInfo); -} - -void DeviceDriver::cmdResolveImage2KHR (VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo) const -{ - m_vk.cmdResolveImage2KHR(commandBuffer, pResolveImageInfo); -} - -void DeviceDriver::getDeviceBufferMemoryRequirementsKHR (VkDevice device, const VkDeviceBufferMemoryRequirementsKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements) const -{ - m_vk.getDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements); -} - -void DeviceDriver::getDeviceImageMemoryRequirementsKHR (VkDevice device, const VkDeviceImageMemoryRequirementsKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements) const -{ - m_vk.getDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements); -} - -void DeviceDriver::getDeviceImageSparseMemoryRequirementsKHR (VkDevice device, const VkDeviceImageMemoryRequirementsKHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const -{ - m_vk.getDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements); -} - + VkResult DeviceDriver::debugMarkerSetObjectTagEXT (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const + { + return m_vk.debugMarkerSetObjectTagEXT(device, pTagInfo); + } + + VkResult DeviceDriver::debugMarkerSetObjectNameEXT (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const + { + return m_vk.debugMarkerSetObjectNameEXT(device, pNameInfo); + } + + void DeviceDriver::cmdDebugMarkerBeginEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const + { + m_vk.cmdDebugMarkerBeginEXT(commandBuffer, pMarkerInfo); + } + + void DeviceDriver::cmdDebugMarkerEndEXT (VkCommandBuffer commandBuffer) const + { + m_vk.cmdDebugMarkerEndEXT(commandBuffer); + } + + void DeviceDriver::cmdDebugMarkerInsertEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const + { + m_vk.cmdDebugMarkerInsertEXT(commandBuffer, pMarkerInfo); + } + + void DeviceDriver::cmdBindTransformFeedbackBuffersEXT (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) const + { + m_vk.cmdBindTransformFeedbackBuffersEXT(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes); + } + + void DeviceDriver::cmdBeginTransformFeedbackEXT (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const + { + m_vk.cmdBeginTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets); + } + + void DeviceDriver::cmdEndTransformFeedbackEXT (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const + { + m_vk.cmdEndTransformFeedbackEXT(commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets); + } + + void DeviceDriver::cmdBeginQueryIndexedEXT (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) const + { + m_vk.cmdBeginQueryIndexedEXT(commandBuffer, queryPool, query, flags, index); + } + + void DeviceDriver::cmdEndQueryIndexedEXT (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) const + { + m_vk.cmdEndQueryIndexedEXT(commandBuffer, queryPool, query, index); + } + + void DeviceDriver::cmdDrawIndirectByteCountEXT (VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) const + { + m_vk.cmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride); + } + + VkResult DeviceDriver::createCuModuleNVX (VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule) const + { + return m_vk.createCuModuleNVX(device, pCreateInfo, pAllocator, pModule); + } + + VkResult DeviceDriver::createCuFunctionNVX (VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction) const + { + return m_vk.createCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction); + } + + void DeviceDriver::destroyCuModuleNVX (VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyCuModuleNVX(device, module, pAllocator); + } + + void DeviceDriver::destroyCuFunctionNVX (VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyCuFunctionNVX(device, function, pAllocator); + } + + void DeviceDriver::cmdCuLaunchKernelNVX (VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo) const + { + m_vk.cmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo); + } + + uint32_t DeviceDriver::getImageViewHandleNVX (VkDevice device, const VkImageViewHandleInfoNVX* pInfo) const + { + return m_vk.getImageViewHandleNVX(device, pInfo); + } + + VkResult DeviceDriver::getImageViewAddressNVX (VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties) const + { + return m_vk.getImageViewAddressNVX(device, imageView, pProperties); + } + + void DeviceDriver::cmdDrawIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const + { + m_vk.cmdDrawIndirectCountAMD(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + } + + void DeviceDriver::cmdDrawIndexedIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const + { + m_vk.cmdDrawIndexedIndirectCountAMD(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + } + + VkResult DeviceDriver::getShaderInfoAMD (VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo) const + { + return m_vk.getShaderInfoAMD(device, pipeline, shaderStage, infoType, pInfoSize, pInfo); + } + + void DeviceDriver::cmdBeginConditionalRenderingEXT (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const + { + m_vk.cmdBeginConditionalRenderingEXT(commandBuffer, pConditionalRenderingBegin); + } + + void DeviceDriver::cmdEndConditionalRenderingEXT (VkCommandBuffer commandBuffer) const + { + m_vk.cmdEndConditionalRenderingEXT(commandBuffer); + } + + void DeviceDriver::cmdSetViewportWScalingNV (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings) const + { + m_vk.cmdSetViewportWScalingNV(commandBuffer, firstViewport, viewportCount, pViewportWScalings); + } + + VkResult DeviceDriver::displayPowerControlEXT (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const + { + return m_vk.displayPowerControlEXT(device, display, pDisplayPowerInfo); + } + + VkResult DeviceDriver::registerDeviceEventEXT (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const + { + return m_vk.registerDeviceEventEXT(device, pDeviceEventInfo, pAllocator, pFence); + } + + VkResult DeviceDriver::registerDisplayEventEXT (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const + { + return m_vk.registerDisplayEventEXT(device, display, pDisplayEventInfo, pAllocator, pFence); + } + + VkResult DeviceDriver::getSwapchainCounterEXT (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) const + { + return m_vk.getSwapchainCounterEXT(device, swapchain, counter, pCounterValue); + } + + VkResult DeviceDriver::getRefreshCycleDurationGOOGLE (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const + { + return m_vk.getRefreshCycleDurationGOOGLE(device, swapchain, pDisplayTimingProperties); + } + + VkResult DeviceDriver::getPastPresentationTimingGOOGLE (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const + { + return m_vk.getPastPresentationTimingGOOGLE(device, swapchain, pPresentationTimingCount, pPresentationTimings); + } + + void DeviceDriver::cmdSetDiscardRectangleEXT (VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles) const + { + m_vk.cmdSetDiscardRectangleEXT(commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles); + } + + void DeviceDriver::setHdrMetadataEXT (VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const + { + m_vk.setHdrMetadataEXT(device, swapchainCount, pSwapchains, pMetadata); + } + + VkResult DeviceDriver::setDebugUtilsObjectNameEXT (VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo) const + { + return m_vk.setDebugUtilsObjectNameEXT(device, pNameInfo); + } + + VkResult DeviceDriver::setDebugUtilsObjectTagEXT (VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo) const + { + return m_vk.setDebugUtilsObjectTagEXT(device, pTagInfo); + } + + void DeviceDriver::queueBeginDebugUtilsLabelEXT (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const + { + m_vk.queueBeginDebugUtilsLabelEXT(queue, pLabelInfo); + } + + void DeviceDriver::queueEndDebugUtilsLabelEXT (VkQueue queue) const + { + m_vk.queueEndDebugUtilsLabelEXT(queue); + } + + void DeviceDriver::queueInsertDebugUtilsLabelEXT (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const + { + m_vk.queueInsertDebugUtilsLabelEXT(queue, pLabelInfo); + } + + void DeviceDriver::cmdBeginDebugUtilsLabelEXT (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const + { + m_vk.cmdBeginDebugUtilsLabelEXT(commandBuffer, pLabelInfo); + } + + void DeviceDriver::cmdEndDebugUtilsLabelEXT (VkCommandBuffer commandBuffer) const + { + m_vk.cmdEndDebugUtilsLabelEXT(commandBuffer); + } + + void DeviceDriver::cmdInsertDebugUtilsLabelEXT (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const + { + m_vk.cmdInsertDebugUtilsLabelEXT(commandBuffer, pLabelInfo); + } + + void DeviceDriver::cmdSetSampleLocationsEXT (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const + { + m_vk.cmdSetSampleLocationsEXT(commandBuffer, pSampleLocationsInfo); + } + + VkResult DeviceDriver::getImageDrmFormatModifierPropertiesEXT (VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) const + { + return m_vk.getImageDrmFormatModifierPropertiesEXT(device, image, pProperties); + } + + VkResult DeviceDriver::createValidationCacheEXT (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const + { + return m_vk.createValidationCacheEXT(device, pCreateInfo, pAllocator, pValidationCache); + } + + void DeviceDriver::destroyValidationCacheEXT (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyValidationCacheEXT(device, validationCache, pAllocator); + } + + VkResult DeviceDriver::mergeValidationCachesEXT (VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const + { + return m_vk.mergeValidationCachesEXT(device, dstCache, srcCacheCount, pSrcCaches); + } + + VkResult DeviceDriver::getValidationCacheDataEXT (VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData) const + { + return m_vk.getValidationCacheDataEXT(device, validationCache, pDataSize, pData); + } + + void DeviceDriver::cmdBindShadingRateImageNV (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const + { + m_vk.cmdBindShadingRateImageNV(commandBuffer, imageView, imageLayout); + } + + void DeviceDriver::cmdSetViewportShadingRatePaletteNV (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes) const + { + m_vk.cmdSetViewportShadingRatePaletteNV(commandBuffer, firstViewport, viewportCount, pShadingRatePalettes); + } + + void DeviceDriver::cmdSetCoarseSampleOrderNV (VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders) const + { + m_vk.cmdSetCoarseSampleOrderNV(commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders); + } + + VkResult DeviceDriver::createAccelerationStructureNV (VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure) const + { + return m_vk.createAccelerationStructureNV(device, pCreateInfo, pAllocator, pAccelerationStructure); + } + + void DeviceDriver::destroyAccelerationStructureNV (VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyAccelerationStructureNV(device, accelerationStructure, pAllocator); + } + + void DeviceDriver::getAccelerationStructureMemoryRequirementsNV (VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const + { + m_vk.getAccelerationStructureMemoryRequirementsNV(device, pInfo, pMemoryRequirements); + } + + VkResult DeviceDriver::bindAccelerationStructureMemoryNV (VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos) const + { + return m_vk.bindAccelerationStructureMemoryNV(device, bindInfoCount, pBindInfos); + } + + void DeviceDriver::cmdBuildAccelerationStructureNV (VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset) const + { + m_vk.cmdBuildAccelerationStructureNV(commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset); + } + + void DeviceDriver::cmdCopyAccelerationStructureNV (VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode) const + { + m_vk.cmdCopyAccelerationStructureNV(commandBuffer, dst, src, mode); + } + + void DeviceDriver::cmdTraceRaysNV (VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth) const + { + m_vk.cmdTraceRaysNV(commandBuffer, raygenShaderBindingTableBuffer, raygenShaderBindingOffset, missShaderBindingTableBuffer, missShaderBindingOffset, missShaderBindingStride, hitShaderBindingTableBuffer, hitShaderBindingOffset, hitShaderBindingStride, callableShaderBindingTableBuffer, callableShaderBindingOffset, callableShaderBindingStride, width, height, depth); + } + + VkResult DeviceDriver::createRayTracingPipelinesNV (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const + { + return m_vk.createRayTracingPipelinesNV(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); + } + + VkResult DeviceDriver::getRayTracingShaderGroupHandlesKHR (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const + { + return m_vk.getRayTracingShaderGroupHandlesKHR(device, pipeline, firstGroup, groupCount, dataSize, pData); + } + + VkResult DeviceDriver::getRayTracingShaderGroupHandlesNV (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const + { + return m_vk.getRayTracingShaderGroupHandlesNV(device, pipeline, firstGroup, groupCount, dataSize, pData); + } + + VkResult DeviceDriver::getAccelerationStructureHandleNV (VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData) const + { + return m_vk.getAccelerationStructureHandleNV(device, accelerationStructure, dataSize, pData); + } + + void DeviceDriver::cmdWriteAccelerationStructuresPropertiesNV (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const + { + m_vk.cmdWriteAccelerationStructuresPropertiesNV(commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery); + } + + VkResult DeviceDriver::compileDeferredNV (VkDevice device, VkPipeline pipeline, uint32_t shader) const + { + return m_vk.compileDeferredNV(device, pipeline, shader); + } + + VkResult DeviceDriver::getMemoryHostPointerPropertiesEXT (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) const + { + return m_vk.getMemoryHostPointerPropertiesEXT(device, handleType, pHostPointer, pMemoryHostPointerProperties); + } + + void DeviceDriver::cmdWriteBufferMarkerAMD (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const + { + m_vk.cmdWriteBufferMarkerAMD(commandBuffer, pipelineStage, dstBuffer, dstOffset, marker); + } + + VkResult DeviceDriver::getCalibratedTimestampsEXT (VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) const + { + return m_vk.getCalibratedTimestampsEXT(device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation); + } + + void DeviceDriver::cmdDrawMeshTasksNV (VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask) const + { + m_vk.cmdDrawMeshTasksNV(commandBuffer, taskCount, firstTask); + } + + void DeviceDriver::cmdDrawMeshTasksIndirectNV (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const + { + m_vk.cmdDrawMeshTasksIndirectNV(commandBuffer, buffer, offset, drawCount, stride); + } + + void DeviceDriver::cmdDrawMeshTasksIndirectCountNV (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const + { + m_vk.cmdDrawMeshTasksIndirectCountNV(commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride); + } + + void DeviceDriver::cmdSetExclusiveScissorNV (VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors) const + { + m_vk.cmdSetExclusiveScissorNV(commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors); + } + + void DeviceDriver::cmdSetCheckpointNV (VkCommandBuffer commandBuffer, const void* pCheckpointMarker) const + { + m_vk.cmdSetCheckpointNV(commandBuffer, pCheckpointMarker); + } + + void DeviceDriver::getQueueCheckpointDataNV (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData) const + { + m_vk.getQueueCheckpointDataNV(queue, pCheckpointDataCount, pCheckpointData); + } + + VkResult DeviceDriver::initializePerformanceApiINTEL (VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) const + { + return m_vk.initializePerformanceApiINTEL(device, pInitializeInfo); + } + + void DeviceDriver::uninitializePerformanceApiINTEL (VkDevice device) const + { + m_vk.uninitializePerformanceApiINTEL(device); + } + + VkResult DeviceDriver::cmdSetPerformanceMarkerINTEL (VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) const + { + return m_vk.cmdSetPerformanceMarkerINTEL(commandBuffer, pMarkerInfo); + } + + VkResult DeviceDriver::cmdSetPerformanceStreamMarkerINTEL (VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) const + { + return m_vk.cmdSetPerformanceStreamMarkerINTEL(commandBuffer, pMarkerInfo); + } + + VkResult DeviceDriver::cmdSetPerformanceOverrideINTEL (VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) const + { + return m_vk.cmdSetPerformanceOverrideINTEL(commandBuffer, pOverrideInfo); + } + + VkResult DeviceDriver::acquirePerformanceConfigurationINTEL (VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) const + { + return m_vk.acquirePerformanceConfigurationINTEL(device, pAcquireInfo, pConfiguration); + } + + VkResult DeviceDriver::releasePerformanceConfigurationINTEL (VkDevice device, VkPerformanceConfigurationINTEL configuration) const + { + return m_vk.releasePerformanceConfigurationINTEL(device, configuration); + } + + VkResult DeviceDriver::queueSetPerformanceConfigurationINTEL (VkQueue queue, VkPerformanceConfigurationINTEL configuration) const + { + return m_vk.queueSetPerformanceConfigurationINTEL(queue, configuration); + } + + VkResult DeviceDriver::getPerformanceParameterINTEL (VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) const + { + return m_vk.getPerformanceParameterINTEL(device, parameter, pValue); + } + + void DeviceDriver::setLocalDimmingAMD (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) const + { + m_vk.setLocalDimmingAMD(device, swapChain, localDimmingEnable); + } + + VkDeviceAddress DeviceDriver::getBufferDeviceAddressEXT (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const + { + return m_vk.getBufferDeviceAddressEXT(device, pInfo); + } + + void DeviceDriver::cmdSetLineStippleEXT (VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) const + { + m_vk.cmdSetLineStippleEXT(commandBuffer, lineStippleFactor, lineStipplePattern); + } + -void DeviceDriver::cmdSetCullModeEXT (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const -{ - m_vk.cmdSetCullModeEXT(commandBuffer, cullMode); -} - -void DeviceDriver::cmdSetFrontFaceEXT (VkCommandBuffer commandBuffer, VkFrontFace frontFace) const -{ - m_vk.cmdSetFrontFaceEXT(commandBuffer, frontFace); -} - -void DeviceDriver::cmdSetPrimitiveTopologyEXT (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) const -{ - m_vk.cmdSetPrimitiveTopologyEXT(commandBuffer, primitiveTopology); -} - -void DeviceDriver::cmdSetViewportWithCountEXT (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) const -{ - m_vk.cmdSetViewportWithCountEXT(commandBuffer, viewportCount, pViewports); -} - -void DeviceDriver::cmdSetScissorWithCountEXT (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) const -{ - m_vk.cmdSetScissorWithCountEXT(commandBuffer, scissorCount, pScissors); -} - -void DeviceDriver::cmdBindVertexBuffers2EXT (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) const -{ - m_vk.cmdBindVertexBuffers2EXT(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides); -} - -void DeviceDriver::cmdSetDepthTestEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) const -{ - m_vk.cmdSetDepthTestEnableEXT(commandBuffer, depthTestEnable); -} - -void DeviceDriver::cmdSetDepthWriteEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) const -{ - m_vk.cmdSetDepthWriteEnableEXT(commandBuffer, depthWriteEnable); -} - -void DeviceDriver::cmdSetDepthCompareOpEXT (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) const -{ - m_vk.cmdSetDepthCompareOpEXT(commandBuffer, depthCompareOp); -} - -void DeviceDriver::cmdSetDepthBoundsTestEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) const -{ - m_vk.cmdSetDepthBoundsTestEnableEXT(commandBuffer, depthBoundsTestEnable); -} - -void DeviceDriver::cmdSetStencilTestEnableEXT (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) const -{ - m_vk.cmdSetStencilTestEnableEXT(commandBuffer, stencilTestEnable); -} - -void DeviceDriver::cmdSetStencilOpEXT (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) const -{ - m_vk.cmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp); -} - + void DeviceDriver::getGeneratedCommandsMemoryRequirementsNV (VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements) const + { + m_vk.getGeneratedCommandsMemoryRequirementsNV(device, pInfo, pMemoryRequirements); + } + + void DeviceDriver::cmdPreprocessGeneratedCommandsNV (VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const + { + m_vk.cmdPreprocessGeneratedCommandsNV(commandBuffer, pGeneratedCommandsInfo); + } + + void DeviceDriver::cmdExecuteGeneratedCommandsNV (VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const + { + m_vk.cmdExecuteGeneratedCommandsNV(commandBuffer, isPreprocessed, pGeneratedCommandsInfo); + } + + void DeviceDriver::cmdBindPipelineShaderGroupNV (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex) const + { + m_vk.cmdBindPipelineShaderGroupNV(commandBuffer, pipelineBindPoint, pipeline, groupIndex); + } + + VkResult DeviceDriver::createIndirectCommandsLayoutNV (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout) const + { + return m_vk.createIndirectCommandsLayoutNV(device, pCreateInfo, pAllocator, pIndirectCommandsLayout); + } + + void DeviceDriver::destroyIndirectCommandsLayoutNV (VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyIndirectCommandsLayoutNV(device, indirectCommandsLayout, pAllocator); + } + -VkResult DeviceDriver::createPrivateDataSlotEXT (VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot) const -{ - return m_vk.createPrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot); -} - -void DeviceDriver::destroyPrivateDataSlotEXT (VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator) const -{ - m_vk.destroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator); -} - -VkResult DeviceDriver::setPrivateDataEXT (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data) const -{ - return m_vk.setPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data); -} - -void DeviceDriver::getPrivateDataEXT (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData) const -{ - m_vk.getPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData); -} - + void DeviceDriver::cmdSetFragmentShadingRateEnumNV (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const + { + m_vk.cmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerOps); + } + + void DeviceDriver::cmdSetVertexInputEXT (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const + { + m_vk.cmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions); + } + + VkResult DeviceDriver::getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI (VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize) const + { + return m_vk.getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize); + } + + void DeviceDriver::cmdSubpassShadingHUAWEI (VkCommandBuffer commandBuffer) const + { + m_vk.cmdSubpassShadingHUAWEI(commandBuffer); + } + + void DeviceDriver::cmdBindInvocationMaskHUAWEI (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const + { + m_vk.cmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout); + } + + VkResult DeviceDriver::getMemoryRemoteAddressNV (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) const + { + return m_vk.getMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress); + } + + void DeviceDriver::cmdSetPatchControlPointsEXT (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const + { + m_vk.cmdSetPatchControlPointsEXT(commandBuffer, patchControlPoints); + } + -void DeviceDriver::cmdSetRasterizerDiscardEnableEXT (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const -{ - m_vk.cmdSetRasterizerDiscardEnableEXT(commandBuffer, rasterizerDiscardEnable); -} - -void DeviceDriver::cmdSetDepthBiasEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const -{ - m_vk.cmdSetDepthBiasEnableEXT(commandBuffer, depthBiasEnable); -} - + void DeviceDriver::cmdSetLogicOpEXT (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const + { + m_vk.cmdSetLogicOpEXT(commandBuffer, logicOp); + } + -void DeviceDriver::cmdSetPrimitiveRestartEnableEXT (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const -{ - m_vk.cmdSetPrimitiveRestartEnableEXT(commandBuffer, primitiveRestartEnable); -} - + void DeviceDriver::cmdSetColorWriteEnableEXT (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const + { + m_vk.cmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWriteEnables); + } + + void DeviceDriver::cmdDrawMultiEXT (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) const + { + m_vk.cmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride); + } + + void DeviceDriver::cmdDrawMultiIndexedEXT (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) const + { + m_vk.cmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset); + } + + void DeviceDriver::setDeviceMemoryPriorityEXT (VkDevice device, VkDeviceMemory memory, float priority) const + { + m_vk.setDeviceMemoryPriorityEXT(device, memory, priority); + } + + VkResult DeviceDriver::createAccelerationStructureKHR (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const + { + return m_vk.createAccelerationStructureKHR(device, pCreateInfo, pAllocator, pAccelerationStructure); + } + + void DeviceDriver::destroyAccelerationStructureKHR (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyAccelerationStructureKHR(device, accelerationStructure, pAllocator); + } + + void DeviceDriver::cmdBuildAccelerationStructuresKHR (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const + { + m_vk.cmdBuildAccelerationStructuresKHR(commandBuffer, infoCount, pInfos, ppBuildRangeInfos); + } + + void DeviceDriver::cmdBuildAccelerationStructuresIndirectKHR (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts) const + { + m_vk.cmdBuildAccelerationStructuresIndirectKHR(commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts); + } + + VkResult DeviceDriver::buildAccelerationStructuresKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const + { + return m_vk.buildAccelerationStructuresKHR(device, deferredOperation, infoCount, pInfos, ppBuildRangeInfos); + } + + VkResult DeviceDriver::copyAccelerationStructureKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo) const + { + return m_vk.copyAccelerationStructureKHR(device, deferredOperation, pInfo); + } + + VkResult DeviceDriver::copyAccelerationStructureToMemoryKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const + { + return m_vk.copyAccelerationStructureToMemoryKHR(device, deferredOperation, pInfo); + } + + VkResult DeviceDriver::copyMemoryToAccelerationStructureKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const + { + return m_vk.copyMemoryToAccelerationStructureKHR(device, deferredOperation, pInfo); + } + + VkResult DeviceDriver::writeAccelerationStructuresPropertiesKHR (VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const + { + return m_vk.writeAccelerationStructuresPropertiesKHR(device, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride); + } + + void DeviceDriver::cmdCopyAccelerationStructureKHR (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo) const + { + m_vk.cmdCopyAccelerationStructureKHR(commandBuffer, pInfo); + } + + void DeviceDriver::cmdCopyAccelerationStructureToMemoryKHR (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const + { + m_vk.cmdCopyAccelerationStructureToMemoryKHR(commandBuffer, pInfo); + } + + void DeviceDriver::cmdCopyMemoryToAccelerationStructureKHR (VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const + { + m_vk.cmdCopyMemoryToAccelerationStructureKHR(commandBuffer, pInfo); + } + + VkDeviceAddress DeviceDriver::getAccelerationStructureDeviceAddressKHR (VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo) const + { + return m_vk.getAccelerationStructureDeviceAddressKHR(device, pInfo); + } + + void DeviceDriver::cmdWriteAccelerationStructuresPropertiesKHR (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const + { + m_vk.cmdWriteAccelerationStructuresPropertiesKHR(commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery); + } + + void DeviceDriver::getDeviceAccelerationStructureCompatibilityKHR (VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const + { + m_vk.getDeviceAccelerationStructureCompatibilityKHR(device, pVersionInfo, pCompatibility); + } + + void DeviceDriver::getAccelerationStructureBuildSizesKHR (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo) const + { + m_vk.getAccelerationStructureBuildSizesKHR(device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo); + } + + void DeviceDriver::cmdTraceRaysKHR (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth) const + { + m_vk.cmdTraceRaysKHR(commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth); + } + + VkResult DeviceDriver::createRayTracingPipelinesKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const + { + return m_vk.createRayTracingPipelinesKHR(device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines); + } + + VkResult DeviceDriver::getRayTracingCaptureReplayShaderGroupHandlesKHR (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const + { + return m_vk.getRayTracingCaptureReplayShaderGroupHandlesKHR(device, pipeline, firstGroup, groupCount, dataSize, pData); + } + + void DeviceDriver::cmdTraceRaysIndirectKHR (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress) const + { + m_vk.cmdTraceRaysIndirectKHR(commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress); + } + + VkDeviceSize DeviceDriver::getRayTracingShaderGroupStackSizeKHR (VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader) const + { + return m_vk.getRayTracingShaderGroupStackSizeKHR(device, pipeline, group, groupShader); + } + + void DeviceDriver::cmdSetRayTracingPipelineStackSizeKHR (VkCommandBuffer commandBuffer, uint32_t pipelineStackSize) const + { + m_vk.cmdSetRayTracingPipelineStackSizeKHR(commandBuffer, pipelineStackSize); + } + + VkResult DeviceDriver::getAndroidHardwareBufferPropertiesANDROID (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const + { + return m_vk.getAndroidHardwareBufferPropertiesANDROID(device, buffer, pProperties); + } + + VkResult DeviceDriver::getMemoryAndroidHardwareBufferANDROID (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const + { + return m_vk.getMemoryAndroidHardwareBufferANDROID(device, pInfo, pBuffer); + } + + VkResult DeviceDriver::createVideoSessionKHR (VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession) const + { + return m_vk.createVideoSessionKHR(device, pCreateInfo, pAllocator, pVideoSession); + } + + void DeviceDriver::destroyVideoSessionKHR (VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyVideoSessionKHR(device, videoSession, pAllocator); + } + + VkResult DeviceDriver::getVideoSessionMemoryRequirementsKHR (VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pVideoSessionMemoryRequirementsCount, VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements) const + { + return m_vk.getVideoSessionMemoryRequirementsKHR(device, videoSession, pVideoSessionMemoryRequirementsCount, pVideoSessionMemoryRequirements); + } + + VkResult DeviceDriver::bindVideoSessionMemoryKHR (VkDevice device, VkVideoSessionKHR videoSession, uint32_t videoSessionBindMemoryCount, const VkVideoBindMemoryKHR* pVideoSessionBindMemories) const + { + return m_vk.bindVideoSessionMemoryKHR(device, videoSession, videoSessionBindMemoryCount, pVideoSessionBindMemories); + } + + VkResult DeviceDriver::createVideoSessionParametersKHR (VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters) const + { + return m_vk.createVideoSessionParametersKHR(device, pCreateInfo, pAllocator, pVideoSessionParameters); + } + + VkResult DeviceDriver::updateVideoSessionParametersKHR (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo) const + { + return m_vk.updateVideoSessionParametersKHR(device, videoSessionParameters, pUpdateInfo); + } + + void DeviceDriver::destroyVideoSessionParametersKHR (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyVideoSessionParametersKHR(device, videoSessionParameters, pAllocator); + } + + void DeviceDriver::cmdBeginVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo) const + { + m_vk.cmdBeginVideoCodingKHR(commandBuffer, pBeginInfo); + } + + void DeviceDriver::cmdEndVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo) const + { + m_vk.cmdEndVideoCodingKHR(commandBuffer, pEndCodingInfo); + } + + void DeviceDriver::cmdControlVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo) const + { + m_vk.cmdControlVideoCodingKHR(commandBuffer, pCodingControlInfo); + } + + void DeviceDriver::cmdDecodeVideoKHR (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo) const + { + m_vk.cmdDecodeVideoKHR(commandBuffer, pFrameInfo); + } + + void DeviceDriver::cmdEncodeVideoKHR (VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo) const + { + m_vk.cmdEncodeVideoKHR(commandBuffer, pEncodeInfo); + } + + VkResult DeviceDriver::getMemoryZirconHandleFUCHSIA (VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const + { + return m_vk.getMemoryZirconHandleFUCHSIA(device, pGetZirconHandleInfo, pZirconHandle); + } + + VkResult DeviceDriver::getMemoryZirconHandlePropertiesFUCHSIA (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties) const + { + return m_vk.getMemoryZirconHandlePropertiesFUCHSIA(device, handleType, zirconHandle, pMemoryZirconHandleProperties); + } + + VkResult DeviceDriver::importSemaphoreZirconHandleFUCHSIA (VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo) const + { + return m_vk.importSemaphoreZirconHandleFUCHSIA(device, pImportSemaphoreZirconHandleInfo); + } + + VkResult DeviceDriver::getSemaphoreZirconHandleFUCHSIA (VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const + { + return m_vk.getSemaphoreZirconHandleFUCHSIA(device, pGetZirconHandleInfo, pZirconHandle); + } + + VkResult DeviceDriver::createBufferCollectionFUCHSIA (VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection) const + { + return m_vk.createBufferCollectionFUCHSIA(device, pCreateInfo, pAllocator, pCollection); + } + + VkResult DeviceDriver::setBufferCollectionImageConstraintsFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const + { + return m_vk.setBufferCollectionImageConstraintsFUCHSIA(device, collection, pImageConstraintsInfo); + } + + VkResult DeviceDriver::setBufferCollectionBufferConstraintsFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) const + { + return m_vk.setBufferCollectionBufferConstraintsFUCHSIA(device, collection, pBufferConstraintsInfo); + } + + void DeviceDriver::destroyBufferCollectionFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyBufferCollectionFUCHSIA(device, collection, pAllocator); + } + + VkResult DeviceDriver::getBufferCollectionPropertiesFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties) const + { + return m_vk.getBufferCollectionPropertiesFUCHSIA(device, collection, pProperties); + } + + VkResult DeviceDriver::getMemoryWin32HandleKHR (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const + { + return m_vk.getMemoryWin32HandleKHR(device, pGetWin32HandleInfo, pHandle); + } + + VkResult DeviceDriver::getMemoryWin32HandlePropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const + { + return m_vk.getMemoryWin32HandlePropertiesKHR(device, handleType, handle, pMemoryWin32HandleProperties); + } + + VkResult DeviceDriver::importSemaphoreWin32HandleKHR (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const + { + return m_vk.importSemaphoreWin32HandleKHR(device, pImportSemaphoreWin32HandleInfo); + } + + VkResult DeviceDriver::getSemaphoreWin32HandleKHR (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const + { + return m_vk.getSemaphoreWin32HandleKHR(device, pGetWin32HandleInfo, pHandle); + } + + VkResult DeviceDriver::importFenceWin32HandleKHR (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const + { + return m_vk.importFenceWin32HandleKHR(device, pImportFenceWin32HandleInfo); + } + + VkResult DeviceDriver::getFenceWin32HandleKHR (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const + { + return m_vk.getFenceWin32HandleKHR(device, pGetWin32HandleInfo, pHandle); + } + + VkResult DeviceDriver::getMemoryWin32HandleNV (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const + { + return m_vk.getMemoryWin32HandleNV(device, memory, handleType, pHandle); + } + + VkResult DeviceDriver::acquireFullScreenExclusiveModeEXT (VkDevice device, VkSwapchainKHR swapchain) const + { + return m_vk.acquireFullScreenExclusiveModeEXT(device, swapchain); + } + + VkResult DeviceDriver::releaseFullScreenExclusiveModeEXT (VkDevice device, VkSwapchainKHR swapchain) const + { + return m_vk.releaseFullScreenExclusiveModeEXT(device, swapchain); + } + + VkResult DeviceDriver::getDeviceGroupSurfacePresentModes2EXT (VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes) const + { + return m_vk.getDeviceGroupSurfacePresentModes2EXT(device, pSurfaceInfo, pModes); + } diff --cc external/vulkancts/framework/vulkan/vkDeviceExtensions.inl index 0000000,ddf1fc1..d262a84 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkDeviceExtensions.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceExtensions.inl @@@ -1,0 -1,90 +1,104 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + static const char* s_allowedDeviceKhrExtensions[] = + { + "VK_KHR_swapchain", + "VK_KHR_swapchain_mutable_format", + "VK_KHR_display_swapchain", + "VK_KHR_sampler_mirror_clamp_to_edge", + "VK_KHR_multiview", + "VK_KHR_device_group", + "VK_KHR_shader_draw_parameters", + "VK_KHR_maintenance1", + "VK_KHR_external_memory", + "VK_KHR_external_memory_win32", + "VK_KHR_external_memory_fd", + "VK_KHR_win32_keyed_mutex", + "VK_KHR_external_semaphore", + "VK_KHR_external_semaphore_win32", + "VK_KHR_external_semaphore_fd", + "VK_KHR_push_descriptor", + "VK_KHR_shader_float16_int8", + "VK_KHR_16bit_storage", + "VK_KHR_incremental_present", + "VK_KHR_8bit_storage", + "VK_KHR_descriptor_update_template", + "VK_KHR_create_renderpass2", + "VK_KHR_shared_presentable_image", + "VK_KHR_external_fence", + "VK_KHR_external_fence_win32", + "VK_KHR_external_fence_fd", + "VK_KHR_maintenance2", + "VK_KHR_variable_pointers", + "VK_KHR_dedicated_allocation", + "VK_KHR_storage_buffer_storage_class", + "VK_KHR_relaxed_block_layout", + "VK_KHR_get_memory_requirements2", + "VK_KHR_image_format_list", + "VK_KHR_sampler_ycbcr_conversion", + "VK_KHR_bind_memory2", + "VK_KHR_maintenance3", + "VK_KHR_driver_properties", + "VK_KHR_shader_float_controls", + "VK_KHR_depth_stencil_resolve", + "VK_KHR_draw_indirect_count", + "VK_KHR_shader_atomic_int64", + "VK_KHR_vulkan_memory_model", + "VK_KHR_uniform_buffer_standard_layout", + "VK_KHR_imageless_framebuffer", + "VK_KHR_shader_subgroup_extended_types", + "VK_EXT_sampler_filter_minmax", + "VK_EXT_shader_viewport_index_layer", + "VK_EXT_descriptor_indexing", + "VK_EXT_scalar_block_layout", + "VK_KHR_buffer_device_address", + "VK_EXT_host_query_reset", + "VK_KHR_separate_depth_stencil_layouts", + "VK_KHR_timeline_semaphore", + "VK_KHR_spirv_1_4", + "VK_EXT_separate_stencil_usage", + "VK_KHR_pipeline_executable_properties", + "VK_KHR_shader_clock", + "VK_KHR_performance_query", + "VK_KHR_shader_non_semantic_info", + "VK_KHR_copy_commands2", + "VK_KHR_shader_terminate_invocation", + "VK_KHR_ray_tracing_pipeline", + "VK_KHR_ray_query", + "VK_KHR_acceleration_structure", + "VK_KHR_pipeline_library", + "VK_KHR_deferred_host_operations", + "VK_KHR_fragment_shading_rate", + "VK_KHR_zero_initialize_workgroup_memory", + "VK_KHR_workgroup_memory_explicit_layout", + "VK_KHR_synchronization2", + "VK_EXT_color_write_enable", + "VK_VALVE_mutable_descriptor_type", + "VK_EXT_multi_draw", + "VK_KHR_shader_subgroup_uniform_control_flow", + "VK_KHR_present_id", + "VK_KHR_present_wait", - "VK_KHR_shader_integer_dot_product", + "VK_KHR_format_feature_flags2", + "VK_KHR_maintenance4", + "VK_KHR_dynamic_rendering", ++ "VK_EXT_extended_dynamic_state", ++ "VK_EXT_extended_dynamic_state2", ++ "VK_EXT_4444_formats", ++ "VK_KHR_shader_integer_dot_product", ++ "VK_EXT_image_robustness", ++ "VK_EXT_inline_uniform_block", ++ "VK_EXT_pipeline_creation_cache_control", ++ "VK_EXT_pipeline_creation_feedback", ++ "VK_EXT_private_data", ++ "VK_EXT_shader_demote_to_helper_invocation", ++ "VK_EXT_subgroup_size_control", ++ "VK_EXT_texel_buffer_alignment", ++ "VK_EXT_texture_compression_astc_hdr", ++ "VK_EXT_tooling_info", ++ "VK_EXT_ycbcr_2plane_444_formats", + "VK_EXT_border_color_swizzle", + "VK_NV_mesh_shader", + }; + diff --cc external/vulkancts/framework/vulkan/vkDeviceFeatureTest.inl index 0000000,b117e39..927995f mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeatureTest.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeatureTest.inl @@@ -1,0 -1,1241 +1,1265 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDevice16BitStorageFeatures, storageBuffer16BitAccess), + FEATURE_ITEM (VkPhysicalDevice16BitStorageFeatures, uniformAndStorageBuffer16BitAccess), + FEATURE_ITEM (VkPhysicalDevice16BitStorageFeatures, storagePushConstant16), + FEATURE_ITEM (VkPhysicalDevice16BitStorageFeatures, storageInputOutput16), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 4, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceMultiviewFeatures, multiview), + FEATURE_ITEM (VkPhysicalDeviceMultiviewFeatures, multiviewGeometryShader), + FEATURE_ITEM (VkPhysicalDeviceMultiviewFeatures, multiviewTessellationShader), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceVariablePointersFeatures, variablePointersStorageBuffer), + FEATURE_ITEM (VkPhysicalDeviceVariablePointersFeatures, variablePointers), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceProtectedMemoryFeatures, protectedMemory), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceSamplerYcbcrConversionFeatures, samplerYcbcrConversion), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceShaderDrawParametersFeatures, shaderDrawParameters), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceVulkan11Features, storageBuffer16BitAccess), + FEATURE_ITEM (VkPhysicalDeviceVulkan11Features, uniformAndStorageBuffer16BitAccess), + FEATURE_ITEM (VkPhysicalDeviceVulkan11Features, storagePushConstant16), + FEATURE_ITEM (VkPhysicalDeviceVulkan11Features, storageInputOutput16), + FEATURE_ITEM (VkPhysicalDeviceVulkan11Features, multiview), + FEATURE_ITEM (VkPhysicalDeviceVulkan11Features, multiviewGeometryShader), + FEATURE_ITEM (VkPhysicalDeviceVulkan11Features, multiviewTessellationShader), + FEATURE_ITEM (VkPhysicalDeviceVulkan11Features, variablePointersStorageBuffer), + FEATURE_ITEM (VkPhysicalDeviceVulkan11Features, variablePointers), + FEATURE_ITEM (VkPhysicalDeviceVulkan11Features, protectedMemory), + FEATURE_ITEM (VkPhysicalDeviceVulkan11Features, samplerYcbcrConversion), + FEATURE_ITEM (VkPhysicalDeviceVulkan11Features, shaderDrawParameters), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 12, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, DE_NULL, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, samplerMirrorClampToEdge), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, drawIndirectCount), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, storageBuffer8BitAccess), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, uniformAndStorageBuffer8BitAccess), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, storagePushConstant8), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderBufferInt64Atomics), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderSharedInt64Atomics), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderFloat16), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderInt8), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, descriptorIndexing), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderInputAttachmentArrayDynamicIndexing), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderUniformTexelBufferArrayDynamicIndexing), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderStorageTexelBufferArrayDynamicIndexing), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderUniformBufferArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderSampledImageArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderStorageBufferArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderStorageImageArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderInputAttachmentArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderUniformTexelBufferArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderStorageTexelBufferArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, descriptorBindingUniformBufferUpdateAfterBind), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, descriptorBindingSampledImageUpdateAfterBind), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, descriptorBindingStorageImageUpdateAfterBind), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, descriptorBindingStorageBufferUpdateAfterBind), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, descriptorBindingUniformTexelBufferUpdateAfterBind), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, descriptorBindingStorageTexelBufferUpdateAfterBind), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, descriptorBindingUpdateUnusedWhilePending), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, descriptorBindingPartiallyBound), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, descriptorBindingVariableDescriptorCount), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, runtimeDescriptorArray), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, samplerFilterMinmax), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, scalarBlockLayout), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, imagelessFramebuffer), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, uniformBufferStandardLayout), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderSubgroupExtendedTypes), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, separateDepthStencilLayouts), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, hostQueryReset), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, timelineSemaphore), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, bufferDeviceAddress), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, bufferDeviceAddressCaptureReplay), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, bufferDeviceAddressMultiDevice), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, vulkanMemoryModel), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, vulkanMemoryModelDeviceScope), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, vulkanMemoryModelAvailabilityVisibilityChains), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderOutputViewportIndex), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, shaderOutputLayer), + FEATURE_ITEM (VkPhysicalDeviceVulkan12Features, subgroupBroadcastDynamicId), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 47, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, DE_NULL, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDevice8BitStorageFeatures, storageBuffer8BitAccess), + FEATURE_ITEM (VkPhysicalDevice8BitStorageFeatures, uniformAndStorageBuffer8BitAccess), + FEATURE_ITEM (VkPhysicalDevice8BitStorageFeatures, storagePushConstant8), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicInt64Features, shaderBufferInt64Atomics), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicInt64Features, shaderSharedInt64Atomics), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceShaderFloat16Int8Features, shaderFloat16), + FEATURE_ITEM (VkPhysicalDeviceShaderFloat16Int8Features, shaderInt8), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, shaderInputAttachmentArrayDynamicIndexing), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, shaderUniformTexelBufferArrayDynamicIndexing), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, shaderStorageTexelBufferArrayDynamicIndexing), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, shaderUniformBufferArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, shaderSampledImageArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, shaderStorageBufferArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, shaderStorageImageArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, shaderInputAttachmentArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, shaderUniformTexelBufferArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, shaderStorageTexelBufferArrayNonUniformIndexing), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, descriptorBindingUniformBufferUpdateAfterBind), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, descriptorBindingSampledImageUpdateAfterBind), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, descriptorBindingStorageImageUpdateAfterBind), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, descriptorBindingStorageBufferUpdateAfterBind), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, descriptorBindingUniformTexelBufferUpdateAfterBind), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, descriptorBindingStorageTexelBufferUpdateAfterBind), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, descriptorBindingUpdateUnusedWhilePending), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, descriptorBindingPartiallyBound), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, descriptorBindingVariableDescriptorCount), + FEATURE_ITEM (VkPhysicalDeviceDescriptorIndexingFeatures, runtimeDescriptorArray), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 20, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceScalarBlockLayoutFeatures, scalarBlockLayout), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceVulkanMemoryModelFeatures, vulkanMemoryModel), + FEATURE_ITEM (VkPhysicalDeviceVulkanMemoryModelFeatures, vulkanMemoryModelDeviceScope), + FEATURE_ITEM (VkPhysicalDeviceVulkanMemoryModelFeatures, vulkanMemoryModelAvailabilityVisibilityChains), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceImagelessFramebufferFeatures, imagelessFramebuffer), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceUniformBufferStandardLayoutFeatures, uniformBufferStandardLayout), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, shaderSubgroupExtendedTypes), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, separateDepthStencilLayouts), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceHostQueryResetFeatures, hostQueryReset), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceTimelineSemaphoreFeatures, timelineSemaphore), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceBufferDeviceAddressFeatures, bufferDeviceAddress), + FEATURE_ITEM (VkPhysicalDeviceBufferDeviceAddressFeatures, bufferDeviceAddressCaptureReplay), + FEATURE_ITEM (VkPhysicalDeviceBufferDeviceAddressFeatures, bufferDeviceAddressMultiDevice), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { - FEATURE_ITEM (VkPhysicalDeviceDynamicRenderingFeaturesKHR, dynamicRendering), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, robustImageAccess), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, inlineUniformBlock), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, descriptorBindingInlineUniformBlockUpdateAfterBind), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, pipelineCreationCacheControl), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, privateData), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, shaderDemoteToHelperInvocation), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, shaderTerminateInvocation), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, subgroupSizeControl), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, computeFullSubgroups), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, synchronization2), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, textureCompressionASTC_HDR), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, shaderZeroInitializeWorkgroupMemory), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, dynamicRendering), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, shaderIntegerDotProduct), ++ FEATURE_ITEM (VkPhysicalDeviceVulkan13Features, maintenance4), + }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 15, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, DE_NULL, emptyDeviceFeatures); ++} ++ ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++{ ++ static const Feature features[] = ++ { ++ FEATURE_ITEM (VkPhysicalDeviceShaderTerminateInvocationFeatures, shaderTerminateInvocation), ++ }; ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { - FEATURE_ITEM (VkPhysicalDevicePerformanceQueryFeaturesKHR, performanceCounterQueryPools), - FEATURE_ITEM (VkPhysicalDevicePerformanceQueryFeaturesKHR, performanceCounterMultipleQueryPools), ++ FEATURE_ITEM (VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures, shaderDemoteToHelperInvocation), + }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); ++} ++ ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++{ ++ static const Feature features[] = ++ { ++ FEATURE_ITEM (VkPhysicalDevicePrivateDataFeatures, privateData), ++ }; ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); ++} ++ ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++{ ++ static const Feature features[] = ++ { ++ FEATURE_ITEM (VkPhysicalDevicePipelineCreationCacheControlFeatures, pipelineCreationCacheControl), ++ }; ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); ++} ++ ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++{ ++ static const Feature features[] = ++ { ++ FEATURE_ITEM (VkPhysicalDeviceSynchronization2Features, synchronization2), ++ }; ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); ++} ++ ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++{ ++ static const Feature features[] = ++ { ++ FEATURE_ITEM (VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, shaderZeroInitializeWorkgroupMemory), ++ }; ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); ++} ++ ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++{ ++ static const Feature features[] = ++ { ++ FEATURE_ITEM (VkPhysicalDeviceImageRobustnessFeatures, robustImageAccess), ++ }; ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); ++} ++ ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++{ ++ static const Feature features[] = ++ { ++ FEATURE_ITEM (VkPhysicalDeviceSubgroupSizeControlFeatures, subgroupSizeControl), ++ FEATURE_ITEM (VkPhysicalDeviceSubgroupSizeControlFeatures, computeFullSubgroups), ++ }; ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { - FEATURE_ITEM (VkPhysicalDeviceShaderClockFeaturesKHR, shaderSubgroupClock), - FEATURE_ITEM (VkPhysicalDeviceShaderClockFeaturesKHR, shaderDeviceClock), ++ FEATURE_ITEM (VkPhysicalDeviceInlineUniformBlockFeatures, inlineUniformBlock), ++ FEATURE_ITEM (VkPhysicalDeviceInlineUniformBlockFeatures, descriptorBindingInlineUniformBlockUpdateAfterBind), + }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { - FEATURE_ITEM (VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR, shaderTerminateInvocation), ++ FEATURE_ITEM (VkPhysicalDeviceTextureCompressionASTCHDRFeatures, textureCompressionASTC_HDR), + }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { - FEATURE_ITEM (VkPhysicalDeviceFragmentShadingRateFeaturesKHR, pipelineFragmentShadingRate), - FEATURE_ITEM (VkPhysicalDeviceFragmentShadingRateFeaturesKHR, primitiveFragmentShadingRate), - FEATURE_ITEM (VkPhysicalDeviceFragmentShadingRateFeaturesKHR, attachmentFragmentShadingRate), ++ FEATURE_ITEM (VkPhysicalDeviceDynamicRenderingFeatures, dynamicRendering), + }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); - checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { - FEATURE_ITEM (VkPhysicalDevicePresentWaitFeaturesKHR, presentWait), ++ FEATURE_ITEM (VkPhysicalDeviceShaderIntegerDotProductFeatures, shaderIntegerDotProduct), + }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { - FEATURE_ITEM (VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR, pipelineExecutableInfo), ++ FEATURE_ITEM (VkPhysicalDeviceMaintenance4Features, maintenance4), + }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { - FEATURE_ITEM (VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR, shaderIntegerDotProduct), ++ FEATURE_ITEM (VkPhysicalDevicePerformanceQueryFeaturesKHR, performanceCounterQueryPools), ++ FEATURE_ITEM (VkPhysicalDevicePerformanceQueryFeaturesKHR, performanceCounterMultipleQueryPools), + }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); - checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { - FEATURE_ITEM (VkPhysicalDevicePresentIdFeaturesKHR, presentId), ++ FEATURE_ITEM (VkPhysicalDeviceShaderClockFeaturesKHR, shaderSubgroupClock), ++ FEATURE_ITEM (VkPhysicalDeviceShaderClockFeaturesKHR, shaderDeviceClock), + }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); ++} ++ ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++{ ++ static const Feature features[] = ++ { ++ FEATURE_ITEM (VkPhysicalDeviceFragmentShadingRateFeaturesKHR, pipelineFragmentShadingRate), ++ FEATURE_ITEM (VkPhysicalDeviceFragmentShadingRateFeaturesKHR, primitiveFragmentShadingRate), ++ FEATURE_ITEM (VkPhysicalDeviceFragmentShadingRateFeaturesKHR, attachmentFragmentShadingRate), ++ }; ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); ++} ++ ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++{ ++ static const Feature features[] = ++ { ++ FEATURE_ITEM (VkPhysicalDevicePresentWaitFeaturesKHR, presentWait), ++ }; ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { - FEATURE_ITEM (VkPhysicalDeviceSynchronization2FeaturesKHR, synchronization2), ++ FEATURE_ITEM (VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR, pipelineExecutableInfo), + }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { - FEATURE_ITEM (VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, shaderSubgroupUniformControlFlow), ++ FEATURE_ITEM (VkPhysicalDevicePresentIdFeaturesKHR, presentId), + }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) ++if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { - FEATURE_ITEM (VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR, shaderZeroInitializeWorkgroupMemory), ++ FEATURE_ITEM (VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, shaderSubgroupUniformControlFlow), + }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); ++ auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, workgroupMemoryExplicitLayout), + FEATURE_ITEM (VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, workgroupMemoryExplicitLayoutScalarBlockLayout), + FEATURE_ITEM (VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, workgroupMemoryExplicitLayout8BitAccess), + FEATURE_ITEM (VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, workgroupMemoryExplicitLayout16BitAccess), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 4, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) -{ - static const Feature features[] = - { - FEATURE_ITEM (VkPhysicalDeviceMaintenance4FeaturesKHR, maintenance4), - }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); - checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); -} - + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceTransformFeedbackFeaturesEXT, transformFeedback), + FEATURE_ITEM (VkPhysicalDeviceTransformFeedbackFeaturesEXT, geometryStreams), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceCornerSampledImageFeaturesNV, cornerSampledImage), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) -{ - static const Feature features[] = - { - FEATURE_ITEM (VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, textureCompressionASTC_HDR), - }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); - checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); -} - + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceASTCDecodeFeaturesEXT, decodeModeSharedExponent), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceConditionalRenderingFeaturesEXT, conditionalRendering), + FEATURE_ITEM (VkPhysicalDeviceConditionalRenderingFeaturesEXT, inheritedConditionalRendering), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceDepthClipEnableFeaturesEXT, depthClipEnable), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) -{ - static const Feature features[] = - { - FEATURE_ITEM (VkPhysicalDeviceInlineUniformBlockFeaturesEXT, inlineUniformBlock), - FEATURE_ITEM (VkPhysicalDeviceInlineUniformBlockFeaturesEXT, descriptorBindingInlineUniformBlockUpdateAfterBind), - }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); - checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); -} - + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, advancedBlendCoherentOperations), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceShaderSMBuiltinsFeaturesNV, shaderSMBuiltins), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceShadingRateImageFeaturesNV, shadingRateImage), + FEATURE_ITEM (VkPhysicalDeviceShadingRateImageFeaturesNV, shadingRateCoarseSampleOrder), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV, representativeFragmentTest), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT, vertexAttributeInstanceRateDivisor), + FEATURE_ITEM (VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT, vertexAttributeInstanceRateZeroDivisor), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceComputeShaderDerivativesFeaturesNV, computeDerivativeGroupQuads), + FEATURE_ITEM (VkPhysicalDeviceComputeShaderDerivativesFeaturesNV, computeDerivativeGroupLinear), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceMeshShaderFeaturesNV, taskShader), + FEATURE_ITEM (VkPhysicalDeviceMeshShaderFeaturesNV, meshShader), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV, fragmentShaderBarycentric), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceShaderImageFootprintFeaturesNV, imageFootprint), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceExclusiveScissorFeaturesNV, exclusiveScissor), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, shaderIntegerFunctions2), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceFragmentDensityMapFeaturesEXT, fragmentDensityMap), + FEATURE_ITEM (VkPhysicalDeviceFragmentDensityMapFeaturesEXT, fragmentDensityMapDynamic), + FEATURE_ITEM (VkPhysicalDeviceFragmentDensityMapFeaturesEXT, fragmentDensityMapNonSubsampledImages), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) -{ - static const Feature features[] = - { - FEATURE_ITEM (VkPhysicalDeviceSubgroupSizeControlFeaturesEXT, subgroupSizeControl), - FEATURE_ITEM (VkPhysicalDeviceSubgroupSizeControlFeaturesEXT, computeFullSubgroups), - }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); - checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); -} - + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceCoherentMemoryFeaturesAMD, deviceCoherentMemory), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, shaderImageInt64Atomics), + FEATURE_ITEM (VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, sparseImageInt64Atomics), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceMemoryPriorityFeaturesEXT, memoryPriority), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, dedicatedAllocationImageAliasing), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceBufferDeviceAddressFeaturesEXT, bufferDeviceAddress), + FEATURE_ITEM (VkPhysicalDeviceBufferDeviceAddressFeaturesEXT, bufferDeviceAddressCaptureReplay), + FEATURE_ITEM (VkPhysicalDeviceBufferDeviceAddressFeaturesEXT, bufferDeviceAddressMultiDevice), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceCooperativeMatrixFeaturesNV, cooperativeMatrix), + FEATURE_ITEM (VkPhysicalDeviceCooperativeMatrixFeaturesNV, cooperativeMatrixRobustBufferAccess), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceCoverageReductionModeFeaturesNV, coverageReductionMode), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, fragmentShaderSampleInterlock), + FEATURE_ITEM (VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, fragmentShaderPixelInterlock), + FEATURE_ITEM (VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, fragmentShaderShadingRateInterlock), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceYcbcrImageArraysFeaturesEXT, ycbcrImageArrays), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceProvokingVertexFeaturesEXT, provokingVertexLast), + FEATURE_ITEM (VkPhysicalDeviceProvokingVertexFeaturesEXT, transformFeedbackPreservesProvokingVertex), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceLineRasterizationFeaturesEXT, rectangularLines), + FEATURE_ITEM (VkPhysicalDeviceLineRasterizationFeaturesEXT, bresenhamLines), + FEATURE_ITEM (VkPhysicalDeviceLineRasterizationFeaturesEXT, smoothLines), + FEATURE_ITEM (VkPhysicalDeviceLineRasterizationFeaturesEXT, stippledRectangularLines), + FEATURE_ITEM (VkPhysicalDeviceLineRasterizationFeaturesEXT, stippledBresenhamLines), + FEATURE_ITEM (VkPhysicalDeviceLineRasterizationFeaturesEXT, stippledSmoothLines), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 6, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, shaderBufferFloat32Atomics), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, shaderBufferFloat32AtomicAdd), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, shaderBufferFloat64Atomics), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, shaderBufferFloat64AtomicAdd), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, shaderSharedFloat32Atomics), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, shaderSharedFloat32AtomicAdd), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, shaderSharedFloat64Atomics), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, shaderSharedFloat64AtomicAdd), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, shaderImageFloat32Atomics), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, shaderImageFloat32AtomicAdd), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, sparseImageFloat32Atomics), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, sparseImageFloat32AtomicAdd), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 12, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceIndexTypeUint8FeaturesEXT, indexTypeUint8), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, extendedDynamicState), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, shaderBufferFloat16Atomics), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, shaderBufferFloat16AtomicAdd), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, shaderBufferFloat16AtomicMinMax), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, shaderBufferFloat32AtomicMinMax), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, shaderBufferFloat64AtomicMinMax), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, shaderSharedFloat16Atomics), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, shaderSharedFloat16AtomicAdd), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, shaderSharedFloat16AtomicMinMax), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, shaderSharedFloat32AtomicMinMax), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, shaderSharedFloat64AtomicMinMax), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, shaderImageFloat32AtomicMinMax), + FEATURE_ITEM (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, sparseImageFloat32AtomicMinMax), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 12, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) -{ - static const Feature features[] = - { - FEATURE_ITEM (VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, shaderDemoteToHelperInvocation), - }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); - checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); -} - + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV, deviceGeneratedCommands), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceInheritedViewportScissorFeaturesNV, inheritedViewportScissor2D), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT, texelBufferAlignment), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceDeviceMemoryReportFeaturesEXT, deviceMemoryReport), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceRobustness2FeaturesEXT, robustBufferAccess2), + FEATURE_ITEM (VkPhysicalDeviceRobustness2FeaturesEXT, robustImageAccess2), + FEATURE_ITEM (VkPhysicalDeviceRobustness2FeaturesEXT, nullDescriptor), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceCustomBorderColorFeaturesEXT, customBorderColors), + FEATURE_ITEM (VkPhysicalDeviceCustomBorderColorFeaturesEXT, customBorderColorWithoutFormat), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) -{ - static const Feature features[] = - { - FEATURE_ITEM (VkPhysicalDevicePrivateDataFeaturesEXT, privateData), - }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); - checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); -} - -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) -{ - static const Feature features[] = - { - FEATURE_ITEM (VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT, pipelineCreationCacheControl), - }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); - checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); -} - + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceDiagnosticsConfigFeaturesNV, diagnosticsConfig), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV, fragmentShadingRateEnums), + FEATURE_ITEM (VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV, supersampleFragmentShadingRates), + FEATURE_ITEM (VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV, noInvocationFragmentShadingRates), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, rayTracingMotionBlur), + FEATURE_ITEM (VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, rayTracingMotionBlurPipelineTraceRaysIndirect), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, ycbcr2plane444Formats), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceFragmentDensityMap2FeaturesEXT, fragmentDensityMapDeferred), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + -if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) -{ - static const Feature features[] = - { - FEATURE_ITEM (VkPhysicalDeviceImageRobustnessFeaturesEXT, robustImageAccess), - }; - auto* supportedFeatures = reinterpret_cast(featuresStruct); - checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); -} - + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDevice4444FormatsFeaturesEXT, formatA4R4G4B4), + FEATURE_ITEM (VkPhysicalDevice4444FormatsFeaturesEXT, formatA4B4G4R4), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM, rasterizationOrderColorAttachmentAccess), + FEATURE_ITEM (VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM, rasterizationOrderDepthAttachmentAccess), + FEATURE_ITEM (VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM, rasterizationOrderStencilAttachmentAccess), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT, formatRgba10x6WithoutYCbCrSampler), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE, mutableDescriptorType), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT, vertexInputDynamicState), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceDepthClipControlFeaturesEXT, depthClipControl), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, primitiveTopologyListRestart), + FEATURE_ITEM (VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, primitiveTopologyPatchListRestart), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceSubpassShadingFeaturesHUAWEI, subpassShading), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceInvocationMaskFeaturesHUAWEI, invocationMask), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceExternalMemoryRDMAFeaturesNV, externalMemoryRDMA), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, extendedDynamicState2), + FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, extendedDynamicState2LogicOp), + FEATURE_ITEM (VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, extendedDynamicState2PatchControlPoints), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 3, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceColorWriteEnableFeaturesEXT, colorWriteEnable), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT, globalPriorityQuery), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceImageViewMinLodFeaturesEXT, minLod), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceMultiDrawFeaturesEXT, multiDraw), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceBorderColorSwizzleFeaturesEXT, borderColorSwizzle), + FEATURE_ITEM (VkPhysicalDeviceBorderColorSwizzleFeaturesEXT, borderColorSwizzleFromImage), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 2, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, pageableDeviceLocalMemory), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceAccelerationStructureFeaturesKHR, accelerationStructure), + FEATURE_ITEM (VkPhysicalDeviceAccelerationStructureFeaturesKHR, accelerationStructureCaptureReplay), + FEATURE_ITEM (VkPhysicalDeviceAccelerationStructureFeaturesKHR, accelerationStructureIndirectBuild), + FEATURE_ITEM (VkPhysicalDeviceAccelerationStructureFeaturesKHR, accelerationStructureHostCommands), + FEATURE_ITEM (VkPhysicalDeviceAccelerationStructureFeaturesKHR, descriptorBindingAccelerationStructureUpdateAfterBind), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 5, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceRayTracingPipelineFeaturesKHR, rayTracingPipeline), + FEATURE_ITEM (VkPhysicalDeviceRayTracingPipelineFeaturesKHR, rayTracingPipelineShaderGroupHandleCaptureReplay), + FEATURE_ITEM (VkPhysicalDeviceRayTracingPipelineFeaturesKHR, rayTracingPipelineShaderGroupHandleCaptureReplayMixed), + FEATURE_ITEM (VkPhysicalDeviceRayTracingPipelineFeaturesKHR, rayTracingPipelineTraceRaysIndirect), + FEATURE_ITEM (VkPhysicalDeviceRayTracingPipelineFeaturesKHR, rayTraversalPrimitiveCulling), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 5, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDeviceRayQueryFeaturesKHR, rayQuery), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 1, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + + if (const void* featuresStruct = findStructureInChain(const_cast(deviceFeatures2.pNext), getStructureType())) + { + static const Feature features[] = + { + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, constantAlphaColorBlendFactors), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, events), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, imageViewFormatReinterpretation), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, imageViewFormatSwizzle), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, imageView2DOn3DImage), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, multisampleArrayImage), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, mutableComparisonSamplers), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, pointPolygons), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, samplerMipLodBias), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, separateStencilMaskRef), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, shaderSampleRateInterpolationFunctions), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, tessellationIsolines), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, tessellationPointMode), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, triangleFans), + FEATURE_ITEM (VkPhysicalDevicePortabilitySubsetFeaturesKHR, vertexAttributeAccessBeyondStride), + }; + auto* supportedFeatures = reinterpret_cast(featuresStruct); + checkFeatures(vkp, instance, instanceDriver, physicalDevice, 15, features, supportedFeatures, queueFamilyIndex, queueCount, queuePriority, numErrors, resultCollector, &extensionNames, emptyDeviceFeatures); + } + diff --cc external/vulkancts/framework/vulkan/vkDeviceFeatures.inl index 0000000,f892185..6b1ba33 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeatures.inl @@@ -1,0 -1,553 +1,613 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + #include "vkDeviceFeatures.hpp" + + namespace vk + { + #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" + #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" + #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage" + #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" + #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" + #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" + #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle" + #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" + #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" + #define DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME "not_existent_feature" + #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" + #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives" + #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering" + #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" + #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image" + #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" + #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" + #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing" + #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control" + #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" + #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" + #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands" + #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report" + #define DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME "not_existent_feature" + #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" + #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" + #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" + #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" + #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma" + #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" + #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" + #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" + #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" + #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" + #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums" + #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query" + #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" + #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer" + #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" + #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod" + #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" + #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor" + #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" + #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask" + #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" -#define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" ++#define DECL_MAINTENANCE4_EXTENSION_NAME "not_existent_feature" + #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority" + #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" + #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" + #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw" + #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type" + #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory" + #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" + #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control" + #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" + #define VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME "VK_KHR_portability_subset" + #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id" + #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait" + #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" + #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" + #define DECL_PROTECTED_MEMORY_EXTENSION_NAME "not_existent_feature" + #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex" + #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query" + #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur" + #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline" + #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test" + #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats" + #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" + #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" + #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout" + #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts" + #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" + #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2" + #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64" + #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" + #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" + #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" + #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8" + #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" + #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" + #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" + #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2" + #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins" + #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types" + #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow" + #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" + #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" + #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" + #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" + #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" + #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" + #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" + #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" + #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" + #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" + #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" + #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" + #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" + #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model" + #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout" -#define DECL_EXT_YCBCR_2_PLANE_444_FORMATS_EXTENSION_NAME "not_existent_feature" ++#define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" + #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" + #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory" + + + template<> void initFeatureFromBlob(VkPhysicalDevice16BitStorageFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.storageBuffer16BitAccess = allFeaturesBlobs.vk11.storageBuffer16BitAccess; + featureType.uniformAndStorageBuffer16BitAccess = allFeaturesBlobs.vk11.uniformAndStorageBuffer16BitAccess; + featureType.storagePushConstant16 = allFeaturesBlobs.vk11.storagePushConstant16; + featureType.storageInputOutput16 = allFeaturesBlobs.vk11.storageInputOutput16; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceMultiviewFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.multiview = allFeaturesBlobs.vk11.multiview; + featureType.multiviewGeometryShader = allFeaturesBlobs.vk11.multiviewGeometryShader; + featureType.multiviewTessellationShader = allFeaturesBlobs.vk11.multiviewTessellationShader; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceVariablePointersFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.variablePointersStorageBuffer = allFeaturesBlobs.vk11.variablePointersStorageBuffer; + featureType.variablePointers = allFeaturesBlobs.vk11.variablePointers; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceProtectedMemoryFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.protectedMemory = allFeaturesBlobs.vk11.protectedMemory; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceSamplerYcbcrConversionFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.samplerYcbcrConversion = allFeaturesBlobs.vk11.samplerYcbcrConversion; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceShaderDrawParametersFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.shaderDrawParameters = allFeaturesBlobs.vk11.shaderDrawParameters; + } + template<> void initFeatureFromBlob(VkPhysicalDevice8BitStorageFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.storageBuffer8BitAccess = allFeaturesBlobs.vk12.storageBuffer8BitAccess; + featureType.uniformAndStorageBuffer8BitAccess = allFeaturesBlobs.vk12.uniformAndStorageBuffer8BitAccess; + featureType.storagePushConstant8 = allFeaturesBlobs.vk12.storagePushConstant8; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceShaderAtomicInt64Features& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.shaderBufferInt64Atomics = allFeaturesBlobs.vk12.shaderBufferInt64Atomics; + featureType.shaderSharedInt64Atomics = allFeaturesBlobs.vk12.shaderSharedInt64Atomics; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceShaderFloat16Int8Features& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.shaderFloat16 = allFeaturesBlobs.vk12.shaderFloat16; + featureType.shaderInt8 = allFeaturesBlobs.vk12.shaderInt8; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceDescriptorIndexingFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.shaderInputAttachmentArrayDynamicIndexing = allFeaturesBlobs.vk12.shaderInputAttachmentArrayDynamicIndexing; + featureType.shaderUniformTexelBufferArrayDynamicIndexing = allFeaturesBlobs.vk12.shaderUniformTexelBufferArrayDynamicIndexing; + featureType.shaderStorageTexelBufferArrayDynamicIndexing = allFeaturesBlobs.vk12.shaderStorageTexelBufferArrayDynamicIndexing; + featureType.shaderUniformBufferArrayNonUniformIndexing = allFeaturesBlobs.vk12.shaderUniformBufferArrayNonUniformIndexing; + featureType.shaderSampledImageArrayNonUniformIndexing = allFeaturesBlobs.vk12.shaderSampledImageArrayNonUniformIndexing; + featureType.shaderStorageBufferArrayNonUniformIndexing = allFeaturesBlobs.vk12.shaderStorageBufferArrayNonUniformIndexing; + featureType.shaderStorageImageArrayNonUniformIndexing = allFeaturesBlobs.vk12.shaderStorageImageArrayNonUniformIndexing; + featureType.shaderInputAttachmentArrayNonUniformIndexing = allFeaturesBlobs.vk12.shaderInputAttachmentArrayNonUniformIndexing; + featureType.shaderUniformTexelBufferArrayNonUniformIndexing = allFeaturesBlobs.vk12.shaderUniformTexelBufferArrayNonUniformIndexing; + featureType.shaderStorageTexelBufferArrayNonUniformIndexing = allFeaturesBlobs.vk12.shaderStorageTexelBufferArrayNonUniformIndexing; + featureType.descriptorBindingUniformBufferUpdateAfterBind = allFeaturesBlobs.vk12.descriptorBindingUniformBufferUpdateAfterBind; + featureType.descriptorBindingSampledImageUpdateAfterBind = allFeaturesBlobs.vk12.descriptorBindingSampledImageUpdateAfterBind; + featureType.descriptorBindingStorageImageUpdateAfterBind = allFeaturesBlobs.vk12.descriptorBindingStorageImageUpdateAfterBind; + featureType.descriptorBindingStorageBufferUpdateAfterBind = allFeaturesBlobs.vk12.descriptorBindingStorageBufferUpdateAfterBind; + featureType.descriptorBindingUniformTexelBufferUpdateAfterBind = allFeaturesBlobs.vk12.descriptorBindingUniformTexelBufferUpdateAfterBind; + featureType.descriptorBindingStorageTexelBufferUpdateAfterBind = allFeaturesBlobs.vk12.descriptorBindingStorageTexelBufferUpdateAfterBind; + featureType.descriptorBindingUpdateUnusedWhilePending = allFeaturesBlobs.vk12.descriptorBindingUpdateUnusedWhilePending; + featureType.descriptorBindingPartiallyBound = allFeaturesBlobs.vk12.descriptorBindingPartiallyBound; + featureType.descriptorBindingVariableDescriptorCount = allFeaturesBlobs.vk12.descriptorBindingVariableDescriptorCount; + featureType.runtimeDescriptorArray = allFeaturesBlobs.vk12.runtimeDescriptorArray; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceScalarBlockLayoutFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.scalarBlockLayout = allFeaturesBlobs.vk12.scalarBlockLayout; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceVulkanMemoryModelFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.vulkanMemoryModel = allFeaturesBlobs.vk12.vulkanMemoryModel; + featureType.vulkanMemoryModelDeviceScope = allFeaturesBlobs.vk12.vulkanMemoryModelDeviceScope; + featureType.vulkanMemoryModelAvailabilityVisibilityChains = allFeaturesBlobs.vk12.vulkanMemoryModelAvailabilityVisibilityChains; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceImagelessFramebufferFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.imagelessFramebuffer = allFeaturesBlobs.vk12.imagelessFramebuffer; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceUniformBufferStandardLayoutFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.uniformBufferStandardLayout = allFeaturesBlobs.vk12.uniformBufferStandardLayout; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.shaderSubgroupExtendedTypes = allFeaturesBlobs.vk12.shaderSubgroupExtendedTypes; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.separateDepthStencilLayouts = allFeaturesBlobs.vk12.separateDepthStencilLayouts; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceHostQueryResetFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.hostQueryReset = allFeaturesBlobs.vk12.hostQueryReset; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceTimelineSemaphoreFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.timelineSemaphore = allFeaturesBlobs.vk12.timelineSemaphore; + } + template<> void initFeatureFromBlob(VkPhysicalDeviceBufferDeviceAddressFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) + { + featureType.bufferDeviceAddress = allFeaturesBlobs.vk12.bufferDeviceAddress; + featureType.bufferDeviceAddressCaptureReplay = allFeaturesBlobs.vk12.bufferDeviceAddressCaptureReplay; + featureType.bufferDeviceAddressMultiDevice = allFeaturesBlobs.vk12.bufferDeviceAddressMultiDevice; + } ++template<> void initFeatureFromBlob(VkPhysicalDeviceShaderTerminateInvocationFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) ++{ ++ featureType.shaderTerminateInvocation = allFeaturesBlobs.vk13.shaderTerminateInvocation; ++} ++template<> void initFeatureFromBlob(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) ++{ ++ featureType.shaderDemoteToHelperInvocation = allFeaturesBlobs.vk13.shaderDemoteToHelperInvocation; ++} ++template<> void initFeatureFromBlob(VkPhysicalDevicePrivateDataFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) ++{ ++ featureType.privateData = allFeaturesBlobs.vk13.privateData; ++} ++template<> void initFeatureFromBlob(VkPhysicalDevicePipelineCreationCacheControlFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) ++{ ++ featureType.pipelineCreationCacheControl = allFeaturesBlobs.vk13.pipelineCreationCacheControl; ++} ++template<> void initFeatureFromBlob(VkPhysicalDeviceSynchronization2Features& featureType, const AllFeaturesBlobs& allFeaturesBlobs) ++{ ++ featureType.synchronization2 = allFeaturesBlobs.vk13.synchronization2; ++} ++template<> void initFeatureFromBlob(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) ++{ ++ featureType.shaderZeroInitializeWorkgroupMemory = allFeaturesBlobs.vk13.shaderZeroInitializeWorkgroupMemory; ++} ++template<> void initFeatureFromBlob(VkPhysicalDeviceImageRobustnessFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) ++{ ++ featureType.robustImageAccess = allFeaturesBlobs.vk13.robustImageAccess; ++} ++template<> void initFeatureFromBlob(VkPhysicalDeviceSubgroupSizeControlFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) ++{ ++ featureType.subgroupSizeControl = allFeaturesBlobs.vk13.subgroupSizeControl; ++ featureType.computeFullSubgroups = allFeaturesBlobs.vk13.computeFullSubgroups; ++} ++template<> void initFeatureFromBlob(VkPhysicalDeviceInlineUniformBlockFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) ++{ ++ featureType.inlineUniformBlock = allFeaturesBlobs.vk13.inlineUniformBlock; ++ featureType.descriptorBindingInlineUniformBlockUpdateAfterBind = allFeaturesBlobs.vk13.descriptorBindingInlineUniformBlockUpdateAfterBind; ++} ++template<> void initFeatureFromBlob(VkPhysicalDeviceTextureCompressionASTCHDRFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) ++{ ++ featureType.textureCompressionASTC_HDR = allFeaturesBlobs.vk13.textureCompressionASTC_HDR; ++} ++template<> void initFeatureFromBlob(VkPhysicalDeviceDynamicRenderingFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) ++{ ++ featureType.dynamicRendering = allFeaturesBlobs.vk13.dynamicRendering; ++} ++template<> void initFeatureFromBlob(VkPhysicalDeviceShaderIntegerDotProductFeatures& featureType, const AllFeaturesBlobs& allFeaturesBlobs) ++{ ++ featureType.shaderIntegerDotProduct = allFeaturesBlobs.vk13.shaderIntegerDotProduct; ++} ++template<> void initFeatureFromBlob(VkPhysicalDeviceMaintenance4Features& featureType, const AllFeaturesBlobs& allFeaturesBlobs) ++{ ++ featureType.maintenance4 = allFeaturesBlobs.vk13.maintenance4; ++} + + // generic template is not enough for some compilers -template<> void initFeatureFromBlob(VkPhysicalDeviceDynamicRenderingFeaturesKHR&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDevicePerformanceQueryFeaturesKHR&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceShaderClockFeaturesKHR&, const AllFeaturesBlobs&) {} -template<> void initFeatureFromBlob(VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceFragmentShadingRateFeaturesKHR&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDevicePresentWaitFeaturesKHR&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&, const AllFeaturesBlobs&) {} -template<> void initFeatureFromBlob(VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDevicePresentIdFeaturesKHR&, const AllFeaturesBlobs&) {} -template<> void initFeatureFromBlob(VkPhysicalDeviceSynchronization2FeaturesKHR&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR&, const AllFeaturesBlobs&) {} -template<> void initFeatureFromBlob(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR&, const AllFeaturesBlobs&) {} -template<> void initFeatureFromBlob(VkPhysicalDeviceMaintenance4FeaturesKHR&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceTransformFeedbackFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceCornerSampledImageFeaturesNV&, const AllFeaturesBlobs&) {} -template<> void initFeatureFromBlob(VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceASTCDecodeFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceConditionalRenderingFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceDepthClipEnableFeaturesEXT&, const AllFeaturesBlobs&) {} -template<> void initFeatureFromBlob(VkPhysicalDeviceInlineUniformBlockFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceShaderSMBuiltinsFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceShadingRateImageFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceComputeShaderDerivativesFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceMeshShaderFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceShaderImageFootprintFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceExclusiveScissorFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceFragmentDensityMapFeaturesEXT&, const AllFeaturesBlobs&) {} -template<> void initFeatureFromBlob(VkPhysicalDeviceSubgroupSizeControlFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceCoherentMemoryFeaturesAMD&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceMemoryPriorityFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceCooperativeMatrixFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceCoverageReductionModeFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceYcbcrImageArraysFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceProvokingVertexFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceLineRasterizationFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceIndexTypeUint8FeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT&, const AllFeaturesBlobs&) {} -template<> void initFeatureFromBlob(VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceInheritedViewportScissorFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceRobustness2FeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceCustomBorderColorFeaturesEXT&, const AllFeaturesBlobs&) {} -template<> void initFeatureFromBlob(VkPhysicalDevicePrivateDataFeaturesEXT&, const AllFeaturesBlobs&) {} -template<> void initFeatureFromBlob(VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceDiagnosticsConfigFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceRayTracingMotionBlurFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT&, const AllFeaturesBlobs&) {} -template<> void initFeatureFromBlob(VkPhysicalDeviceImageRobustnessFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDevice4444FormatsFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceDepthClipControlFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceSubpassShadingFeaturesHUAWEI&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceInvocationMaskFeaturesHUAWEI&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceExternalMemoryRDMAFeaturesNV&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceColorWriteEnableFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceImageViewMinLodFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceMultiDrawFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceBorderColorSwizzleFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceAccelerationStructureFeaturesKHR&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceRayTracingPipelineFeaturesKHR&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDeviceRayQueryFeaturesKHR&, const AllFeaturesBlobs&) {} + template<> void initFeatureFromBlob(VkPhysicalDevicePortabilitySubsetFeaturesKHR&, const AllFeaturesBlobs&) {} + + + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION, 103}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION, 102}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION, 101}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 100}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION, 99}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 98}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION, 97}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 96}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION, 95}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0, 94}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION, 93}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION, 92}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION, 91}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 90}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION, 89}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION, 88}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 87}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION, 86}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION, 85}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION, 84}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 83}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 82}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION, 81}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0, 80}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 79}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION, 79}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION, 78}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION, 77}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION, 76}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV, VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME, VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION, 75}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 74}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 73}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION, 72}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION, 71}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 70}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 69}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT, VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION, 68}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION, 67}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION, 66}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 65}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION, 65}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT, VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME, VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION, 64}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION, 63}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION, 62}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 61}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 61}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME, VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION, 60}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 59}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION, 58}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, DECL_MAINTENANCE4_EXTENSION_NAME, 0, 58}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION, 57}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 56}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 55}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 54}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION, 53}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION, 52}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 51}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 50}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION, 50}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION, 49}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 48}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 47}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR, VK_KHR_PRESENT_WAIT_EXTENSION_NAME, VK_KHR_PRESENT_WAIT_SPEC_VERSION, 46}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION, 45}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 44}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION, 44}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 43}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 42}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION, 41}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV, VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME, VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION, 40}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 39}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION, 38}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT, VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME, VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION, 37}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 36}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION, 35}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION, 34}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION, 33}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION, 32}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT, VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION, 31}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION, 30}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, VK_KHR_SHADER_CLOCK_EXTENSION_NAME, VK_KHR_SHADER_CLOCK_SPEC_VERSION, 29}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 28}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION, 28}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION, 27}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION, 26}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION, 25}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION, 24}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 23}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 23}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION, 22}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV, VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME, VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION, 21}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION, 20}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION, 19}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION, 18}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION, 18}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 17}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 16}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 16}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI, VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME, VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION, 15}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR, VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME, VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION, 14}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME, VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION, 14}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION, 13}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION, 12}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION, 12}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME, VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION, 11}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 10}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION, 9}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION, 8}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 7}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION, 6}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION, 5}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION, 4}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT, DECL_EXT_YCBCR_2_PLANE_444_FORMATS_EXTENSION_NAME, 0, 3}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT, VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME, VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION, 3}; } + template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION, 2}; } -template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION, 1}; } ++template<> FeatureDesc makeFeatureDesc(void) { return FeatureDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION, 1}; } + + -static const FeatureStructCreationData featureStructCreationArray[] = ++static const FeatureStructCreationData featureStructCreationArray[] + { + { createFeatureStructWrapper, VK_KHR_16BIT_STORAGE_EXTENSION_NAME, VK_KHR_16BIT_STORAGE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_4444_FORMATS_EXTENSION_NAME, VK_EXT_4444_FORMATS_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_8BIT_STORAGE_EXTENSION_NAME, VK_KHR_8BIT_STORAGE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME, VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME, VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION }, + { createFeatureStructWrapper, DECL_AMD_COHERENT_MEMORY_EXTENSION_NAME, 0 }, + { createFeatureStructWrapper, VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME, VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME, VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME, VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME, VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME, VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME, VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME, VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION }, + { createFeatureStructWrapper, DECL_NV_DIAGNOSTICS_CONFIG_EXTENSION_NAME, 0 }, - { createFeatureStructWrapper, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION }, ++ { createFeatureStructWrapper, VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME, VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME, VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME, VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME, VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME, VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME, VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME, VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, VK_EXT_HOST_QUERY_RESET_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME, VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION }, - { createFeatureStructWrapper, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION }, ++ { createFeatureStructWrapper, VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME, VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME, VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME, VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME, VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION }, - { createFeatureStructWrapper, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION }, ++ { createFeatureStructWrapper, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION }, + { createFeatureStructWrapper, VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME, VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION }, - { createFeatureStructWrapper, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION }, ++ { createFeatureStructWrapper, DECL_MAINTENANCE4_EXTENSION_NAME, 0 }, + { createFeatureStructWrapper, VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME, VK_EXT_MEMORY_PRIORITY_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION }, + { createFeatureStructWrapper, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME, VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME, VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION }, - { createFeatureStructWrapper, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION }, ++ { createFeatureStructWrapper, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME, VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME, VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_PRESENT_WAIT_EXTENSION_NAME, VK_KHR_PRESENT_WAIT_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION }, - { createFeatureStructWrapper, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION }, ++ { createFeatureStructWrapper, VK_EXT_PRIVATE_DATA_EXTENSION_NAME, VK_EXT_PRIVATE_DATA_SPEC_VERSION }, + { createFeatureStructWrapper, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0 }, + { createFeatureStructWrapper, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_RAY_QUERY_EXTENSION_NAME, VK_KHR_RAY_QUERY_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME, VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME, VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME, VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME, VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME, VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME, VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME, VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME, VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_SHADER_CLOCK_EXTENSION_NAME, VK_KHR_SHADER_CLOCK_SPEC_VERSION }, - { createFeatureStructWrapper, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION }, ++ { createFeatureStructWrapper, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME, VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME, VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME, VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME, VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION }, - { createFeatureStructWrapper, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION }, ++ { createFeatureStructWrapper, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION }, + { createFeatureStructWrapper, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME, VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME, VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME, VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION }, - { createFeatureStructWrapper, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION }, ++ { createFeatureStructWrapper, VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME, VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION }, + { createFeatureStructWrapper, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION }, - { createFeatureStructWrapper, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION }, ++ { createFeatureStructWrapper, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION }, + { createFeatureStructWrapper, VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME, VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION }, - { createFeatureStructWrapper, VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME, VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION }, ++ { createFeatureStructWrapper, VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME, VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION }, - { createFeatureStructWrapper, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION }, ++ { createFeatureStructWrapper, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME, VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME, VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME, VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME, VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION }, + { createFeatureStructWrapper, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME, VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION }, - { createFeatureStructWrapper, DECL_EXT_YCBCR_2_PLANE_444_FORMATS_EXTENSION_NAME, 0 }, ++ { createFeatureStructWrapper, VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME, VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION }, + { createFeatureStructWrapper, VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME, VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION }, - { createFeatureStructWrapper, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION }, ++ { createFeatureStructWrapper, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME, VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION }, + }; + -bool isPartOfBlobFeatures (VkStructureType sType) ++deUint32 getBlobFeaturesVersion (VkStructureType sType) + { - const std::vector sTypeVect = { ++ const std::map sTypeBlobMap ++ { + // Vulkan11 - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, VK_API_VERSION_1_1 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, VK_API_VERSION_1_1 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, VK_API_VERSION_1_1 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, VK_API_VERSION_1_1 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_API_VERSION_1_1 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_API_VERSION_1_1 }, + // Vulkan12 - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, VK_API_VERSION_1_2 }, ++ // Vulkan13 ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, VK_API_VERSION_1_3 }, + }; - return de::contains(sTypeVect.begin(), sTypeVect.end(), sType); ++ ++ auto it = sTypeBlobMap.find(sType); ++ if(it == sTypeBlobMap.end()) ++ return 0; ++ return it->second; + } + + } // vk + diff --cc external/vulkancts/framework/vulkan/vkDeviceFeatures2.inl index 0000000,337cee1..93b4bed mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeatures2.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeatures2.inl @@@ -1,0 -1,287 +1,1059 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ -VkPhysicalDeviceConditionalRenderingFeaturesEXT deviceConditionalRenderingFeaturesEXT[count]; -VkPhysicalDeviceScalarBlockLayoutFeatures deviceScalarBlockLayoutFeatures[count]; -VkPhysicalDevicePerformanceQueryFeaturesKHR devicePerformanceQueryFeaturesKHR[count]; -VkPhysicalDevice16BitStorageFeatures device16BitStorageFeatures[count]; -VkPhysicalDeviceMultiviewFeatures deviceMultiviewFeatures[count]; -VkPhysicalDeviceProtectedMemoryFeatures deviceProtectedMemoryFeatures[count]; -VkPhysicalDeviceSamplerYcbcrConversionFeatures deviceSamplerYcbcrConversionFeatures[count]; -VkPhysicalDeviceVariablePointersFeatures deviceVariablePointersFeatures[count]; -VkPhysicalDevice8BitStorageFeatures device8BitStorageFeatures[count]; -VkPhysicalDeviceShaderAtomicInt64Features deviceShaderAtomicInt64Features[count]; -VkPhysicalDeviceShaderFloat16Int8Features deviceShaderFloat16Int8Features[count]; -VkPhysicalDeviceBufferDeviceAddressFeaturesEXT deviceBufferDeviceAddressFeaturesEXT[count]; -VkPhysicalDeviceBufferDeviceAddressFeatures deviceBufferDeviceAddressFeatures[count]; -VkPhysicalDeviceDescriptorIndexingFeatures deviceDescriptorIndexingFeatures[count]; -VkPhysicalDeviceTimelineSemaphoreFeatures deviceTimelineSemaphoreFeatures[count]; -VkPhysicalDeviceFragmentDensityMapFeaturesEXT deviceFragmentDensityMapFeaturesEXT[count]; -VkPhysicalDeviceFragmentDensityMap2FeaturesEXT deviceFragmentDensityMap2FeaturesEXT[count]; -VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR deviceShaderIntegerDotProductFeaturesKHR[count]; - -const bool isConditionalRenderingFeaturesEXT = checkExtension(properties, "VK_EXT_conditional_rendering"); -const bool isScalarBlockLayoutFeatures = checkExtension(properties, "VK_EXT_scalar_block_layout") || context.contextSupports(vk::ApiVersion(1, 2, 0)); -const bool isPerformanceQueryFeaturesKHR = checkExtension(properties, "VK_KHR_performance_query"); -const bool is16BitStorageFeatures = checkExtension(properties, "VK_KHR_16bit_storage") || context.contextSupports(vk::ApiVersion(1, 1, 0)); -const bool isMultiviewFeatures = checkExtension(properties, "VK_KHR_multiview") || context.contextSupports(vk::ApiVersion(1, 1, 0)); -const bool isProtectedMemoryFeatures = context.contextSupports(vk::ApiVersion(1, 1, 0)); -const bool isSamplerYcbcrConversionFeatures = checkExtension(properties, "VK_KHR_sampler_ycbcr_conversion") || context.contextSupports(vk::ApiVersion(1, 1, 0)); -const bool isVariablePointersFeatures = checkExtension(properties, "VK_KHR_variable_pointers") || context.contextSupports(vk::ApiVersion(1, 1, 0)); -const bool is8BitStorageFeatures = checkExtension(properties, "VK_KHR_8bit_storage") || context.contextSupports(vk::ApiVersion(1, 2, 0)); -const bool isShaderAtomicInt64Features = checkExtension(properties, "VK_KHR_shader_atomic_int64") || context.contextSupports(vk::ApiVersion(1, 2, 0)); -const bool isShaderFloat16Int8Features = checkExtension(properties, "VK_KHR_shader_float16_int8") || context.contextSupports(vk::ApiVersion(1, 2, 0)); -const bool isBufferDeviceAddressFeaturesEXT = checkExtension(properties, "VK_EXT_buffer_device_address"); -const bool isBufferDeviceAddressFeatures = checkExtension(properties, "VK_KHR_buffer_device_address") || context.contextSupports(vk::ApiVersion(1, 2, 0)); -const bool isDescriptorIndexingFeatures = checkExtension(properties, "VK_EXT_descriptor_indexing") || context.contextSupports(vk::ApiVersion(1, 2, 0)); -const bool isTimelineSemaphoreFeatures = checkExtension(properties, "VK_KHR_timeline_semaphore") || context.contextSupports(vk::ApiVersion(1, 2, 0)); -const bool isFragmentDensityMapFeaturesEXT = checkExtension(properties, "VK_EXT_fragment_density_map"); -const bool isFragmentDensityMap2FeaturesEXT = checkExtension(properties, "VK_EXT_fragment_density_map2"); -const bool isShaderIntegerDotProductFeaturesKHR = checkExtension(properties, "VK_KHR_shader_integer_dot_product"); ++VkPhysicalDevice4444FormatsFeaturesEXT device4444FormatsFeaturesEXT[count]; ++VkPhysicalDevice8BitStorageFeatures device8BitStorageFeatures[count]; ++VkPhysicalDevice16BitStorageFeatures device16BitStorageFeatures[count]; ++VkPhysicalDeviceAccelerationStructureFeaturesKHR deviceAccelerationStructureFeaturesKHR[count]; ++VkPhysicalDeviceASTCDecodeFeaturesEXT deviceASTCDecodeFeaturesEXT[count]; ++VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT deviceBlendOperationAdvancedFeaturesEXT[count]; ++VkPhysicalDeviceBufferDeviceAddressFeaturesEXT deviceBufferDeviceAddressFeaturesEXT[count]; ++VkPhysicalDeviceBufferDeviceAddressFeatures deviceBufferDeviceAddressFeatures[count]; ++VkPhysicalDeviceConditionalRenderingFeaturesEXT deviceConditionalRenderingFeaturesEXT[count]; ++VkPhysicalDeviceCustomBorderColorFeaturesEXT deviceCustomBorderColorFeaturesEXT[count]; ++VkPhysicalDeviceColorWriteEnableFeaturesEXT deviceColorWriteEnableFeaturesEXT[count]; ++VkPhysicalDeviceDescriptorIndexingFeatures deviceDescriptorIndexingFeatures[count]; ++VkPhysicalDeviceDepthClipEnableFeaturesEXT deviceDepthClipEnableFeaturesEXT[count]; ++VkPhysicalDeviceDynamicRenderingFeatures deviceDynamicRenderingFeatures[count]; ++VkPhysicalDeviceExtendedDynamicStateFeaturesEXT deviceExtendedDynamicStateFeaturesEXT[count]; ++VkPhysicalDeviceExtendedDynamicState2FeaturesEXT deviceExtendedDynamicState2FeaturesEXT[count]; ++VkPhysicalDeviceFragmentDensityMapFeaturesEXT deviceFragmentDensityMapFeaturesEXT[count]; ++VkPhysicalDeviceFragmentDensityMap2FeaturesEXT deviceFragmentDensityMap2FeaturesEXT[count]; ++VkPhysicalDeviceFragmentShadingRateFeaturesKHR deviceFragmentShadingRateFeaturesKHR[count]; ++VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT deviceGlobalPriorityQueryFeaturesEXT[count]; ++VkPhysicalDeviceInlineUniformBlockFeatures deviceInlineUniformBlockFeatures[count]; ++VkPhysicalDeviceIndexTypeUint8FeaturesEXT deviceIndexTypeUint8FeaturesEXT[count]; ++VkPhysicalDeviceImagelessFramebufferFeatures deviceImagelessFramebufferFeatures[count]; ++VkPhysicalDeviceImageRobustnessFeatures deviceImageRobustnessFeatures[count]; ++VkPhysicalDeviceHostQueryResetFeatures deviceHostQueryResetFeatures[count]; ++VkPhysicalDeviceLineRasterizationFeaturesEXT deviceLineRasterizationFeaturesEXT[count]; ++VkPhysicalDeviceMaintenance4Features deviceMaintenance4Features[count]; ++VkPhysicalDeviceMultiviewFeatures deviceMultiviewFeatures[count]; ++VkPhysicalDeviceMultiDrawFeaturesEXT deviceMultiDrawFeaturesEXT[count]; ++VkPhysicalDeviceMemoryPriorityFeaturesEXT deviceMemoryPriorityFeaturesEXT[count]; ++VkPhysicalDeviceDeviceMemoryReportFeaturesEXT deviceDeviceMemoryReportFeaturesEXT[count]; ++VkPhysicalDevicePerformanceQueryFeaturesKHR devicePerformanceQueryFeaturesKHR[count]; ++VkPhysicalDevicePipelineCreationCacheControlFeatures devicePipelineCreationCacheControlFeatures[count]; ++VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR devicePipelineExecutablePropertiesFeaturesKHR[count]; ++VkPhysicalDevicePresentIdFeaturesKHR devicePresentIdFeaturesKHR[count]; ++VkPhysicalDevicePresentWaitFeaturesKHR devicePresentWaitFeaturesKHR[count]; ++VkPhysicalDeviceProtectedMemoryFeatures deviceProtectedMemoryFeatures[count]; ++VkPhysicalDeviceProvokingVertexFeaturesEXT deviceProvokingVertexFeaturesEXT[count]; ++VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT devicePrimitiveTopologyListRestartFeaturesEXT[count]; ++VkPhysicalDevicePrivateDataFeatures devicePrivateDataFeatures[count]; ++VkPhysicalDeviceRayTracingPipelineFeaturesKHR deviceRayTracingPipelineFeaturesKHR[count]; ++VkPhysicalDeviceRayQueryFeaturesKHR deviceRayQueryFeaturesKHR[count]; ++VkPhysicalDeviceRobustness2FeaturesEXT deviceRobustness2FeaturesEXT[count]; ++VkPhysicalDeviceSamplerYcbcrConversionFeatures deviceSamplerYcbcrConversionFeatures[count]; ++VkPhysicalDeviceScalarBlockLayoutFeatures deviceScalarBlockLayoutFeatures[count]; ++VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures deviceSeparateDepthStencilLayoutsFeatures[count]; ++VkPhysicalDeviceShaderAtomicInt64Features deviceShaderAtomicInt64Features[count]; ++VkPhysicalDeviceShaderAtomicFloatFeaturesEXT deviceShaderAtomicFloatFeaturesEXT[count]; ++VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT deviceShaderAtomicFloat2FeaturesEXT[count]; ++VkPhysicalDeviceShaderFloat16Int8Features deviceShaderFloat16Int8Features[count]; ++VkPhysicalDeviceShaderClockFeaturesKHR deviceShaderClockFeaturesKHR[count]; ++VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures deviceShaderDemoteToHelperInvocationFeatures[count]; ++VkPhysicalDeviceShaderDrawParametersFeatures deviceShaderDrawParametersFeatures[count]; ++VkPhysicalDeviceShaderIntegerDotProductFeatures deviceShaderIntegerDotProductFeatures[count]; ++VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR deviceShaderIntegerDotProductFeaturesKHR[count]; ++VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures deviceShaderSubgroupExtendedTypesFeatures[count]; ++VkPhysicalDeviceShaderTerminateInvocationFeatures deviceShaderTerminateInvocationFeatures[count]; ++VkPhysicalDeviceSubgroupSizeControlFeatures deviceSubgroupSizeControlFeatures[count]; ++VkPhysicalDeviceSynchronization2Features deviceSynchronization2Features[count]; ++VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT deviceFragmentShaderInterlockFeaturesEXT[count]; ++VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT deviceTexelBufferAlignmentFeaturesEXT[count]; ++VkPhysicalDeviceTextureCompressionASTCHDRFeatures deviceTextureCompressionASTCHDRFeatures[count]; ++VkPhysicalDeviceTimelineSemaphoreFeatures deviceTimelineSemaphoreFeatures[count]; ++VkPhysicalDeviceTransformFeedbackFeaturesEXT deviceTransformFeedbackFeaturesEXT[count]; ++VkPhysicalDeviceUniformBufferStandardLayoutFeatures deviceUniformBufferStandardLayoutFeatures[count]; ++VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[count]; ++VkPhysicalDeviceVariablePointersFeatures deviceVariablePointersFeatures[count]; ++VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT deviceVertexAttributeDivisorFeaturesEXT[count]; ++VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT deviceVertexInputDynamicStateFeaturesEXT[count]; ++VkPhysicalDeviceVulkanMemoryModelFeaturesKHR deviceVulkanMemoryModelFeaturesKHR[count]; ++VkPhysicalDeviceYcbcrImageArraysFeaturesEXT deviceYcbcrImageArraysFeaturesEXT[count]; ++VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT deviceYcbcr2Plane444FormatsFeaturesEXT[count]; ++VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures deviceZeroInitializeWorkgroupMemoryFeatures[count]; ++ ++const bool is4444FormatsFeaturesEXT = checkExtension(properties, "VK_EXT_4444_formats") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool is8BitStorageFeatures = checkExtension(properties, "VK_KHR_8bit_storage") || context.contextSupports(vk::ApiVersion(1, 2, 0)); ++const bool is16BitStorageFeatures = checkExtension(properties, "VK_KHR_16bit_storage") || context.contextSupports(vk::ApiVersion(1, 1, 0)); ++const bool isAccelerationStructureFeaturesKHR = checkExtension(properties, "VK_KHR_acceleration_structure"); ++const bool isASTCDecodeFeaturesEXT = checkExtension(properties, "VK_EXT_astc_decode_mode"); ++const bool isBlendOperationAdvancedFeaturesEXT = checkExtension(properties, "VK_EXT_blend_operation_advanced"); ++const bool isBufferDeviceAddressFeaturesEXT = checkExtension(properties, "VK_EXT_buffer_device_address"); ++const bool isBufferDeviceAddressFeatures = checkExtension(properties, "VK_KHR_buffer_device_address") || context.contextSupports(vk::ApiVersion(1, 2, 0)); ++const bool isConditionalRenderingFeaturesEXT = checkExtension(properties, "VK_EXT_conditional_rendering"); ++const bool isCustomBorderColorFeaturesEXT = checkExtension(properties, "VK_EXT_custom_border_color"); ++const bool isColorWriteEnableFeaturesEXT = checkExtension(properties, "VK_EXT_color_write_enable"); ++const bool isDescriptorIndexingFeatures = checkExtension(properties, "VK_EXT_descriptor_indexing") || context.contextSupports(vk::ApiVersion(1, 2, 0)); ++const bool isDepthClipEnableFeaturesEXT = checkExtension(properties, "VK_EXT_depth_clip_enable"); ++const bool isDynamicRenderingFeatures = checkExtension(properties, "VK_KHR_dynamic_rendering") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isExtendedDynamicStateFeaturesEXT = checkExtension(properties, "VK_EXT_extended_dynamic_state") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isExtendedDynamicState2FeaturesEXT = checkExtension(properties, "VK_EXT_extended_dynamic_state2"); ++const bool isFragmentDensityMapFeaturesEXT = checkExtension(properties, "VK_EXT_fragment_density_map"); ++const bool isFragmentDensityMap2FeaturesEXT = checkExtension(properties, "VK_EXT_fragment_density_map2"); ++const bool isFragmentShadingRateFeaturesKHR = checkExtension(properties, "VK_KHR_fragment_shading_rate"); ++const bool isGlobalPriorityQueryFeaturesEXT = checkExtension(properties, "VK_EXT_global_priority_query"); ++const bool isInlineUniformBlockFeatures = checkExtension(properties, "VK_EXT_inline_uniform_block") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isIndexTypeUint8FeaturesEXT = checkExtension(properties, "VK_EXT_index_type_uint8"); ++const bool isImagelessFramebufferFeatures = checkExtension(properties, "VK_KHR_imageless_framebuffer") || context.contextSupports(vk::ApiVersion(1, 2, 0)); ++const bool isImageRobustnessFeatures = checkExtension(properties, "VK_EXT_image_robustness") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isHostQueryResetFeatures = checkExtension(properties, "VK_EXT_host_query_reset") || context.contextSupports(vk::ApiVersion(1, 2, 0)); ++const bool isLineRasterizationFeaturesEXT = checkExtension(properties, "VK_EXT_line_rasterization"); ++const bool isMaintenance4Features = checkExtension(properties, "VK_KHR_maintenance4") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isMultiviewFeatures = checkExtension(properties, "VK_KHR_multiview") || context.contextSupports(vk::ApiVersion(1, 1, 0)); ++const bool isMultiDrawFeaturesEXT = checkExtension(properties, "VK_EXT_multi_draw"); ++const bool isMemoryPriorityFeaturesEXT = checkExtension(properties, "VK_EXT_memory_priority"); ++const bool isDeviceMemoryReportFeaturesEXT = checkExtension(properties, "VK_EXT_device_memory_report"); ++const bool isPerformanceQueryFeaturesKHR = checkExtension(properties, "VK_KHR_performance_query"); ++const bool isPipelineCreationCacheControlFeatures = checkExtension(properties, "VK_EXT_pipeline_creation_cache_control") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isPipelineExecutablePropertiesFeaturesKHR = checkExtension(properties, "VK_KHR_pipeline_executable_properties"); ++const bool isPresentIdFeaturesKHR = checkExtension(properties, "VK_KHR_present_id"); ++const bool isPresentWaitFeaturesKHR = checkExtension(properties, "VK_KHR_present_wait"); ++const bool isProtectedMemoryFeatures = context.contextSupports(vk::ApiVersion(1, 1, 0)); ++const bool isProvokingVertexFeaturesEXT = checkExtension(properties, "VK_EXT_provoking_vertex"); ++const bool isPrimitiveTopologyListRestartFeaturesEXT = checkExtension(properties, "VK_EXT_primitive_topology_list_restart"); ++const bool isPrivateDataFeatures = checkExtension(properties, "VK_EXT_private_data") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isRayTracingPipelineFeaturesKHR = checkExtension(properties, "VK_KHR_ray_tracing_pipeline"); ++const bool isRayQueryFeaturesKHR = checkExtension(properties, "VK_KHR_ray_query"); ++const bool isRobustness2FeaturesEXT = checkExtension(properties, "VK_EXT_robustness2"); ++const bool isSamplerYcbcrConversionFeatures = checkExtension(properties, "VK_KHR_sampler_ycbcr_conversion") || context.contextSupports(vk::ApiVersion(1, 1, 0)); ++const bool isScalarBlockLayoutFeatures = checkExtension(properties, "VK_EXT_scalar_block_layout") || context.contextSupports(vk::ApiVersion(1, 2, 0)); ++const bool isSeparateDepthStencilLayoutsFeatures = checkExtension(properties, "VK_KHR_separate_depth_stencil_layouts") || context.contextSupports(vk::ApiVersion(1, 2, 0)); ++const bool isShaderAtomicInt64Features = checkExtension(properties, "VK_KHR_shader_atomic_int64") || context.contextSupports(vk::ApiVersion(1, 2, 0)); ++const bool isShaderAtomicFloatFeaturesEXT = checkExtension(properties, "VK_EXT_shader_atomic_float"); ++const bool isShaderAtomicFloat2FeaturesEXT = checkExtension(properties, "VK_EXT_shader_atomic_float2"); ++const bool isShaderFloat16Int8Features = checkExtension(properties, "VK_KHR_shader_float16_int8") || context.contextSupports(vk::ApiVersion(1, 2, 0)); ++const bool isShaderClockFeaturesKHR = checkExtension(properties, "VK_KHR_shader_clock"); ++const bool isShaderDemoteToHelperInvocationFeatures = checkExtension(properties, "VK_EXT_shader_demote_to_helper_invocation") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isShaderDrawParametersFeatures = context.contextSupports(vk::ApiVersion(1, 1, 0)); ++const bool isShaderIntegerDotProductFeatures = checkExtension(properties, "VK_KHR_shader_integer_dot_product") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isShaderIntegerDotProductFeaturesKHR = context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isShaderSubgroupExtendedTypesFeatures = checkExtension(properties, "VK_KHR_shader_subgroup_extended_types") || context.contextSupports(vk::ApiVersion(1, 2, 0)); ++const bool isShaderTerminateInvocationFeatures = checkExtension(properties, "VK_KHR_shader_terminate_invocation") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isSubgroupSizeControlFeatures = checkExtension(properties, "VK_EXT_subgroup_size_control") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isSynchronization2Features = checkExtension(properties, "VK_KHR_synchronization2") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isFragmentShaderInterlockFeaturesEXT = checkExtension(properties, "VK_EXT_fragment_shader_interlock"); ++const bool isTexelBufferAlignmentFeaturesEXT = checkExtension(properties, "VK_EXT_texel_buffer_alignment") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isTextureCompressionASTCHDRFeatures = checkExtension(properties, "VK_EXT_texture_compression_astc_hdr") || context.contextSupports(vk::ApiVersion(1, 3, 0)); ++const bool isTimelineSemaphoreFeatures = checkExtension(properties, "VK_KHR_timeline_semaphore") || context.contextSupports(vk::ApiVersion(1, 2, 0)); ++const bool isTransformFeedbackFeaturesEXT = checkExtension(properties, "VK_EXT_transform_feedback"); ++const bool isUniformBufferStandardLayoutFeatures = checkExtension(properties, "VK_KHR_uniform_buffer_standard_layout") || context.contextSupports(vk::ApiVersion(1, 2, 0)); ++const bool isWorkgroupMemoryExplicitLayoutFeaturesKHR = checkExtension(properties, "VK_KHR_workgroup_memory_explicit_layout"); ++const bool isVariablePointersFeatures = checkExtension(properties, "VK_KHR_variable_pointers") || context.contextSupports(vk::ApiVersion(1, 1, 0)); ++const bool isVertexAttributeDivisorFeaturesEXT = checkExtension(properties, "VK_EXT_vertex_attribute_divisor"); ++const bool isVertexInputDynamicStateFeaturesEXT = checkExtension(properties, "VK_EXT_vertex_input_dynamic_state"); ++const bool isVulkanMemoryModelFeaturesKHR = context.contextSupports(vk::ApiVersion(1, 2, 0)); ++const bool isYcbcrImageArraysFeaturesEXT = checkExtension(properties, "VK_EXT_ycbcr_image_arrays"); ++const bool isYcbcr2Plane444FormatsFeaturesEXT = checkExtension(properties, "VK_EXT_ycbcr_2plane_444_formats"); ++const bool isZeroInitializeWorkgroupMemoryFeatures = checkExtension(properties, "VK_KHR_zero_initialize_workgroup_memory") || context.contextSupports(vk::ApiVersion(1, 3, 0)); + + for (int ndx = 0; ndx < count; ++ndx) + { - deMemset(&deviceConditionalRenderingFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT)); - deMemset(&deviceScalarBlockLayoutFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures)); - deMemset(&devicePerformanceQueryFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDevicePerformanceQueryFeaturesKHR)); - deMemset(&device16BitStorageFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDevice16BitStorageFeatures)); - deMemset(&deviceMultiviewFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceMultiviewFeatures)); - deMemset(&deviceProtectedMemoryFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceProtectedMemoryFeatures)); - deMemset(&deviceSamplerYcbcrConversionFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures)); - deMemset(&deviceVariablePointersFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceVariablePointersFeatures)); - deMemset(&device8BitStorageFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDevice8BitStorageFeatures)); - deMemset(&deviceShaderAtomicInt64Features[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceShaderAtomicInt64Features)); - deMemset(&deviceShaderFloat16Int8Features[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceShaderFloat16Int8Features)); - deMemset(&deviceBufferDeviceAddressFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT)); - deMemset(&deviceBufferDeviceAddressFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceBufferDeviceAddressFeatures)); - deMemset(&deviceDescriptorIndexingFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceDescriptorIndexingFeatures)); - deMemset(&deviceTimelineSemaphoreFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceTimelineSemaphoreFeatures)); - deMemset(&deviceFragmentDensityMapFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT)); - deMemset(&deviceFragmentDensityMap2FeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT)); - deMemset(&deviceShaderIntegerDotProductFeaturesKHR[ndx],0xFF * ndx, sizeof(VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR)); ++ deMemset(&device4444FormatsFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDevice4444FormatsFeaturesEXT)); ++ deMemset(&device8BitStorageFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDevice8BitStorageFeatures)); ++ deMemset(&device16BitStorageFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDevice16BitStorageFeatures)); ++ deMemset(&deviceAccelerationStructureFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceAccelerationStructureFeaturesKHR)); ++ deMemset(&deviceASTCDecodeFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceASTCDecodeFeaturesEXT)); ++ deMemset(&deviceBlendOperationAdvancedFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT)); ++ deMemset(&deviceBufferDeviceAddressFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceBufferDeviceAddressFeaturesEXT)); ++ deMemset(&deviceBufferDeviceAddressFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceBufferDeviceAddressFeatures)); ++ deMemset(&deviceConditionalRenderingFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceConditionalRenderingFeaturesEXT)); ++ deMemset(&deviceCustomBorderColorFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceCustomBorderColorFeaturesEXT)); ++ deMemset(&deviceColorWriteEnableFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceColorWriteEnableFeaturesEXT)); ++ deMemset(&deviceDescriptorIndexingFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceDescriptorIndexingFeatures)); ++ deMemset(&deviceDepthClipEnableFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceDepthClipEnableFeaturesEXT)); ++ deMemset(&deviceDynamicRenderingFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceDynamicRenderingFeatures)); ++ deMemset(&deviceExtendedDynamicStateFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceExtendedDynamicStateFeaturesEXT)); ++ deMemset(&deviceExtendedDynamicState2FeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceExtendedDynamicState2FeaturesEXT)); ++ deMemset(&deviceFragmentDensityMapFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceFragmentDensityMapFeaturesEXT)); ++ deMemset(&deviceFragmentDensityMap2FeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceFragmentDensityMap2FeaturesEXT)); ++ deMemset(&deviceFragmentShadingRateFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceFragmentShadingRateFeaturesKHR)); ++ deMemset(&deviceGlobalPriorityQueryFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT)); ++ deMemset(&deviceInlineUniformBlockFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceInlineUniformBlockFeatures)); ++ deMemset(&deviceIndexTypeUint8FeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceIndexTypeUint8FeaturesEXT)); ++ deMemset(&deviceImagelessFramebufferFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceImagelessFramebufferFeatures)); ++ deMemset(&deviceImageRobustnessFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceImageRobustnessFeatures)); ++ deMemset(&deviceHostQueryResetFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceHostQueryResetFeatures)); ++ deMemset(&deviceLineRasterizationFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceLineRasterizationFeaturesEXT)); ++ deMemset(&deviceMaintenance4Features[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceMaintenance4Features)); ++ deMemset(&deviceMultiviewFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceMultiviewFeatures)); ++ deMemset(&deviceMultiDrawFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceMultiDrawFeaturesEXT)); ++ deMemset(&deviceMemoryPriorityFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceMemoryPriorityFeaturesEXT)); ++ deMemset(&deviceDeviceMemoryReportFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceDeviceMemoryReportFeaturesEXT)); ++ deMemset(&devicePerformanceQueryFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDevicePerformanceQueryFeaturesKHR)); ++ deMemset(&devicePipelineCreationCacheControlFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDevicePipelineCreationCacheControlFeatures)); ++ deMemset(&devicePipelineExecutablePropertiesFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR)); ++ deMemset(&devicePresentIdFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDevicePresentIdFeaturesKHR)); ++ deMemset(&devicePresentWaitFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDevicePresentWaitFeaturesKHR)); ++ deMemset(&deviceProtectedMemoryFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceProtectedMemoryFeatures)); ++ deMemset(&deviceProvokingVertexFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceProvokingVertexFeaturesEXT)); ++ deMemset(&devicePrimitiveTopologyListRestartFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT)); ++ deMemset(&devicePrivateDataFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDevicePrivateDataFeatures)); ++ deMemset(&deviceRayTracingPipelineFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceRayTracingPipelineFeaturesKHR)); ++ deMemset(&deviceRayQueryFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceRayQueryFeaturesKHR)); ++ deMemset(&deviceRobustness2FeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceRobustness2FeaturesEXT)); ++ deMemset(&deviceSamplerYcbcrConversionFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures)); ++ deMemset(&deviceScalarBlockLayoutFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures)); ++ deMemset(&deviceSeparateDepthStencilLayoutsFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures)); ++ deMemset(&deviceShaderAtomicInt64Features[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceShaderAtomicInt64Features)); ++ deMemset(&deviceShaderAtomicFloatFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT)); ++ deMemset(&deviceShaderAtomicFloat2FeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT)); ++ deMemset(&deviceShaderFloat16Int8Features[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceShaderFloat16Int8Features)); ++ deMemset(&deviceShaderClockFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceShaderClockFeaturesKHR)); ++ deMemset(&deviceShaderDemoteToHelperInvocationFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures)); ++ deMemset(&deviceShaderDrawParametersFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceShaderDrawParametersFeatures)); ++ deMemset(&deviceShaderIntegerDotProductFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceShaderIntegerDotProductFeatures)); ++ deMemset(&deviceShaderIntegerDotProductFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR)); ++ deMemset(&deviceShaderSubgroupExtendedTypesFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures)); ++ deMemset(&deviceShaderTerminateInvocationFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceShaderTerminateInvocationFeatures)); ++ deMemset(&deviceSubgroupSizeControlFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceSubgroupSizeControlFeatures)); ++ deMemset(&deviceSynchronization2Features[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceSynchronization2Features)); ++ deMemset(&deviceFragmentShaderInterlockFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT)); ++ deMemset(&deviceTexelBufferAlignmentFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT)); ++ deMemset(&deviceTextureCompressionASTCHDRFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceTextureCompressionASTCHDRFeatures)); ++ deMemset(&deviceTimelineSemaphoreFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceTimelineSemaphoreFeatures)); ++ deMemset(&deviceTransformFeedbackFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceTransformFeedbackFeaturesEXT)); ++ deMemset(&deviceUniformBufferStandardLayoutFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceUniformBufferStandardLayoutFeatures)); ++ deMemset(&deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR)); ++ deMemset(&deviceVariablePointersFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceVariablePointersFeatures)); ++ deMemset(&deviceVertexAttributeDivisorFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT)); ++ deMemset(&deviceVertexInputDynamicStateFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT)); ++ deMemset(&deviceVulkanMemoryModelFeaturesKHR[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceVulkanMemoryModelFeaturesKHR)); ++ deMemset(&deviceYcbcrImageArraysFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceYcbcrImageArraysFeaturesEXT)); ++ deMemset(&deviceYcbcr2Plane444FormatsFeaturesEXT[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT)); ++ deMemset(&deviceZeroInitializeWorkgroupMemoryFeatures[ndx], 0xFF * ndx, sizeof(VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures)); ++ ++ device4444FormatsFeaturesEXT[ndx].sType = is4444FormatsFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ device4444FormatsFeaturesEXT[ndx].pNext = &device8BitStorageFeatures[ndx]; ++ ++ device8BitStorageFeatures[ndx].sType = is8BitStorageFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ device8BitStorageFeatures[ndx].pNext = &device16BitStorageFeatures[ndx]; ++ ++ device16BitStorageFeatures[ndx].sType = is16BitStorageFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ device16BitStorageFeatures[ndx].pNext = &deviceAccelerationStructureFeaturesKHR[ndx]; ++ ++ deviceAccelerationStructureFeaturesKHR[ndx].sType = isAccelerationStructureFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceAccelerationStructureFeaturesKHR[ndx].pNext = &deviceASTCDecodeFeaturesEXT[ndx]; ++ ++ deviceASTCDecodeFeaturesEXT[ndx].sType = isASTCDecodeFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceASTCDecodeFeaturesEXT[ndx].pNext = &deviceBlendOperationAdvancedFeaturesEXT[ndx]; ++ ++ deviceBlendOperationAdvancedFeaturesEXT[ndx].sType = isBlendOperationAdvancedFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceBlendOperationAdvancedFeaturesEXT[ndx].pNext = &deviceBufferDeviceAddressFeaturesEXT[ndx]; ++ ++ deviceBufferDeviceAddressFeaturesEXT[ndx].sType = isBufferDeviceAddressFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceBufferDeviceAddressFeaturesEXT[ndx].pNext = &deviceBufferDeviceAddressFeatures[ndx]; ++ ++ deviceBufferDeviceAddressFeatures[ndx].sType = isBufferDeviceAddressFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceBufferDeviceAddressFeatures[ndx].pNext = &deviceConditionalRenderingFeaturesEXT[ndx]; + + deviceConditionalRenderingFeaturesEXT[ndx].sType = isConditionalRenderingFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceConditionalRenderingFeaturesEXT[ndx].pNext = &deviceScalarBlockLayoutFeatures[ndx]; ++ deviceConditionalRenderingFeaturesEXT[ndx].pNext = &deviceCustomBorderColorFeaturesEXT[ndx]; + - deviceScalarBlockLayoutFeatures[ndx].sType = isScalarBlockLayoutFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceScalarBlockLayoutFeatures[ndx].pNext = &devicePerformanceQueryFeaturesKHR[ndx]; ++ deviceCustomBorderColorFeaturesEXT[ndx].sType = isCustomBorderColorFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceCustomBorderColorFeaturesEXT[ndx].pNext = &deviceColorWriteEnableFeaturesEXT[ndx]; + - devicePerformanceQueryFeaturesKHR[ndx].sType = isPerformanceQueryFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; - devicePerformanceQueryFeaturesKHR[ndx].pNext = &device16BitStorageFeatures[ndx]; ++ deviceColorWriteEnableFeaturesEXT[ndx].sType = isColorWriteEnableFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceColorWriteEnableFeaturesEXT[ndx].pNext = &deviceDescriptorIndexingFeatures[ndx]; + - device16BitStorageFeatures[ndx].sType = is16BitStorageFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; - device16BitStorageFeatures[ndx].pNext = &deviceMultiviewFeatures[ndx]; ++ deviceDescriptorIndexingFeatures[ndx].sType = isDescriptorIndexingFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceDescriptorIndexingFeatures[ndx].pNext = &deviceDepthClipEnableFeaturesEXT[ndx]; ++ ++ deviceDepthClipEnableFeaturesEXT[ndx].sType = isDepthClipEnableFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceDepthClipEnableFeaturesEXT[ndx].pNext = &deviceDynamicRenderingFeatures[ndx]; ++ ++ deviceDynamicRenderingFeatures[ndx].sType = isDynamicRenderingFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceDynamicRenderingFeatures[ndx].pNext = &deviceExtendedDynamicStateFeaturesEXT[ndx]; ++ ++ deviceExtendedDynamicStateFeaturesEXT[ndx].sType = isExtendedDynamicStateFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceExtendedDynamicStateFeaturesEXT[ndx].pNext = &deviceExtendedDynamicState2FeaturesEXT[ndx]; ++ ++ deviceExtendedDynamicState2FeaturesEXT[ndx].sType = isExtendedDynamicState2FeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceExtendedDynamicState2FeaturesEXT[ndx].pNext = &deviceFragmentDensityMapFeaturesEXT[ndx]; ++ ++ deviceFragmentDensityMapFeaturesEXT[ndx].sType = isFragmentDensityMapFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceFragmentDensityMapFeaturesEXT[ndx].pNext = &deviceFragmentDensityMap2FeaturesEXT[ndx]; ++ ++ deviceFragmentDensityMap2FeaturesEXT[ndx].sType = isFragmentDensityMap2FeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceFragmentDensityMap2FeaturesEXT[ndx].pNext = &deviceFragmentShadingRateFeaturesKHR[ndx]; ++ ++ deviceFragmentShadingRateFeaturesKHR[ndx].sType = isFragmentShadingRateFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceFragmentShadingRateFeaturesKHR[ndx].pNext = &deviceGlobalPriorityQueryFeaturesEXT[ndx]; ++ ++ deviceGlobalPriorityQueryFeaturesEXT[ndx].sType = isGlobalPriorityQueryFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceGlobalPriorityQueryFeaturesEXT[ndx].pNext = &deviceInlineUniformBlockFeatures[ndx]; ++ ++ deviceInlineUniformBlockFeatures[ndx].sType = isInlineUniformBlockFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceInlineUniformBlockFeatures[ndx].pNext = &deviceIndexTypeUint8FeaturesEXT[ndx]; ++ ++ deviceIndexTypeUint8FeaturesEXT[ndx].sType = isIndexTypeUint8FeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceIndexTypeUint8FeaturesEXT[ndx].pNext = &deviceImagelessFramebufferFeatures[ndx]; ++ ++ deviceImagelessFramebufferFeatures[ndx].sType = isImagelessFramebufferFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceImagelessFramebufferFeatures[ndx].pNext = &deviceImageRobustnessFeatures[ndx]; ++ ++ deviceImageRobustnessFeatures[ndx].sType = isImageRobustnessFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceImageRobustnessFeatures[ndx].pNext = &deviceHostQueryResetFeatures[ndx]; ++ ++ deviceHostQueryResetFeatures[ndx].sType = isHostQueryResetFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceHostQueryResetFeatures[ndx].pNext = &deviceLineRasterizationFeaturesEXT[ndx]; ++ ++ deviceLineRasterizationFeaturesEXT[ndx].sType = isLineRasterizationFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceLineRasterizationFeaturesEXT[ndx].pNext = &deviceMaintenance4Features[ndx]; ++ ++ deviceMaintenance4Features[ndx].sType = isMaintenance4Features ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceMaintenance4Features[ndx].pNext = &deviceMultiviewFeatures[ndx]; + + deviceMultiviewFeatures[ndx].sType = isMultiviewFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceMultiviewFeatures[ndx].pNext = &deviceProtectedMemoryFeatures[ndx]; ++ deviceMultiviewFeatures[ndx].pNext = &deviceMultiDrawFeaturesEXT[ndx]; ++ ++ deviceMultiDrawFeaturesEXT[ndx].sType = isMultiDrawFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceMultiDrawFeaturesEXT[ndx].pNext = &deviceMemoryPriorityFeaturesEXT[ndx]; ++ ++ deviceMemoryPriorityFeaturesEXT[ndx].sType = isMemoryPriorityFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceMemoryPriorityFeaturesEXT[ndx].pNext = &deviceDeviceMemoryReportFeaturesEXT[ndx]; ++ ++ deviceDeviceMemoryReportFeaturesEXT[ndx].sType = isDeviceMemoryReportFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceDeviceMemoryReportFeaturesEXT[ndx].pNext = &devicePerformanceQueryFeaturesKHR[ndx]; ++ ++ devicePerformanceQueryFeaturesKHR[ndx].sType = isPerformanceQueryFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; ++ devicePerformanceQueryFeaturesKHR[ndx].pNext = &devicePipelineCreationCacheControlFeatures[ndx]; ++ ++ devicePipelineCreationCacheControlFeatures[ndx].sType = isPipelineCreationCacheControlFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ devicePipelineCreationCacheControlFeatures[ndx].pNext = &devicePipelineExecutablePropertiesFeaturesKHR[ndx]; ++ ++ devicePipelineExecutablePropertiesFeaturesKHR[ndx].sType = isPipelineExecutablePropertiesFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; ++ devicePipelineExecutablePropertiesFeaturesKHR[ndx].pNext = &devicePresentIdFeaturesKHR[ndx]; ++ ++ devicePresentIdFeaturesKHR[ndx].sType = isPresentIdFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; ++ devicePresentIdFeaturesKHR[ndx].pNext = &devicePresentWaitFeaturesKHR[ndx]; ++ ++ devicePresentWaitFeaturesKHR[ndx].sType = isPresentWaitFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; ++ devicePresentWaitFeaturesKHR[ndx].pNext = &deviceProtectedMemoryFeatures[ndx]; + + deviceProtectedMemoryFeatures[ndx].sType = isProtectedMemoryFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceProtectedMemoryFeatures[ndx].pNext = &deviceSamplerYcbcrConversionFeatures[ndx]; ++ deviceProtectedMemoryFeatures[ndx].pNext = &deviceProvokingVertexFeaturesEXT[ndx]; ++ ++ deviceProvokingVertexFeaturesEXT[ndx].sType = isProvokingVertexFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceProvokingVertexFeaturesEXT[ndx].pNext = &devicePrimitiveTopologyListRestartFeaturesEXT[ndx]; ++ ++ devicePrimitiveTopologyListRestartFeaturesEXT[ndx].sType = isPrimitiveTopologyListRestartFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ devicePrimitiveTopologyListRestartFeaturesEXT[ndx].pNext = &devicePrivateDataFeatures[ndx]; ++ ++ devicePrivateDataFeatures[ndx].sType = isPrivateDataFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ devicePrivateDataFeatures[ndx].pNext = &deviceRayTracingPipelineFeaturesKHR[ndx]; ++ ++ deviceRayTracingPipelineFeaturesKHR[ndx].sType = isRayTracingPipelineFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceRayTracingPipelineFeaturesKHR[ndx].pNext = &deviceRayQueryFeaturesKHR[ndx]; ++ ++ deviceRayQueryFeaturesKHR[ndx].sType = isRayQueryFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceRayQueryFeaturesKHR[ndx].pNext = &deviceRobustness2FeaturesEXT[ndx]; ++ ++ deviceRobustness2FeaturesEXT[ndx].sType = isRobustness2FeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceRobustness2FeaturesEXT[ndx].pNext = &deviceSamplerYcbcrConversionFeatures[ndx]; + + deviceSamplerYcbcrConversionFeatures[ndx].sType = isSamplerYcbcrConversionFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceSamplerYcbcrConversionFeatures[ndx].pNext = &deviceVariablePointersFeatures[ndx]; ++ deviceSamplerYcbcrConversionFeatures[ndx].pNext = &deviceScalarBlockLayoutFeatures[ndx]; + - deviceVariablePointersFeatures[ndx].sType = isVariablePointersFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceVariablePointersFeatures[ndx].pNext = &device8BitStorageFeatures[ndx]; ++ deviceScalarBlockLayoutFeatures[ndx].sType = isScalarBlockLayoutFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceScalarBlockLayoutFeatures[ndx].pNext = &deviceSeparateDepthStencilLayoutsFeatures[ndx]; + - device8BitStorageFeatures[ndx].sType = is8BitStorageFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; - device8BitStorageFeatures[ndx].pNext = &deviceShaderAtomicInt64Features[ndx]; ++ deviceSeparateDepthStencilLayoutsFeatures[ndx].sType = isSeparateDepthStencilLayoutsFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceSeparateDepthStencilLayoutsFeatures[ndx].pNext = &deviceShaderAtomicInt64Features[ndx]; + + deviceShaderAtomicInt64Features[ndx].sType = isShaderAtomicInt64Features ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceShaderAtomicInt64Features[ndx].pNext = &deviceShaderFloat16Int8Features[ndx]; ++ deviceShaderAtomicInt64Features[ndx].pNext = &deviceShaderAtomicFloatFeaturesEXT[ndx]; ++ ++ deviceShaderAtomicFloatFeaturesEXT[ndx].sType = isShaderAtomicFloatFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceShaderAtomicFloatFeaturesEXT[ndx].pNext = &deviceShaderAtomicFloat2FeaturesEXT[ndx]; ++ ++ deviceShaderAtomicFloat2FeaturesEXT[ndx].sType = isShaderAtomicFloat2FeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceShaderAtomicFloat2FeaturesEXT[ndx].pNext = &deviceShaderFloat16Int8Features[ndx]; + + deviceShaderFloat16Int8Features[ndx].sType = isShaderFloat16Int8Features ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceShaderFloat16Int8Features[ndx].pNext = &deviceBufferDeviceAddressFeaturesEXT[ndx]; ++ deviceShaderFloat16Int8Features[ndx].pNext = &deviceShaderClockFeaturesKHR[ndx]; + - deviceBufferDeviceAddressFeaturesEXT[ndx].sType = isBufferDeviceAddressFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceBufferDeviceAddressFeaturesEXT[ndx].pNext = &deviceBufferDeviceAddressFeatures[ndx]; ++ deviceShaderClockFeaturesKHR[ndx].sType = isShaderClockFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceShaderClockFeaturesKHR[ndx].pNext = &deviceShaderDemoteToHelperInvocationFeatures[ndx]; + - deviceBufferDeviceAddressFeatures[ndx].sType = isBufferDeviceAddressFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceBufferDeviceAddressFeatures[ndx].pNext = &deviceDescriptorIndexingFeatures[ndx]; ++ deviceShaderDemoteToHelperInvocationFeatures[ndx].sType = isShaderDemoteToHelperInvocationFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceShaderDemoteToHelperInvocationFeatures[ndx].pNext = &deviceShaderDrawParametersFeatures[ndx]; + - deviceDescriptorIndexingFeatures[ndx].sType = isDescriptorIndexingFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceDescriptorIndexingFeatures[ndx].pNext = &deviceTimelineSemaphoreFeatures[ndx]; ++ deviceShaderDrawParametersFeatures[ndx].sType = isShaderDrawParametersFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceShaderDrawParametersFeatures[ndx].pNext = &deviceShaderIntegerDotProductFeatures[ndx]; ++ ++ deviceShaderIntegerDotProductFeatures[ndx].sType = isShaderIntegerDotProductFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceShaderIntegerDotProductFeatures[ndx].pNext = &deviceShaderIntegerDotProductFeaturesKHR[ndx]; ++ ++ deviceShaderIntegerDotProductFeaturesKHR[ndx].sType = isShaderIntegerDotProductFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceShaderIntegerDotProductFeaturesKHR[ndx].pNext = &deviceShaderSubgroupExtendedTypesFeatures[ndx]; ++ ++ deviceShaderSubgroupExtendedTypesFeatures[ndx].sType = isShaderSubgroupExtendedTypesFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceShaderSubgroupExtendedTypesFeatures[ndx].pNext = &deviceShaderTerminateInvocationFeatures[ndx]; ++ ++ deviceShaderTerminateInvocationFeatures[ndx].sType = isShaderTerminateInvocationFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceShaderTerminateInvocationFeatures[ndx].pNext = &deviceSubgroupSizeControlFeatures[ndx]; ++ ++ deviceSubgroupSizeControlFeatures[ndx].sType = isSubgroupSizeControlFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceSubgroupSizeControlFeatures[ndx].pNext = &deviceSynchronization2Features[ndx]; ++ ++ deviceSynchronization2Features[ndx].sType = isSynchronization2Features ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceSynchronization2Features[ndx].pNext = &deviceFragmentShaderInterlockFeaturesEXT[ndx]; ++ ++ deviceFragmentShaderInterlockFeaturesEXT[ndx].sType = isFragmentShaderInterlockFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceFragmentShaderInterlockFeaturesEXT[ndx].pNext = &deviceTexelBufferAlignmentFeaturesEXT[ndx]; ++ ++ deviceTexelBufferAlignmentFeaturesEXT[ndx].sType = isTexelBufferAlignmentFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceTexelBufferAlignmentFeaturesEXT[ndx].pNext = &deviceTextureCompressionASTCHDRFeatures[ndx]; ++ ++ deviceTextureCompressionASTCHDRFeatures[ndx].sType = isTextureCompressionASTCHDRFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceTextureCompressionASTCHDRFeatures[ndx].pNext = &deviceTimelineSemaphoreFeatures[ndx]; + + deviceTimelineSemaphoreFeatures[ndx].sType = isTimelineSemaphoreFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceTimelineSemaphoreFeatures[ndx].pNext = &deviceFragmentDensityMapFeaturesEXT[ndx]; ++ deviceTimelineSemaphoreFeatures[ndx].pNext = &deviceTransformFeedbackFeaturesEXT[ndx]; + - deviceFragmentDensityMapFeaturesEXT[ndx].sType = isFragmentDensityMapFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceFragmentDensityMapFeaturesEXT[ndx].pNext = &deviceFragmentDensityMap2FeaturesEXT[ndx]; ++ deviceTransformFeedbackFeaturesEXT[ndx].sType = isTransformFeedbackFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceTransformFeedbackFeaturesEXT[ndx].pNext = &deviceUniformBufferStandardLayoutFeatures[ndx]; + - deviceFragmentDensityMap2FeaturesEXT[ndx].sType = isFragmentDensityMap2FeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceFragmentDensityMap2FeaturesEXT[ndx].pNext = &deviceShaderIntegerDotProductFeaturesKHR[ndx]; ++ deviceUniformBufferStandardLayoutFeatures[ndx].sType = isUniformBufferStandardLayoutFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceUniformBufferStandardLayoutFeatures[ndx].pNext = &deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[ndx]; + - deviceShaderIntegerDotProductFeaturesKHR[ndx].sType = isShaderIntegerDotProductFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; - deviceShaderIntegerDotProductFeaturesKHR[ndx].pNext = DE_NULL; ++ deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[ndx].sType = isWorkgroupMemoryExplicitLayoutFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[ndx].pNext = &deviceVariablePointersFeatures[ndx]; ++ ++ deviceVariablePointersFeatures[ndx].sType = isVariablePointersFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceVariablePointersFeatures[ndx].pNext = &deviceVertexAttributeDivisorFeaturesEXT[ndx]; ++ ++ deviceVertexAttributeDivisorFeaturesEXT[ndx].sType = isVertexAttributeDivisorFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceVertexAttributeDivisorFeaturesEXT[ndx].pNext = &deviceVertexInputDynamicStateFeaturesEXT[ndx]; ++ ++ deviceVertexInputDynamicStateFeaturesEXT[ndx].sType = isVertexInputDynamicStateFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceVertexInputDynamicStateFeaturesEXT[ndx].pNext = &deviceVulkanMemoryModelFeaturesKHR[ndx]; ++ ++ deviceVulkanMemoryModelFeaturesKHR[ndx].sType = isVulkanMemoryModelFeaturesKHR ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceVulkanMemoryModelFeaturesKHR[ndx].pNext = &deviceYcbcrImageArraysFeaturesEXT[ndx]; ++ ++ deviceYcbcrImageArraysFeaturesEXT[ndx].sType = isYcbcrImageArraysFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceYcbcrImageArraysFeaturesEXT[ndx].pNext = &deviceYcbcr2Plane444FormatsFeaturesEXT[ndx]; ++ ++ deviceYcbcr2Plane444FormatsFeaturesEXT[ndx].sType = isYcbcr2Plane444FormatsFeaturesEXT ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceYcbcr2Plane444FormatsFeaturesEXT[ndx].pNext = &deviceZeroInitializeWorkgroupMemoryFeatures[ndx]; ++ ++ deviceZeroInitializeWorkgroupMemoryFeatures[ndx].sType = isZeroInitializeWorkgroupMemoryFeatures ? VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES : VK_STRUCTURE_TYPE_MAX_ENUM; ++ deviceZeroInitializeWorkgroupMemoryFeatures[ndx].pNext = DE_NULL; + + deMemset(&extFeatures.features, 0xcd, sizeof(extFeatures.features)); + extFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; - extFeatures.pNext = &deviceConditionalRenderingFeaturesEXT[ndx]; ++ extFeatures.pNext = &device4444FormatsFeaturesEXT[ndx]; + vki.getPhysicalDeviceFeatures2(physicalDevice, &extFeatures); + } + -if (isConditionalRenderingFeaturesEXT) - log << TestLog::Message << deviceConditionalRenderingFeaturesEXT[0] << TestLog::EndMessage; -if (isScalarBlockLayoutFeatures) - log << TestLog::Message << deviceScalarBlockLayoutFeatures[0] << TestLog::EndMessage; -if (isPerformanceQueryFeaturesKHR) - log << TestLog::Message << devicePerformanceQueryFeaturesKHR[0] << TestLog::EndMessage; -if (is16BitStorageFeatures) - log << TestLog::Message << device16BitStorageFeatures[0] << TestLog::EndMessage; -if (isMultiviewFeatures) - log << TestLog::Message << deviceMultiviewFeatures[0] << TestLog::EndMessage; -if (isProtectedMemoryFeatures) - log << TestLog::Message << deviceProtectedMemoryFeatures[0] << TestLog::EndMessage; -if (isSamplerYcbcrConversionFeatures) - log << TestLog::Message << deviceSamplerYcbcrConversionFeatures[0] << TestLog::EndMessage; -if (isVariablePointersFeatures) - log << TestLog::Message << deviceVariablePointersFeatures[0] << TestLog::EndMessage; ++if (is4444FormatsFeaturesEXT) ++ log << TestLog::Message << device4444FormatsFeaturesEXT[0] << TestLog::EndMessage; + if (is8BitStorageFeatures) + log << TestLog::Message << device8BitStorageFeatures[0] << TestLog::EndMessage; -if (isShaderAtomicInt64Features) - log << TestLog::Message << deviceShaderAtomicInt64Features[0] << TestLog::EndMessage; -if (isShaderFloat16Int8Features) - log << TestLog::Message << deviceShaderFloat16Int8Features[0] << TestLog::EndMessage; ++if (is16BitStorageFeatures) ++ log << TestLog::Message << device16BitStorageFeatures[0] << TestLog::EndMessage; ++if (isAccelerationStructureFeaturesKHR) ++ log << TestLog::Message << deviceAccelerationStructureFeaturesKHR[0] << TestLog::EndMessage; ++if (isASTCDecodeFeaturesEXT) ++ log << TestLog::Message << deviceASTCDecodeFeaturesEXT[0] << TestLog::EndMessage; ++if (isBlendOperationAdvancedFeaturesEXT) ++ log << TestLog::Message << deviceBlendOperationAdvancedFeaturesEXT[0] << TestLog::EndMessage; + if (isBufferDeviceAddressFeaturesEXT) + log << TestLog::Message << deviceBufferDeviceAddressFeaturesEXT[0] << TestLog::EndMessage; + if (isBufferDeviceAddressFeatures) + log << TestLog::Message << deviceBufferDeviceAddressFeatures[0] << TestLog::EndMessage; ++if (isConditionalRenderingFeaturesEXT) ++ log << TestLog::Message << deviceConditionalRenderingFeaturesEXT[0] << TestLog::EndMessage; ++if (isCustomBorderColorFeaturesEXT) ++ log << TestLog::Message << deviceCustomBorderColorFeaturesEXT[0] << TestLog::EndMessage; ++if (isColorWriteEnableFeaturesEXT) ++ log << TestLog::Message << deviceColorWriteEnableFeaturesEXT[0] << TestLog::EndMessage; + if (isDescriptorIndexingFeatures) + log << TestLog::Message << deviceDescriptorIndexingFeatures[0] << TestLog::EndMessage; -if (isTimelineSemaphoreFeatures) - log << TestLog::Message << deviceTimelineSemaphoreFeatures[0] << TestLog::EndMessage; ++if (isDepthClipEnableFeaturesEXT) ++ log << TestLog::Message << deviceDepthClipEnableFeaturesEXT[0] << TestLog::EndMessage; ++if (isDynamicRenderingFeatures) ++ log << TestLog::Message << deviceDynamicRenderingFeatures[0] << TestLog::EndMessage; ++if (isExtendedDynamicStateFeaturesEXT) ++ log << TestLog::Message << deviceExtendedDynamicStateFeaturesEXT[0] << TestLog::EndMessage; ++if (isExtendedDynamicState2FeaturesEXT) ++ log << TestLog::Message << deviceExtendedDynamicState2FeaturesEXT[0] << TestLog::EndMessage; + if (isFragmentDensityMapFeaturesEXT) + log << TestLog::Message << deviceFragmentDensityMapFeaturesEXT[0] << TestLog::EndMessage; + if (isFragmentDensityMap2FeaturesEXT) + log << TestLog::Message << deviceFragmentDensityMap2FeaturesEXT[0] << TestLog::EndMessage; ++if (isFragmentShadingRateFeaturesKHR) ++ log << TestLog::Message << deviceFragmentShadingRateFeaturesKHR[0] << TestLog::EndMessage; ++if (isGlobalPriorityQueryFeaturesEXT) ++ log << TestLog::Message << deviceGlobalPriorityQueryFeaturesEXT[0] << TestLog::EndMessage; ++if (isInlineUniformBlockFeatures) ++ log << TestLog::Message << deviceInlineUniformBlockFeatures[0] << TestLog::EndMessage; ++if (isIndexTypeUint8FeaturesEXT) ++ log << TestLog::Message << deviceIndexTypeUint8FeaturesEXT[0] << TestLog::EndMessage; ++if (isImagelessFramebufferFeatures) ++ log << TestLog::Message << deviceImagelessFramebufferFeatures[0] << TestLog::EndMessage; ++if (isImageRobustnessFeatures) ++ log << TestLog::Message << deviceImageRobustnessFeatures[0] << TestLog::EndMessage; ++if (isHostQueryResetFeatures) ++ log << TestLog::Message << deviceHostQueryResetFeatures[0] << TestLog::EndMessage; ++if (isLineRasterizationFeaturesEXT) ++ log << TestLog::Message << deviceLineRasterizationFeaturesEXT[0] << TestLog::EndMessage; ++if (isMaintenance4Features) ++ log << TestLog::Message << deviceMaintenance4Features[0] << TestLog::EndMessage; ++if (isMultiviewFeatures) ++ log << TestLog::Message << deviceMultiviewFeatures[0] << TestLog::EndMessage; ++if (isMultiDrawFeaturesEXT) ++ log << TestLog::Message << deviceMultiDrawFeaturesEXT[0] << TestLog::EndMessage; ++if (isMemoryPriorityFeaturesEXT) ++ log << TestLog::Message << deviceMemoryPriorityFeaturesEXT[0] << TestLog::EndMessage; ++if (isDeviceMemoryReportFeaturesEXT) ++ log << TestLog::Message << deviceDeviceMemoryReportFeaturesEXT[0] << TestLog::EndMessage; ++if (isPerformanceQueryFeaturesKHR) ++ log << TestLog::Message << devicePerformanceQueryFeaturesKHR[0] << TestLog::EndMessage; ++if (isPipelineCreationCacheControlFeatures) ++ log << TestLog::Message << devicePipelineCreationCacheControlFeatures[0] << TestLog::EndMessage; ++if (isPipelineExecutablePropertiesFeaturesKHR) ++ log << TestLog::Message << devicePipelineExecutablePropertiesFeaturesKHR[0] << TestLog::EndMessage; ++if (isPresentIdFeaturesKHR) ++ log << TestLog::Message << devicePresentIdFeaturesKHR[0] << TestLog::EndMessage; ++if (isPresentWaitFeaturesKHR) ++ log << TestLog::Message << devicePresentWaitFeaturesKHR[0] << TestLog::EndMessage; ++if (isProtectedMemoryFeatures) ++ log << TestLog::Message << deviceProtectedMemoryFeatures[0] << TestLog::EndMessage; ++if (isProvokingVertexFeaturesEXT) ++ log << TestLog::Message << deviceProvokingVertexFeaturesEXT[0] << TestLog::EndMessage; ++if (isPrimitiveTopologyListRestartFeaturesEXT) ++ log << TestLog::Message << devicePrimitiveTopologyListRestartFeaturesEXT[0] << TestLog::EndMessage; ++if (isPrivateDataFeatures) ++ log << TestLog::Message << devicePrivateDataFeatures[0] << TestLog::EndMessage; ++if (isRayTracingPipelineFeaturesKHR) ++ log << TestLog::Message << deviceRayTracingPipelineFeaturesKHR[0] << TestLog::EndMessage; ++if (isRayQueryFeaturesKHR) ++ log << TestLog::Message << deviceRayQueryFeaturesKHR[0] << TestLog::EndMessage; ++if (isRobustness2FeaturesEXT) ++ log << TestLog::Message << deviceRobustness2FeaturesEXT[0] << TestLog::EndMessage; ++if (isSamplerYcbcrConversionFeatures) ++ log << TestLog::Message << deviceSamplerYcbcrConversionFeatures[0] << TestLog::EndMessage; ++if (isScalarBlockLayoutFeatures) ++ log << TestLog::Message << deviceScalarBlockLayoutFeatures[0] << TestLog::EndMessage; ++if (isSeparateDepthStencilLayoutsFeatures) ++ log << TestLog::Message << deviceSeparateDepthStencilLayoutsFeatures[0] << TestLog::EndMessage; ++if (isShaderAtomicInt64Features) ++ log << TestLog::Message << deviceShaderAtomicInt64Features[0] << TestLog::EndMessage; ++if (isShaderAtomicFloatFeaturesEXT) ++ log << TestLog::Message << deviceShaderAtomicFloatFeaturesEXT[0] << TestLog::EndMessage; ++if (isShaderAtomicFloat2FeaturesEXT) ++ log << TestLog::Message << deviceShaderAtomicFloat2FeaturesEXT[0] << TestLog::EndMessage; ++if (isShaderFloat16Int8Features) ++ log << TestLog::Message << deviceShaderFloat16Int8Features[0] << TestLog::EndMessage; ++if (isShaderClockFeaturesKHR) ++ log << TestLog::Message << deviceShaderClockFeaturesKHR[0] << TestLog::EndMessage; ++if (isShaderDemoteToHelperInvocationFeatures) ++ log << TestLog::Message << deviceShaderDemoteToHelperInvocationFeatures[0] << TestLog::EndMessage; ++if (isShaderDrawParametersFeatures) ++ log << TestLog::Message << deviceShaderDrawParametersFeatures[0] << TestLog::EndMessage; ++if (isShaderIntegerDotProductFeatures) ++ log << TestLog::Message << deviceShaderIntegerDotProductFeatures[0] << TestLog::EndMessage; + if (isShaderIntegerDotProductFeaturesKHR) + log << TestLog::Message << deviceShaderIntegerDotProductFeaturesKHR[0] << TestLog::EndMessage; ++if (isShaderSubgroupExtendedTypesFeatures) ++ log << TestLog::Message << deviceShaderSubgroupExtendedTypesFeatures[0] << TestLog::EndMessage; ++if (isShaderTerminateInvocationFeatures) ++ log << TestLog::Message << deviceShaderTerminateInvocationFeatures[0] << TestLog::EndMessage; ++if (isSubgroupSizeControlFeatures) ++ log << TestLog::Message << deviceSubgroupSizeControlFeatures[0] << TestLog::EndMessage; ++if (isSynchronization2Features) ++ log << TestLog::Message << deviceSynchronization2Features[0] << TestLog::EndMessage; ++if (isFragmentShaderInterlockFeaturesEXT) ++ log << TestLog::Message << deviceFragmentShaderInterlockFeaturesEXT[0] << TestLog::EndMessage; ++if (isTexelBufferAlignmentFeaturesEXT) ++ log << TestLog::Message << deviceTexelBufferAlignmentFeaturesEXT[0] << TestLog::EndMessage; ++if (isTextureCompressionASTCHDRFeatures) ++ log << TestLog::Message << deviceTextureCompressionASTCHDRFeatures[0] << TestLog::EndMessage; ++if (isTimelineSemaphoreFeatures) ++ log << TestLog::Message << deviceTimelineSemaphoreFeatures[0] << TestLog::EndMessage; ++if (isTransformFeedbackFeaturesEXT) ++ log << TestLog::Message << deviceTransformFeedbackFeaturesEXT[0] << TestLog::EndMessage; ++if (isUniformBufferStandardLayoutFeatures) ++ log << TestLog::Message << deviceUniformBufferStandardLayoutFeatures[0] << TestLog::EndMessage; ++if (isWorkgroupMemoryExplicitLayoutFeaturesKHR) ++ log << TestLog::Message << deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[0] << TestLog::EndMessage; ++if (isVariablePointersFeatures) ++ log << TestLog::Message << deviceVariablePointersFeatures[0] << TestLog::EndMessage; ++if (isVertexAttributeDivisorFeaturesEXT) ++ log << TestLog::Message << deviceVertexAttributeDivisorFeaturesEXT[0] << TestLog::EndMessage; ++if (isVertexInputDynamicStateFeaturesEXT) ++ log << TestLog::Message << deviceVertexInputDynamicStateFeaturesEXT[0] << TestLog::EndMessage; ++if (isVulkanMemoryModelFeaturesKHR) ++ log << TestLog::Message << deviceVulkanMemoryModelFeaturesKHR[0] << TestLog::EndMessage; ++if (isYcbcrImageArraysFeaturesEXT) ++ log << TestLog::Message << deviceYcbcrImageArraysFeaturesEXT[0] << TestLog::EndMessage; ++if (isYcbcr2Plane444FormatsFeaturesEXT) ++ log << TestLog::Message << deviceYcbcr2Plane444FormatsFeaturesEXT[0] << TestLog::EndMessage; ++if (isZeroInitializeWorkgroupMemoryFeatures) ++ log << TestLog::Message << deviceZeroInitializeWorkgroupMemoryFeatures[0] << TestLog::EndMessage; + -if (isConditionalRenderingFeaturesEXT && - (deviceConditionalRenderingFeaturesEXT[0].conditionalRendering != deviceConditionalRenderingFeaturesEXT[1].conditionalRendering || - deviceConditionalRenderingFeaturesEXT[0].inheritedConditionalRendering != deviceConditionalRenderingFeaturesEXT[1].inheritedConditionalRendering)) ++if (is4444FormatsFeaturesEXT && ++ (device4444FormatsFeaturesEXT[0].formatA4R4G4B4 != device4444FormatsFeaturesEXT[1].formatA4R4G4B4 || ++ device4444FormatsFeaturesEXT[0].formatA4B4G4R4 != device4444FormatsFeaturesEXT[1].formatA4B4G4R4)) + { - TCU_FAIL("Mismatch between VkPhysicalDeviceConditionalRenderingFeaturesEXT"); ++ TCU_FAIL("Mismatch between VkPhysicalDevice4444FormatsFeaturesEXT"); + } -if (isScalarBlockLayoutFeatures && - (deviceScalarBlockLayoutFeatures[0].scalarBlockLayout != deviceScalarBlockLayoutFeatures[1].scalarBlockLayout)) -{ - TCU_FAIL("Mismatch between VkPhysicalDeviceScalarBlockLayoutFeatures"); -} -if (isPerformanceQueryFeaturesKHR && - (devicePerformanceQueryFeaturesKHR[0].performanceCounterQueryPools != devicePerformanceQueryFeaturesKHR[1].performanceCounterQueryPools || - devicePerformanceQueryFeaturesKHR[0].performanceCounterMultipleQueryPools != devicePerformanceQueryFeaturesKHR[1].performanceCounterMultipleQueryPools)) ++if (is8BitStorageFeatures && ++ (device8BitStorageFeatures[0].storageBuffer8BitAccess != device8BitStorageFeatures[1].storageBuffer8BitAccess || ++ device8BitStorageFeatures[0].uniformAndStorageBuffer8BitAccess != device8BitStorageFeatures[1].uniformAndStorageBuffer8BitAccess || ++ device8BitStorageFeatures[0].storagePushConstant8 != device8BitStorageFeatures[1].storagePushConstant8)) + { - TCU_FAIL("Mismatch between VkPhysicalDevicePerformanceQueryFeaturesKHR"); ++ TCU_FAIL("Mismatch between VkPhysicalDevice8BitStorageFeatures"); + } + if (is16BitStorageFeatures && + (device16BitStorageFeatures[0].storageBuffer16BitAccess != device16BitStorageFeatures[1].storageBuffer16BitAccess || + device16BitStorageFeatures[0].uniformAndStorageBuffer16BitAccess != device16BitStorageFeatures[1].uniformAndStorageBuffer16BitAccess || + device16BitStorageFeatures[0].storagePushConstant16 != device16BitStorageFeatures[1].storagePushConstant16 || + device16BitStorageFeatures[0].storageInputOutput16 != device16BitStorageFeatures[1].storageInputOutput16)) + { + TCU_FAIL("Mismatch between VkPhysicalDevice16BitStorageFeatures"); + } -if (isMultiviewFeatures && - (deviceMultiviewFeatures[0].multiview != deviceMultiviewFeatures[1].multiview || - deviceMultiviewFeatures[0].multiviewGeometryShader != deviceMultiviewFeatures[1].multiviewGeometryShader || - deviceMultiviewFeatures[0].multiviewTessellationShader != deviceMultiviewFeatures[1].multiviewTessellationShader)) -{ - TCU_FAIL("Mismatch between VkPhysicalDeviceMultiviewFeatures"); -} -if (isProtectedMemoryFeatures && - (deviceProtectedMemoryFeatures[0].protectedMemory != deviceProtectedMemoryFeatures[1].protectedMemory)) -{ - TCU_FAIL("Mismatch between VkPhysicalDeviceProtectedMemoryFeatures"); -} -if (isSamplerYcbcrConversionFeatures && - (deviceSamplerYcbcrConversionFeatures[0].samplerYcbcrConversion != deviceSamplerYcbcrConversionFeatures[1].samplerYcbcrConversion)) -{ - TCU_FAIL("Mismatch between VkPhysicalDeviceSamplerYcbcrConversionFeatures"); -} -if (isVariablePointersFeatures && - (deviceVariablePointersFeatures[0].variablePointersStorageBuffer != deviceVariablePointersFeatures[1].variablePointersStorageBuffer || - deviceVariablePointersFeatures[0].variablePointers != deviceVariablePointersFeatures[1].variablePointers)) -{ - TCU_FAIL("Mismatch between VkPhysicalDeviceVariablePointersFeatures"); -} -if (is8BitStorageFeatures && - (device8BitStorageFeatures[0].storageBuffer8BitAccess != device8BitStorageFeatures[1].storageBuffer8BitAccess || - device8BitStorageFeatures[0].uniformAndStorageBuffer8BitAccess != device8BitStorageFeatures[1].uniformAndStorageBuffer8BitAccess || - device8BitStorageFeatures[0].storagePushConstant8 != device8BitStorageFeatures[1].storagePushConstant8)) ++if (isAccelerationStructureFeaturesKHR && ++ (deviceAccelerationStructureFeaturesKHR[0].accelerationStructure != deviceAccelerationStructureFeaturesKHR[1].accelerationStructure || ++ deviceAccelerationStructureFeaturesKHR[0].accelerationStructureCaptureReplay != deviceAccelerationStructureFeaturesKHR[1].accelerationStructureCaptureReplay || ++ deviceAccelerationStructureFeaturesKHR[0].accelerationStructureIndirectBuild != deviceAccelerationStructureFeaturesKHR[1].accelerationStructureIndirectBuild || ++ deviceAccelerationStructureFeaturesKHR[0].accelerationStructureHostCommands != deviceAccelerationStructureFeaturesKHR[1].accelerationStructureHostCommands || ++ deviceAccelerationStructureFeaturesKHR[0].descriptorBindingAccelerationStructureUpdateAfterBind != deviceAccelerationStructureFeaturesKHR[1].descriptorBindingAccelerationStructureUpdateAfterBind)) + { - TCU_FAIL("Mismatch between VkPhysicalDevice8BitStorageFeatures"); ++ TCU_FAIL("Mismatch between VkPhysicalDeviceAccelerationStructureFeaturesKHR"); + } -if (isShaderAtomicInt64Features && - (deviceShaderAtomicInt64Features[0].shaderBufferInt64Atomics != deviceShaderAtomicInt64Features[1].shaderBufferInt64Atomics || - deviceShaderAtomicInt64Features[0].shaderSharedInt64Atomics != deviceShaderAtomicInt64Features[1].shaderSharedInt64Atomics)) ++if (isASTCDecodeFeaturesEXT && ++ (deviceASTCDecodeFeaturesEXT[0].decodeModeSharedExponent != deviceASTCDecodeFeaturesEXT[1].decodeModeSharedExponent)) + { - TCU_FAIL("Mismatch between VkPhysicalDeviceShaderAtomicInt64Features"); ++ TCU_FAIL("Mismatch between VkPhysicalDeviceASTCDecodeFeaturesEXT"); + } -if (isShaderFloat16Int8Features && - (deviceShaderFloat16Int8Features[0].shaderFloat16 != deviceShaderFloat16Int8Features[1].shaderFloat16 || - deviceShaderFloat16Int8Features[0].shaderInt8 != deviceShaderFloat16Int8Features[1].shaderInt8)) ++if (isBlendOperationAdvancedFeaturesEXT && ++ (deviceBlendOperationAdvancedFeaturesEXT[0].advancedBlendCoherentOperations != deviceBlendOperationAdvancedFeaturesEXT[1].advancedBlendCoherentOperations)) + { - TCU_FAIL("Mismatch between VkPhysicalDeviceShaderFloat16Int8Features"); ++ TCU_FAIL("Mismatch between VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT"); + } + if (isBufferDeviceAddressFeaturesEXT && + (deviceBufferDeviceAddressFeaturesEXT[0].bufferDeviceAddress != deviceBufferDeviceAddressFeaturesEXT[1].bufferDeviceAddress || + deviceBufferDeviceAddressFeaturesEXT[0].bufferDeviceAddressCaptureReplay != deviceBufferDeviceAddressFeaturesEXT[1].bufferDeviceAddressCaptureReplay || + deviceBufferDeviceAddressFeaturesEXT[0].bufferDeviceAddressMultiDevice != deviceBufferDeviceAddressFeaturesEXT[1].bufferDeviceAddressMultiDevice)) + { + TCU_FAIL("Mismatch between VkPhysicalDeviceBufferDeviceAddressFeaturesEXT"); + } + if (isBufferDeviceAddressFeatures && + (deviceBufferDeviceAddressFeatures[0].bufferDeviceAddress != deviceBufferDeviceAddressFeatures[1].bufferDeviceAddress || + deviceBufferDeviceAddressFeatures[0].bufferDeviceAddressCaptureReplay != deviceBufferDeviceAddressFeatures[1].bufferDeviceAddressCaptureReplay || + deviceBufferDeviceAddressFeatures[0].bufferDeviceAddressMultiDevice != deviceBufferDeviceAddressFeatures[1].bufferDeviceAddressMultiDevice)) + { + TCU_FAIL("Mismatch between VkPhysicalDeviceBufferDeviceAddressFeatures"); + } ++if (isConditionalRenderingFeaturesEXT && ++ (deviceConditionalRenderingFeaturesEXT[0].conditionalRendering != deviceConditionalRenderingFeaturesEXT[1].conditionalRendering || ++ deviceConditionalRenderingFeaturesEXT[0].inheritedConditionalRendering != deviceConditionalRenderingFeaturesEXT[1].inheritedConditionalRendering)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceConditionalRenderingFeaturesEXT"); ++} ++if (isCustomBorderColorFeaturesEXT && ++ (deviceCustomBorderColorFeaturesEXT[0].customBorderColors != deviceCustomBorderColorFeaturesEXT[1].customBorderColors || ++ deviceCustomBorderColorFeaturesEXT[0].customBorderColorWithoutFormat != deviceCustomBorderColorFeaturesEXT[1].customBorderColorWithoutFormat)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceCustomBorderColorFeaturesEXT"); ++} ++if (isColorWriteEnableFeaturesEXT && ++ (deviceColorWriteEnableFeaturesEXT[0].colorWriteEnable != deviceColorWriteEnableFeaturesEXT[1].colorWriteEnable)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceColorWriteEnableFeaturesEXT"); ++} + if (isDescriptorIndexingFeatures && + (deviceDescriptorIndexingFeatures[0].shaderInputAttachmentArrayDynamicIndexing != deviceDescriptorIndexingFeatures[1].shaderInputAttachmentArrayDynamicIndexing || + deviceDescriptorIndexingFeatures[0].shaderUniformTexelBufferArrayDynamicIndexing != deviceDescriptorIndexingFeatures[1].shaderUniformTexelBufferArrayDynamicIndexing || + deviceDescriptorIndexingFeatures[0].shaderStorageTexelBufferArrayDynamicIndexing != deviceDescriptorIndexingFeatures[1].shaderStorageTexelBufferArrayDynamicIndexing || + deviceDescriptorIndexingFeatures[0].shaderUniformBufferArrayNonUniformIndexing != deviceDescriptorIndexingFeatures[1].shaderUniformBufferArrayNonUniformIndexing || + deviceDescriptorIndexingFeatures[0].shaderSampledImageArrayNonUniformIndexing != deviceDescriptorIndexingFeatures[1].shaderSampledImageArrayNonUniformIndexing || + deviceDescriptorIndexingFeatures[0].shaderStorageBufferArrayNonUniformIndexing != deviceDescriptorIndexingFeatures[1].shaderStorageBufferArrayNonUniformIndexing || + deviceDescriptorIndexingFeatures[0].shaderStorageImageArrayNonUniformIndexing != deviceDescriptorIndexingFeatures[1].shaderStorageImageArrayNonUniformIndexing || + deviceDescriptorIndexingFeatures[0].shaderInputAttachmentArrayNonUniformIndexing != deviceDescriptorIndexingFeatures[1].shaderInputAttachmentArrayNonUniformIndexing || + deviceDescriptorIndexingFeatures[0].shaderUniformTexelBufferArrayNonUniformIndexing != deviceDescriptorIndexingFeatures[1].shaderUniformTexelBufferArrayNonUniformIndexing || + deviceDescriptorIndexingFeatures[0].shaderStorageTexelBufferArrayNonUniformIndexing != deviceDescriptorIndexingFeatures[1].shaderStorageTexelBufferArrayNonUniformIndexing || + deviceDescriptorIndexingFeatures[0].descriptorBindingUniformBufferUpdateAfterBind != deviceDescriptorIndexingFeatures[1].descriptorBindingUniformBufferUpdateAfterBind || + deviceDescriptorIndexingFeatures[0].descriptorBindingSampledImageUpdateAfterBind != deviceDescriptorIndexingFeatures[1].descriptorBindingSampledImageUpdateAfterBind || + deviceDescriptorIndexingFeatures[0].descriptorBindingStorageImageUpdateAfterBind != deviceDescriptorIndexingFeatures[1].descriptorBindingStorageImageUpdateAfterBind || + deviceDescriptorIndexingFeatures[0].descriptorBindingStorageBufferUpdateAfterBind != deviceDescriptorIndexingFeatures[1].descriptorBindingStorageBufferUpdateAfterBind || + deviceDescriptorIndexingFeatures[0].descriptorBindingUniformTexelBufferUpdateAfterBind != deviceDescriptorIndexingFeatures[1].descriptorBindingUniformTexelBufferUpdateAfterBind || + deviceDescriptorIndexingFeatures[0].descriptorBindingStorageTexelBufferUpdateAfterBind != deviceDescriptorIndexingFeatures[1].descriptorBindingStorageTexelBufferUpdateAfterBind || + deviceDescriptorIndexingFeatures[0].descriptorBindingUpdateUnusedWhilePending != deviceDescriptorIndexingFeatures[1].descriptorBindingUpdateUnusedWhilePending || + deviceDescriptorIndexingFeatures[0].descriptorBindingPartiallyBound != deviceDescriptorIndexingFeatures[1].descriptorBindingPartiallyBound || + deviceDescriptorIndexingFeatures[0].descriptorBindingVariableDescriptorCount != deviceDescriptorIndexingFeatures[1].descriptorBindingVariableDescriptorCount || + deviceDescriptorIndexingFeatures[0].runtimeDescriptorArray != deviceDescriptorIndexingFeatures[1].runtimeDescriptorArray)) + { + TCU_FAIL("Mismatch between VkPhysicalDeviceDescriptorIndexingFeatures"); + } -if (isTimelineSemaphoreFeatures && - (deviceTimelineSemaphoreFeatures[0].timelineSemaphore != deviceTimelineSemaphoreFeatures[1].timelineSemaphore)) ++if (isDepthClipEnableFeaturesEXT && ++ (deviceDepthClipEnableFeaturesEXT[0].depthClipEnable != deviceDepthClipEnableFeaturesEXT[1].depthClipEnable)) + { - TCU_FAIL("Mismatch between VkPhysicalDeviceTimelineSemaphoreFeatures"); ++ TCU_FAIL("Mismatch between VkPhysicalDeviceDepthClipEnableFeaturesEXT"); ++} ++if (isDynamicRenderingFeatures && ++ (deviceDynamicRenderingFeatures[0].dynamicRendering != deviceDynamicRenderingFeatures[1].dynamicRendering)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceDynamicRenderingFeatures"); ++} ++if (isExtendedDynamicStateFeaturesEXT && ++ (deviceExtendedDynamicStateFeaturesEXT[0].extendedDynamicState != deviceExtendedDynamicStateFeaturesEXT[1].extendedDynamicState)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceExtendedDynamicStateFeaturesEXT"); ++} ++if (isExtendedDynamicState2FeaturesEXT && ++ (deviceExtendedDynamicState2FeaturesEXT[0].extendedDynamicState2 != deviceExtendedDynamicState2FeaturesEXT[1].extendedDynamicState2 || ++ deviceExtendedDynamicState2FeaturesEXT[0].extendedDynamicState2LogicOp != deviceExtendedDynamicState2FeaturesEXT[1].extendedDynamicState2LogicOp || ++ deviceExtendedDynamicState2FeaturesEXT[0].extendedDynamicState2PatchControlPoints != deviceExtendedDynamicState2FeaturesEXT[1].extendedDynamicState2PatchControlPoints)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceExtendedDynamicState2FeaturesEXT"); + } + if (isFragmentDensityMapFeaturesEXT && + (deviceFragmentDensityMapFeaturesEXT[0].fragmentDensityMap != deviceFragmentDensityMapFeaturesEXT[1].fragmentDensityMap || + deviceFragmentDensityMapFeaturesEXT[0].fragmentDensityMapDynamic != deviceFragmentDensityMapFeaturesEXT[1].fragmentDensityMapDynamic || + deviceFragmentDensityMapFeaturesEXT[0].fragmentDensityMapNonSubsampledImages != deviceFragmentDensityMapFeaturesEXT[1].fragmentDensityMapNonSubsampledImages)) + { + TCU_FAIL("Mismatch between VkPhysicalDeviceFragmentDensityMapFeaturesEXT"); + } + if (isFragmentDensityMap2FeaturesEXT && + (deviceFragmentDensityMap2FeaturesEXT[0].fragmentDensityMapDeferred != deviceFragmentDensityMap2FeaturesEXT[1].fragmentDensityMapDeferred)) + { + TCU_FAIL("Mismatch between VkPhysicalDeviceFragmentDensityMap2FeaturesEXT"); + } ++if (isFragmentShadingRateFeaturesKHR && ++ (deviceFragmentShadingRateFeaturesKHR[0].pipelineFragmentShadingRate != deviceFragmentShadingRateFeaturesKHR[1].pipelineFragmentShadingRate || ++ deviceFragmentShadingRateFeaturesKHR[0].primitiveFragmentShadingRate != deviceFragmentShadingRateFeaturesKHR[1].primitiveFragmentShadingRate || ++ deviceFragmentShadingRateFeaturesKHR[0].attachmentFragmentShadingRate != deviceFragmentShadingRateFeaturesKHR[1].attachmentFragmentShadingRate)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceFragmentShadingRateFeaturesKHR"); ++} ++if (isGlobalPriorityQueryFeaturesEXT && ++ (deviceGlobalPriorityQueryFeaturesEXT[0].globalPriorityQuery != deviceGlobalPriorityQueryFeaturesEXT[1].globalPriorityQuery)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT"); ++} ++if (isInlineUniformBlockFeatures && ++ (deviceInlineUniformBlockFeatures[0].inlineUniformBlock != deviceInlineUniformBlockFeatures[1].inlineUniformBlock || ++ deviceInlineUniformBlockFeatures[0].descriptorBindingInlineUniformBlockUpdateAfterBind != deviceInlineUniformBlockFeatures[1].descriptorBindingInlineUniformBlockUpdateAfterBind)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceInlineUniformBlockFeatures"); ++} ++if (isIndexTypeUint8FeaturesEXT && ++ (deviceIndexTypeUint8FeaturesEXT[0].indexTypeUint8 != deviceIndexTypeUint8FeaturesEXT[1].indexTypeUint8)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceIndexTypeUint8FeaturesEXT"); ++} ++if (isImagelessFramebufferFeatures && ++ (deviceImagelessFramebufferFeatures[0].imagelessFramebuffer != deviceImagelessFramebufferFeatures[1].imagelessFramebuffer)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceImagelessFramebufferFeatures"); ++} ++if (isImageRobustnessFeatures && ++ (deviceImageRobustnessFeatures[0].robustImageAccess != deviceImageRobustnessFeatures[1].robustImageAccess)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceImageRobustnessFeatures"); ++} ++if (isHostQueryResetFeatures && ++ (deviceHostQueryResetFeatures[0].hostQueryReset != deviceHostQueryResetFeatures[1].hostQueryReset)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceHostQueryResetFeatures"); ++} ++if (isLineRasterizationFeaturesEXT && ++ (deviceLineRasterizationFeaturesEXT[0].rectangularLines != deviceLineRasterizationFeaturesEXT[1].rectangularLines || ++ deviceLineRasterizationFeaturesEXT[0].bresenhamLines != deviceLineRasterizationFeaturesEXT[1].bresenhamLines || ++ deviceLineRasterizationFeaturesEXT[0].smoothLines != deviceLineRasterizationFeaturesEXT[1].smoothLines || ++ deviceLineRasterizationFeaturesEXT[0].stippledRectangularLines != deviceLineRasterizationFeaturesEXT[1].stippledRectangularLines || ++ deviceLineRasterizationFeaturesEXT[0].stippledBresenhamLines != deviceLineRasterizationFeaturesEXT[1].stippledBresenhamLines || ++ deviceLineRasterizationFeaturesEXT[0].stippledSmoothLines != deviceLineRasterizationFeaturesEXT[1].stippledSmoothLines)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceLineRasterizationFeaturesEXT"); ++} ++if (isMaintenance4Features && ++ (deviceMaintenance4Features[0].maintenance4 != deviceMaintenance4Features[1].maintenance4)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceMaintenance4Features"); ++} ++if (isMultiviewFeatures && ++ (deviceMultiviewFeatures[0].multiview != deviceMultiviewFeatures[1].multiview || ++ deviceMultiviewFeatures[0].multiviewGeometryShader != deviceMultiviewFeatures[1].multiviewGeometryShader || ++ deviceMultiviewFeatures[0].multiviewTessellationShader != deviceMultiviewFeatures[1].multiviewTessellationShader)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceMultiviewFeatures"); ++} ++if (isMultiDrawFeaturesEXT && ++ (deviceMultiDrawFeaturesEXT[0].multiDraw != deviceMultiDrawFeaturesEXT[1].multiDraw)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceMultiDrawFeaturesEXT"); ++} ++if (isMemoryPriorityFeaturesEXT && ++ (deviceMemoryPriorityFeaturesEXT[0].memoryPriority != deviceMemoryPriorityFeaturesEXT[1].memoryPriority)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceMemoryPriorityFeaturesEXT"); ++} ++if (isDeviceMemoryReportFeaturesEXT && ++ (deviceDeviceMemoryReportFeaturesEXT[0].deviceMemoryReport != deviceDeviceMemoryReportFeaturesEXT[1].deviceMemoryReport)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceDeviceMemoryReportFeaturesEXT"); ++} ++if (isPerformanceQueryFeaturesKHR && ++ (devicePerformanceQueryFeaturesKHR[0].performanceCounterQueryPools != devicePerformanceQueryFeaturesKHR[1].performanceCounterQueryPools || ++ devicePerformanceQueryFeaturesKHR[0].performanceCounterMultipleQueryPools != devicePerformanceQueryFeaturesKHR[1].performanceCounterMultipleQueryPools)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDevicePerformanceQueryFeaturesKHR"); ++} ++if (isPipelineCreationCacheControlFeatures && ++ (devicePipelineCreationCacheControlFeatures[0].pipelineCreationCacheControl != devicePipelineCreationCacheControlFeatures[1].pipelineCreationCacheControl)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDevicePipelineCreationCacheControlFeatures"); ++} ++if (isPipelineExecutablePropertiesFeaturesKHR && ++ (devicePipelineExecutablePropertiesFeaturesKHR[0].pipelineExecutableInfo != devicePipelineExecutablePropertiesFeaturesKHR[1].pipelineExecutableInfo)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR"); ++} ++if (isPresentIdFeaturesKHR && ++ (devicePresentIdFeaturesKHR[0].presentId != devicePresentIdFeaturesKHR[1].presentId)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDevicePresentIdFeaturesKHR"); ++} ++if (isPresentWaitFeaturesKHR && ++ (devicePresentWaitFeaturesKHR[0].presentWait != devicePresentWaitFeaturesKHR[1].presentWait)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDevicePresentWaitFeaturesKHR"); ++} ++if (isProtectedMemoryFeatures && ++ (deviceProtectedMemoryFeatures[0].protectedMemory != deviceProtectedMemoryFeatures[1].protectedMemory)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceProtectedMemoryFeatures"); ++} ++if (isProvokingVertexFeaturesEXT && ++ (deviceProvokingVertexFeaturesEXT[0].provokingVertexLast != deviceProvokingVertexFeaturesEXT[1].provokingVertexLast || ++ deviceProvokingVertexFeaturesEXT[0].transformFeedbackPreservesProvokingVertex != deviceProvokingVertexFeaturesEXT[1].transformFeedbackPreservesProvokingVertex)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceProvokingVertexFeaturesEXT"); ++} ++if (isPrimitiveTopologyListRestartFeaturesEXT && ++ (devicePrimitiveTopologyListRestartFeaturesEXT[0].primitiveTopologyListRestart != devicePrimitiveTopologyListRestartFeaturesEXT[1].primitiveTopologyListRestart || ++ devicePrimitiveTopologyListRestartFeaturesEXT[0].primitiveTopologyPatchListRestart != devicePrimitiveTopologyListRestartFeaturesEXT[1].primitiveTopologyPatchListRestart)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT"); ++} ++if (isPrivateDataFeatures && ++ (devicePrivateDataFeatures[0].privateData != devicePrivateDataFeatures[1].privateData)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDevicePrivateDataFeatures"); ++} ++if (isRayTracingPipelineFeaturesKHR && ++ (deviceRayTracingPipelineFeaturesKHR[0].rayTracingPipeline != deviceRayTracingPipelineFeaturesKHR[1].rayTracingPipeline || ++ deviceRayTracingPipelineFeaturesKHR[0].rayTracingPipelineShaderGroupHandleCaptureReplay != deviceRayTracingPipelineFeaturesKHR[1].rayTracingPipelineShaderGroupHandleCaptureReplay || ++ deviceRayTracingPipelineFeaturesKHR[0].rayTracingPipelineShaderGroupHandleCaptureReplayMixed != deviceRayTracingPipelineFeaturesKHR[1].rayTracingPipelineShaderGroupHandleCaptureReplayMixed || ++ deviceRayTracingPipelineFeaturesKHR[0].rayTracingPipelineTraceRaysIndirect != deviceRayTracingPipelineFeaturesKHR[1].rayTracingPipelineTraceRaysIndirect || ++ deviceRayTracingPipelineFeaturesKHR[0].rayTraversalPrimitiveCulling != deviceRayTracingPipelineFeaturesKHR[1].rayTraversalPrimitiveCulling)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceRayTracingPipelineFeaturesKHR"); ++} ++if (isRayQueryFeaturesKHR && ++ (deviceRayQueryFeaturesKHR[0].rayQuery != deviceRayQueryFeaturesKHR[1].rayQuery)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceRayQueryFeaturesKHR"); ++} ++if (isRobustness2FeaturesEXT && ++ (deviceRobustness2FeaturesEXT[0].robustBufferAccess2 != deviceRobustness2FeaturesEXT[1].robustBufferAccess2 || ++ deviceRobustness2FeaturesEXT[0].robustImageAccess2 != deviceRobustness2FeaturesEXT[1].robustImageAccess2 || ++ deviceRobustness2FeaturesEXT[0].nullDescriptor != deviceRobustness2FeaturesEXT[1].nullDescriptor)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceRobustness2FeaturesEXT"); ++} ++if (isSamplerYcbcrConversionFeatures && ++ (deviceSamplerYcbcrConversionFeatures[0].samplerYcbcrConversion != deviceSamplerYcbcrConversionFeatures[1].samplerYcbcrConversion)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceSamplerYcbcrConversionFeatures"); ++} ++if (isScalarBlockLayoutFeatures && ++ (deviceScalarBlockLayoutFeatures[0].scalarBlockLayout != deviceScalarBlockLayoutFeatures[1].scalarBlockLayout)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceScalarBlockLayoutFeatures"); ++} ++if (isSeparateDepthStencilLayoutsFeatures && ++ (deviceSeparateDepthStencilLayoutsFeatures[0].separateDepthStencilLayouts != deviceSeparateDepthStencilLayoutsFeatures[1].separateDepthStencilLayouts)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures"); ++} ++if (isShaderAtomicInt64Features && ++ (deviceShaderAtomicInt64Features[0].shaderBufferInt64Atomics != deviceShaderAtomicInt64Features[1].shaderBufferInt64Atomics || ++ deviceShaderAtomicInt64Features[0].shaderSharedInt64Atomics != deviceShaderAtomicInt64Features[1].shaderSharedInt64Atomics)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceShaderAtomicInt64Features"); ++} ++if (isShaderAtomicFloatFeaturesEXT && ++ (deviceShaderAtomicFloatFeaturesEXT[0].shaderBufferFloat32Atomics != deviceShaderAtomicFloatFeaturesEXT[1].shaderBufferFloat32Atomics || ++ deviceShaderAtomicFloatFeaturesEXT[0].shaderBufferFloat32AtomicAdd != deviceShaderAtomicFloatFeaturesEXT[1].shaderBufferFloat32AtomicAdd || ++ deviceShaderAtomicFloatFeaturesEXT[0].shaderBufferFloat64Atomics != deviceShaderAtomicFloatFeaturesEXT[1].shaderBufferFloat64Atomics || ++ deviceShaderAtomicFloatFeaturesEXT[0].shaderBufferFloat64AtomicAdd != deviceShaderAtomicFloatFeaturesEXT[1].shaderBufferFloat64AtomicAdd || ++ deviceShaderAtomicFloatFeaturesEXT[0].shaderSharedFloat32Atomics != deviceShaderAtomicFloatFeaturesEXT[1].shaderSharedFloat32Atomics || ++ deviceShaderAtomicFloatFeaturesEXT[0].shaderSharedFloat32AtomicAdd != deviceShaderAtomicFloatFeaturesEXT[1].shaderSharedFloat32AtomicAdd || ++ deviceShaderAtomicFloatFeaturesEXT[0].shaderSharedFloat64Atomics != deviceShaderAtomicFloatFeaturesEXT[1].shaderSharedFloat64Atomics || ++ deviceShaderAtomicFloatFeaturesEXT[0].shaderSharedFloat64AtomicAdd != deviceShaderAtomicFloatFeaturesEXT[1].shaderSharedFloat64AtomicAdd || ++ deviceShaderAtomicFloatFeaturesEXT[0].shaderImageFloat32Atomics != deviceShaderAtomicFloatFeaturesEXT[1].shaderImageFloat32Atomics || ++ deviceShaderAtomicFloatFeaturesEXT[0].shaderImageFloat32AtomicAdd != deviceShaderAtomicFloatFeaturesEXT[1].shaderImageFloat32AtomicAdd || ++ deviceShaderAtomicFloatFeaturesEXT[0].sparseImageFloat32Atomics != deviceShaderAtomicFloatFeaturesEXT[1].sparseImageFloat32Atomics || ++ deviceShaderAtomicFloatFeaturesEXT[0].sparseImageFloat32AtomicAdd != deviceShaderAtomicFloatFeaturesEXT[1].sparseImageFloat32AtomicAdd)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceShaderAtomicFloatFeaturesEXT"); ++} ++if (isShaderAtomicFloat2FeaturesEXT && ++ (deviceShaderAtomicFloat2FeaturesEXT[0].shaderBufferFloat16Atomics != deviceShaderAtomicFloat2FeaturesEXT[1].shaderBufferFloat16Atomics || ++ deviceShaderAtomicFloat2FeaturesEXT[0].shaderBufferFloat16AtomicAdd != deviceShaderAtomicFloat2FeaturesEXT[1].shaderBufferFloat16AtomicAdd || ++ deviceShaderAtomicFloat2FeaturesEXT[0].shaderBufferFloat16AtomicMinMax != deviceShaderAtomicFloat2FeaturesEXT[1].shaderBufferFloat16AtomicMinMax || ++ deviceShaderAtomicFloat2FeaturesEXT[0].shaderBufferFloat32AtomicMinMax != deviceShaderAtomicFloat2FeaturesEXT[1].shaderBufferFloat32AtomicMinMax || ++ deviceShaderAtomicFloat2FeaturesEXT[0].shaderBufferFloat64AtomicMinMax != deviceShaderAtomicFloat2FeaturesEXT[1].shaderBufferFloat64AtomicMinMax || ++ deviceShaderAtomicFloat2FeaturesEXT[0].shaderSharedFloat16Atomics != deviceShaderAtomicFloat2FeaturesEXT[1].shaderSharedFloat16Atomics || ++ deviceShaderAtomicFloat2FeaturesEXT[0].shaderSharedFloat16AtomicAdd != deviceShaderAtomicFloat2FeaturesEXT[1].shaderSharedFloat16AtomicAdd || ++ deviceShaderAtomicFloat2FeaturesEXT[0].shaderSharedFloat16AtomicMinMax != deviceShaderAtomicFloat2FeaturesEXT[1].shaderSharedFloat16AtomicMinMax || ++ deviceShaderAtomicFloat2FeaturesEXT[0].shaderSharedFloat32AtomicMinMax != deviceShaderAtomicFloat2FeaturesEXT[1].shaderSharedFloat32AtomicMinMax || ++ deviceShaderAtomicFloat2FeaturesEXT[0].shaderSharedFloat64AtomicMinMax != deviceShaderAtomicFloat2FeaturesEXT[1].shaderSharedFloat64AtomicMinMax || ++ deviceShaderAtomicFloat2FeaturesEXT[0].shaderImageFloat32AtomicMinMax != deviceShaderAtomicFloat2FeaturesEXT[1].shaderImageFloat32AtomicMinMax || ++ deviceShaderAtomicFloat2FeaturesEXT[0].sparseImageFloat32AtomicMinMax != deviceShaderAtomicFloat2FeaturesEXT[1].sparseImageFloat32AtomicMinMax)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT"); ++} ++if (isShaderFloat16Int8Features && ++ (deviceShaderFloat16Int8Features[0].shaderFloat16 != deviceShaderFloat16Int8Features[1].shaderFloat16 || ++ deviceShaderFloat16Int8Features[0].shaderInt8 != deviceShaderFloat16Int8Features[1].shaderInt8)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceShaderFloat16Int8Features"); ++} ++if (isShaderClockFeaturesKHR && ++ (deviceShaderClockFeaturesKHR[0].shaderSubgroupClock != deviceShaderClockFeaturesKHR[1].shaderSubgroupClock || ++ deviceShaderClockFeaturesKHR[0].shaderDeviceClock != deviceShaderClockFeaturesKHR[1].shaderDeviceClock)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceShaderClockFeaturesKHR"); ++} ++if (isShaderDemoteToHelperInvocationFeatures && ++ (deviceShaderDemoteToHelperInvocationFeatures[0].shaderDemoteToHelperInvocation != deviceShaderDemoteToHelperInvocationFeatures[1].shaderDemoteToHelperInvocation)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures"); ++} ++if (isShaderDrawParametersFeatures && ++ (deviceShaderDrawParametersFeatures[0].shaderDrawParameters != deviceShaderDrawParametersFeatures[1].shaderDrawParameters)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceShaderDrawParametersFeatures"); ++} ++if (isShaderIntegerDotProductFeatures && ++ (deviceShaderIntegerDotProductFeatures[0].shaderIntegerDotProduct != deviceShaderIntegerDotProductFeatures[1].shaderIntegerDotProduct)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceShaderIntegerDotProductFeatures"); ++} + if (isShaderIntegerDotProductFeaturesKHR && + (deviceShaderIntegerDotProductFeaturesKHR[0].shaderIntegerDotProduct != deviceShaderIntegerDotProductFeaturesKHR[1].shaderIntegerDotProduct)) + { + TCU_FAIL("Mismatch between VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR"); + } ++if (isShaderSubgroupExtendedTypesFeatures && ++ (deviceShaderSubgroupExtendedTypesFeatures[0].shaderSubgroupExtendedTypes != deviceShaderSubgroupExtendedTypesFeatures[1].shaderSubgroupExtendedTypes)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures"); ++} ++if (isShaderTerminateInvocationFeatures && ++ (deviceShaderTerminateInvocationFeatures[0].shaderTerminateInvocation != deviceShaderTerminateInvocationFeatures[1].shaderTerminateInvocation)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceShaderTerminateInvocationFeatures"); ++} ++if (isSubgroupSizeControlFeatures && ++ (deviceSubgroupSizeControlFeatures[0].subgroupSizeControl != deviceSubgroupSizeControlFeatures[1].subgroupSizeControl || ++ deviceSubgroupSizeControlFeatures[0].computeFullSubgroups != deviceSubgroupSizeControlFeatures[1].computeFullSubgroups)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceSubgroupSizeControlFeatures"); ++} ++if (isSynchronization2Features && ++ (deviceSynchronization2Features[0].synchronization2 != deviceSynchronization2Features[1].synchronization2)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceSynchronization2Features"); ++} ++if (isFragmentShaderInterlockFeaturesEXT && ++ (deviceFragmentShaderInterlockFeaturesEXT[0].fragmentShaderSampleInterlock != deviceFragmentShaderInterlockFeaturesEXT[1].fragmentShaderSampleInterlock || ++ deviceFragmentShaderInterlockFeaturesEXT[0].fragmentShaderPixelInterlock != deviceFragmentShaderInterlockFeaturesEXT[1].fragmentShaderPixelInterlock || ++ deviceFragmentShaderInterlockFeaturesEXT[0].fragmentShaderShadingRateInterlock != deviceFragmentShaderInterlockFeaturesEXT[1].fragmentShaderShadingRateInterlock)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT"); ++} ++if (isTexelBufferAlignmentFeaturesEXT && ++ (deviceTexelBufferAlignmentFeaturesEXT[0].texelBufferAlignment != deviceTexelBufferAlignmentFeaturesEXT[1].texelBufferAlignment)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT"); ++} ++if (isTextureCompressionASTCHDRFeatures && ++ (deviceTextureCompressionASTCHDRFeatures[0].textureCompressionASTC_HDR != deviceTextureCompressionASTCHDRFeatures[1].textureCompressionASTC_HDR)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceTextureCompressionASTCHDRFeatures"); ++} ++if (isTimelineSemaphoreFeatures && ++ (deviceTimelineSemaphoreFeatures[0].timelineSemaphore != deviceTimelineSemaphoreFeatures[1].timelineSemaphore)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceTimelineSemaphoreFeatures"); ++} ++if (isTransformFeedbackFeaturesEXT && ++ (deviceTransformFeedbackFeaturesEXT[0].transformFeedback != deviceTransformFeedbackFeaturesEXT[1].transformFeedback || ++ deviceTransformFeedbackFeaturesEXT[0].geometryStreams != deviceTransformFeedbackFeaturesEXT[1].geometryStreams)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceTransformFeedbackFeaturesEXT"); ++} ++if (isUniformBufferStandardLayoutFeatures && ++ (deviceUniformBufferStandardLayoutFeatures[0].uniformBufferStandardLayout != deviceUniformBufferStandardLayoutFeatures[1].uniformBufferStandardLayout)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceUniformBufferStandardLayoutFeatures"); ++} ++if (isWorkgroupMemoryExplicitLayoutFeaturesKHR && ++ (deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[0].workgroupMemoryExplicitLayout != deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[1].workgroupMemoryExplicitLayout || ++ deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[0].workgroupMemoryExplicitLayoutScalarBlockLayout != deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[1].workgroupMemoryExplicitLayoutScalarBlockLayout || ++ deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[0].workgroupMemoryExplicitLayout8BitAccess != deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[1].workgroupMemoryExplicitLayout8BitAccess || ++ deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[0].workgroupMemoryExplicitLayout16BitAccess != deviceWorkgroupMemoryExplicitLayoutFeaturesKHR[1].workgroupMemoryExplicitLayout16BitAccess)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR"); ++} ++if (isVariablePointersFeatures && ++ (deviceVariablePointersFeatures[0].variablePointersStorageBuffer != deviceVariablePointersFeatures[1].variablePointersStorageBuffer || ++ deviceVariablePointersFeatures[0].variablePointers != deviceVariablePointersFeatures[1].variablePointers)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceVariablePointersFeatures"); ++} ++if (isVertexAttributeDivisorFeaturesEXT && ++ (deviceVertexAttributeDivisorFeaturesEXT[0].vertexAttributeInstanceRateDivisor != deviceVertexAttributeDivisorFeaturesEXT[1].vertexAttributeInstanceRateDivisor || ++ deviceVertexAttributeDivisorFeaturesEXT[0].vertexAttributeInstanceRateZeroDivisor != deviceVertexAttributeDivisorFeaturesEXT[1].vertexAttributeInstanceRateZeroDivisor)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT"); ++} ++if (isVertexInputDynamicStateFeaturesEXT && ++ (deviceVertexInputDynamicStateFeaturesEXT[0].vertexInputDynamicState != deviceVertexInputDynamicStateFeaturesEXT[1].vertexInputDynamicState)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT"); ++} ++if (isVulkanMemoryModelFeaturesKHR && ++ (deviceVulkanMemoryModelFeaturesKHR[0].vulkanMemoryModel != deviceVulkanMemoryModelFeaturesKHR[1].vulkanMemoryModel || ++ deviceVulkanMemoryModelFeaturesKHR[0].vulkanMemoryModelDeviceScope != deviceVulkanMemoryModelFeaturesKHR[1].vulkanMemoryModelDeviceScope || ++ deviceVulkanMemoryModelFeaturesKHR[0].vulkanMemoryModelAvailabilityVisibilityChains != deviceVulkanMemoryModelFeaturesKHR[1].vulkanMemoryModelAvailabilityVisibilityChains)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceVulkanMemoryModelFeaturesKHR"); ++} ++if (isYcbcrImageArraysFeaturesEXT && ++ (deviceYcbcrImageArraysFeaturesEXT[0].ycbcrImageArrays != deviceYcbcrImageArraysFeaturesEXT[1].ycbcrImageArrays)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceYcbcrImageArraysFeaturesEXT"); ++} ++if (isYcbcr2Plane444FormatsFeaturesEXT && ++ (deviceYcbcr2Plane444FormatsFeaturesEXT[0].ycbcr2plane444Formats != deviceYcbcr2Plane444FormatsFeaturesEXT[1].ycbcr2plane444Formats)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT"); ++} ++if (isZeroInitializeWorkgroupMemoryFeatures && ++ (deviceZeroInitializeWorkgroupMemoryFeatures[0].shaderZeroInitializeWorkgroupMemory != deviceZeroInitializeWorkgroupMemoryFeatures[1].shaderZeroInitializeWorkgroupMemory)) ++{ ++ TCU_FAIL("Mismatch between VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures"); ++} diff --cc external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl index 0000000,495a35c..e0ddea9 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDecl.inl @@@ -1,0 -1,107 +1,107 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ -const vk::VkPhysicalDevice16BitStorageFeatures& get16BitStorageFeatures (void) const; -const vk::VkPhysicalDevice4444FormatsFeaturesEXT& get4444FormatsFeaturesEXT (void) const; -const vk::VkPhysicalDevice8BitStorageFeatures& get8BitStorageFeatures (void) const; -const vk::VkPhysicalDeviceAccelerationStructureFeaturesKHR& getAccelerationStructureFeatures (void) const; -const vk::VkPhysicalDeviceASTCDecodeFeaturesEXT& getASTCDecodeFeaturesEXT (void) const; -const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& getBlendOperationAdvancedFeaturesEXT (void) const; -const vk::VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& getBorderColorSwizzleFeaturesEXT (void) const; -const vk::VkPhysicalDeviceBufferDeviceAddressFeatures& getBufferDeviceAddressFeatures (void) const; -const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& getBufferDeviceAddressFeaturesEXT (void) const; -const vk::VkPhysicalDeviceCoherentMemoryFeaturesAMD& getCoherentMemoryFeaturesAMD (void) const; -const vk::VkPhysicalDeviceColorWriteEnableFeaturesEXT& getColorWriteEnableFeaturesEXT (void) const; -const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& getComputeShaderDerivativesFeatures (void) const; -const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT& getConditionalRenderingFeaturesEXT (void) const; -const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV& getCooperativeMatrixFeatures (void) const; -const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV& getCornerSampledImageFeatures (void) const; -const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV& getCoverageReductionModeFeatures (void) const; -const vk::VkPhysicalDeviceCustomBorderColorFeaturesEXT& getCustomBorderColorFeaturesEXT (void) const; -const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& getDedicatedAllocationImageAliasingFeatures (void) const; -const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT& getDepthClipControlFeaturesEXT (void) const; -const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT& getDepthClipEnableFeaturesEXT (void) const; -const vk::VkPhysicalDeviceDescriptorIndexingFeatures& getDescriptorIndexingFeatures (void) const; -const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV& getDeviceGeneratedCommandsFeatures (void) const; -const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT& getDeviceMemoryReportFeaturesEXT (void) const; -const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV& getDiagnosticsConfigFeatures (void) const; -const vk::VkPhysicalDeviceDynamicRenderingFeaturesKHR& getDynamicRenderingFeatures (void) const; -const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV& getExclusiveScissorFeatures (void) const; -const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& getExtendedDynamicStateFeaturesEXT (void) const; -const vk::VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& getExtendedDynamicState2FeaturesEXT (void) const; -const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& getExternalMemoryRDMAFeatures (void) const; -const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT& getFragmentDensityMapFeaturesEXT (void) const; -const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& getFragmentDensityMap2FeaturesEXT (void) const; -const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& getFragmentShaderBarycentricFeatures (void) const; -const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& getFragmentShaderInterlockFeaturesEXT (void) const; -const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR& getFragmentShadingRateFeatures (void) const; -const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& getFragmentShadingRateEnumsFeatures (void) const; -const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT& getGlobalPriorityQueryFeaturesEXT (void) const; -const vk::VkPhysicalDeviceHostQueryResetFeatures& getHostQueryResetFeatures (void) const; -const vk::VkPhysicalDeviceImagelessFramebufferFeatures& getImagelessFramebufferFeatures (void) const; -const vk::VkPhysicalDeviceImageRobustnessFeaturesEXT& getImageRobustnessFeaturesEXT (void) const; -const vk::VkPhysicalDeviceImageViewMinLodFeaturesEXT& getImageViewMinLodFeaturesEXT (void) const; -const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT& getIndexTypeUint8FeaturesEXT (void) const; -const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV& getInheritedViewportScissorFeatures (void) const; -const vk::VkPhysicalDeviceInlineUniformBlockFeaturesEXT& getInlineUniformBlockFeaturesEXT (void) const; -const vk::VkPhysicalDeviceInvocationMaskFeaturesHUAWEI& getInvocationMaskFeaturesHUAWEI (void) const; -const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT& getLineRasterizationFeaturesEXT (void) const; -const vk::VkPhysicalDeviceMaintenance4FeaturesKHR& getMaintenance4Features (void) const; -const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT& getMemoryPriorityFeaturesEXT (void) const; -const vk::VkPhysicalDeviceMeshShaderFeaturesNV& getMeshShaderFeatures (void) const; -const vk::VkPhysicalDeviceMultiviewFeatures& getMultiviewFeatures (void) const; -const vk::VkPhysicalDeviceMultiDrawFeaturesEXT& getMultiDrawFeaturesEXT (void) const; -const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE& getMutableDescriptorTypeFeaturesVALVE (void) const; -const vk::VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT& getPageableDeviceLocalMemoryFeaturesEXT (void) const; -const vk::VkPhysicalDevicePerformanceQueryFeaturesKHR& getPerformanceQueryFeatures (void) const; -const vk::VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT& getPipelineCreationCacheControlFeaturesEXT (void) const; -const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& getPipelineExecutablePropertiesFeatures (void) const; -const vk::VkPhysicalDevicePortabilitySubsetFeaturesKHR& getPortabilitySubsetFeatures (void) const; -const vk::VkPhysicalDevicePresentIdFeaturesKHR& getPresentIdFeatures (void) const; -const vk::VkPhysicalDevicePresentWaitFeaturesKHR& getPresentWaitFeatures (void) const; -const vk::VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT& getPrimitiveTopologyListRestartFeaturesEXT (void) const; -const vk::VkPhysicalDevicePrivateDataFeaturesEXT& getPrivateDataFeaturesEXT (void) const; -const vk::VkPhysicalDeviceProtectedMemoryFeatures& getProtectedMemoryFeatures (void) const; -const vk::VkPhysicalDeviceProvokingVertexFeaturesEXT& getProvokingVertexFeaturesEXT (void) const; -const vk::VkPhysicalDeviceRayQueryFeaturesKHR& getRayQueryFeatures (void) const; -const vk::VkPhysicalDeviceRayTracingMotionBlurFeaturesNV& getRayTracingMotionBlurFeatures (void) const; -const vk::VkPhysicalDeviceRayTracingPipelineFeaturesKHR& getRayTracingPipelineFeatures (void) const; -const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& getRepresentativeFragmentTestFeatures (void) const; -const vk::VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT& getRGBA10X6FormatsFeaturesEXT (void) const; -const vk::VkPhysicalDeviceRobustness2FeaturesEXT& getRobustness2FeaturesEXT (void) const; -const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures& getSamplerYcbcrConversionFeatures (void) const; -const vk::VkPhysicalDeviceScalarBlockLayoutFeatures& getScalarBlockLayoutFeatures (void) const; -const vk::VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& getSeparateDepthStencilLayoutsFeatures (void) const; -const vk::VkPhysicalDeviceShaderAtomicFloatFeaturesEXT& getShaderAtomicFloatFeaturesEXT (void) const; -const vk::VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT& getShaderAtomicFloat2FeaturesEXT (void) const; -const vk::VkPhysicalDeviceShaderAtomicInt64Features& getShaderAtomicInt64Features (void) const; -const vk::VkPhysicalDeviceShaderClockFeaturesKHR& getShaderClockFeatures (void) const; -const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& getShaderDemoteToHelperInvocationFeaturesEXT (void) const; -const vk::VkPhysicalDeviceShaderDrawParametersFeatures& getShaderDrawParametersFeatures (void) const; -const vk::VkPhysicalDeviceShaderFloat16Int8Features& getShaderFloat16Int8Features (void) const; -const vk::VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT& getShaderImageAtomicInt64FeaturesEXT (void) const; -const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV& getShaderImageFootprintFeatures (void) const; -const vk::VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR& getShaderIntegerDotProductFeatures (void) const; -const vk::VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& getShaderIntegerFunctions2FeaturesINTEL (void) const; -const vk::VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& getShaderSMBuiltinsFeatures (void) const; -const vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& getShaderSubgroupExtendedTypesFeatures (void) const; -const vk::VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& getShaderSubgroupUniformControlFlowFeatures (void) const; -const vk::VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR& getShaderTerminateInvocationFeatures (void) const; -const vk::VkPhysicalDeviceShadingRateImageFeaturesNV& getShadingRateImageFeatures (void) const; -const vk::VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& getSubgroupSizeControlFeaturesEXT (void) const; -const vk::VkPhysicalDeviceSubpassShadingFeaturesHUAWEI& getSubpassShadingFeaturesHUAWEI (void) const; -const vk::VkPhysicalDeviceSynchronization2FeaturesKHR& getSynchronization2Features (void) const; -const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& getTexelBufferAlignmentFeaturesEXT (void) const; -const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& getTextureCompressionASTCHDRFeaturesEXT (void) const; -const vk::VkPhysicalDeviceTimelineSemaphoreFeatures& getTimelineSemaphoreFeatures (void) const; -const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT& getTransformFeedbackFeaturesEXT (void) const; -const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures& getUniformBufferStandardLayoutFeatures (void) const; -const vk::VkPhysicalDeviceVariablePointersFeatures& getVariablePointersFeatures (void) const; -const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& getVertexAttributeDivisorFeaturesEXT (void) const; -const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT& getVertexInputDynamicStateFeaturesEXT (void) const; -const vk::VkPhysicalDeviceVulkanMemoryModelFeatures& getVulkanMemoryModelFeatures (void) const; -const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR& getWorkgroupMemoryExplicitLayoutFeatures (void) const; -const vk::VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT& getYcbcr2Plane444FormatsFeaturesEXT (void) const; -const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& getYcbcrImageArraysFeaturesEXT (void) const; -const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR& getZeroInitializeWorkgroupMemoryFeatures (void) const; ++const vk::VkPhysicalDevice16BitStorageFeatures& get16BitStorageFeatures (void) const; ++const vk::VkPhysicalDevice4444FormatsFeaturesEXT& get4444FormatsFeaturesEXT (void) const; ++const vk::VkPhysicalDevice8BitStorageFeatures& get8BitStorageFeatures (void) const; ++const vk::VkPhysicalDeviceAccelerationStructureFeaturesKHR& getAccelerationStructureFeatures (void) const; ++const vk::VkPhysicalDeviceASTCDecodeFeaturesEXT& getASTCDecodeFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& getBlendOperationAdvancedFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& getBorderColorSwizzleFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceBufferDeviceAddressFeatures& getBufferDeviceAddressFeatures (void) const; ++const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& getBufferDeviceAddressFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceCoherentMemoryFeaturesAMD& getCoherentMemoryFeaturesAMD (void) const; ++const vk::VkPhysicalDeviceColorWriteEnableFeaturesEXT& getColorWriteEnableFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& getComputeShaderDerivativesFeatures (void) const; ++const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT& getConditionalRenderingFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV& getCooperativeMatrixFeatures (void) const; ++const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV& getCornerSampledImageFeatures (void) const; ++const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV& getCoverageReductionModeFeatures (void) const; ++const vk::VkPhysicalDeviceCustomBorderColorFeaturesEXT& getCustomBorderColorFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& getDedicatedAllocationImageAliasingFeatures (void) const; ++const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT& getDepthClipControlFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT& getDepthClipEnableFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceDescriptorIndexingFeatures& getDescriptorIndexingFeatures (void) const; ++const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV& getDeviceGeneratedCommandsFeatures (void) const; ++const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT& getDeviceMemoryReportFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV& getDiagnosticsConfigFeatures (void) const; ++const vk::VkPhysicalDeviceDynamicRenderingFeatures& getDynamicRenderingFeatures (void) const; ++const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV& getExclusiveScissorFeatures (void) const; ++const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& getExtendedDynamicStateFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& getExtendedDynamicState2FeaturesEXT (void) const; ++const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& getExternalMemoryRDMAFeatures (void) const; ++const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT& getFragmentDensityMapFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& getFragmentDensityMap2FeaturesEXT (void) const; ++const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& getFragmentShaderBarycentricFeatures (void) const; ++const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& getFragmentShaderInterlockFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR& getFragmentShadingRateFeatures (void) const; ++const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& getFragmentShadingRateEnumsFeatures (void) const; ++const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT& getGlobalPriorityQueryFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceHostQueryResetFeatures& getHostQueryResetFeatures (void) const; ++const vk::VkPhysicalDeviceImagelessFramebufferFeatures& getImagelessFramebufferFeatures (void) const; ++const vk::VkPhysicalDeviceImageRobustnessFeatures& getImageRobustnessFeatures (void) const; ++const vk::VkPhysicalDeviceImageViewMinLodFeaturesEXT& getImageViewMinLodFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT& getIndexTypeUint8FeaturesEXT (void) const; ++const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV& getInheritedViewportScissorFeatures (void) const; ++const vk::VkPhysicalDeviceInlineUniformBlockFeatures& getInlineUniformBlockFeatures (void) const; ++const vk::VkPhysicalDeviceInvocationMaskFeaturesHUAWEI& getInvocationMaskFeaturesHUAWEI (void) const; ++const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT& getLineRasterizationFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceMaintenance4Features& getMaintenance4Features (void) const; ++const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT& getMemoryPriorityFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceMeshShaderFeaturesNV& getMeshShaderFeatures (void) const; ++const vk::VkPhysicalDeviceMultiviewFeatures& getMultiviewFeatures (void) const; ++const vk::VkPhysicalDeviceMultiDrawFeaturesEXT& getMultiDrawFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE& getMutableDescriptorTypeFeaturesVALVE (void) const; ++const vk::VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT& getPageableDeviceLocalMemoryFeaturesEXT (void) const; ++const vk::VkPhysicalDevicePerformanceQueryFeaturesKHR& getPerformanceQueryFeatures (void) const; ++const vk::VkPhysicalDevicePipelineCreationCacheControlFeatures& getPipelineCreationCacheControlFeatures (void) const; ++const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& getPipelineExecutablePropertiesFeatures (void) const; ++const vk::VkPhysicalDevicePortabilitySubsetFeaturesKHR& getPortabilitySubsetFeatures (void) const; ++const vk::VkPhysicalDevicePresentIdFeaturesKHR& getPresentIdFeatures (void) const; ++const vk::VkPhysicalDevicePresentWaitFeaturesKHR& getPresentWaitFeatures (void) const; ++const vk::VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT& getPrimitiveTopologyListRestartFeaturesEXT (void) const; ++const vk::VkPhysicalDevicePrivateDataFeatures& getPrivateDataFeatures (void) const; ++const vk::VkPhysicalDeviceProtectedMemoryFeatures& getProtectedMemoryFeatures (void) const; ++const vk::VkPhysicalDeviceProvokingVertexFeaturesEXT& getProvokingVertexFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceRayQueryFeaturesKHR& getRayQueryFeatures (void) const; ++const vk::VkPhysicalDeviceRayTracingMotionBlurFeaturesNV& getRayTracingMotionBlurFeatures (void) const; ++const vk::VkPhysicalDeviceRayTracingPipelineFeaturesKHR& getRayTracingPipelineFeatures (void) const; ++const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& getRepresentativeFragmentTestFeatures (void) const; ++const vk::VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT& getRGBA10X6FormatsFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceRobustness2FeaturesEXT& getRobustness2FeaturesEXT (void) const; ++const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures& getSamplerYcbcrConversionFeatures (void) const; ++const vk::VkPhysicalDeviceScalarBlockLayoutFeatures& getScalarBlockLayoutFeatures (void) const; ++const vk::VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& getSeparateDepthStencilLayoutsFeatures (void) const; ++const vk::VkPhysicalDeviceShaderAtomicFloatFeaturesEXT& getShaderAtomicFloatFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT& getShaderAtomicFloat2FeaturesEXT (void) const; ++const vk::VkPhysicalDeviceShaderAtomicInt64Features& getShaderAtomicInt64Features (void) const; ++const vk::VkPhysicalDeviceShaderClockFeaturesKHR& getShaderClockFeatures (void) const; ++const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& getShaderDemoteToHelperInvocationFeatures (void) const; ++const vk::VkPhysicalDeviceShaderDrawParametersFeatures& getShaderDrawParametersFeatures (void) const; ++const vk::VkPhysicalDeviceShaderFloat16Int8Features& getShaderFloat16Int8Features (void) const; ++const vk::VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT& getShaderImageAtomicInt64FeaturesEXT (void) const; ++const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV& getShaderImageFootprintFeatures (void) const; ++const vk::VkPhysicalDeviceShaderIntegerDotProductFeatures& getShaderIntegerDotProductFeatures (void) const; ++const vk::VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& getShaderIntegerFunctions2FeaturesINTEL (void) const; ++const vk::VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& getShaderSMBuiltinsFeatures (void) const; ++const vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& getShaderSubgroupExtendedTypesFeatures (void) const; ++const vk::VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& getShaderSubgroupUniformControlFlowFeatures (void) const; ++const vk::VkPhysicalDeviceShaderTerminateInvocationFeatures& getShaderTerminateInvocationFeatures (void) const; ++const vk::VkPhysicalDeviceShadingRateImageFeaturesNV& getShadingRateImageFeatures (void) const; ++const vk::VkPhysicalDeviceSubgroupSizeControlFeatures& getSubgroupSizeControlFeatures (void) const; ++const vk::VkPhysicalDeviceSubpassShadingFeaturesHUAWEI& getSubpassShadingFeaturesHUAWEI (void) const; ++const vk::VkPhysicalDeviceSynchronization2Features& getSynchronization2Features (void) const; ++const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& getTexelBufferAlignmentFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeatures& getTextureCompressionASTCHDRFeatures (void) const; ++const vk::VkPhysicalDeviceTimelineSemaphoreFeatures& getTimelineSemaphoreFeatures (void) const; ++const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT& getTransformFeedbackFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures& getUniformBufferStandardLayoutFeatures (void) const; ++const vk::VkPhysicalDeviceVariablePointersFeatures& getVariablePointersFeatures (void) const; ++const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& getVertexAttributeDivisorFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT& getVertexInputDynamicStateFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceVulkanMemoryModelFeatures& getVulkanMemoryModelFeatures (void) const; ++const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR& getWorkgroupMemoryExplicitLayoutFeatures (void) const; ++const vk::VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT& getYcbcr2Plane444FormatsFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& getYcbcrImageArraysFeaturesEXT (void) const; ++const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& getZeroInitializeWorkgroupMemoryFeatures (void) const; diff --cc external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl index 0000000,97687bc..996c898 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForContextDefs.inl @@@ -1,0 -1,107 +1,107 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + const vk::VkPhysicalDevice16BitStorageFeatures& Context::get16BitStorageFeatures (void) const { return m_device->get16BitStorageFeatures(); } + const vk::VkPhysicalDevice4444FormatsFeaturesEXT& Context::get4444FormatsFeaturesEXT (void) const { return m_device->get4444FormatsFeaturesEXT(); } + const vk::VkPhysicalDevice8BitStorageFeatures& Context::get8BitStorageFeatures (void) const { return m_device->get8BitStorageFeatures(); } + const vk::VkPhysicalDeviceAccelerationStructureFeaturesKHR& Context::getAccelerationStructureFeatures (void) const { return m_device->getAccelerationStructureFeatures(); } + const vk::VkPhysicalDeviceASTCDecodeFeaturesEXT& Context::getASTCDecodeFeaturesEXT (void) const { return m_device->getASTCDecodeFeaturesEXT(); } + const vk::VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& Context::getBlendOperationAdvancedFeaturesEXT (void) const { return m_device->getBlendOperationAdvancedFeaturesEXT(); } + const vk::VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& Context::getBorderColorSwizzleFeaturesEXT (void) const { return m_device->getBorderColorSwizzleFeaturesEXT(); } + const vk::VkPhysicalDeviceBufferDeviceAddressFeatures& Context::getBufferDeviceAddressFeatures (void) const { return m_device->getBufferDeviceAddressFeatures(); } + const vk::VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& Context::getBufferDeviceAddressFeaturesEXT (void) const { return m_device->getBufferDeviceAddressFeaturesEXT(); } + const vk::VkPhysicalDeviceCoherentMemoryFeaturesAMD& Context::getCoherentMemoryFeaturesAMD (void) const { return m_device->getCoherentMemoryFeaturesAMD(); } + const vk::VkPhysicalDeviceColorWriteEnableFeaturesEXT& Context::getColorWriteEnableFeaturesEXT (void) const { return m_device->getColorWriteEnableFeaturesEXT(); } + const vk::VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& Context::getComputeShaderDerivativesFeatures (void) const { return m_device->getComputeShaderDerivativesFeatures(); } + const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT& Context::getConditionalRenderingFeaturesEXT (void) const { return m_device->getConditionalRenderingFeaturesEXT(); } + const vk::VkPhysicalDeviceCooperativeMatrixFeaturesNV& Context::getCooperativeMatrixFeatures (void) const { return m_device->getCooperativeMatrixFeatures(); } + const vk::VkPhysicalDeviceCornerSampledImageFeaturesNV& Context::getCornerSampledImageFeatures (void) const { return m_device->getCornerSampledImageFeatures(); } + const vk::VkPhysicalDeviceCoverageReductionModeFeaturesNV& Context::getCoverageReductionModeFeatures (void) const { return m_device->getCoverageReductionModeFeatures(); } + const vk::VkPhysicalDeviceCustomBorderColorFeaturesEXT& Context::getCustomBorderColorFeaturesEXT (void) const { return m_device->getCustomBorderColorFeaturesEXT(); } + const vk::VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& Context::getDedicatedAllocationImageAliasingFeatures (void) const { return m_device->getDedicatedAllocationImageAliasingFeatures(); } + const vk::VkPhysicalDeviceDepthClipControlFeaturesEXT& Context::getDepthClipControlFeaturesEXT (void) const { return m_device->getDepthClipControlFeaturesEXT(); } + const vk::VkPhysicalDeviceDepthClipEnableFeaturesEXT& Context::getDepthClipEnableFeaturesEXT (void) const { return m_device->getDepthClipEnableFeaturesEXT(); } + const vk::VkPhysicalDeviceDescriptorIndexingFeatures& Context::getDescriptorIndexingFeatures (void) const { return m_device->getDescriptorIndexingFeatures(); } + const vk::VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV& Context::getDeviceGeneratedCommandsFeatures (void) const { return m_device->getDeviceGeneratedCommandsFeatures(); } + const vk::VkPhysicalDeviceDeviceMemoryReportFeaturesEXT& Context::getDeviceMemoryReportFeaturesEXT (void) const { return m_device->getDeviceMemoryReportFeaturesEXT(); } + const vk::VkPhysicalDeviceDiagnosticsConfigFeaturesNV& Context::getDiagnosticsConfigFeatures (void) const { return m_device->getDiagnosticsConfigFeatures(); } -const vk::VkPhysicalDeviceDynamicRenderingFeaturesKHR& Context::getDynamicRenderingFeatures (void) const { return m_device->getDynamicRenderingFeatures(); } ++const vk::VkPhysicalDeviceDynamicRenderingFeatures& Context::getDynamicRenderingFeatures (void) const { return m_device->getDynamicRenderingFeatures(); } + const vk::VkPhysicalDeviceExclusiveScissorFeaturesNV& Context::getExclusiveScissorFeatures (void) const { return m_device->getExclusiveScissorFeatures(); } + const vk::VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& Context::getExtendedDynamicStateFeaturesEXT (void) const { return m_device->getExtendedDynamicStateFeaturesEXT(); } + const vk::VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& Context::getExtendedDynamicState2FeaturesEXT (void) const { return m_device->getExtendedDynamicState2FeaturesEXT(); } + const vk::VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& Context::getExternalMemoryRDMAFeatures (void) const { return m_device->getExternalMemoryRDMAFeatures(); } + const vk::VkPhysicalDeviceFragmentDensityMapFeaturesEXT& Context::getFragmentDensityMapFeaturesEXT (void) const { return m_device->getFragmentDensityMapFeaturesEXT(); } + const vk::VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& Context::getFragmentDensityMap2FeaturesEXT (void) const { return m_device->getFragmentDensityMap2FeaturesEXT(); } + const vk::VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& Context::getFragmentShaderBarycentricFeatures (void) const { return m_device->getFragmentShaderBarycentricFeatures(); } + const vk::VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& Context::getFragmentShaderInterlockFeaturesEXT (void) const { return m_device->getFragmentShaderInterlockFeaturesEXT(); } + const vk::VkPhysicalDeviceFragmentShadingRateFeaturesKHR& Context::getFragmentShadingRateFeatures (void) const { return m_device->getFragmentShadingRateFeatures(); } + const vk::VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& Context::getFragmentShadingRateEnumsFeatures (void) const { return m_device->getFragmentShadingRateEnumsFeatures(); } + const vk::VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT& Context::getGlobalPriorityQueryFeaturesEXT (void) const { return m_device->getGlobalPriorityQueryFeaturesEXT(); } + const vk::VkPhysicalDeviceHostQueryResetFeatures& Context::getHostQueryResetFeatures (void) const { return m_device->getHostQueryResetFeatures(); } + const vk::VkPhysicalDeviceImagelessFramebufferFeatures& Context::getImagelessFramebufferFeatures (void) const { return m_device->getImagelessFramebufferFeatures(); } -const vk::VkPhysicalDeviceImageRobustnessFeaturesEXT& Context::getImageRobustnessFeaturesEXT (void) const { return m_device->getImageRobustnessFeaturesEXT(); } ++const vk::VkPhysicalDeviceImageRobustnessFeatures& Context::getImageRobustnessFeatures (void) const { return m_device->getImageRobustnessFeatures(); } + const vk::VkPhysicalDeviceImageViewMinLodFeaturesEXT& Context::getImageViewMinLodFeaturesEXT (void) const { return m_device->getImageViewMinLodFeaturesEXT(); } + const vk::VkPhysicalDeviceIndexTypeUint8FeaturesEXT& Context::getIndexTypeUint8FeaturesEXT (void) const { return m_device->getIndexTypeUint8FeaturesEXT(); } + const vk::VkPhysicalDeviceInheritedViewportScissorFeaturesNV& Context::getInheritedViewportScissorFeatures (void) const { return m_device->getInheritedViewportScissorFeatures(); } -const vk::VkPhysicalDeviceInlineUniformBlockFeaturesEXT& Context::getInlineUniformBlockFeaturesEXT (void) const { return m_device->getInlineUniformBlockFeaturesEXT(); } ++const vk::VkPhysicalDeviceInlineUniformBlockFeatures& Context::getInlineUniformBlockFeatures (void) const { return m_device->getInlineUniformBlockFeatures(); } + const vk::VkPhysicalDeviceInvocationMaskFeaturesHUAWEI& Context::getInvocationMaskFeaturesHUAWEI (void) const { return m_device->getInvocationMaskFeaturesHUAWEI(); } + const vk::VkPhysicalDeviceLineRasterizationFeaturesEXT& Context::getLineRasterizationFeaturesEXT (void) const { return m_device->getLineRasterizationFeaturesEXT(); } -const vk::VkPhysicalDeviceMaintenance4FeaturesKHR& Context::getMaintenance4Features (void) const { return m_device->getMaintenance4Features(); } ++const vk::VkPhysicalDeviceMaintenance4Features& Context::getMaintenance4Features (void) const { return m_device->getMaintenance4Features(); } + const vk::VkPhysicalDeviceMemoryPriorityFeaturesEXT& Context::getMemoryPriorityFeaturesEXT (void) const { return m_device->getMemoryPriorityFeaturesEXT(); } + const vk::VkPhysicalDeviceMeshShaderFeaturesNV& Context::getMeshShaderFeatures (void) const { return m_device->getMeshShaderFeatures(); } + const vk::VkPhysicalDeviceMultiviewFeatures& Context::getMultiviewFeatures (void) const { return m_device->getMultiviewFeatures(); } + const vk::VkPhysicalDeviceMultiDrawFeaturesEXT& Context::getMultiDrawFeaturesEXT (void) const { return m_device->getMultiDrawFeaturesEXT(); } + const vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE& Context::getMutableDescriptorTypeFeaturesVALVE (void) const { return m_device->getMutableDescriptorTypeFeaturesVALVE(); } + const vk::VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT& Context::getPageableDeviceLocalMemoryFeaturesEXT (void) const { return m_device->getPageableDeviceLocalMemoryFeaturesEXT(); } + const vk::VkPhysicalDevicePerformanceQueryFeaturesKHR& Context::getPerformanceQueryFeatures (void) const { return m_device->getPerformanceQueryFeatures(); } -const vk::VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT& Context::getPipelineCreationCacheControlFeaturesEXT (void) const { return m_device->getPipelineCreationCacheControlFeaturesEXT(); } ++const vk::VkPhysicalDevicePipelineCreationCacheControlFeatures& Context::getPipelineCreationCacheControlFeatures (void) const { return m_device->getPipelineCreationCacheControlFeatures(); } + const vk::VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& Context::getPipelineExecutablePropertiesFeatures (void) const { return m_device->getPipelineExecutablePropertiesFeatures(); } + const vk::VkPhysicalDevicePortabilitySubsetFeaturesKHR& Context::getPortabilitySubsetFeatures (void) const { return m_device->getPortabilitySubsetFeatures(); } + const vk::VkPhysicalDevicePresentIdFeaturesKHR& Context::getPresentIdFeatures (void) const { return m_device->getPresentIdFeatures(); } + const vk::VkPhysicalDevicePresentWaitFeaturesKHR& Context::getPresentWaitFeatures (void) const { return m_device->getPresentWaitFeatures(); } + const vk::VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT& Context::getPrimitiveTopologyListRestartFeaturesEXT (void) const { return m_device->getPrimitiveTopologyListRestartFeaturesEXT(); } -const vk::VkPhysicalDevicePrivateDataFeaturesEXT& Context::getPrivateDataFeaturesEXT (void) const { return m_device->getPrivateDataFeaturesEXT(); } ++const vk::VkPhysicalDevicePrivateDataFeatures& Context::getPrivateDataFeatures (void) const { return m_device->getPrivateDataFeatures(); } + const vk::VkPhysicalDeviceProtectedMemoryFeatures& Context::getProtectedMemoryFeatures (void) const { return m_device->getProtectedMemoryFeatures(); } + const vk::VkPhysicalDeviceProvokingVertexFeaturesEXT& Context::getProvokingVertexFeaturesEXT (void) const { return m_device->getProvokingVertexFeaturesEXT(); } + const vk::VkPhysicalDeviceRayQueryFeaturesKHR& Context::getRayQueryFeatures (void) const { return m_device->getRayQueryFeatures(); } + const vk::VkPhysicalDeviceRayTracingMotionBlurFeaturesNV& Context::getRayTracingMotionBlurFeatures (void) const { return m_device->getRayTracingMotionBlurFeatures(); } + const vk::VkPhysicalDeviceRayTracingPipelineFeaturesKHR& Context::getRayTracingPipelineFeatures (void) const { return m_device->getRayTracingPipelineFeatures(); } + const vk::VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& Context::getRepresentativeFragmentTestFeatures (void) const { return m_device->getRepresentativeFragmentTestFeatures(); } + const vk::VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT& Context::getRGBA10X6FormatsFeaturesEXT (void) const { return m_device->getRGBA10X6FormatsFeaturesEXT(); } + const vk::VkPhysicalDeviceRobustness2FeaturesEXT& Context::getRobustness2FeaturesEXT (void) const { return m_device->getRobustness2FeaturesEXT(); } + const vk::VkPhysicalDeviceSamplerYcbcrConversionFeatures& Context::getSamplerYcbcrConversionFeatures (void) const { return m_device->getSamplerYcbcrConversionFeatures(); } + const vk::VkPhysicalDeviceScalarBlockLayoutFeatures& Context::getScalarBlockLayoutFeatures (void) const { return m_device->getScalarBlockLayoutFeatures(); } + const vk::VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& Context::getSeparateDepthStencilLayoutsFeatures (void) const { return m_device->getSeparateDepthStencilLayoutsFeatures(); } + const vk::VkPhysicalDeviceShaderAtomicFloatFeaturesEXT& Context::getShaderAtomicFloatFeaturesEXT (void) const { return m_device->getShaderAtomicFloatFeaturesEXT(); } + const vk::VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT& Context::getShaderAtomicFloat2FeaturesEXT (void) const { return m_device->getShaderAtomicFloat2FeaturesEXT(); } + const vk::VkPhysicalDeviceShaderAtomicInt64Features& Context::getShaderAtomicInt64Features (void) const { return m_device->getShaderAtomicInt64Features(); } + const vk::VkPhysicalDeviceShaderClockFeaturesKHR& Context::getShaderClockFeatures (void) const { return m_device->getShaderClockFeatures(); } -const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& Context::getShaderDemoteToHelperInvocationFeaturesEXT (void) const { return m_device->getShaderDemoteToHelperInvocationFeaturesEXT(); } ++const vk::VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& Context::getShaderDemoteToHelperInvocationFeatures (void) const { return m_device->getShaderDemoteToHelperInvocationFeatures(); } + const vk::VkPhysicalDeviceShaderDrawParametersFeatures& Context::getShaderDrawParametersFeatures (void) const { return m_device->getShaderDrawParametersFeatures(); } + const vk::VkPhysicalDeviceShaderFloat16Int8Features& Context::getShaderFloat16Int8Features (void) const { return m_device->getShaderFloat16Int8Features(); } + const vk::VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT& Context::getShaderImageAtomicInt64FeaturesEXT (void) const { return m_device->getShaderImageAtomicInt64FeaturesEXT(); } + const vk::VkPhysicalDeviceShaderImageFootprintFeaturesNV& Context::getShaderImageFootprintFeatures (void) const { return m_device->getShaderImageFootprintFeatures(); } -const vk::VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR& Context::getShaderIntegerDotProductFeatures (void) const { return m_device->getShaderIntegerDotProductFeatures(); } ++const vk::VkPhysicalDeviceShaderIntegerDotProductFeatures& Context::getShaderIntegerDotProductFeatures (void) const { return m_device->getShaderIntegerDotProductFeatures(); } + const vk::VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& Context::getShaderIntegerFunctions2FeaturesINTEL (void) const { return m_device->getShaderIntegerFunctions2FeaturesINTEL(); } + const vk::VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& Context::getShaderSMBuiltinsFeatures (void) const { return m_device->getShaderSMBuiltinsFeatures(); } + const vk::VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& Context::getShaderSubgroupExtendedTypesFeatures (void) const { return m_device->getShaderSubgroupExtendedTypesFeatures(); } + const vk::VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& Context::getShaderSubgroupUniformControlFlowFeatures (void) const { return m_device->getShaderSubgroupUniformControlFlowFeatures(); } -const vk::VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR& Context::getShaderTerminateInvocationFeatures (void) const { return m_device->getShaderTerminateInvocationFeatures(); } ++const vk::VkPhysicalDeviceShaderTerminateInvocationFeatures& Context::getShaderTerminateInvocationFeatures (void) const { return m_device->getShaderTerminateInvocationFeatures(); } + const vk::VkPhysicalDeviceShadingRateImageFeaturesNV& Context::getShadingRateImageFeatures (void) const { return m_device->getShadingRateImageFeatures(); } -const vk::VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& Context::getSubgroupSizeControlFeaturesEXT (void) const { return m_device->getSubgroupSizeControlFeaturesEXT(); } ++const vk::VkPhysicalDeviceSubgroupSizeControlFeatures& Context::getSubgroupSizeControlFeatures (void) const { return m_device->getSubgroupSizeControlFeatures(); } + const vk::VkPhysicalDeviceSubpassShadingFeaturesHUAWEI& Context::getSubpassShadingFeaturesHUAWEI (void) const { return m_device->getSubpassShadingFeaturesHUAWEI(); } -const vk::VkPhysicalDeviceSynchronization2FeaturesKHR& Context::getSynchronization2Features (void) const { return m_device->getSynchronization2Features(); } ++const vk::VkPhysicalDeviceSynchronization2Features& Context::getSynchronization2Features (void) const { return m_device->getSynchronization2Features(); } + const vk::VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& Context::getTexelBufferAlignmentFeaturesEXT (void) const { return m_device->getTexelBufferAlignmentFeaturesEXT(); } -const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& Context::getTextureCompressionASTCHDRFeaturesEXT (void) const { return m_device->getTextureCompressionASTCHDRFeaturesEXT(); } ++const vk::VkPhysicalDeviceTextureCompressionASTCHDRFeatures& Context::getTextureCompressionASTCHDRFeatures (void) const { return m_device->getTextureCompressionASTCHDRFeatures(); } + const vk::VkPhysicalDeviceTimelineSemaphoreFeatures& Context::getTimelineSemaphoreFeatures (void) const { return m_device->getTimelineSemaphoreFeatures(); } + const vk::VkPhysicalDeviceTransformFeedbackFeaturesEXT& Context::getTransformFeedbackFeaturesEXT (void) const { return m_device->getTransformFeedbackFeaturesEXT(); } + const vk::VkPhysicalDeviceUniformBufferStandardLayoutFeatures& Context::getUniformBufferStandardLayoutFeatures (void) const { return m_device->getUniformBufferStandardLayoutFeatures(); } + const vk::VkPhysicalDeviceVariablePointersFeatures& Context::getVariablePointersFeatures (void) const { return m_device->getVariablePointersFeatures(); } + const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& Context::getVertexAttributeDivisorFeaturesEXT (void) const { return m_device->getVertexAttributeDivisorFeaturesEXT(); } + const vk::VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT& Context::getVertexInputDynamicStateFeaturesEXT (void) const { return m_device->getVertexInputDynamicStateFeaturesEXT(); } + const vk::VkPhysicalDeviceVulkanMemoryModelFeatures& Context::getVulkanMemoryModelFeatures (void) const { return m_device->getVulkanMemoryModelFeatures(); } + const vk::VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR& Context::getWorkgroupMemoryExplicitLayoutFeatures (void) const { return m_device->getWorkgroupMemoryExplicitLayoutFeatures(); } + const vk::VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT& Context::getYcbcr2Plane444FormatsFeaturesEXT (void) const { return m_device->getYcbcr2Plane444FormatsFeaturesEXT(); } + const vk::VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& Context::getYcbcrImageArraysFeaturesEXT (void) const { return m_device->getYcbcrImageArraysFeaturesEXT(); } -const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR& Context::getZeroInitializeWorkgroupMemoryFeatures (void) const { return m_device->getZeroInitializeWorkgroupMemoryFeatures(); } ++const vk::VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& Context::getZeroInitializeWorkgroupMemoryFeatures (void) const { return m_device->getZeroInitializeWorkgroupMemoryFeatures(); } diff --cc external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl index 0000000,2f0173e..1fa9123 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFeaturesForDefaultDeviceDefs.inl @@@ -1,0 -1,107 +1,107 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ -const VkPhysicalDevice16BitStorageFeatures& get16BitStorageFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDevice4444FormatsFeaturesEXT& get4444FormatsFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDevice8BitStorageFeatures& get8BitStorageFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceAccelerationStructureFeaturesKHR& getAccelerationStructureFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceASTCDecodeFeaturesEXT& getASTCDecodeFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& getBlendOperationAdvancedFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& getBorderColorSwizzleFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceBufferDeviceAddressFeatures& getBufferDeviceAddressFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& getBufferDeviceAddressFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceCoherentMemoryFeaturesAMD& getCoherentMemoryFeaturesAMD (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceColorWriteEnableFeaturesEXT& getColorWriteEnableFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& getComputeShaderDerivativesFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceConditionalRenderingFeaturesEXT& getConditionalRenderingFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceCooperativeMatrixFeaturesNV& getCooperativeMatrixFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceCornerSampledImageFeaturesNV& getCornerSampledImageFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceCoverageReductionModeFeaturesNV& getCoverageReductionModeFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceCustomBorderColorFeaturesEXT& getCustomBorderColorFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& getDedicatedAllocationImageAliasingFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceDepthClipControlFeaturesEXT& getDepthClipControlFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceDepthClipEnableFeaturesEXT& getDepthClipEnableFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceDescriptorIndexingFeatures& getDescriptorIndexingFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV& getDeviceGeneratedCommandsFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT& getDeviceMemoryReportFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceDiagnosticsConfigFeaturesNV& getDiagnosticsConfigFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceDynamicRenderingFeaturesKHR& getDynamicRenderingFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceExclusiveScissorFeaturesNV& getExclusiveScissorFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& getExtendedDynamicStateFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& getExtendedDynamicState2FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& getExternalMemoryRDMAFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceFragmentDensityMapFeaturesEXT& getFragmentDensityMapFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& getFragmentDensityMap2FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& getFragmentShaderBarycentricFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& getFragmentShaderInterlockFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceFragmentShadingRateFeaturesKHR& getFragmentShadingRateFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& getFragmentShadingRateEnumsFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT& getGlobalPriorityQueryFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceHostQueryResetFeatures& getHostQueryResetFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceImagelessFramebufferFeatures& getImagelessFramebufferFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceImageRobustnessFeaturesEXT& getImageRobustnessFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceImageViewMinLodFeaturesEXT& getImageViewMinLodFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceIndexTypeUint8FeaturesEXT& getIndexTypeUint8FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceInheritedViewportScissorFeaturesNV& getInheritedViewportScissorFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceInlineUniformBlockFeaturesEXT& getInlineUniformBlockFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI& getInvocationMaskFeaturesHUAWEI (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceLineRasterizationFeaturesEXT& getLineRasterizationFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceMaintenance4FeaturesKHR& getMaintenance4Features (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceMemoryPriorityFeaturesEXT& getMemoryPriorityFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceMeshShaderFeaturesNV& getMeshShaderFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceMultiviewFeatures& getMultiviewFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceMultiDrawFeaturesEXT& getMultiDrawFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE& getMutableDescriptorTypeFeaturesVALVE (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT& getPageableDeviceLocalMemoryFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDevicePerformanceQueryFeaturesKHR& getPerformanceQueryFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT& getPipelineCreationCacheControlFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& getPipelineExecutablePropertiesFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDevicePortabilitySubsetFeaturesKHR& getPortabilitySubsetFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDevicePresentIdFeaturesKHR& getPresentIdFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDevicePresentWaitFeaturesKHR& getPresentWaitFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT& getPrimitiveTopologyListRestartFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDevicePrivateDataFeaturesEXT& getPrivateDataFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceProtectedMemoryFeatures& getProtectedMemoryFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceProvokingVertexFeaturesEXT& getProvokingVertexFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceRayQueryFeaturesKHR& getRayQueryFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV& getRayTracingMotionBlurFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceRayTracingPipelineFeaturesKHR& getRayTracingPipelineFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& getRepresentativeFragmentTestFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT& getRGBA10X6FormatsFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceRobustness2FeaturesEXT& getRobustness2FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceSamplerYcbcrConversionFeatures& getSamplerYcbcrConversionFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceScalarBlockLayoutFeatures& getScalarBlockLayoutFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& getSeparateDepthStencilLayoutsFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT& getShaderAtomicFloatFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT& getShaderAtomicFloat2FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderAtomicInt64Features& getShaderAtomicInt64Features (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderClockFeaturesKHR& getShaderClockFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& getShaderDemoteToHelperInvocationFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderDrawParametersFeatures& getShaderDrawParametersFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderFloat16Int8Features& getShaderFloat16Int8Features (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT& getShaderImageAtomicInt64FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderImageFootprintFeaturesNV& getShaderImageFootprintFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR& getShaderIntegerDotProductFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& getShaderIntegerFunctions2FeaturesINTEL (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& getShaderSMBuiltinsFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& getShaderSubgroupExtendedTypesFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& getShaderSubgroupUniformControlFlowFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR& getShaderTerminateInvocationFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceShadingRateImageFeaturesNV& getShadingRateImageFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& getSubgroupSizeControlFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI& getSubpassShadingFeaturesHUAWEI (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceSynchronization2FeaturesKHR& getSynchronization2Features (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& getTexelBufferAlignmentFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& getTextureCompressionASTCHDRFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceTimelineSemaphoreFeatures& getTimelineSemaphoreFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceTransformFeedbackFeaturesEXT& getTransformFeedbackFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceUniformBufferStandardLayoutFeatures& getUniformBufferStandardLayoutFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceVariablePointersFeatures& getVariablePointersFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& getVertexAttributeDivisorFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT& getVertexInputDynamicStateFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceVulkanMemoryModelFeatures& getVulkanMemoryModelFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR& getWorkgroupMemoryExplicitLayoutFeatures (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT& getYcbcr2Plane444FormatsFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& getYcbcrImageArraysFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } -const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR& getZeroInitializeWorkgroupMemoryFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDevice16BitStorageFeatures& get16BitStorageFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDevice4444FormatsFeaturesEXT& get4444FormatsFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDevice8BitStorageFeatures& get8BitStorageFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceAccelerationStructureFeaturesKHR& getAccelerationStructureFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceASTCDecodeFeaturesEXT& getASTCDecodeFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& getBlendOperationAdvancedFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& getBorderColorSwizzleFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceBufferDeviceAddressFeatures& getBufferDeviceAddressFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& getBufferDeviceAddressFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceCoherentMemoryFeaturesAMD& getCoherentMemoryFeaturesAMD (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceColorWriteEnableFeaturesEXT& getColorWriteEnableFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& getComputeShaderDerivativesFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceConditionalRenderingFeaturesEXT& getConditionalRenderingFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceCooperativeMatrixFeaturesNV& getCooperativeMatrixFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceCornerSampledImageFeaturesNV& getCornerSampledImageFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceCoverageReductionModeFeaturesNV& getCoverageReductionModeFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceCustomBorderColorFeaturesEXT& getCustomBorderColorFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& getDedicatedAllocationImageAliasingFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceDepthClipControlFeaturesEXT& getDepthClipControlFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceDepthClipEnableFeaturesEXT& getDepthClipEnableFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceDescriptorIndexingFeatures& getDescriptorIndexingFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV& getDeviceGeneratedCommandsFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT& getDeviceMemoryReportFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceDiagnosticsConfigFeaturesNV& getDiagnosticsConfigFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceDynamicRenderingFeatures& getDynamicRenderingFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceExclusiveScissorFeaturesNV& getExclusiveScissorFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& getExtendedDynamicStateFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& getExtendedDynamicState2FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& getExternalMemoryRDMAFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceFragmentDensityMapFeaturesEXT& getFragmentDensityMapFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& getFragmentDensityMap2FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& getFragmentShaderBarycentricFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& getFragmentShaderInterlockFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceFragmentShadingRateFeaturesKHR& getFragmentShadingRateFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& getFragmentShadingRateEnumsFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT& getGlobalPriorityQueryFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceHostQueryResetFeatures& getHostQueryResetFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceImagelessFramebufferFeatures& getImagelessFramebufferFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceImageRobustnessFeatures& getImageRobustnessFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceImageViewMinLodFeaturesEXT& getImageViewMinLodFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceIndexTypeUint8FeaturesEXT& getIndexTypeUint8FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceInheritedViewportScissorFeaturesNV& getInheritedViewportScissorFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceInlineUniformBlockFeatures& getInlineUniformBlockFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI& getInvocationMaskFeaturesHUAWEI (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceLineRasterizationFeaturesEXT& getLineRasterizationFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceMaintenance4Features& getMaintenance4Features (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceMemoryPriorityFeaturesEXT& getMemoryPriorityFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceMeshShaderFeaturesNV& getMeshShaderFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceMultiviewFeatures& getMultiviewFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceMultiDrawFeaturesEXT& getMultiDrawFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE& getMutableDescriptorTypeFeaturesVALVE (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT& getPageableDeviceLocalMemoryFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDevicePerformanceQueryFeaturesKHR& getPerformanceQueryFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDevicePipelineCreationCacheControlFeatures& getPipelineCreationCacheControlFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& getPipelineExecutablePropertiesFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDevicePortabilitySubsetFeaturesKHR& getPortabilitySubsetFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDevicePresentIdFeaturesKHR& getPresentIdFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDevicePresentWaitFeaturesKHR& getPresentWaitFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT& getPrimitiveTopologyListRestartFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDevicePrivateDataFeatures& getPrivateDataFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceProtectedMemoryFeatures& getProtectedMemoryFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceProvokingVertexFeaturesEXT& getProvokingVertexFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceRayQueryFeaturesKHR& getRayQueryFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV& getRayTracingMotionBlurFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceRayTracingPipelineFeaturesKHR& getRayTracingPipelineFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& getRepresentativeFragmentTestFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT& getRGBA10X6FormatsFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceRobustness2FeaturesEXT& getRobustness2FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceSamplerYcbcrConversionFeatures& getSamplerYcbcrConversionFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceScalarBlockLayoutFeatures& getScalarBlockLayoutFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& getSeparateDepthStencilLayoutsFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT& getShaderAtomicFloatFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT& getShaderAtomicFloat2FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderAtomicInt64Features& getShaderAtomicInt64Features (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderClockFeaturesKHR& getShaderClockFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& getShaderDemoteToHelperInvocationFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderDrawParametersFeatures& getShaderDrawParametersFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderFloat16Int8Features& getShaderFloat16Int8Features (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT& getShaderImageAtomicInt64FeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderImageFootprintFeaturesNV& getShaderImageFootprintFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderIntegerDotProductFeatures& getShaderIntegerDotProductFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& getShaderIntegerFunctions2FeaturesINTEL (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& getShaderSMBuiltinsFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& getShaderSubgroupExtendedTypesFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& getShaderSubgroupUniformControlFlowFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShaderTerminateInvocationFeatures& getShaderTerminateInvocationFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceShadingRateImageFeaturesNV& getShadingRateImageFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceSubgroupSizeControlFeatures& getSubgroupSizeControlFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI& getSubpassShadingFeaturesHUAWEI (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceSynchronization2Features& getSynchronization2Features (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& getTexelBufferAlignmentFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceTextureCompressionASTCHDRFeatures& getTextureCompressionASTCHDRFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceTimelineSemaphoreFeatures& getTimelineSemaphoreFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceTransformFeedbackFeaturesEXT& getTransformFeedbackFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceUniformBufferStandardLayoutFeatures& getUniformBufferStandardLayoutFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceVariablePointersFeatures& getVariablePointersFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& getVertexAttributeDivisorFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT& getVertexInputDynamicStateFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceVulkanMemoryModelFeatures& getVulkanMemoryModelFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR& getWorkgroupMemoryExplicitLayoutFeatures (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT& getYcbcr2Plane444FormatsFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& getYcbcrImageArraysFeaturesEXT (void) const { return m_deviceFeatures.getFeatureType(); } ++const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& getZeroInitializeWorkgroupMemoryFeatures (void) const { return m_deviceFeatures.getFeatureType(); } diff --cc external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl index 0000000,ba0f586..97ce7db mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceFunctionPointers.inl @@@ -1,0 -1,378 +1,378 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + GetDeviceProcAddrFunc getDeviceProcAddr; + DestroyDeviceFunc destroyDevice; + GetDeviceQueueFunc getDeviceQueue; + QueueSubmitFunc queueSubmit; + QueueWaitIdleFunc queueWaitIdle; + DeviceWaitIdleFunc deviceWaitIdle; + AllocateMemoryFunc allocateMemory; + FreeMemoryFunc freeMemory; + MapMemoryFunc mapMemory; + UnmapMemoryFunc unmapMemory; + FlushMappedMemoryRangesFunc flushMappedMemoryRanges; + InvalidateMappedMemoryRangesFunc invalidateMappedMemoryRanges; + GetDeviceMemoryCommitmentFunc getDeviceMemoryCommitment; + BindBufferMemoryFunc bindBufferMemory; + BindImageMemoryFunc bindImageMemory; + GetBufferMemoryRequirementsFunc getBufferMemoryRequirements; + GetImageMemoryRequirementsFunc getImageMemoryRequirements; + GetImageSparseMemoryRequirementsFunc getImageSparseMemoryRequirements; + QueueBindSparseFunc queueBindSparse; + CreateFenceFunc createFence; + DestroyFenceFunc destroyFence; + ResetFencesFunc resetFences; + GetFenceStatusFunc getFenceStatus; + WaitForFencesFunc waitForFences; + CreateSemaphoreFunc createSemaphore; + DestroySemaphoreFunc destroySemaphore; + CreateEventFunc createEvent; + DestroyEventFunc destroyEvent; + GetEventStatusFunc getEventStatus; + SetEventFunc setEvent; + ResetEventFunc resetEvent; + CreateQueryPoolFunc createQueryPool; + DestroyQueryPoolFunc destroyQueryPool; + GetQueryPoolResultsFunc getQueryPoolResults; + CreateBufferFunc createBuffer; + DestroyBufferFunc destroyBuffer; + CreateBufferViewFunc createBufferView; + DestroyBufferViewFunc destroyBufferView; + CreateImageFunc createImage; + DestroyImageFunc destroyImage; + GetImageSubresourceLayoutFunc getImageSubresourceLayout; + CreateImageViewFunc createImageView; + DestroyImageViewFunc destroyImageView; + CreateShaderModuleFunc createShaderModule; + DestroyShaderModuleFunc destroyShaderModule; + CreatePipelineCacheFunc createPipelineCache; + DestroyPipelineCacheFunc destroyPipelineCache; + GetPipelineCacheDataFunc getPipelineCacheData; + MergePipelineCachesFunc mergePipelineCaches; + CreateGraphicsPipelinesFunc createGraphicsPipelines; + CreateComputePipelinesFunc createComputePipelines; + DestroyPipelineFunc destroyPipeline; + CreatePipelineLayoutFunc createPipelineLayout; + DestroyPipelineLayoutFunc destroyPipelineLayout; + CreateSamplerFunc createSampler; + DestroySamplerFunc destroySampler; + CreateDescriptorSetLayoutFunc createDescriptorSetLayout; + DestroyDescriptorSetLayoutFunc destroyDescriptorSetLayout; + CreateDescriptorPoolFunc createDescriptorPool; + DestroyDescriptorPoolFunc destroyDescriptorPool; + ResetDescriptorPoolFunc resetDescriptorPool; + AllocateDescriptorSetsFunc allocateDescriptorSets; + FreeDescriptorSetsFunc freeDescriptorSets; + UpdateDescriptorSetsFunc updateDescriptorSets; + CreateFramebufferFunc createFramebuffer; + DestroyFramebufferFunc destroyFramebuffer; + CreateRenderPassFunc createRenderPass; + DestroyRenderPassFunc destroyRenderPass; + GetRenderAreaGranularityFunc getRenderAreaGranularity; + CreateCommandPoolFunc createCommandPool; + DestroyCommandPoolFunc destroyCommandPool; + ResetCommandPoolFunc resetCommandPool; + AllocateCommandBuffersFunc allocateCommandBuffers; + FreeCommandBuffersFunc freeCommandBuffers; + BeginCommandBufferFunc beginCommandBuffer; + EndCommandBufferFunc endCommandBuffer; + ResetCommandBufferFunc resetCommandBuffer; + CmdBindPipelineFunc cmdBindPipeline; + CmdSetViewportFunc cmdSetViewport; + CmdSetScissorFunc cmdSetScissor; + CmdSetLineWidthFunc cmdSetLineWidth; + CmdSetDepthBiasFunc cmdSetDepthBias; + CmdSetBlendConstantsFunc cmdSetBlendConstants; + CmdSetDepthBoundsFunc cmdSetDepthBounds; + CmdSetStencilCompareMaskFunc cmdSetStencilCompareMask; + CmdSetStencilWriteMaskFunc cmdSetStencilWriteMask; + CmdSetStencilReferenceFunc cmdSetStencilReference; + CmdBindDescriptorSetsFunc cmdBindDescriptorSets; + CmdBindIndexBufferFunc cmdBindIndexBuffer; + CmdBindVertexBuffersFunc cmdBindVertexBuffers; + CmdDrawFunc cmdDraw; + CmdDrawIndexedFunc cmdDrawIndexed; + CmdDrawIndirectFunc cmdDrawIndirect; + CmdDrawIndexedIndirectFunc cmdDrawIndexedIndirect; + CmdDispatchFunc cmdDispatch; + CmdDispatchIndirectFunc cmdDispatchIndirect; + CmdCopyBufferFunc cmdCopyBuffer; + CmdCopyImageFunc cmdCopyImage; + CmdBlitImageFunc cmdBlitImage; + CmdCopyBufferToImageFunc cmdCopyBufferToImage; + CmdCopyImageToBufferFunc cmdCopyImageToBuffer; + CmdUpdateBufferFunc cmdUpdateBuffer; + CmdFillBufferFunc cmdFillBuffer; + CmdClearColorImageFunc cmdClearColorImage; + CmdClearDepthStencilImageFunc cmdClearDepthStencilImage; + CmdClearAttachmentsFunc cmdClearAttachments; + CmdResolveImageFunc cmdResolveImage; + CmdSetEventFunc cmdSetEvent; + CmdResetEventFunc cmdResetEvent; + CmdWaitEventsFunc cmdWaitEvents; + CmdPipelineBarrierFunc cmdPipelineBarrier; + CmdBeginQueryFunc cmdBeginQuery; + CmdEndQueryFunc cmdEndQuery; + CmdResetQueryPoolFunc cmdResetQueryPool; + CmdWriteTimestampFunc cmdWriteTimestamp; + CmdCopyQueryPoolResultsFunc cmdCopyQueryPoolResults; + CmdPushConstantsFunc cmdPushConstants; + CmdBeginRenderPassFunc cmdBeginRenderPass; + CmdNextSubpassFunc cmdNextSubpass; + CmdEndRenderPassFunc cmdEndRenderPass; + CmdExecuteCommandsFunc cmdExecuteCommands; + BindBufferMemory2Func bindBufferMemory2; + BindImageMemory2Func bindImageMemory2; + GetDeviceGroupPeerMemoryFeaturesFunc getDeviceGroupPeerMemoryFeatures; + CmdSetDeviceMaskFunc cmdSetDeviceMask; + CmdDispatchBaseFunc cmdDispatchBase; + GetImageMemoryRequirements2Func getImageMemoryRequirements2; + GetBufferMemoryRequirements2Func getBufferMemoryRequirements2; + GetImageSparseMemoryRequirements2Func getImageSparseMemoryRequirements2; + TrimCommandPoolFunc trimCommandPool; + GetDeviceQueue2Func getDeviceQueue2; + CreateSamplerYcbcrConversionFunc createSamplerYcbcrConversion; + DestroySamplerYcbcrConversionFunc destroySamplerYcbcrConversion; + CreateDescriptorUpdateTemplateFunc createDescriptorUpdateTemplate; + DestroyDescriptorUpdateTemplateFunc destroyDescriptorUpdateTemplate; + UpdateDescriptorSetWithTemplateFunc updateDescriptorSetWithTemplate; + GetDescriptorSetLayoutSupportFunc getDescriptorSetLayoutSupport; + CmdDrawIndirectCountFunc cmdDrawIndirectCount; + CmdDrawIndexedIndirectCountFunc cmdDrawIndexedIndirectCount; + CreateRenderPass2Func createRenderPass2; + CmdBeginRenderPass2Func cmdBeginRenderPass2; + CmdNextSubpass2Func cmdNextSubpass2; + CmdEndRenderPass2Func cmdEndRenderPass2; + ResetQueryPoolFunc resetQueryPool; + GetSemaphoreCounterValueFunc getSemaphoreCounterValue; + WaitSemaphoresFunc waitSemaphores; + SignalSemaphoreFunc signalSemaphore; + GetBufferDeviceAddressFunc getBufferDeviceAddress; + GetBufferOpaqueCaptureAddressFunc getBufferOpaqueCaptureAddress; + GetDeviceMemoryOpaqueCaptureAddressFunc getDeviceMemoryOpaqueCaptureAddress; ++CreatePrivateDataSlotFunc createPrivateDataSlot; ++DestroyPrivateDataSlotFunc destroyPrivateDataSlot; ++SetPrivateDataFunc setPrivateData; ++GetPrivateDataFunc getPrivateData; ++CmdSetEvent2Func cmdSetEvent2; ++CmdResetEvent2Func cmdResetEvent2; ++CmdWaitEvents2Func cmdWaitEvents2; ++CmdPipelineBarrier2Func cmdPipelineBarrier2; ++CmdWriteTimestamp2Func cmdWriteTimestamp2; ++QueueSubmit2Func queueSubmit2; ++CmdCopyBuffer2Func cmdCopyBuffer2; ++CmdCopyImage2Func cmdCopyImage2; ++CmdCopyBufferToImage2Func cmdCopyBufferToImage2; ++CmdCopyImageToBuffer2Func cmdCopyImageToBuffer2; ++CmdBlitImage2Func cmdBlitImage2; ++CmdResolveImage2Func cmdResolveImage2; ++CmdBeginRenderingFunc cmdBeginRendering; ++CmdEndRenderingFunc cmdEndRendering; ++CmdSetCullModeFunc cmdSetCullMode; ++CmdSetFrontFaceFunc cmdSetFrontFace; ++CmdSetPrimitiveTopologyFunc cmdSetPrimitiveTopology; ++CmdSetViewportWithCountFunc cmdSetViewportWithCount; ++CmdSetScissorWithCountFunc cmdSetScissorWithCount; ++CmdBindVertexBuffers2Func cmdBindVertexBuffers2; ++CmdSetDepthTestEnableFunc cmdSetDepthTestEnable; ++CmdSetDepthWriteEnableFunc cmdSetDepthWriteEnable; ++CmdSetDepthCompareOpFunc cmdSetDepthCompareOp; ++CmdSetDepthBoundsTestEnableFunc cmdSetDepthBoundsTestEnable; ++CmdSetStencilTestEnableFunc cmdSetStencilTestEnable; ++CmdSetStencilOpFunc cmdSetStencilOp; ++CmdSetRasterizerDiscardEnableFunc cmdSetRasterizerDiscardEnable; ++CmdSetDepthBiasEnableFunc cmdSetDepthBiasEnable; ++CmdSetPrimitiveRestartEnableFunc cmdSetPrimitiveRestartEnable; ++GetDeviceBufferMemoryRequirementsFunc getDeviceBufferMemoryRequirements; ++GetDeviceImageMemoryRequirementsFunc getDeviceImageMemoryRequirements; ++GetDeviceImageSparseMemoryRequirementsFunc getDeviceImageSparseMemoryRequirements; + CreateSwapchainKHRFunc createSwapchainKHR; + DestroySwapchainKHRFunc destroySwapchainKHR; + GetSwapchainImagesKHRFunc getSwapchainImagesKHR; + AcquireNextImageKHRFunc acquireNextImageKHR; + QueuePresentKHRFunc queuePresentKHR; + GetDeviceGroupPresentCapabilitiesKHRFunc getDeviceGroupPresentCapabilitiesKHR; + GetDeviceGroupSurfacePresentModesKHRFunc getDeviceGroupSurfacePresentModesKHR; + AcquireNextImage2KHRFunc acquireNextImage2KHR; + CreateSharedSwapchainsKHRFunc createSharedSwapchainsKHR; -CmdBeginRenderingKHRFunc cmdBeginRenderingKHR; -CmdEndRenderingKHRFunc cmdEndRenderingKHR; + GetMemoryFdKHRFunc getMemoryFdKHR; + GetMemoryFdPropertiesKHRFunc getMemoryFdPropertiesKHR; + ImportSemaphoreFdKHRFunc importSemaphoreFdKHR; + GetSemaphoreFdKHRFunc getSemaphoreFdKHR; + CmdPushDescriptorSetKHRFunc cmdPushDescriptorSetKHR; + CmdPushDescriptorSetWithTemplateKHRFunc cmdPushDescriptorSetWithTemplateKHR; + GetSwapchainStatusKHRFunc getSwapchainStatusKHR; + ImportFenceFdKHRFunc importFenceFdKHR; + GetFenceFdKHRFunc getFenceFdKHR; + AcquireProfilingLockKHRFunc acquireProfilingLockKHR; + ReleaseProfilingLockKHRFunc releaseProfilingLockKHR; + CmdSetFragmentShadingRateKHRFunc cmdSetFragmentShadingRateKHR; + WaitForPresentKHRFunc waitForPresentKHR; + CreateDeferredOperationKHRFunc createDeferredOperationKHR; + DestroyDeferredOperationKHRFunc destroyDeferredOperationKHR; + GetDeferredOperationMaxConcurrencyKHRFunc getDeferredOperationMaxConcurrencyKHR; + GetDeferredOperationResultKHRFunc getDeferredOperationResultKHR; + DeferredOperationJoinKHRFunc deferredOperationJoinKHR; + GetPipelineExecutablePropertiesKHRFunc getPipelineExecutablePropertiesKHR; + GetPipelineExecutableStatisticsKHRFunc getPipelineExecutableStatisticsKHR; + GetPipelineExecutableInternalRepresentationsKHRFunc getPipelineExecutableInternalRepresentationsKHR; -CmdSetEvent2KHRFunc cmdSetEvent2KHR; -CmdResetEvent2KHRFunc cmdResetEvent2KHR; -CmdWaitEvents2KHRFunc cmdWaitEvents2KHR; -CmdPipelineBarrier2KHRFunc cmdPipelineBarrier2KHR; -CmdWriteTimestamp2KHRFunc cmdWriteTimestamp2KHR; -QueueSubmit2KHRFunc queueSubmit2KHR; + CmdWriteBufferMarker2AMDFunc cmdWriteBufferMarker2AMD; + GetQueueCheckpointData2NVFunc getQueueCheckpointData2NV; -CmdCopyBuffer2KHRFunc cmdCopyBuffer2KHR; -CmdCopyImage2KHRFunc cmdCopyImage2KHR; -CmdCopyBufferToImage2KHRFunc cmdCopyBufferToImage2KHR; -CmdCopyImageToBuffer2KHRFunc cmdCopyImageToBuffer2KHR; -CmdBlitImage2KHRFunc cmdBlitImage2KHR; -CmdResolveImage2KHRFunc cmdResolveImage2KHR; -GetDeviceBufferMemoryRequirementsKHRFunc getDeviceBufferMemoryRequirementsKHR; -GetDeviceImageMemoryRequirementsKHRFunc getDeviceImageMemoryRequirementsKHR; -GetDeviceImageSparseMemoryRequirementsKHRFunc getDeviceImageSparseMemoryRequirementsKHR; + DebugMarkerSetObjectTagEXTFunc debugMarkerSetObjectTagEXT; + DebugMarkerSetObjectNameEXTFunc debugMarkerSetObjectNameEXT; + CmdDebugMarkerBeginEXTFunc cmdDebugMarkerBeginEXT; + CmdDebugMarkerEndEXTFunc cmdDebugMarkerEndEXT; + CmdDebugMarkerInsertEXTFunc cmdDebugMarkerInsertEXT; + CmdBindTransformFeedbackBuffersEXTFunc cmdBindTransformFeedbackBuffersEXT; + CmdBeginTransformFeedbackEXTFunc cmdBeginTransformFeedbackEXT; + CmdEndTransformFeedbackEXTFunc cmdEndTransformFeedbackEXT; + CmdBeginQueryIndexedEXTFunc cmdBeginQueryIndexedEXT; + CmdEndQueryIndexedEXTFunc cmdEndQueryIndexedEXT; + CmdDrawIndirectByteCountEXTFunc cmdDrawIndirectByteCountEXT; + CreateCuModuleNVXFunc createCuModuleNVX; + CreateCuFunctionNVXFunc createCuFunctionNVX; + DestroyCuModuleNVXFunc destroyCuModuleNVX; + DestroyCuFunctionNVXFunc destroyCuFunctionNVX; + CmdCuLaunchKernelNVXFunc cmdCuLaunchKernelNVX; + GetImageViewHandleNVXFunc getImageViewHandleNVX; + GetImageViewAddressNVXFunc getImageViewAddressNVX; + CmdDrawIndirectCountAMDFunc cmdDrawIndirectCountAMD; + CmdDrawIndexedIndirectCountAMDFunc cmdDrawIndexedIndirectCountAMD; + GetShaderInfoAMDFunc getShaderInfoAMD; + CmdBeginConditionalRenderingEXTFunc cmdBeginConditionalRenderingEXT; + CmdEndConditionalRenderingEXTFunc cmdEndConditionalRenderingEXT; + CmdSetViewportWScalingNVFunc cmdSetViewportWScalingNV; + DisplayPowerControlEXTFunc displayPowerControlEXT; + RegisterDeviceEventEXTFunc registerDeviceEventEXT; + RegisterDisplayEventEXTFunc registerDisplayEventEXT; + GetSwapchainCounterEXTFunc getSwapchainCounterEXT; + GetRefreshCycleDurationGOOGLEFunc getRefreshCycleDurationGOOGLE; + GetPastPresentationTimingGOOGLEFunc getPastPresentationTimingGOOGLE; + CmdSetDiscardRectangleEXTFunc cmdSetDiscardRectangleEXT; + SetHdrMetadataEXTFunc setHdrMetadataEXT; + SetDebugUtilsObjectNameEXTFunc setDebugUtilsObjectNameEXT; + SetDebugUtilsObjectTagEXTFunc setDebugUtilsObjectTagEXT; + QueueBeginDebugUtilsLabelEXTFunc queueBeginDebugUtilsLabelEXT; + QueueEndDebugUtilsLabelEXTFunc queueEndDebugUtilsLabelEXT; + QueueInsertDebugUtilsLabelEXTFunc queueInsertDebugUtilsLabelEXT; + CmdBeginDebugUtilsLabelEXTFunc cmdBeginDebugUtilsLabelEXT; + CmdEndDebugUtilsLabelEXTFunc cmdEndDebugUtilsLabelEXT; + CmdInsertDebugUtilsLabelEXTFunc cmdInsertDebugUtilsLabelEXT; + CmdSetSampleLocationsEXTFunc cmdSetSampleLocationsEXT; + GetImageDrmFormatModifierPropertiesEXTFunc getImageDrmFormatModifierPropertiesEXT; + CreateValidationCacheEXTFunc createValidationCacheEXT; + DestroyValidationCacheEXTFunc destroyValidationCacheEXT; + MergeValidationCachesEXTFunc mergeValidationCachesEXT; + GetValidationCacheDataEXTFunc getValidationCacheDataEXT; + CmdBindShadingRateImageNVFunc cmdBindShadingRateImageNV; + CmdSetViewportShadingRatePaletteNVFunc cmdSetViewportShadingRatePaletteNV; + CmdSetCoarseSampleOrderNVFunc cmdSetCoarseSampleOrderNV; + CreateAccelerationStructureNVFunc createAccelerationStructureNV; + DestroyAccelerationStructureNVFunc destroyAccelerationStructureNV; + GetAccelerationStructureMemoryRequirementsNVFunc getAccelerationStructureMemoryRequirementsNV; + BindAccelerationStructureMemoryNVFunc bindAccelerationStructureMemoryNV; + CmdBuildAccelerationStructureNVFunc cmdBuildAccelerationStructureNV; + CmdCopyAccelerationStructureNVFunc cmdCopyAccelerationStructureNV; + CmdTraceRaysNVFunc cmdTraceRaysNV; + CreateRayTracingPipelinesNVFunc createRayTracingPipelinesNV; + GetRayTracingShaderGroupHandlesKHRFunc getRayTracingShaderGroupHandlesKHR; + GetRayTracingShaderGroupHandlesNVFunc getRayTracingShaderGroupHandlesNV; + GetAccelerationStructureHandleNVFunc getAccelerationStructureHandleNV; + CmdWriteAccelerationStructuresPropertiesNVFunc cmdWriteAccelerationStructuresPropertiesNV; + CompileDeferredNVFunc compileDeferredNV; + GetMemoryHostPointerPropertiesEXTFunc getMemoryHostPointerPropertiesEXT; + CmdWriteBufferMarkerAMDFunc cmdWriteBufferMarkerAMD; + GetCalibratedTimestampsEXTFunc getCalibratedTimestampsEXT; + CmdDrawMeshTasksNVFunc cmdDrawMeshTasksNV; + CmdDrawMeshTasksIndirectNVFunc cmdDrawMeshTasksIndirectNV; + CmdDrawMeshTasksIndirectCountNVFunc cmdDrawMeshTasksIndirectCountNV; + CmdSetExclusiveScissorNVFunc cmdSetExclusiveScissorNV; + CmdSetCheckpointNVFunc cmdSetCheckpointNV; + GetQueueCheckpointDataNVFunc getQueueCheckpointDataNV; + InitializePerformanceApiINTELFunc initializePerformanceApiINTEL; + UninitializePerformanceApiINTELFunc uninitializePerformanceApiINTEL; + CmdSetPerformanceMarkerINTELFunc cmdSetPerformanceMarkerINTEL; + CmdSetPerformanceStreamMarkerINTELFunc cmdSetPerformanceStreamMarkerINTEL; + CmdSetPerformanceOverrideINTELFunc cmdSetPerformanceOverrideINTEL; + AcquirePerformanceConfigurationINTELFunc acquirePerformanceConfigurationINTEL; + ReleasePerformanceConfigurationINTELFunc releasePerformanceConfigurationINTEL; + QueueSetPerformanceConfigurationINTELFunc queueSetPerformanceConfigurationINTEL; + GetPerformanceParameterINTELFunc getPerformanceParameterINTEL; + SetLocalDimmingAMDFunc setLocalDimmingAMD; + GetBufferDeviceAddressEXTFunc getBufferDeviceAddressEXT; + CmdSetLineStippleEXTFunc cmdSetLineStippleEXT; -CmdSetCullModeEXTFunc cmdSetCullModeEXT; -CmdSetFrontFaceEXTFunc cmdSetFrontFaceEXT; -CmdSetPrimitiveTopologyEXTFunc cmdSetPrimitiveTopologyEXT; -CmdSetViewportWithCountEXTFunc cmdSetViewportWithCountEXT; -CmdSetScissorWithCountEXTFunc cmdSetScissorWithCountEXT; -CmdBindVertexBuffers2EXTFunc cmdBindVertexBuffers2EXT; -CmdSetDepthTestEnableEXTFunc cmdSetDepthTestEnableEXT; -CmdSetDepthWriteEnableEXTFunc cmdSetDepthWriteEnableEXT; -CmdSetDepthCompareOpEXTFunc cmdSetDepthCompareOpEXT; -CmdSetDepthBoundsTestEnableEXTFunc cmdSetDepthBoundsTestEnableEXT; -CmdSetStencilTestEnableEXTFunc cmdSetStencilTestEnableEXT; -CmdSetStencilOpEXTFunc cmdSetStencilOpEXT; + GetGeneratedCommandsMemoryRequirementsNVFunc getGeneratedCommandsMemoryRequirementsNV; + CmdPreprocessGeneratedCommandsNVFunc cmdPreprocessGeneratedCommandsNV; + CmdExecuteGeneratedCommandsNVFunc cmdExecuteGeneratedCommandsNV; + CmdBindPipelineShaderGroupNVFunc cmdBindPipelineShaderGroupNV; + CreateIndirectCommandsLayoutNVFunc createIndirectCommandsLayoutNV; + DestroyIndirectCommandsLayoutNVFunc destroyIndirectCommandsLayoutNV; -CreatePrivateDataSlotEXTFunc createPrivateDataSlotEXT; -DestroyPrivateDataSlotEXTFunc destroyPrivateDataSlotEXT; -SetPrivateDataEXTFunc setPrivateDataEXT; -GetPrivateDataEXTFunc getPrivateDataEXT; + CmdSetFragmentShadingRateEnumNVFunc cmdSetFragmentShadingRateEnumNV; + CmdSetVertexInputEXTFunc cmdSetVertexInputEXT; + GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIFunc getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI; + CmdSubpassShadingHUAWEIFunc cmdSubpassShadingHUAWEI; + CmdBindInvocationMaskHUAWEIFunc cmdBindInvocationMaskHUAWEI; + GetMemoryRemoteAddressNVFunc getMemoryRemoteAddressNV; + CmdSetPatchControlPointsEXTFunc cmdSetPatchControlPointsEXT; -CmdSetRasterizerDiscardEnableEXTFunc cmdSetRasterizerDiscardEnableEXT; -CmdSetDepthBiasEnableEXTFunc cmdSetDepthBiasEnableEXT; + CmdSetLogicOpEXTFunc cmdSetLogicOpEXT; -CmdSetPrimitiveRestartEnableEXTFunc cmdSetPrimitiveRestartEnableEXT; + CmdSetColorWriteEnableEXTFunc cmdSetColorWriteEnableEXT; + CmdDrawMultiEXTFunc cmdDrawMultiEXT; + CmdDrawMultiIndexedEXTFunc cmdDrawMultiIndexedEXT; + SetDeviceMemoryPriorityEXTFunc setDeviceMemoryPriorityEXT; + CreateAccelerationStructureKHRFunc createAccelerationStructureKHR; + DestroyAccelerationStructureKHRFunc destroyAccelerationStructureKHR; + CmdBuildAccelerationStructuresKHRFunc cmdBuildAccelerationStructuresKHR; + CmdBuildAccelerationStructuresIndirectKHRFunc cmdBuildAccelerationStructuresIndirectKHR; + BuildAccelerationStructuresKHRFunc buildAccelerationStructuresKHR; + CopyAccelerationStructureKHRFunc copyAccelerationStructureKHR; + CopyAccelerationStructureToMemoryKHRFunc copyAccelerationStructureToMemoryKHR; + CopyMemoryToAccelerationStructureKHRFunc copyMemoryToAccelerationStructureKHR; + WriteAccelerationStructuresPropertiesKHRFunc writeAccelerationStructuresPropertiesKHR; + CmdCopyAccelerationStructureKHRFunc cmdCopyAccelerationStructureKHR; + CmdCopyAccelerationStructureToMemoryKHRFunc cmdCopyAccelerationStructureToMemoryKHR; + CmdCopyMemoryToAccelerationStructureKHRFunc cmdCopyMemoryToAccelerationStructureKHR; + GetAccelerationStructureDeviceAddressKHRFunc getAccelerationStructureDeviceAddressKHR; + CmdWriteAccelerationStructuresPropertiesKHRFunc cmdWriteAccelerationStructuresPropertiesKHR; + GetDeviceAccelerationStructureCompatibilityKHRFunc getDeviceAccelerationStructureCompatibilityKHR; + GetAccelerationStructureBuildSizesKHRFunc getAccelerationStructureBuildSizesKHR; + CmdTraceRaysKHRFunc cmdTraceRaysKHR; + CreateRayTracingPipelinesKHRFunc createRayTracingPipelinesKHR; + GetRayTracingCaptureReplayShaderGroupHandlesKHRFunc getRayTracingCaptureReplayShaderGroupHandlesKHR; + CmdTraceRaysIndirectKHRFunc cmdTraceRaysIndirectKHR; + GetRayTracingShaderGroupStackSizeKHRFunc getRayTracingShaderGroupStackSizeKHR; + CmdSetRayTracingPipelineStackSizeKHRFunc cmdSetRayTracingPipelineStackSizeKHR; + GetAndroidHardwareBufferPropertiesANDROIDFunc getAndroidHardwareBufferPropertiesANDROID; + GetMemoryAndroidHardwareBufferANDROIDFunc getMemoryAndroidHardwareBufferANDROID; + CreateVideoSessionKHRFunc createVideoSessionKHR; + DestroyVideoSessionKHRFunc destroyVideoSessionKHR; + GetVideoSessionMemoryRequirementsKHRFunc getVideoSessionMemoryRequirementsKHR; + BindVideoSessionMemoryKHRFunc bindVideoSessionMemoryKHR; + CreateVideoSessionParametersKHRFunc createVideoSessionParametersKHR; + UpdateVideoSessionParametersKHRFunc updateVideoSessionParametersKHR; + DestroyVideoSessionParametersKHRFunc destroyVideoSessionParametersKHR; + CmdBeginVideoCodingKHRFunc cmdBeginVideoCodingKHR; + CmdEndVideoCodingKHRFunc cmdEndVideoCodingKHR; + CmdControlVideoCodingKHRFunc cmdControlVideoCodingKHR; + CmdDecodeVideoKHRFunc cmdDecodeVideoKHR; + CmdEncodeVideoKHRFunc cmdEncodeVideoKHR; + GetMemoryZirconHandleFUCHSIAFunc getMemoryZirconHandleFUCHSIA; + GetMemoryZirconHandlePropertiesFUCHSIAFunc getMemoryZirconHandlePropertiesFUCHSIA; + ImportSemaphoreZirconHandleFUCHSIAFunc importSemaphoreZirconHandleFUCHSIA; + GetSemaphoreZirconHandleFUCHSIAFunc getSemaphoreZirconHandleFUCHSIA; + CreateBufferCollectionFUCHSIAFunc createBufferCollectionFUCHSIA; + SetBufferCollectionImageConstraintsFUCHSIAFunc setBufferCollectionImageConstraintsFUCHSIA; + SetBufferCollectionBufferConstraintsFUCHSIAFunc setBufferCollectionBufferConstraintsFUCHSIA; + DestroyBufferCollectionFUCHSIAFunc destroyBufferCollectionFUCHSIA; + GetBufferCollectionPropertiesFUCHSIAFunc getBufferCollectionPropertiesFUCHSIA; + GetMemoryWin32HandleKHRFunc getMemoryWin32HandleKHR; + GetMemoryWin32HandlePropertiesKHRFunc getMemoryWin32HandlePropertiesKHR; + ImportSemaphoreWin32HandleKHRFunc importSemaphoreWin32HandleKHR; + GetSemaphoreWin32HandleKHRFunc getSemaphoreWin32HandleKHR; + ImportFenceWin32HandleKHRFunc importFenceWin32HandleKHR; + GetFenceWin32HandleKHRFunc getFenceWin32HandleKHR; + GetMemoryWin32HandleNVFunc getMemoryWin32HandleNV; + AcquireFullScreenExclusiveModeEXTFunc acquireFullScreenExclusiveModeEXT; + ReleaseFullScreenExclusiveModeEXTFunc releaseFullScreenExclusiveModeEXT; + GetDeviceGroupSurfacePresentModes2EXTFunc getDeviceGroupSurfacePresentModes2EXT; diff --cc external/vulkancts/framework/vulkan/vkDeviceProperties.inl index 0000000,2b04e5e..11081f2 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkDeviceProperties.inl +++ b/external/vulkancts/framework/vulkan/vkDeviceProperties.inl @@@ -1,0 -1,334 +1,399 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + #include "vkDeviceProperties.hpp" + + namespace vk + { + #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" + #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" + #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" + #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" + #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" + #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve" + #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" + #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands" + #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" + #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties" + #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm" + #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" + #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls" + #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" + #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" + #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" + #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums" + #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id" + #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" + #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" + #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" + #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" + #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" + #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" + #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" + #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw" + #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" + #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2" + #define VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME "VK_KHR_portability_subset" + #define DECL_PROTECTED_MEMORY_EXTENSION_NAME "core_property" + #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex" + #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" + #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing" + #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline" + #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" + #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" + #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" + #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties" + #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2" + #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" + #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" + #define DECL_SUBGROUP_EXTENSION_NAME "core_property" + #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" + #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" + #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" + #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" + #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" + #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" + + + template<> void initPropertyFromBlob(VkPhysicalDeviceSubgroupProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) + { + propertyType.subgroupSize = allPropertiesBlobs.vk11.subgroupSize; + propertyType.supportedStages = allPropertiesBlobs.vk11.subgroupSupportedStages; + propertyType.supportedOperations = allPropertiesBlobs.vk11.subgroupSupportedOperations; + propertyType.quadOperationsInAllStages = allPropertiesBlobs.vk11.subgroupQuadOperationsInAllStages; + } + template<> void initPropertyFromBlob(VkPhysicalDevicePointClippingProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) + { + propertyType.pointClippingBehavior = allPropertiesBlobs.vk11.pointClippingBehavior; + } + template<> void initPropertyFromBlob(VkPhysicalDeviceMultiviewProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) + { + propertyType.maxMultiviewViewCount = allPropertiesBlobs.vk11.maxMultiviewViewCount; + propertyType.maxMultiviewInstanceIndex = allPropertiesBlobs.vk11.maxMultiviewInstanceIndex; + } + template<> void initPropertyFromBlob(VkPhysicalDeviceProtectedMemoryProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) + { + propertyType.protectedNoFault = allPropertiesBlobs.vk11.protectedNoFault; + } + template<> void initPropertyFromBlob(VkPhysicalDeviceIDProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) + { + memcpy(propertyType.deviceUUID, allPropertiesBlobs.vk11.deviceUUID, sizeof(uint8_t) * VK_UUID_SIZE); + memcpy(propertyType.driverUUID, allPropertiesBlobs.vk11.driverUUID, sizeof(uint8_t) * VK_UUID_SIZE); + memcpy(propertyType.deviceLUID, allPropertiesBlobs.vk11.deviceLUID, sizeof(uint8_t) * VK_LUID_SIZE); + propertyType.deviceNodeMask = allPropertiesBlobs.vk11.deviceNodeMask; + propertyType.deviceLUIDValid = allPropertiesBlobs.vk11.deviceLUIDValid; + } + template<> void initPropertyFromBlob(VkPhysicalDeviceMaintenance3Properties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) + { + propertyType.maxPerSetDescriptors = allPropertiesBlobs.vk11.maxPerSetDescriptors; + propertyType.maxMemoryAllocationSize = allPropertiesBlobs.vk11.maxMemoryAllocationSize; + } + template<> void initPropertyFromBlob(VkPhysicalDeviceDriverProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) + { + propertyType.driverID = allPropertiesBlobs.vk12.driverID; + memcpy(propertyType.driverName, allPropertiesBlobs.vk12.driverName, sizeof(char) * VK_MAX_DRIVER_NAME_SIZE); + memcpy(propertyType.driverInfo, allPropertiesBlobs.vk12.driverInfo, sizeof(char) * VK_MAX_DRIVER_INFO_SIZE); + propertyType.conformanceVersion = allPropertiesBlobs.vk12.conformanceVersion; + } + template<> void initPropertyFromBlob(VkPhysicalDeviceFloatControlsProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) + { + propertyType.denormBehaviorIndependence = allPropertiesBlobs.vk12.denormBehaviorIndependence; + propertyType.roundingModeIndependence = allPropertiesBlobs.vk12.roundingModeIndependence; + propertyType.shaderSignedZeroInfNanPreserveFloat16 = allPropertiesBlobs.vk12.shaderSignedZeroInfNanPreserveFloat16; + propertyType.shaderSignedZeroInfNanPreserveFloat32 = allPropertiesBlobs.vk12.shaderSignedZeroInfNanPreserveFloat32; + propertyType.shaderSignedZeroInfNanPreserveFloat64 = allPropertiesBlobs.vk12.shaderSignedZeroInfNanPreserveFloat64; + propertyType.shaderDenormPreserveFloat16 = allPropertiesBlobs.vk12.shaderDenormPreserveFloat16; + propertyType.shaderDenormPreserveFloat32 = allPropertiesBlobs.vk12.shaderDenormPreserveFloat32; + propertyType.shaderDenormPreserveFloat64 = allPropertiesBlobs.vk12.shaderDenormPreserveFloat64; + propertyType.shaderDenormFlushToZeroFloat16 = allPropertiesBlobs.vk12.shaderDenormFlushToZeroFloat16; + propertyType.shaderDenormFlushToZeroFloat32 = allPropertiesBlobs.vk12.shaderDenormFlushToZeroFloat32; + propertyType.shaderDenormFlushToZeroFloat64 = allPropertiesBlobs.vk12.shaderDenormFlushToZeroFloat64; + propertyType.shaderRoundingModeRTEFloat16 = allPropertiesBlobs.vk12.shaderRoundingModeRTEFloat16; + propertyType.shaderRoundingModeRTEFloat32 = allPropertiesBlobs.vk12.shaderRoundingModeRTEFloat32; + propertyType.shaderRoundingModeRTEFloat64 = allPropertiesBlobs.vk12.shaderRoundingModeRTEFloat64; + propertyType.shaderRoundingModeRTZFloat16 = allPropertiesBlobs.vk12.shaderRoundingModeRTZFloat16; + propertyType.shaderRoundingModeRTZFloat32 = allPropertiesBlobs.vk12.shaderRoundingModeRTZFloat32; + propertyType.shaderRoundingModeRTZFloat64 = allPropertiesBlobs.vk12.shaderRoundingModeRTZFloat64; + } + template<> void initPropertyFromBlob(VkPhysicalDeviceDescriptorIndexingProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) + { + propertyType.maxUpdateAfterBindDescriptorsInAllPools = allPropertiesBlobs.vk12.maxUpdateAfterBindDescriptorsInAllPools; + propertyType.shaderUniformBufferArrayNonUniformIndexingNative = allPropertiesBlobs.vk12.shaderUniformBufferArrayNonUniformIndexingNative; + propertyType.shaderSampledImageArrayNonUniformIndexingNative = allPropertiesBlobs.vk12.shaderSampledImageArrayNonUniformIndexingNative; + propertyType.shaderStorageBufferArrayNonUniformIndexingNative = allPropertiesBlobs.vk12.shaderStorageBufferArrayNonUniformIndexingNative; + propertyType.shaderStorageImageArrayNonUniformIndexingNative = allPropertiesBlobs.vk12.shaderStorageImageArrayNonUniformIndexingNative; + propertyType.shaderInputAttachmentArrayNonUniformIndexingNative = allPropertiesBlobs.vk12.shaderInputAttachmentArrayNonUniformIndexingNative; + propertyType.robustBufferAccessUpdateAfterBind = allPropertiesBlobs.vk12.robustBufferAccessUpdateAfterBind; + propertyType.quadDivergentImplicitLod = allPropertiesBlobs.vk12.quadDivergentImplicitLod; + propertyType.maxPerStageDescriptorUpdateAfterBindSamplers = allPropertiesBlobs.vk12.maxPerStageDescriptorUpdateAfterBindSamplers; + propertyType.maxPerStageDescriptorUpdateAfterBindUniformBuffers = allPropertiesBlobs.vk12.maxPerStageDescriptorUpdateAfterBindUniformBuffers; + propertyType.maxPerStageDescriptorUpdateAfterBindStorageBuffers = allPropertiesBlobs.vk12.maxPerStageDescriptorUpdateAfterBindStorageBuffers; + propertyType.maxPerStageDescriptorUpdateAfterBindSampledImages = allPropertiesBlobs.vk12.maxPerStageDescriptorUpdateAfterBindSampledImages; + propertyType.maxPerStageDescriptorUpdateAfterBindStorageImages = allPropertiesBlobs.vk12.maxPerStageDescriptorUpdateAfterBindStorageImages; + propertyType.maxPerStageDescriptorUpdateAfterBindInputAttachments = allPropertiesBlobs.vk12.maxPerStageDescriptorUpdateAfterBindInputAttachments; + propertyType.maxPerStageUpdateAfterBindResources = allPropertiesBlobs.vk12.maxPerStageUpdateAfterBindResources; + propertyType.maxDescriptorSetUpdateAfterBindSamplers = allPropertiesBlobs.vk12.maxDescriptorSetUpdateAfterBindSamplers; + propertyType.maxDescriptorSetUpdateAfterBindUniformBuffers = allPropertiesBlobs.vk12.maxDescriptorSetUpdateAfterBindUniformBuffers; + propertyType.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = allPropertiesBlobs.vk12.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; + propertyType.maxDescriptorSetUpdateAfterBindStorageBuffers = allPropertiesBlobs.vk12.maxDescriptorSetUpdateAfterBindStorageBuffers; + propertyType.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = allPropertiesBlobs.vk12.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; + propertyType.maxDescriptorSetUpdateAfterBindSampledImages = allPropertiesBlobs.vk12.maxDescriptorSetUpdateAfterBindSampledImages; + propertyType.maxDescriptorSetUpdateAfterBindStorageImages = allPropertiesBlobs.vk12.maxDescriptorSetUpdateAfterBindStorageImages; + propertyType.maxDescriptorSetUpdateAfterBindInputAttachments = allPropertiesBlobs.vk12.maxDescriptorSetUpdateAfterBindInputAttachments; + } + template<> void initPropertyFromBlob(VkPhysicalDeviceDepthStencilResolveProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) + { + propertyType.supportedDepthResolveModes = allPropertiesBlobs.vk12.supportedDepthResolveModes; + propertyType.supportedStencilResolveModes = allPropertiesBlobs.vk12.supportedStencilResolveModes; + propertyType.independentResolveNone = allPropertiesBlobs.vk12.independentResolveNone; + propertyType.independentResolve = allPropertiesBlobs.vk12.independentResolve; + } + template<> void initPropertyFromBlob(VkPhysicalDeviceSamplerFilterMinmaxProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) + { + propertyType.filterMinmaxSingleComponentFormats = allPropertiesBlobs.vk12.filterMinmaxSingleComponentFormats; + propertyType.filterMinmaxImageComponentMapping = allPropertiesBlobs.vk12.filterMinmaxImageComponentMapping; + } + template<> void initPropertyFromBlob(VkPhysicalDeviceTimelineSemaphoreProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) + { + propertyType.maxTimelineSemaphoreValueDifference = allPropertiesBlobs.vk12.maxTimelineSemaphoreValueDifference; + } ++template<> void initPropertyFromBlob(VkPhysicalDeviceSubgroupSizeControlProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) ++{ ++ propertyType.minSubgroupSize = allPropertiesBlobs.vk13.minSubgroupSize; ++ propertyType.maxSubgroupSize = allPropertiesBlobs.vk13.maxSubgroupSize; ++ propertyType.maxComputeWorkgroupSubgroups = allPropertiesBlobs.vk13.maxComputeWorkgroupSubgroups; ++ propertyType.requiredSubgroupSizeStages = allPropertiesBlobs.vk13.requiredSubgroupSizeStages; ++} ++template<> void initPropertyFromBlob(VkPhysicalDeviceInlineUniformBlockProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) ++{ ++ propertyType.maxInlineUniformBlockSize = allPropertiesBlobs.vk13.maxInlineUniformBlockSize; ++ propertyType.maxPerStageDescriptorInlineUniformBlocks = allPropertiesBlobs.vk13.maxPerStageDescriptorInlineUniformBlocks; ++ propertyType.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = allPropertiesBlobs.vk13.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; ++ propertyType.maxDescriptorSetInlineUniformBlocks = allPropertiesBlobs.vk13.maxDescriptorSetInlineUniformBlocks; ++ propertyType.maxDescriptorSetUpdateAfterBindInlineUniformBlocks = allPropertiesBlobs.vk13.maxDescriptorSetUpdateAfterBindInlineUniformBlocks; ++} ++template<> void initPropertyFromBlob(VkPhysicalDeviceShaderIntegerDotProductProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) ++{ ++ propertyType.integerDotProduct8BitUnsignedAccelerated = allPropertiesBlobs.vk13.integerDotProduct8BitUnsignedAccelerated; ++ propertyType.integerDotProduct8BitSignedAccelerated = allPropertiesBlobs.vk13.integerDotProduct8BitSignedAccelerated; ++ propertyType.integerDotProduct8BitMixedSignednessAccelerated = allPropertiesBlobs.vk13.integerDotProduct8BitMixedSignednessAccelerated; ++ propertyType.integerDotProduct4x8BitPackedUnsignedAccelerated = allPropertiesBlobs.vk13.integerDotProduct4x8BitPackedUnsignedAccelerated; ++ propertyType.integerDotProduct4x8BitPackedSignedAccelerated = allPropertiesBlobs.vk13.integerDotProduct4x8BitPackedSignedAccelerated; ++ propertyType.integerDotProduct4x8BitPackedMixedSignednessAccelerated = allPropertiesBlobs.vk13.integerDotProduct4x8BitPackedMixedSignednessAccelerated; ++ propertyType.integerDotProduct16BitUnsignedAccelerated = allPropertiesBlobs.vk13.integerDotProduct16BitUnsignedAccelerated; ++ propertyType.integerDotProduct16BitSignedAccelerated = allPropertiesBlobs.vk13.integerDotProduct16BitSignedAccelerated; ++ propertyType.integerDotProduct16BitMixedSignednessAccelerated = allPropertiesBlobs.vk13.integerDotProduct16BitMixedSignednessAccelerated; ++ propertyType.integerDotProduct32BitUnsignedAccelerated = allPropertiesBlobs.vk13.integerDotProduct32BitUnsignedAccelerated; ++ propertyType.integerDotProduct32BitSignedAccelerated = allPropertiesBlobs.vk13.integerDotProduct32BitSignedAccelerated; ++ propertyType.integerDotProduct32BitMixedSignednessAccelerated = allPropertiesBlobs.vk13.integerDotProduct32BitMixedSignednessAccelerated; ++ propertyType.integerDotProduct64BitUnsignedAccelerated = allPropertiesBlobs.vk13.integerDotProduct64BitUnsignedAccelerated; ++ propertyType.integerDotProduct64BitSignedAccelerated = allPropertiesBlobs.vk13.integerDotProduct64BitSignedAccelerated; ++ propertyType.integerDotProduct64BitMixedSignednessAccelerated = allPropertiesBlobs.vk13.integerDotProduct64BitMixedSignednessAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating8BitSignedAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating8BitSignedAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating16BitSignedAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating16BitSignedAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating32BitSignedAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating32BitSignedAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating64BitSignedAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating64BitSignedAccelerated; ++ propertyType.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = allPropertiesBlobs.vk13.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; ++} ++template<> void initPropertyFromBlob(VkPhysicalDeviceTexelBufferAlignmentProperties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) ++{ ++ propertyType.storageTexelBufferOffsetAlignmentBytes = allPropertiesBlobs.vk13.storageTexelBufferOffsetAlignmentBytes; ++ propertyType.storageTexelBufferOffsetSingleTexelAlignment = allPropertiesBlobs.vk13.storageTexelBufferOffsetSingleTexelAlignment; ++ propertyType.uniformTexelBufferOffsetAlignmentBytes = allPropertiesBlobs.vk13.uniformTexelBufferOffsetAlignmentBytes; ++ propertyType.uniformTexelBufferOffsetSingleTexelAlignment = allPropertiesBlobs.vk13.uniformTexelBufferOffsetSingleTexelAlignment; ++} ++template<> void initPropertyFromBlob(VkPhysicalDeviceMaintenance4Properties& propertyType, const AllPropertiesBlobs& allPropertiesBlobs) ++{ ++ propertyType.maxBufferSize = allPropertiesBlobs.vk13.maxBufferSize; ++} + + // generic template is not enough for some compilers + template<> void initPropertyFromBlob(VkPhysicalDeviceMemoryProperties&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceSparseProperties&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceGroupProperties&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceMemoryProperties2&, const AllPropertiesBlobs&) {} ++template<> void initPropertyFromBlob(VkPhysicalDeviceToolProperties&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDevicePushDescriptorPropertiesKHR&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDevicePerformanceQueryPropertiesKHR&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceFragmentShadingRatePropertiesKHR&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR&, const AllPropertiesBlobs&) {} -template<> void initPropertyFromBlob(VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR&, const AllPropertiesBlobs&) {} -template<> void initPropertyFromBlob(VkPhysicalDeviceMaintenance4PropertiesKHR&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceTransformFeedbackPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceDiscardRectanglePropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceConservativeRasterizationPropertiesEXT&, const AllPropertiesBlobs&) {} -template<> void initPropertyFromBlob(VkPhysicalDeviceInlineUniformBlockPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceSampleLocationsPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceShaderSMBuiltinsPropertiesNV&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceShadingRateImagePropertiesNV&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceRayTracingPropertiesNV&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceExternalMemoryHostPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceShaderCorePropertiesAMD&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceMeshShaderPropertiesNV&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDevicePCIBusInfoPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceFragmentDensityMapPropertiesEXT&, const AllPropertiesBlobs&) {} -template<> void initPropertyFromBlob(VkPhysicalDeviceSubgroupSizeControlPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceShaderCoreProperties2AMD&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceMemoryBudgetPropertiesEXT&, const AllPropertiesBlobs&) {} -template<> void initPropertyFromBlob(VkPhysicalDeviceToolPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceCooperativeMatrixPropertiesNV&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceProvokingVertexPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceLineRasterizationPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV&, const AllPropertiesBlobs&) {} -template<> void initPropertyFromBlob(VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceRobustness2PropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceCustomBorderColorPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceFragmentDensityMap2PropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceDrmPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceSubpassShadingPropertiesHUAWEI&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceMultiDrawPropertiesEXT&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceAccelerationStructurePropertiesKHR&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDeviceRayTracingPipelinePropertiesKHR&, const AllPropertiesBlobs&) {} + template<> void initPropertyFromBlob(VkPhysicalDevicePortabilitySubsetPropertiesKHR&, const AllPropertiesBlobs&) {} + + + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION, 48}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION, 47}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME, VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION, 46}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION, 45}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION, 44}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION, 43}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION, 42}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION, 41}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT, VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION, 40}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION, 39}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION, 38}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION, 37}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION, 36}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION, 35}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION, 34}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION, 33}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION, 32}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION, 31}; } -template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 30}; } ++template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION, 30}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION, 29}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, VK_KHR_MAINTENANCE_3_EXTENSION_NAME, VK_KHR_MAINTENANCE_3_SPEC_VERSION, 28}; } -template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION, 27}; } ++template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION, 27}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION, 26}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION, 25}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX, VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME, VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION, 24}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION, 23}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION, 22}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, VK_KHR_MAINTENANCE_2_EXTENSION_NAME, VK_KHR_MAINTENANCE_2_SPEC_VERSION, 21}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION, 20}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0, 19}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION, 18}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME, VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION, 17}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV, VK_NV_RAY_TRACING_EXTENSION_NAME, VK_NV_RAY_TRACING_SPEC_VERSION, 16}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION, 15}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION, 14}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME, VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION, 13}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT, VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME, VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION, 12}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD, VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION, 11}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD, VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION, 10}; } -template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 9}; } ++template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION, 9}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION, 8}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES, DECL_SUBGROUP_EXTENSION_NAME, 0, 7}; } -template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 6}; } ++template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION, 6}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI, VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME, VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION, 5}; } -template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION, 4}; } ++template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION, 4}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME, VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION, 3}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION, 2}; } + template<> PropertyDesc makePropertyDesc(void) { return PropertyDesc{VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION, 1}; } + + + static const PropertyStructCreationData propertyStructCreationArray[] = + { + { createPropertyStructWrapper, VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME, VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME, VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME, VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION }, + { createPropertyStructWrapper, VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME, VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME, VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME, VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME, VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION }, + { createPropertyStructWrapper, VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME, VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME, VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME, VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME, VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME, VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME, VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION }, + { createPropertyStructWrapper, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME, VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_PRESENT_ID_EXTENSION_NAME, VK_KHR_PRESENT_ID_SPEC_VERSION }, - { createPropertyStructWrapper, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION }, ++ { createPropertyStructWrapper, VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME, VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME, VK_EXT_LINE_RASTERIZATION_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_MAINTENANCE_3_EXTENSION_NAME, VK_KHR_MAINTENANCE_3_SPEC_VERSION }, - { createPropertyStructWrapper, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION }, ++ { createPropertyStructWrapper, VK_KHR_MAINTENANCE_4_EXTENSION_NAME, VK_KHR_MAINTENANCE_4_SPEC_VERSION }, + { createPropertyStructWrapper, VK_NV_MESH_SHADER_EXTENSION_NAME, VK_NV_MESH_SHADER_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_MULTIVIEW_EXTENSION_NAME, VK_KHR_MULTIVIEW_SPEC_VERSION }, + { createPropertyStructWrapper, VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME, VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_MULTI_DRAW_EXTENSION_NAME, VK_EXT_MULTI_DRAW_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME, VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_MAINTENANCE_2_EXTENSION_NAME, VK_KHR_MAINTENANCE_2_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION }, + { createPropertyStructWrapper, DECL_PROTECTED_MEMORY_EXTENSION_NAME, 0 }, + { createPropertyStructWrapper, VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME, VK_EXT_PROVOKING_VERTEX_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME, VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION }, + { createPropertyStructWrapper, VK_NV_RAY_TRACING_EXTENSION_NAME, VK_NV_RAY_TRACING_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME, VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_ROBUSTNESS_2_EXTENSION_NAME, VK_EXT_ROBUSTNESS_2_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME, VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME, VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION }, + { createPropertyStructWrapper, VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION }, + { createPropertyStructWrapper, VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME, VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION }, - { createPropertyStructWrapper, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION }, ++ { createPropertyStructWrapper, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME, VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION }, + { createPropertyStructWrapper, VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME, VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION }, + { createPropertyStructWrapper, DECL_SUBGROUP_EXTENSION_NAME, 0 }, - { createPropertyStructWrapper, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION }, ++ { createPropertyStructWrapper, VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME, VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION }, + { createPropertyStructWrapper, VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME, VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION }, - { createPropertyStructWrapper, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION }, ++ { createPropertyStructWrapper, VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME, VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION }, + { createPropertyStructWrapper, VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME, VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION }, + { createPropertyStructWrapper, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION }, + }; + -bool isPartOfBlobProperties (VkStructureType sType) ++deUint32 getBlobPropertiesVersion (VkStructureType sType) + { - const std::vector sTypeVect = { ++ const std::map sTypeBlobMap ++ { + // Vulkan11 - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, VK_API_VERSION_1_1 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, VK_API_VERSION_1_1 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, VK_API_VERSION_1_1 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, VK_API_VERSION_1_1 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES, VK_API_VERSION_1_1 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES, VK_API_VERSION_1_1 }, + // Vulkan12 - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, VK_API_VERSION_1_2 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, VK_API_VERSION_1_2 }, ++ // Vulkan13 ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, VK_API_VERSION_1_3 }, ++ { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, VK_API_VERSION_1_3 }, + }; - return de::contains(sTypeVect.begin(), sTypeVect.end(), sType); ++ ++ auto it = sTypeBlobMap.find(sType); ++ if(it == sTypeBlobMap.end()) ++ return 0; ++ return it->second; + } + + } // vk + diff --cc external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDecl.inl index 0000000,d415549..94d7365 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDecl.inl +++ b/external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDecl.inl @@@ -1,0 -1,52 +1,52 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + const vk::VkPhysicalDeviceAccelerationStructurePropertiesKHR& getAccelerationStructureProperties (void) const; + const vk::VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& getBlendOperationAdvancedPropertiesEXT (void) const; + const vk::VkPhysicalDeviceConservativeRasterizationPropertiesEXT& getConservativeRasterizationPropertiesEXT (void) const; + const vk::VkPhysicalDeviceCooperativeMatrixPropertiesNV& getCooperativeMatrixProperties (void) const; + const vk::VkPhysicalDeviceCustomBorderColorPropertiesEXT& getCustomBorderColorPropertiesEXT (void) const; + const vk::VkPhysicalDeviceDepthStencilResolveProperties& getDepthStencilResolveProperties (void) const; + const vk::VkPhysicalDeviceDescriptorIndexingProperties& getDescriptorIndexingProperties (void) const; + const vk::VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV& getDeviceGeneratedCommandsProperties (void) const; + const vk::VkPhysicalDeviceDiscardRectanglePropertiesEXT& getDiscardRectanglePropertiesEXT (void) const; + const vk::VkPhysicalDeviceDriverProperties& getDriverProperties (void) const; + const vk::VkPhysicalDeviceDrmPropertiesEXT& getDrmPropertiesEXT (void) const; + const vk::VkPhysicalDeviceExternalMemoryHostPropertiesEXT& getExternalMemoryHostPropertiesEXT (void) const; + const vk::VkPhysicalDeviceFloatControlsProperties& getFloatControlsProperties (void) const; + const vk::VkPhysicalDeviceFragmentDensityMapPropertiesEXT& getFragmentDensityMapPropertiesEXT (void) const; + const vk::VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& getFragmentDensityMap2PropertiesEXT (void) const; + const vk::VkPhysicalDeviceFragmentShadingRatePropertiesKHR& getFragmentShadingRateProperties (void) const; + const vk::VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& getFragmentShadingRateEnumsProperties (void) const; + const vk::VkPhysicalDeviceIDProperties& getIDProperties (void) const; -const vk::VkPhysicalDeviceInlineUniformBlockPropertiesEXT& getInlineUniformBlockPropertiesEXT (void) const; ++const vk::VkPhysicalDeviceInlineUniformBlockProperties& getInlineUniformBlockProperties (void) const; + const vk::VkPhysicalDeviceLineRasterizationPropertiesEXT& getLineRasterizationPropertiesEXT (void) const; + const vk::VkPhysicalDeviceMaintenance3Properties& getMaintenance3Properties (void) const; -const vk::VkPhysicalDeviceMaintenance4PropertiesKHR& getMaintenance4Properties (void) const; ++const vk::VkPhysicalDeviceMaintenance4Properties& getMaintenance4Properties (void) const; + const vk::VkPhysicalDeviceMeshShaderPropertiesNV& getMeshShaderProperties (void) const; + const vk::VkPhysicalDeviceMultiviewProperties& getMultiviewProperties (void) const; + const vk::VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& getMultiviewPerViewAttributesPropertiesX (void) const; + const vk::VkPhysicalDeviceMultiDrawPropertiesEXT& getMultiDrawPropertiesEXT (void) const; + const vk::VkPhysicalDevicePerformanceQueryPropertiesKHR& getPerformanceQueryProperties (void) const; + const vk::VkPhysicalDevicePointClippingProperties& getPointClippingProperties (void) const; + const vk::VkPhysicalDevicePortabilitySubsetPropertiesKHR& getPortabilitySubsetProperties (void) const; + const vk::VkPhysicalDeviceProtectedMemoryProperties& getProtectedMemoryProperties (void) const; + const vk::VkPhysicalDeviceProvokingVertexPropertiesEXT& getProvokingVertexPropertiesEXT (void) const; + const vk::VkPhysicalDevicePushDescriptorPropertiesKHR& getPushDescriptorProperties (void) const; + const vk::VkPhysicalDeviceRayTracingPropertiesNV& getRayTracingPropertiesNV (void) const; + const vk::VkPhysicalDeviceRayTracingPipelinePropertiesKHR& getRayTracingPipelineProperties (void) const; + const vk::VkPhysicalDeviceRobustness2PropertiesEXT& getRobustness2PropertiesEXT (void) const; + const vk::VkPhysicalDeviceSamplerFilterMinmaxProperties& getSamplerFilterMinmaxProperties (void) const; + const vk::VkPhysicalDeviceSampleLocationsPropertiesEXT& getSampleLocationsPropertiesEXT (void) const; + const vk::VkPhysicalDeviceShaderCorePropertiesAMD& getShaderCorePropertiesAMD (void) const; + const vk::VkPhysicalDeviceShaderCoreProperties2AMD& getShaderCoreProperties2AMD (void) const; -const vk::VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR& getShaderIntegerDotProductProperties (void) const; ++const vk::VkPhysicalDeviceShaderIntegerDotProductProperties& getShaderIntegerDotProductProperties (void) const; + const vk::VkPhysicalDeviceShadingRateImagePropertiesNV& getShadingRateImageProperties (void) const; + const vk::VkPhysicalDeviceSubgroupProperties& getSubgroupProperties (void) const; -const vk::VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& getSubgroupSizeControlPropertiesEXT (void) const; ++const vk::VkPhysicalDeviceSubgroupSizeControlProperties& getSubgroupSizeControlProperties (void) const; + const vk::VkPhysicalDeviceSubpassShadingPropertiesHUAWEI& getSubpassShadingPropertiesHUAWEI (void) const; -const vk::VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& getTexelBufferAlignmentPropertiesEXT (void) const; ++const vk::VkPhysicalDeviceTexelBufferAlignmentProperties& getTexelBufferAlignmentProperties (void) const; + const vk::VkPhysicalDeviceTimelineSemaphoreProperties& getTimelineSemaphoreProperties (void) const; + const vk::VkPhysicalDeviceTransformFeedbackPropertiesEXT& getTransformFeedbackPropertiesEXT (void) const; + const vk::VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& getVertexAttributeDivisorPropertiesEXT (void) const; diff --cc external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDefs.inl index 0000000,617622b..2419a7d mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDefs.inl +++ b/external/vulkancts/framework/vulkan/vkDevicePropertiesForContextDefs.inl @@@ -1,0 -1,52 +1,52 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + const vk::VkPhysicalDeviceAccelerationStructurePropertiesKHR& Context::getAccelerationStructureProperties (void) const { return m_device->getAccelerationStructureProperties(); } + const vk::VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& Context::getBlendOperationAdvancedPropertiesEXT (void) const { return m_device->getBlendOperationAdvancedPropertiesEXT(); } + const vk::VkPhysicalDeviceConservativeRasterizationPropertiesEXT& Context::getConservativeRasterizationPropertiesEXT (void) const { return m_device->getConservativeRasterizationPropertiesEXT(); } + const vk::VkPhysicalDeviceCooperativeMatrixPropertiesNV& Context::getCooperativeMatrixProperties (void) const { return m_device->getCooperativeMatrixProperties(); } + const vk::VkPhysicalDeviceCustomBorderColorPropertiesEXT& Context::getCustomBorderColorPropertiesEXT (void) const { return m_device->getCustomBorderColorPropertiesEXT(); } + const vk::VkPhysicalDeviceDepthStencilResolveProperties& Context::getDepthStencilResolveProperties (void) const { return m_device->getDepthStencilResolveProperties(); } + const vk::VkPhysicalDeviceDescriptorIndexingProperties& Context::getDescriptorIndexingProperties (void) const { return m_device->getDescriptorIndexingProperties(); } + const vk::VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV& Context::getDeviceGeneratedCommandsProperties (void) const { return m_device->getDeviceGeneratedCommandsProperties(); } + const vk::VkPhysicalDeviceDiscardRectanglePropertiesEXT& Context::getDiscardRectanglePropertiesEXT (void) const { return m_device->getDiscardRectanglePropertiesEXT(); } + const vk::VkPhysicalDeviceDriverProperties& Context::getDriverProperties (void) const { return m_device->getDriverProperties(); } + const vk::VkPhysicalDeviceDrmPropertiesEXT& Context::getDrmPropertiesEXT (void) const { return m_device->getDrmPropertiesEXT(); } + const vk::VkPhysicalDeviceExternalMemoryHostPropertiesEXT& Context::getExternalMemoryHostPropertiesEXT (void) const { return m_device->getExternalMemoryHostPropertiesEXT(); } + const vk::VkPhysicalDeviceFloatControlsProperties& Context::getFloatControlsProperties (void) const { return m_device->getFloatControlsProperties(); } + const vk::VkPhysicalDeviceFragmentDensityMapPropertiesEXT& Context::getFragmentDensityMapPropertiesEXT (void) const { return m_device->getFragmentDensityMapPropertiesEXT(); } + const vk::VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& Context::getFragmentDensityMap2PropertiesEXT (void) const { return m_device->getFragmentDensityMap2PropertiesEXT(); } + const vk::VkPhysicalDeviceFragmentShadingRatePropertiesKHR& Context::getFragmentShadingRateProperties (void) const { return m_device->getFragmentShadingRateProperties(); } + const vk::VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& Context::getFragmentShadingRateEnumsProperties (void) const { return m_device->getFragmentShadingRateEnumsProperties(); } + const vk::VkPhysicalDeviceIDProperties& Context::getIDProperties (void) const { return m_device->getIDProperties(); } -const vk::VkPhysicalDeviceInlineUniformBlockPropertiesEXT& Context::getInlineUniformBlockPropertiesEXT (void) const { return m_device->getInlineUniformBlockPropertiesEXT(); } ++const vk::VkPhysicalDeviceInlineUniformBlockProperties& Context::getInlineUniformBlockProperties (void) const { return m_device->getInlineUniformBlockProperties(); } + const vk::VkPhysicalDeviceLineRasterizationPropertiesEXT& Context::getLineRasterizationPropertiesEXT (void) const { return m_device->getLineRasterizationPropertiesEXT(); } + const vk::VkPhysicalDeviceMaintenance3Properties& Context::getMaintenance3Properties (void) const { return m_device->getMaintenance3Properties(); } -const vk::VkPhysicalDeviceMaintenance4PropertiesKHR& Context::getMaintenance4Properties (void) const { return m_device->getMaintenance4Properties(); } ++const vk::VkPhysicalDeviceMaintenance4Properties& Context::getMaintenance4Properties (void) const { return m_device->getMaintenance4Properties(); } + const vk::VkPhysicalDeviceMeshShaderPropertiesNV& Context::getMeshShaderProperties (void) const { return m_device->getMeshShaderProperties(); } + const vk::VkPhysicalDeviceMultiviewProperties& Context::getMultiviewProperties (void) const { return m_device->getMultiviewProperties(); } + const vk::VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& Context::getMultiviewPerViewAttributesPropertiesX (void) const { return m_device->getMultiviewPerViewAttributesPropertiesX(); } + const vk::VkPhysicalDeviceMultiDrawPropertiesEXT& Context::getMultiDrawPropertiesEXT (void) const { return m_device->getMultiDrawPropertiesEXT(); } + const vk::VkPhysicalDevicePerformanceQueryPropertiesKHR& Context::getPerformanceQueryProperties (void) const { return m_device->getPerformanceQueryProperties(); } + const vk::VkPhysicalDevicePointClippingProperties& Context::getPointClippingProperties (void) const { return m_device->getPointClippingProperties(); } + const vk::VkPhysicalDevicePortabilitySubsetPropertiesKHR& Context::getPortabilitySubsetProperties (void) const { return m_device->getPortabilitySubsetProperties(); } + const vk::VkPhysicalDeviceProtectedMemoryProperties& Context::getProtectedMemoryProperties (void) const { return m_device->getProtectedMemoryProperties(); } + const vk::VkPhysicalDeviceProvokingVertexPropertiesEXT& Context::getProvokingVertexPropertiesEXT (void) const { return m_device->getProvokingVertexPropertiesEXT(); } + const vk::VkPhysicalDevicePushDescriptorPropertiesKHR& Context::getPushDescriptorProperties (void) const { return m_device->getPushDescriptorProperties(); } + const vk::VkPhysicalDeviceRayTracingPropertiesNV& Context::getRayTracingPropertiesNV (void) const { return m_device->getRayTracingPropertiesNV(); } + const vk::VkPhysicalDeviceRayTracingPipelinePropertiesKHR& Context::getRayTracingPipelineProperties (void) const { return m_device->getRayTracingPipelineProperties(); } + const vk::VkPhysicalDeviceRobustness2PropertiesEXT& Context::getRobustness2PropertiesEXT (void) const { return m_device->getRobustness2PropertiesEXT(); } + const vk::VkPhysicalDeviceSamplerFilterMinmaxProperties& Context::getSamplerFilterMinmaxProperties (void) const { return m_device->getSamplerFilterMinmaxProperties(); } + const vk::VkPhysicalDeviceSampleLocationsPropertiesEXT& Context::getSampleLocationsPropertiesEXT (void) const { return m_device->getSampleLocationsPropertiesEXT(); } + const vk::VkPhysicalDeviceShaderCorePropertiesAMD& Context::getShaderCorePropertiesAMD (void) const { return m_device->getShaderCorePropertiesAMD(); } + const vk::VkPhysicalDeviceShaderCoreProperties2AMD& Context::getShaderCoreProperties2AMD (void) const { return m_device->getShaderCoreProperties2AMD(); } -const vk::VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR& Context::getShaderIntegerDotProductProperties (void) const { return m_device->getShaderIntegerDotProductProperties(); } ++const vk::VkPhysicalDeviceShaderIntegerDotProductProperties& Context::getShaderIntegerDotProductProperties (void) const { return m_device->getShaderIntegerDotProductProperties(); } + const vk::VkPhysicalDeviceShadingRateImagePropertiesNV& Context::getShadingRateImageProperties (void) const { return m_device->getShadingRateImageProperties(); } + const vk::VkPhysicalDeviceSubgroupProperties& Context::getSubgroupProperties (void) const { return m_device->getSubgroupProperties(); } -const vk::VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& Context::getSubgroupSizeControlPropertiesEXT (void) const { return m_device->getSubgroupSizeControlPropertiesEXT(); } ++const vk::VkPhysicalDeviceSubgroupSizeControlProperties& Context::getSubgroupSizeControlProperties (void) const { return m_device->getSubgroupSizeControlProperties(); } + const vk::VkPhysicalDeviceSubpassShadingPropertiesHUAWEI& Context::getSubpassShadingPropertiesHUAWEI (void) const { return m_device->getSubpassShadingPropertiesHUAWEI(); } -const vk::VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& Context::getTexelBufferAlignmentPropertiesEXT (void) const { return m_device->getTexelBufferAlignmentPropertiesEXT(); } ++const vk::VkPhysicalDeviceTexelBufferAlignmentProperties& Context::getTexelBufferAlignmentProperties (void) const { return m_device->getTexelBufferAlignmentProperties(); } + const vk::VkPhysicalDeviceTimelineSemaphoreProperties& Context::getTimelineSemaphoreProperties (void) const { return m_device->getTimelineSemaphoreProperties(); } + const vk::VkPhysicalDeviceTransformFeedbackPropertiesEXT& Context::getTransformFeedbackPropertiesEXT (void) const { return m_device->getTransformFeedbackPropertiesEXT(); } + const vk::VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& Context::getVertexAttributeDivisorPropertiesEXT (void) const { return m_device->getVertexAttributeDivisorPropertiesEXT(); } diff --cc external/vulkancts/framework/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl index 0000000,7cfe76e..79a8e1d mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl +++ b/external/vulkancts/framework/vulkan/vkDevicePropertiesForDefaultDeviceDefs.inl @@@ -1,0 -1,52 +1,52 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + const VkPhysicalDeviceAccelerationStructurePropertiesKHR& getAccelerationStructureProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& getBlendOperationAdvancedPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceConservativeRasterizationPropertiesEXT& getConservativeRasterizationPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceCooperativeMatrixPropertiesNV& getCooperativeMatrixProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceCustomBorderColorPropertiesEXT& getCustomBorderColorPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceDepthStencilResolveProperties& getDepthStencilResolveProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceDescriptorIndexingProperties& getDescriptorIndexingProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV& getDeviceGeneratedCommandsProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceDiscardRectanglePropertiesEXT& getDiscardRectanglePropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceDriverProperties& getDriverProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceDrmPropertiesEXT& getDrmPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceExternalMemoryHostPropertiesEXT& getExternalMemoryHostPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceFloatControlsProperties& getFloatControlsProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceFragmentDensityMapPropertiesEXT& getFragmentDensityMapPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& getFragmentDensityMap2PropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceFragmentShadingRatePropertiesKHR& getFragmentShadingRateProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& getFragmentShadingRateEnumsProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceIDProperties& getIDProperties (void) const { return m_deviceProperties.getPropertyType(); } -const VkPhysicalDeviceInlineUniformBlockPropertiesEXT& getInlineUniformBlockPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } ++const VkPhysicalDeviceInlineUniformBlockProperties& getInlineUniformBlockProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceLineRasterizationPropertiesEXT& getLineRasterizationPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceMaintenance3Properties& getMaintenance3Properties (void) const { return m_deviceProperties.getPropertyType(); } -const VkPhysicalDeviceMaintenance4PropertiesKHR& getMaintenance4Properties (void) const { return m_deviceProperties.getPropertyType(); } ++const VkPhysicalDeviceMaintenance4Properties& getMaintenance4Properties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceMeshShaderPropertiesNV& getMeshShaderProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceMultiviewProperties& getMultiviewProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& getMultiviewPerViewAttributesPropertiesX (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceMultiDrawPropertiesEXT& getMultiDrawPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDevicePerformanceQueryPropertiesKHR& getPerformanceQueryProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDevicePointClippingProperties& getPointClippingProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDevicePortabilitySubsetPropertiesKHR& getPortabilitySubsetProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceProtectedMemoryProperties& getProtectedMemoryProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceProvokingVertexPropertiesEXT& getProvokingVertexPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDevicePushDescriptorPropertiesKHR& getPushDescriptorProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceRayTracingPropertiesNV& getRayTracingPropertiesNV (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceRayTracingPipelinePropertiesKHR& getRayTracingPipelineProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceRobustness2PropertiesEXT& getRobustness2PropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceSamplerFilterMinmaxProperties& getSamplerFilterMinmaxProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceSampleLocationsPropertiesEXT& getSampleLocationsPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceShaderCorePropertiesAMD& getShaderCorePropertiesAMD (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceShaderCoreProperties2AMD& getShaderCoreProperties2AMD (void) const { return m_deviceProperties.getPropertyType(); } -const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR& getShaderIntegerDotProductProperties (void) const { return m_deviceProperties.getPropertyType(); } ++const VkPhysicalDeviceShaderIntegerDotProductProperties& getShaderIntegerDotProductProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceShadingRateImagePropertiesNV& getShadingRateImageProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceSubgroupProperties& getSubgroupProperties (void) const { return m_deviceProperties.getPropertyType(); } -const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& getSubgroupSizeControlPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } ++const VkPhysicalDeviceSubgroupSizeControlProperties& getSubgroupSizeControlProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI& getSubpassShadingPropertiesHUAWEI (void) const { return m_deviceProperties.getPropertyType(); } -const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& getTexelBufferAlignmentPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } ++const VkPhysicalDeviceTexelBufferAlignmentProperties& getTexelBufferAlignmentProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceTimelineSemaphoreProperties& getTimelineSemaphoreProperties (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceTransformFeedbackPropertiesEXT& getTransformFeedbackPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } + const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& getVertexAttributeDivisorPropertiesEXT (void) const { return m_deviceProperties.getPropertyType(); } diff --cc external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl index 0000000,dc7f7dd..793abd3 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl +++ b/external/vulkancts/framework/vulkan/vkFunctionPointerTypes.inl @@@ -1,0 -1,506 +1,543 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateInstanceFunc) (const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyInstanceFunc) (VkInstance instance, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumeratePhysicalDevicesFunc) (VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFeaturesFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFormatPropertiesFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceImageFormatPropertiesFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDevicePropertiesFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceQueueFamilyPropertiesFunc) (VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceMemoryPropertiesFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); + typedef VKAPI_ATTR PFN_vkVoidFunction (VKAPI_CALL* GetInstanceProcAddrFunc) (VkInstance instance, const char* pName); + typedef VKAPI_ATTR PFN_vkVoidFunction (VKAPI_CALL* GetDeviceProcAddrFunc) (VkDevice device, const char* pName); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDeviceFunc) (VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDeviceFunc) (VkDevice device, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateInstanceExtensionPropertiesFunc) (const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateDeviceExtensionPropertiesFunc) (VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateInstanceLayerPropertiesFunc) (uint32_t* pPropertyCount, VkLayerProperties* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateDeviceLayerPropertiesFunc) (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceQueueFunc) (VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueSubmitFunc) (VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueWaitIdleFunc) (VkQueue queue); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* DeviceWaitIdleFunc) (VkDevice device); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* AllocateMemoryFunc) (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); + typedef VKAPI_ATTR void (VKAPI_CALL* FreeMemoryFunc) (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* MapMemoryFunc) (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); + typedef VKAPI_ATTR void (VKAPI_CALL* UnmapMemoryFunc) (VkDevice device, VkDeviceMemory memory); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* FlushMappedMemoryRangesFunc) (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* InvalidateMappedMemoryRangesFunc) (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); + typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceMemoryCommitmentFunc) (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindBufferMemoryFunc) (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindImageMemoryFunc) (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); + typedef VKAPI_ATTR void (VKAPI_CALL* GetBufferMemoryRequirementsFunc) (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); + typedef VKAPI_ATTR void (VKAPI_CALL* GetImageMemoryRequirementsFunc) (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); + typedef VKAPI_ATTR void (VKAPI_CALL* GetImageSparseMemoryRequirementsFunc) (VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatPropertiesFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueBindSparseFunc) (VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateFenceFunc) (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyFenceFunc) (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetFencesFunc) (VkDevice device, uint32_t fenceCount, const VkFence* pFences); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetFenceStatusFunc) (VkDevice device, VkFence fence); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* WaitForFencesFunc) (VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSemaphoreFunc) (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroySemaphoreFunc) (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateEventFunc) (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyEventFunc) (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetEventStatusFunc) (VkDevice device, VkEvent event); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* SetEventFunc) (VkDevice device, VkEvent event); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetEventFunc) (VkDevice device, VkEvent event); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateQueryPoolFunc) (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyQueryPoolFunc) (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetQueryPoolResultsFunc) (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateBufferFunc) (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyBufferFunc) (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateBufferViewFunc) (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyBufferViewFunc) (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateImageFunc) (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyImageFunc) (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR void (VKAPI_CALL* GetImageSubresourceLayoutFunc) (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateImageViewFunc) (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyImageViewFunc) (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateShaderModuleFunc) (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyShaderModuleFunc) (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreatePipelineCacheFunc) (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyPipelineCacheFunc) (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPipelineCacheDataFunc) (VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* MergePipelineCachesFunc) (VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateGraphicsPipelinesFunc) (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateComputePipelinesFunc) (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyPipelineFunc) (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreatePipelineLayoutFunc) (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyPipelineLayoutFunc) (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSamplerFunc) (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroySamplerFunc) (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDescriptorSetLayoutFunc) (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDescriptorSetLayoutFunc) (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDescriptorPoolFunc) (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDescriptorPoolFunc) (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetDescriptorPoolFunc) (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* AllocateDescriptorSetsFunc) (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* FreeDescriptorSetsFunc) (VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets); + typedef VKAPI_ATTR void (VKAPI_CALL* UpdateDescriptorSetsFunc) (VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateFramebufferFunc) (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyFramebufferFunc) (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateRenderPassFunc) (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyRenderPassFunc) (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR void (VKAPI_CALL* GetRenderAreaGranularityFunc) (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateCommandPoolFunc) (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyCommandPoolFunc) (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetCommandPoolFunc) (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* AllocateCommandBuffersFunc) (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); + typedef VKAPI_ATTR void (VKAPI_CALL* FreeCommandBuffersFunc) (VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* BeginCommandBufferFunc) (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* EndCommandBufferFunc) (VkCommandBuffer commandBuffer); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* ResetCommandBufferFunc) (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindPipelineFunc) (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetViewportFunc) (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetScissorFunc) (VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetLineWidthFunc) (VkCommandBuffer commandBuffer, float lineWidth); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthBiasFunc) (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetBlendConstantsFunc) (VkCommandBuffer commandBuffer, const float blendConstants[4]); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthBoundsFunc) (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetStencilCompareMaskFunc) (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetStencilWriteMaskFunc) (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetStencilReferenceFunc) (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindDescriptorSetsFunc) (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindIndexBufferFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindVertexBuffersFunc) (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawFunc) (VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndexedFunc) (VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndirectFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndexedIndirectFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDispatchFunc) (VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDispatchIndirectFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyBufferFunc) (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImageFunc) (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBlitImageFunc) (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyBufferToImageFunc) (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImageToBufferFunc) (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdUpdateBufferFunc) (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdFillBufferFunc) (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdClearColorImageFunc) (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdClearDepthStencilImageFunc) (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdClearAttachmentsFunc) (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdResolveImageFunc) (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetEventFunc) (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdResetEventFunc) (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdWaitEventsFunc) (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdPipelineBarrierFunc) (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginQueryFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndQueryFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdResetQueryPoolFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdWriteTimestampFunc) (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyQueryPoolResultsFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdPushConstantsFunc) (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginRenderPassFunc) (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdNextSubpassFunc) (VkCommandBuffer commandBuffer, VkSubpassContents contents); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndRenderPassFunc) (VkCommandBuffer commandBuffer); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdExecuteCommandsFunc) (VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumerateInstanceVersionFunc) (uint32_t* pApiVersion); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindBufferMemory2Func) (VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindImageMemory2Func) (VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); + typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceGroupPeerMemoryFeaturesFunc) (VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDeviceMaskFunc) (VkCommandBuffer commandBuffer, uint32_t deviceMask); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDispatchBaseFunc) (VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumeratePhysicalDeviceGroupsFunc) (VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetImageMemoryRequirements2Func) (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); + typedef VKAPI_ATTR void (VKAPI_CALL* GetBufferMemoryRequirements2Func) (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); + typedef VKAPI_ATTR void (VKAPI_CALL* GetImageSparseMemoryRequirements2Func) (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFeatures2Func) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceProperties2Func) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFormatProperties2Func) (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceImageFormatProperties2Func) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceQueueFamilyProperties2Func) (VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceMemoryProperties2Func) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatProperties2Func) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* TrimCommandPoolFunc) (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); + typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceQueue2Func) (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSamplerYcbcrConversionFunc) (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroySamplerYcbcrConversionFunc) (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDescriptorUpdateTemplateFunc) (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDescriptorUpdateTemplateFunc) (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR void (VKAPI_CALL* UpdateDescriptorSetWithTemplateFunc) (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalBufferPropertiesFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalFencePropertiesFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalSemaphorePropertiesFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetDescriptorSetLayoutSupportFunc) (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndirectCountFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndexedIndirectCountFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateRenderPass2Func) (VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginRenderPass2Func) (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdNextSubpass2Func) (VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndRenderPass2Func) (VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* ResetQueryPoolFunc) (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSemaphoreCounterValueFunc) (VkDevice device, VkSemaphore semaphore, uint64_t* pValue); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* WaitSemaphoresFunc) (VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* SignalSemaphoreFunc) (VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); + typedef VKAPI_ATTR VkDeviceAddress (VKAPI_CALL* GetBufferDeviceAddressFunc) (VkDevice device, const VkBufferDeviceAddressInfo* pInfo); + typedef VKAPI_ATTR uint64_t (VKAPI_CALL* GetBufferOpaqueCaptureAddressFunc) (VkDevice device, const VkBufferDeviceAddressInfo* pInfo); + typedef VKAPI_ATTR uint64_t (VKAPI_CALL* GetDeviceMemoryOpaqueCaptureAddressFunc) (VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); ++typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceToolPropertiesFunc) (VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); ++typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreatePrivateDataSlotFunc) (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); ++typedef VKAPI_ATTR void (VKAPI_CALL* DestroyPrivateDataSlotFunc) (VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); ++typedef VKAPI_ATTR VkResult (VKAPI_CALL* SetPrivateDataFunc) (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); ++typedef VKAPI_ATTR void (VKAPI_CALL* GetPrivateDataFunc) (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetEvent2Func) (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdResetEvent2Func) (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdWaitEvents2Func) (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdPipelineBarrier2Func) (VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdWriteTimestamp2Func) (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); ++typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueSubmit2Func) (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyBuffer2Func) (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImage2Func) (VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyBufferToImage2Func) (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImageToBuffer2Func) (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdBlitImage2Func) (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdResolveImage2Func) (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginRenderingFunc) (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndRenderingFunc) (VkCommandBuffer commandBuffer); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetCullModeFunc) (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetFrontFaceFunc) (VkCommandBuffer commandBuffer, VkFrontFace frontFace); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetPrimitiveTopologyFunc) (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetViewportWithCountFunc) (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetScissorWithCountFunc) (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindVertexBuffers2Func) (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthTestEnableFunc) (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthWriteEnableFunc) (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthCompareOpFunc) (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthBoundsTestEnableFunc) (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetStencilTestEnableFunc) (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetStencilOpFunc) (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetRasterizerDiscardEnableFunc) (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthBiasEnableFunc) (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetPrimitiveRestartEnableFunc) (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); ++typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceBufferMemoryRequirementsFunc) (VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); ++typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceImageMemoryRequirementsFunc) (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); ++typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceImageSparseMemoryRequirementsFunc) (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroySurfaceKHRFunc) (VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceSupportKHRFunc) (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilitiesKHRFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceFormatsKHRFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfacePresentModesKHRFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSwapchainKHRFunc) (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroySwapchainKHRFunc) (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSwapchainImagesKHRFunc) (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquireNextImageKHRFunc) (VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueuePresentKHRFunc) (VkQueue queue, const VkPresentInfoKHR* pPresentInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDeviceGroupPresentCapabilitiesKHRFunc) (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDeviceGroupSurfacePresentModesKHRFunc) (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDevicePresentRectanglesKHRFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquireNextImage2KHRFunc) (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceDisplayPropertiesKHRFunc) (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceDisplayPlanePropertiesKHRFunc) (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDisplayPlaneSupportedDisplaysKHRFunc) (VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDisplayModePropertiesKHRFunc) (VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDisplayModeKHRFunc) (VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDisplayPlaneCapabilitiesKHRFunc) (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDisplayPlaneSurfaceKHRFunc) (VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSharedSwapchainsKHRFunc) (VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginRenderingKHRFunc) (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndRenderingKHRFunc) (VkCommandBuffer commandBuffer); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFeatures2KHRFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceProperties2KHRFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceFormatProperties2KHRFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceImageFormatProperties2KHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceQueueFamilyProperties2KHRFunc) (VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceMemoryProperties2KHRFunc) (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceSparseImageFormatProperties2KHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceGroupPeerMemoryFeaturesKHRFunc) (VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDeviceMaskKHRFunc) (VkCommandBuffer commandBuffer, uint32_t deviceMask); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDispatchBaseKHRFunc) (VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); + typedef VKAPI_ATTR void (VKAPI_CALL* TrimCommandPoolKHRFunc) (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumeratePhysicalDeviceGroupsKHRFunc) (VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalBufferPropertiesKHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryFdKHRFunc) (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryFdPropertiesKHRFunc) (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalSemaphorePropertiesKHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* ImportSemaphoreFdKHRFunc) (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSemaphoreFdKHRFunc) (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdPushDescriptorSetKHRFunc) (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdPushDescriptorSetWithTemplateKHRFunc) (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDescriptorUpdateTemplateKHRFunc) (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDescriptorUpdateTemplateKHRFunc) (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR void (VKAPI_CALL* UpdateDescriptorSetWithTemplateKHRFunc) (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateRenderPass2KHRFunc) (VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginRenderPass2KHRFunc) (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdNextSubpass2KHRFunc) (VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndRenderPass2KHRFunc) (VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSwapchainStatusKHRFunc) (VkDevice device, VkSwapchainKHR swapchain); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceExternalFencePropertiesKHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* ImportFenceFdKHRFunc) (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetFenceFdKHRFunc) (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHRFunc) (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHRFunc) (VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquireProfilingLockKHRFunc) (VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* ReleaseProfilingLockKHRFunc) (VkDevice device); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilities2KHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceFormats2KHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceDisplayProperties2KHRFunc) (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceDisplayPlaneProperties2KHRFunc) (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDisplayModeProperties2KHRFunc) (VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDisplayPlaneCapabilities2KHRFunc) (VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); + typedef VKAPI_ATTR void (VKAPI_CALL* GetImageMemoryRequirements2KHRFunc) (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); + typedef VKAPI_ATTR void (VKAPI_CALL* GetBufferMemoryRequirements2KHRFunc) (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); + typedef VKAPI_ATTR void (VKAPI_CALL* GetImageSparseMemoryRequirements2KHRFunc) (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateSamplerYcbcrConversionKHRFunc) (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroySamplerYcbcrConversionKHRFunc) (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindBufferMemory2KHRFunc) (VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindImageMemory2KHRFunc) (VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); + typedef VKAPI_ATTR void (VKAPI_CALL* GetDescriptorSetLayoutSupportKHRFunc) (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndirectCountKHRFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndexedIndirectCountKHRFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSemaphoreCounterValueKHRFunc) (VkDevice device, VkSemaphore semaphore, uint64_t* pValue); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* WaitSemaphoresKHRFunc) (VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* SignalSemaphoreKHRFunc) (VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceFragmentShadingRatesKHRFunc) (VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetFragmentShadingRateKHRFunc) (VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* WaitForPresentKHRFunc) (VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout); + typedef VKAPI_ATTR VkDeviceAddress (VKAPI_CALL* GetBufferDeviceAddressKHRFunc) (VkDevice device, const VkBufferDeviceAddressInfo* pInfo); + typedef VKAPI_ATTR uint64_t (VKAPI_CALL* GetBufferOpaqueCaptureAddressKHRFunc) (VkDevice device, const VkBufferDeviceAddressInfo* pInfo); + typedef VKAPI_ATTR uint64_t (VKAPI_CALL* GetDeviceMemoryOpaqueCaptureAddressKHRFunc) (VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDeferredOperationKHRFunc) (VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDeferredOperationKHRFunc) (VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR uint32_t (VKAPI_CALL* GetDeferredOperationMaxConcurrencyKHRFunc) (VkDevice device, VkDeferredOperationKHR operation); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDeferredOperationResultKHRFunc) (VkDevice device, VkDeferredOperationKHR operation); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* DeferredOperationJoinKHRFunc) (VkDevice device, VkDeferredOperationKHR operation); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPipelineExecutablePropertiesKHRFunc) (VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPipelineExecutableStatisticsKHRFunc) (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPipelineExecutableInternalRepresentationsKHRFunc) (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetEvent2KHRFunc) (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdResetEvent2KHRFunc) (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdWaitEvents2KHRFunc) (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdPipelineBarrier2KHRFunc) (VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdWriteTimestamp2KHRFunc) (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, uint32_t query); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueSubmit2KHRFunc) (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetEvent2KHRFunc) (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdResetEvent2KHRFunc) (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdWaitEvents2KHRFunc) (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdPipelineBarrier2KHRFunc) (VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdWriteTimestamp2KHRFunc) (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); ++typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueSubmit2KHRFunc) (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdWriteBufferMarker2AMDFunc) (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); + typedef VKAPI_ATTR void (VKAPI_CALL* GetQueueCheckpointData2NVFunc) (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyBuffer2KHRFunc) (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImage2KHRFunc) (VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyBufferToImage2KHRFunc) (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImageToBuffer2KHRFunc) (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdBlitImage2KHRFunc) (VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo); -typedef VKAPI_ATTR void (VKAPI_CALL* CmdResolveImage2KHRFunc) (VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo); -typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceBufferMemoryRequirementsKHRFunc) (VkDevice device, const VkDeviceBufferMemoryRequirementsKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements); -typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceImageMemoryRequirementsKHRFunc) (VkDevice device, const VkDeviceImageMemoryRequirementsKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements); -typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceImageSparseMemoryRequirementsKHRFunc) (VkDevice device, const VkDeviceImageMemoryRequirementsKHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyBuffer2KHRFunc) (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImage2KHRFunc) (VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyBufferToImage2KHRFunc) (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyImageToBuffer2KHRFunc) (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdBlitImage2KHRFunc) (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* CmdResolveImage2KHRFunc) (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); ++typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceBufferMemoryRequirementsKHRFunc) (VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); ++typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceImageMemoryRequirementsKHRFunc) (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); ++typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceImageSparseMemoryRequirementsKHRFunc) (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDebugReportCallbackEXTFunc) (VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDebugReportCallbackEXTFunc) (VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR void (VKAPI_CALL* DebugReportMessageEXTFunc) (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* DebugMarkerSetObjectTagEXTFunc) (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* DebugMarkerSetObjectNameEXTFunc) (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDebugMarkerBeginEXTFunc) (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDebugMarkerEndEXTFunc) (VkCommandBuffer commandBuffer); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDebugMarkerInsertEXTFunc) (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindTransformFeedbackBuffersEXTFunc) (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginTransformFeedbackEXTFunc) (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndTransformFeedbackEXTFunc) (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginQueryIndexedEXTFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndQueryIndexedEXTFunc) (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndirectByteCountEXTFunc) (VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateCuModuleNVXFunc) (VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateCuFunctionNVXFunc) (VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyCuModuleNVXFunc) (VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyCuFunctionNVXFunc) (VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdCuLaunchKernelNVXFunc) (VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo); + typedef VKAPI_ATTR uint32_t (VKAPI_CALL* GetImageViewHandleNVXFunc) (VkDevice device, const VkImageViewHandleInfoNVX* pInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetImageViewAddressNVXFunc) (VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndirectCountAMDFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawIndexedIndirectCountAMDFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetShaderInfoAMDFunc) (VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceExternalImageFormatPropertiesNVFunc) (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginConditionalRenderingEXTFunc) (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndConditionalRenderingEXTFunc) (VkCommandBuffer commandBuffer); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetViewportWScalingNVFunc) (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* ReleaseDisplayEXTFunc) (VkPhysicalDevice physicalDevice, VkDisplayKHR display); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfaceCapabilities2EXTFunc) (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* DisplayPowerControlEXTFunc) (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* RegisterDeviceEventEXTFunc) (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* RegisterDisplayEventEXTFunc) (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSwapchainCounterEXTFunc) (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetRefreshCycleDurationGOOGLEFunc) (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPastPresentationTimingGOOGLEFunc) (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDiscardRectangleEXTFunc) (VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); + typedef VKAPI_ATTR void (VKAPI_CALL* SetHdrMetadataEXTFunc) (VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* SetDebugUtilsObjectNameEXTFunc) (VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* SetDebugUtilsObjectTagEXTFunc) (VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* QueueBeginDebugUtilsLabelEXTFunc) (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* QueueEndDebugUtilsLabelEXTFunc) (VkQueue queue); + typedef VKAPI_ATTR void (VKAPI_CALL* QueueInsertDebugUtilsLabelEXTFunc) (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginDebugUtilsLabelEXTFunc) (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndDebugUtilsLabelEXTFunc) (VkCommandBuffer commandBuffer); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdInsertDebugUtilsLabelEXTFunc) (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateDebugUtilsMessengerEXTFunc) (VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyDebugUtilsMessengerEXTFunc) (VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR void (VKAPI_CALL* SubmitDebugUtilsMessageEXTFunc) (VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetSampleLocationsEXTFunc) (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* GetPhysicalDeviceMultisamplePropertiesEXTFunc) (VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetImageDrmFormatModifierPropertiesEXTFunc) (VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateValidationCacheEXTFunc) (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyValidationCacheEXTFunc) (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* MergeValidationCachesEXTFunc) (VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetValidationCacheDataEXTFunc) (VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindShadingRateImageNVFunc) (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetViewportShadingRatePaletteNVFunc) (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetCoarseSampleOrderNVFunc) (VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateAccelerationStructureNVFunc) (VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyAccelerationStructureNVFunc) (VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR void (VKAPI_CALL* GetAccelerationStructureMemoryRequirementsNVFunc) (VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindAccelerationStructureMemoryNVFunc) (VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBuildAccelerationStructureNVFunc) (VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyAccelerationStructureNVFunc) (VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdTraceRaysNVFunc) (VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateRayTracingPipelinesNVFunc) (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetRayTracingShaderGroupHandlesKHRFunc) (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetRayTracingShaderGroupHandlesNVFunc) (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetAccelerationStructureHandleNVFunc) (VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdWriteAccelerationStructuresPropertiesNVFunc) (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CompileDeferredNVFunc) (VkDevice device, VkPipeline pipeline, uint32_t shader); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryHostPointerPropertiesEXTFunc) (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdWriteBufferMarkerAMDFunc) (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceCalibrateableTimeDomainsEXTFunc) (VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetCalibratedTimestampsEXTFunc) (VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawMeshTasksNVFunc) (VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawMeshTasksIndirectNVFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawMeshTasksIndirectCountNVFunc) (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetExclusiveScissorNVFunc) (VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetCheckpointNVFunc) (VkCommandBuffer commandBuffer, const void* pCheckpointMarker); + typedef VKAPI_ATTR void (VKAPI_CALL* GetQueueCheckpointDataNVFunc) (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* InitializePerformanceApiINTELFunc) (VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* UninitializePerformanceApiINTELFunc) (VkDevice device); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CmdSetPerformanceMarkerINTELFunc) (VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CmdSetPerformanceStreamMarkerINTELFunc) (VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CmdSetPerformanceOverrideINTELFunc) (VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquirePerformanceConfigurationINTELFunc) (VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* ReleasePerformanceConfigurationINTELFunc) (VkDevice device, VkPerformanceConfigurationINTEL configuration); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* QueueSetPerformanceConfigurationINTELFunc) (VkQueue queue, VkPerformanceConfigurationINTEL configuration); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPerformanceParameterINTELFunc) (VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue); + typedef VKAPI_ATTR void (VKAPI_CALL* SetLocalDimmingAMDFunc) (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable); + typedef VKAPI_ATTR VkDeviceAddress (VKAPI_CALL* GetBufferDeviceAddressEXTFunc) (VkDevice device, const VkBufferDeviceAddressInfo* pInfo); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceToolPropertiesEXTFunc) (VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties); ++typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceToolPropertiesEXTFunc) (VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceCooperativeMatrixPropertiesNVFunc) (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVFunc) (VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateHeadlessSurfaceEXTFunc) (VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetLineStippleEXTFunc) (VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern); + typedef VKAPI_ATTR void (VKAPI_CALL* ResetQueryPoolEXTFunc) (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetCullModeEXTFunc) (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetFrontFaceEXTFunc) (VkCommandBuffer commandBuffer, VkFrontFace frontFace); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetPrimitiveTopologyEXTFunc) (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetViewportWithCountEXTFunc) (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetScissorWithCountEXTFunc) (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindVertexBuffers2EXTFunc) (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthTestEnableEXTFunc) (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthWriteEnableEXTFunc) (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthCompareOpEXTFunc) (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthBoundsTestEnableEXTFunc) (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetStencilTestEnableEXTFunc) (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetStencilOpEXTFunc) (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); + typedef VKAPI_ATTR void (VKAPI_CALL* GetGeneratedCommandsMemoryRequirementsNVFunc) (VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdPreprocessGeneratedCommandsNVFunc) (VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdExecuteGeneratedCommandsNVFunc) (VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindPipelineShaderGroupNVFunc) (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateIndirectCommandsLayoutNVFunc) (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyIndirectCommandsLayoutNVFunc) (VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquireDrmDisplayEXTFunc) (VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDrmDisplayEXTFunc) (VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreatePrivateDataSlotEXTFunc) (VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot); -typedef VKAPI_ATTR void (VKAPI_CALL* DestroyPrivateDataSlotEXTFunc) (VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator); -typedef VKAPI_ATTR VkResult (VKAPI_CALL* SetPrivateDataEXTFunc) (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data); -typedef VKAPI_ATTR void (VKAPI_CALL* GetPrivateDataEXTFunc) (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData); ++typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreatePrivateDataSlotEXTFunc) (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); ++typedef VKAPI_ATTR void (VKAPI_CALL* DestroyPrivateDataSlotEXTFunc) (VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); ++typedef VKAPI_ATTR VkResult (VKAPI_CALL* SetPrivateDataEXTFunc) (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data); ++typedef VKAPI_ATTR void (VKAPI_CALL* GetPrivateDataEXTFunc) (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetFragmentShadingRateEnumNVFunc) (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquireWinrtDisplayNVFunc) (VkPhysicalDevice physicalDevice, VkDisplayKHR display); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetWinrtDisplayNVFunc) (VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetVertexInputEXTFunc) (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIFunc) (VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSubpassShadingHUAWEIFunc) (VkCommandBuffer commandBuffer); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBindInvocationMaskHUAWEIFunc) (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryRemoteAddressNVFunc) (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetPatchControlPointsEXTFunc) (VkCommandBuffer commandBuffer, uint32_t patchControlPoints); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetRasterizerDiscardEnableEXTFunc) (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetDepthBiasEnableEXTFunc) (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetLogicOpEXTFunc) (VkCommandBuffer commandBuffer, VkLogicOp logicOp); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetPrimitiveRestartEnableEXTFunc) (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetColorWriteEnableEXTFunc) (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawMultiEXTFunc) (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDrawMultiIndexedEXTFunc) (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset); + typedef VKAPI_ATTR void (VKAPI_CALL* SetDeviceMemoryPriorityEXTFunc) (VkDevice device, VkDeviceMemory memory, float priority); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateAccelerationStructureKHRFunc) (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyAccelerationStructureKHRFunc) (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBuildAccelerationStructuresKHRFunc) (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBuildAccelerationStructuresIndirectKHRFunc) (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* BuildAccelerationStructuresKHRFunc) (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CopyAccelerationStructureKHRFunc) (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CopyAccelerationStructureToMemoryKHRFunc) (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CopyMemoryToAccelerationStructureKHRFunc) (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* WriteAccelerationStructuresPropertiesKHRFunc) (VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyAccelerationStructureKHRFunc) (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyAccelerationStructureToMemoryKHRFunc) (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdCopyMemoryToAccelerationStructureKHRFunc) (VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); + typedef VKAPI_ATTR VkDeviceAddress (VKAPI_CALL* GetAccelerationStructureDeviceAddressKHRFunc) (VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdWriteAccelerationStructuresPropertiesKHRFunc) (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); + typedef VKAPI_ATTR void (VKAPI_CALL* GetDeviceAccelerationStructureCompatibilityKHRFunc) (VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); + typedef VKAPI_ATTR void (VKAPI_CALL* GetAccelerationStructureBuildSizesKHRFunc) (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdTraceRaysKHRFunc) (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateRayTracingPipelinesKHRFunc) (VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetRayTracingCaptureReplayShaderGroupHandlesKHRFunc) (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdTraceRaysIndirectKHRFunc) (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress); + typedef VKAPI_ATTR VkDeviceSize (VKAPI_CALL* GetRayTracingShaderGroupStackSizeKHRFunc) (VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdSetRayTracingPipelineStackSizeKHRFunc) (VkCommandBuffer commandBuffer, uint32_t pipelineStackSize); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateAndroidSurfaceKHRFunc) (VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetAndroidHardwareBufferPropertiesANDROIDFunc) (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryAndroidHardwareBufferANDROIDFunc) (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceVideoCapabilitiesKHRFunc) (VkPhysicalDevice physicalDevice, const VkVideoProfileKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceVideoFormatPropertiesKHRFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateVideoSessionKHRFunc) (VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyVideoSessionKHRFunc) (VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetVideoSessionMemoryRequirementsKHRFunc) (VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pVideoSessionMemoryRequirementsCount, VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* BindVideoSessionMemoryKHRFunc) (VkDevice device, VkVideoSessionKHR videoSession, uint32_t videoSessionBindMemoryCount, const VkVideoBindMemoryKHR* pVideoSessionBindMemories); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateVideoSessionParametersKHRFunc) (VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* UpdateVideoSessionParametersKHRFunc) (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyVideoSessionParametersKHRFunc) (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdBeginVideoCodingKHRFunc) (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdEndVideoCodingKHRFunc) (VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdControlVideoCodingKHRFunc) (VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdDecodeVideoKHRFunc) (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* CmdEncodeVideoKHRFunc) (VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateImagePipeSurfaceFUCHSIAFunc) (VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryZirconHandleFUCHSIAFunc) (VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryZirconHandlePropertiesFUCHSIAFunc) (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* ImportSemaphoreZirconHandleFUCHSIAFunc) (VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSemaphoreZirconHandleFUCHSIAFunc) (VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateBufferCollectionFUCHSIAFunc) (VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* SetBufferCollectionImageConstraintsFUCHSIAFunc) (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* SetBufferCollectionBufferConstraintsFUCHSIAFunc) (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo); + typedef VKAPI_ATTR void (VKAPI_CALL* DestroyBufferCollectionFUCHSIAFunc) (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetBufferCollectionPropertiesFUCHSIAFunc) (VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateStreamDescriptorSurfaceGGPFunc) (VkInstance instance, const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateIOSSurfaceMVKFunc) (VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateMacOSSurfaceMVKFunc) (VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateMetalSurfaceEXTFunc) (VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateViSurfaceNNFunc) (VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateWaylandSurfaceKHRFunc) (VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceWaylandPresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::WaylandDisplayPtr display); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateWin32SurfaceKHRFunc) (VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceWin32PresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryWin32HandleKHRFunc) (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryWin32HandlePropertiesKHRFunc) (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* ImportSemaphoreWin32HandleKHRFunc) (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetSemaphoreWin32HandleKHRFunc) (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* ImportFenceWin32HandleKHRFunc) (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetFenceWin32HandleKHRFunc) (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetMemoryWin32HandleNVFunc) (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetPhysicalDeviceSurfacePresentModes2EXTFunc) (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquireFullScreenExclusiveModeEXTFunc) (VkDevice device, VkSwapchainKHR swapchain); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* ReleaseFullScreenExclusiveModeEXTFunc) (VkDevice device, VkSwapchainKHR swapchain); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetDeviceGroupSurfacePresentModes2EXTFunc) (VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateXcbSurfaceKHRFunc) (VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceXcbPresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::XcbConnectionPtr connection, pt::XcbVisualid visual_id); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* CreateXlibSurfaceKHRFunc) (VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + typedef VKAPI_ATTR VkBool32 (VKAPI_CALL* GetPhysicalDeviceXlibPresentationSupportKHRFunc) (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::XlibDisplayPtr dpy, pt::XlibVisualID visualID); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* AcquireXlibDisplayEXTFunc) (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, VkDisplayKHR display); + typedef VKAPI_ATTR VkResult (VKAPI_CALL* GetRandROutputDisplayEXTFunc) (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, pt::RROutput rrOutput, VkDisplayKHR* pDisplay); diff --cc external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl index 0000000,f0e46c9..6d149fc mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl +++ b/external/vulkancts/framework/vulkan/vkGetStructureTypeImpl.inl @@@ -1,0 -1,3089 +1,3099 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_BARRIER; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_APPLICATION_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SUBMIT_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BIND_SPARSE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_FENCE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EVENT_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SUBPASS_END_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO; + } + ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_MEMORY_BARRIER_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_DEPENDENCY_INFO; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_SUBMIT_INFO_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_BUFFER_COPY_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_IMAGE_COPY_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_IMAGE_BLIT_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_RENDERING_INFO; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS; ++} ++ ++template<> VkStructureType getStructureType (void) ++{ ++ return VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS; ++} ++ + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PRESENT_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_RENDERING_INFO_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PRESENT_ID_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_HDR_METADATA_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_GEOMETRY_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT; -} - -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM; + } + -template<> VkStructureType getStructureType (void) -{ - return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT; -} - + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR; + } + + template<> VkStructureType getStructureType (void) + { + return VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR; + } + diff --cc external/vulkancts/framework/vulkan/vkHandleType.inl index 0000000,746d309..cdf18d8 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkHandleType.inl +++ b/external/vulkancts/framework/vulkan/vkHandleType.inl @@@ -1,0 -1,56 +1,57 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + enum HandleType + { + HANDLE_TYPE_BUFFER = 0, + HANDLE_TYPE_IMAGE, + HANDLE_TYPE_INSTANCE, + HANDLE_TYPE_PHYSICAL_DEVICE, + HANDLE_TYPE_DEVICE, + HANDLE_TYPE_QUEUE, + HANDLE_TYPE_SEMAPHORE, + HANDLE_TYPE_COMMAND_BUFFER, + HANDLE_TYPE_FENCE, + HANDLE_TYPE_DEVICE_MEMORY, + HANDLE_TYPE_EVENT, + HANDLE_TYPE_QUERY_POOL, + HANDLE_TYPE_BUFFER_VIEW, + HANDLE_TYPE_IMAGE_VIEW, + HANDLE_TYPE_SHADER_MODULE, + HANDLE_TYPE_PIPELINE_CACHE, + HANDLE_TYPE_PIPELINE_LAYOUT, + HANDLE_TYPE_PIPELINE, + HANDLE_TYPE_RENDER_PASS, + HANDLE_TYPE_DESCRIPTOR_SET_LAYOUT, + HANDLE_TYPE_SAMPLER, + HANDLE_TYPE_DESCRIPTOR_SET, + HANDLE_TYPE_DESCRIPTOR_POOL, + HANDLE_TYPE_FRAMEBUFFER, + HANDLE_TYPE_COMMAND_POOL, + HANDLE_TYPE_SAMPLER_YCBCR_CONVERSION, + HANDLE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, ++ HANDLE_TYPE_PRIVATE_DATA_SLOT, + HANDLE_TYPE_SURFACE_KHR, + HANDLE_TYPE_SWAPCHAIN_KHR, + HANDLE_TYPE_DISPLAY_KHR, + HANDLE_TYPE_DISPLAY_MODE_KHR, + HANDLE_TYPE_DEFERRED_OPERATION_KHR, + HANDLE_TYPE_DEBUG_REPORT_CALLBACK_EXT, + HANDLE_TYPE_CU_MODULE_NVX, + HANDLE_TYPE_CU_FUNCTION_NVX, + HANDLE_TYPE_DEBUG_UTILS_MESSENGER_EXT, + HANDLE_TYPE_VALIDATION_CACHE_EXT, + HANDLE_TYPE_ACCELERATION_STRUCTURE_NV, + HANDLE_TYPE_PERFORMANCE_CONFIGURATION_INTEL, + HANDLE_TYPE_INDIRECT_COMMANDS_LAYOUT_NV, - HANDLE_TYPE_PRIVATE_DATA_SLOT_EXT, + HANDLE_TYPE_ACCELERATION_STRUCTURE_KHR, + HANDLE_TYPE_VIDEO_SESSION_KHR, + HANDLE_TYPE_VIDEO_SESSION_PARAMETERS_KHR, + HANDLE_TYPE_BUFFER_COLLECTION_FUCHSIA, + HANDLE_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = HANDLE_TYPE_SAMPLER_YCBCR_CONVERSION, + HANDLE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = HANDLE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, ++ HANDLE_TYPE_PRIVATE_DATA_SLOT_EXT = HANDLE_TYPE_PRIVATE_DATA_SLOT, + HANDLE_TYPE_LAST = HANDLE_TYPE_BUFFER_COLLECTION_FUCHSIA + 1 + }; + diff --cc external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl index 0000000,105bdff..eb0ca89 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl +++ b/external/vulkancts/framework/vulkan/vkInitDeviceFunctionPointers.inl @@@ -1,0 -1,434 +1,506 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + m_vk.getDeviceProcAddr = (GetDeviceProcAddrFunc) GET_PROC_ADDR("vkGetDeviceProcAddr"); + m_vk.destroyDevice = (DestroyDeviceFunc) GET_PROC_ADDR("vkDestroyDevice"); + m_vk.getDeviceQueue = (GetDeviceQueueFunc) GET_PROC_ADDR("vkGetDeviceQueue"); + m_vk.queueSubmit = (QueueSubmitFunc) GET_PROC_ADDR("vkQueueSubmit"); + m_vk.queueWaitIdle = (QueueWaitIdleFunc) GET_PROC_ADDR("vkQueueWaitIdle"); + m_vk.deviceWaitIdle = (DeviceWaitIdleFunc) GET_PROC_ADDR("vkDeviceWaitIdle"); + m_vk.allocateMemory = (AllocateMemoryFunc) GET_PROC_ADDR("vkAllocateMemory"); + m_vk.freeMemory = (FreeMemoryFunc) GET_PROC_ADDR("vkFreeMemory"); + m_vk.mapMemory = (MapMemoryFunc) GET_PROC_ADDR("vkMapMemory"); + m_vk.unmapMemory = (UnmapMemoryFunc) GET_PROC_ADDR("vkUnmapMemory"); + m_vk.flushMappedMemoryRanges = (FlushMappedMemoryRangesFunc) GET_PROC_ADDR("vkFlushMappedMemoryRanges"); + m_vk.invalidateMappedMemoryRanges = (InvalidateMappedMemoryRangesFunc) GET_PROC_ADDR("vkInvalidateMappedMemoryRanges"); + m_vk.getDeviceMemoryCommitment = (GetDeviceMemoryCommitmentFunc) GET_PROC_ADDR("vkGetDeviceMemoryCommitment"); + m_vk.bindBufferMemory = (BindBufferMemoryFunc) GET_PROC_ADDR("vkBindBufferMemory"); + m_vk.bindImageMemory = (BindImageMemoryFunc) GET_PROC_ADDR("vkBindImageMemory"); + m_vk.getBufferMemoryRequirements = (GetBufferMemoryRequirementsFunc) GET_PROC_ADDR("vkGetBufferMemoryRequirements"); + m_vk.getImageMemoryRequirements = (GetImageMemoryRequirementsFunc) GET_PROC_ADDR("vkGetImageMemoryRequirements"); + m_vk.getImageSparseMemoryRequirements = (GetImageSparseMemoryRequirementsFunc) GET_PROC_ADDR("vkGetImageSparseMemoryRequirements"); + m_vk.queueBindSparse = (QueueBindSparseFunc) GET_PROC_ADDR("vkQueueBindSparse"); + m_vk.createFence = (CreateFenceFunc) GET_PROC_ADDR("vkCreateFence"); + m_vk.destroyFence = (DestroyFenceFunc) GET_PROC_ADDR("vkDestroyFence"); + m_vk.resetFences = (ResetFencesFunc) GET_PROC_ADDR("vkResetFences"); + m_vk.getFenceStatus = (GetFenceStatusFunc) GET_PROC_ADDR("vkGetFenceStatus"); + m_vk.waitForFences = (WaitForFencesFunc) GET_PROC_ADDR("vkWaitForFences"); + m_vk.createSemaphore = (CreateSemaphoreFunc) GET_PROC_ADDR("vkCreateSemaphore"); + m_vk.destroySemaphore = (DestroySemaphoreFunc) GET_PROC_ADDR("vkDestroySemaphore"); + m_vk.createEvent = (CreateEventFunc) GET_PROC_ADDR("vkCreateEvent"); + m_vk.destroyEvent = (DestroyEventFunc) GET_PROC_ADDR("vkDestroyEvent"); + m_vk.getEventStatus = (GetEventStatusFunc) GET_PROC_ADDR("vkGetEventStatus"); + m_vk.setEvent = (SetEventFunc) GET_PROC_ADDR("vkSetEvent"); + m_vk.resetEvent = (ResetEventFunc) GET_PROC_ADDR("vkResetEvent"); + m_vk.createQueryPool = (CreateQueryPoolFunc) GET_PROC_ADDR("vkCreateQueryPool"); + m_vk.destroyQueryPool = (DestroyQueryPoolFunc) GET_PROC_ADDR("vkDestroyQueryPool"); + m_vk.getQueryPoolResults = (GetQueryPoolResultsFunc) GET_PROC_ADDR("vkGetQueryPoolResults"); + m_vk.createBuffer = (CreateBufferFunc) GET_PROC_ADDR("vkCreateBuffer"); + m_vk.destroyBuffer = (DestroyBufferFunc) GET_PROC_ADDR("vkDestroyBuffer"); + m_vk.createBufferView = (CreateBufferViewFunc) GET_PROC_ADDR("vkCreateBufferView"); + m_vk.destroyBufferView = (DestroyBufferViewFunc) GET_PROC_ADDR("vkDestroyBufferView"); + m_vk.createImage = (CreateImageFunc) GET_PROC_ADDR("vkCreateImage"); + m_vk.destroyImage = (DestroyImageFunc) GET_PROC_ADDR("vkDestroyImage"); + m_vk.getImageSubresourceLayout = (GetImageSubresourceLayoutFunc) GET_PROC_ADDR("vkGetImageSubresourceLayout"); + m_vk.createImageView = (CreateImageViewFunc) GET_PROC_ADDR("vkCreateImageView"); + m_vk.destroyImageView = (DestroyImageViewFunc) GET_PROC_ADDR("vkDestroyImageView"); + m_vk.createShaderModule = (CreateShaderModuleFunc) GET_PROC_ADDR("vkCreateShaderModule"); + m_vk.destroyShaderModule = (DestroyShaderModuleFunc) GET_PROC_ADDR("vkDestroyShaderModule"); + m_vk.createPipelineCache = (CreatePipelineCacheFunc) GET_PROC_ADDR("vkCreatePipelineCache"); + m_vk.destroyPipelineCache = (DestroyPipelineCacheFunc) GET_PROC_ADDR("vkDestroyPipelineCache"); + m_vk.getPipelineCacheData = (GetPipelineCacheDataFunc) GET_PROC_ADDR("vkGetPipelineCacheData"); + m_vk.mergePipelineCaches = (MergePipelineCachesFunc) GET_PROC_ADDR("vkMergePipelineCaches"); + m_vk.createGraphicsPipelines = (CreateGraphicsPipelinesFunc) GET_PROC_ADDR("vkCreateGraphicsPipelines"); + m_vk.createComputePipelines = (CreateComputePipelinesFunc) GET_PROC_ADDR("vkCreateComputePipelines"); + m_vk.destroyPipeline = (DestroyPipelineFunc) GET_PROC_ADDR("vkDestroyPipeline"); + m_vk.createPipelineLayout = (CreatePipelineLayoutFunc) GET_PROC_ADDR("vkCreatePipelineLayout"); + m_vk.destroyPipelineLayout = (DestroyPipelineLayoutFunc) GET_PROC_ADDR("vkDestroyPipelineLayout"); + m_vk.createSampler = (CreateSamplerFunc) GET_PROC_ADDR("vkCreateSampler"); + m_vk.destroySampler = (DestroySamplerFunc) GET_PROC_ADDR("vkDestroySampler"); + m_vk.createDescriptorSetLayout = (CreateDescriptorSetLayoutFunc) GET_PROC_ADDR("vkCreateDescriptorSetLayout"); + m_vk.destroyDescriptorSetLayout = (DestroyDescriptorSetLayoutFunc) GET_PROC_ADDR("vkDestroyDescriptorSetLayout"); + m_vk.createDescriptorPool = (CreateDescriptorPoolFunc) GET_PROC_ADDR("vkCreateDescriptorPool"); + m_vk.destroyDescriptorPool = (DestroyDescriptorPoolFunc) GET_PROC_ADDR("vkDestroyDescriptorPool"); + m_vk.resetDescriptorPool = (ResetDescriptorPoolFunc) GET_PROC_ADDR("vkResetDescriptorPool"); + m_vk.allocateDescriptorSets = (AllocateDescriptorSetsFunc) GET_PROC_ADDR("vkAllocateDescriptorSets"); + m_vk.freeDescriptorSets = (FreeDescriptorSetsFunc) GET_PROC_ADDR("vkFreeDescriptorSets"); + m_vk.updateDescriptorSets = (UpdateDescriptorSetsFunc) GET_PROC_ADDR("vkUpdateDescriptorSets"); + m_vk.createFramebuffer = (CreateFramebufferFunc) GET_PROC_ADDR("vkCreateFramebuffer"); + m_vk.destroyFramebuffer = (DestroyFramebufferFunc) GET_PROC_ADDR("vkDestroyFramebuffer"); + m_vk.createRenderPass = (CreateRenderPassFunc) GET_PROC_ADDR("vkCreateRenderPass"); + m_vk.destroyRenderPass = (DestroyRenderPassFunc) GET_PROC_ADDR("vkDestroyRenderPass"); + m_vk.getRenderAreaGranularity = (GetRenderAreaGranularityFunc) GET_PROC_ADDR("vkGetRenderAreaGranularity"); + m_vk.createCommandPool = (CreateCommandPoolFunc) GET_PROC_ADDR("vkCreateCommandPool"); + m_vk.destroyCommandPool = (DestroyCommandPoolFunc) GET_PROC_ADDR("vkDestroyCommandPool"); + m_vk.resetCommandPool = (ResetCommandPoolFunc) GET_PROC_ADDR("vkResetCommandPool"); + m_vk.allocateCommandBuffers = (AllocateCommandBuffersFunc) GET_PROC_ADDR("vkAllocateCommandBuffers"); + m_vk.freeCommandBuffers = (FreeCommandBuffersFunc) GET_PROC_ADDR("vkFreeCommandBuffers"); + m_vk.beginCommandBuffer = (BeginCommandBufferFunc) GET_PROC_ADDR("vkBeginCommandBuffer"); + m_vk.endCommandBuffer = (EndCommandBufferFunc) GET_PROC_ADDR("vkEndCommandBuffer"); + m_vk.resetCommandBuffer = (ResetCommandBufferFunc) GET_PROC_ADDR("vkResetCommandBuffer"); + m_vk.cmdBindPipeline = (CmdBindPipelineFunc) GET_PROC_ADDR("vkCmdBindPipeline"); + m_vk.cmdSetViewport = (CmdSetViewportFunc) GET_PROC_ADDR("vkCmdSetViewport"); + m_vk.cmdSetScissor = (CmdSetScissorFunc) GET_PROC_ADDR("vkCmdSetScissor"); + m_vk.cmdSetLineWidth = (CmdSetLineWidthFunc) GET_PROC_ADDR("vkCmdSetLineWidth"); + m_vk.cmdSetDepthBias = (CmdSetDepthBiasFunc) GET_PROC_ADDR("vkCmdSetDepthBias"); + m_vk.cmdSetBlendConstants = (CmdSetBlendConstantsFunc) GET_PROC_ADDR("vkCmdSetBlendConstants"); + m_vk.cmdSetDepthBounds = (CmdSetDepthBoundsFunc) GET_PROC_ADDR("vkCmdSetDepthBounds"); + m_vk.cmdSetStencilCompareMask = (CmdSetStencilCompareMaskFunc) GET_PROC_ADDR("vkCmdSetStencilCompareMask"); + m_vk.cmdSetStencilWriteMask = (CmdSetStencilWriteMaskFunc) GET_PROC_ADDR("vkCmdSetStencilWriteMask"); + m_vk.cmdSetStencilReference = (CmdSetStencilReferenceFunc) GET_PROC_ADDR("vkCmdSetStencilReference"); + m_vk.cmdBindDescriptorSets = (CmdBindDescriptorSetsFunc) GET_PROC_ADDR("vkCmdBindDescriptorSets"); + m_vk.cmdBindIndexBuffer = (CmdBindIndexBufferFunc) GET_PROC_ADDR("vkCmdBindIndexBuffer"); + m_vk.cmdBindVertexBuffers = (CmdBindVertexBuffersFunc) GET_PROC_ADDR("vkCmdBindVertexBuffers"); + m_vk.cmdDraw = (CmdDrawFunc) GET_PROC_ADDR("vkCmdDraw"); + m_vk.cmdDrawIndexed = (CmdDrawIndexedFunc) GET_PROC_ADDR("vkCmdDrawIndexed"); + m_vk.cmdDrawIndirect = (CmdDrawIndirectFunc) GET_PROC_ADDR("vkCmdDrawIndirect"); + m_vk.cmdDrawIndexedIndirect = (CmdDrawIndexedIndirectFunc) GET_PROC_ADDR("vkCmdDrawIndexedIndirect"); + m_vk.cmdDispatch = (CmdDispatchFunc) GET_PROC_ADDR("vkCmdDispatch"); + m_vk.cmdDispatchIndirect = (CmdDispatchIndirectFunc) GET_PROC_ADDR("vkCmdDispatchIndirect"); + m_vk.cmdCopyBuffer = (CmdCopyBufferFunc) GET_PROC_ADDR("vkCmdCopyBuffer"); + m_vk.cmdCopyImage = (CmdCopyImageFunc) GET_PROC_ADDR("vkCmdCopyImage"); + m_vk.cmdBlitImage = (CmdBlitImageFunc) GET_PROC_ADDR("vkCmdBlitImage"); + m_vk.cmdCopyBufferToImage = (CmdCopyBufferToImageFunc) GET_PROC_ADDR("vkCmdCopyBufferToImage"); + m_vk.cmdCopyImageToBuffer = (CmdCopyImageToBufferFunc) GET_PROC_ADDR("vkCmdCopyImageToBuffer"); + m_vk.cmdUpdateBuffer = (CmdUpdateBufferFunc) GET_PROC_ADDR("vkCmdUpdateBuffer"); + m_vk.cmdFillBuffer = (CmdFillBufferFunc) GET_PROC_ADDR("vkCmdFillBuffer"); + m_vk.cmdClearColorImage = (CmdClearColorImageFunc) GET_PROC_ADDR("vkCmdClearColorImage"); + m_vk.cmdClearDepthStencilImage = (CmdClearDepthStencilImageFunc) GET_PROC_ADDR("vkCmdClearDepthStencilImage"); + m_vk.cmdClearAttachments = (CmdClearAttachmentsFunc) GET_PROC_ADDR("vkCmdClearAttachments"); + m_vk.cmdResolveImage = (CmdResolveImageFunc) GET_PROC_ADDR("vkCmdResolveImage"); + m_vk.cmdSetEvent = (CmdSetEventFunc) GET_PROC_ADDR("vkCmdSetEvent"); + m_vk.cmdResetEvent = (CmdResetEventFunc) GET_PROC_ADDR("vkCmdResetEvent"); + m_vk.cmdWaitEvents = (CmdWaitEventsFunc) GET_PROC_ADDR("vkCmdWaitEvents"); + m_vk.cmdPipelineBarrier = (CmdPipelineBarrierFunc) GET_PROC_ADDR("vkCmdPipelineBarrier"); + m_vk.cmdBeginQuery = (CmdBeginQueryFunc) GET_PROC_ADDR("vkCmdBeginQuery"); + m_vk.cmdEndQuery = (CmdEndQueryFunc) GET_PROC_ADDR("vkCmdEndQuery"); + m_vk.cmdResetQueryPool = (CmdResetQueryPoolFunc) GET_PROC_ADDR("vkCmdResetQueryPool"); + m_vk.cmdWriteTimestamp = (CmdWriteTimestampFunc) GET_PROC_ADDR("vkCmdWriteTimestamp"); + m_vk.cmdCopyQueryPoolResults = (CmdCopyQueryPoolResultsFunc) GET_PROC_ADDR("vkCmdCopyQueryPoolResults"); + m_vk.cmdPushConstants = (CmdPushConstantsFunc) GET_PROC_ADDR("vkCmdPushConstants"); + m_vk.cmdBeginRenderPass = (CmdBeginRenderPassFunc) GET_PROC_ADDR("vkCmdBeginRenderPass"); + m_vk.cmdNextSubpass = (CmdNextSubpassFunc) GET_PROC_ADDR("vkCmdNextSubpass"); + m_vk.cmdEndRenderPass = (CmdEndRenderPassFunc) GET_PROC_ADDR("vkCmdEndRenderPass"); + m_vk.cmdExecuteCommands = (CmdExecuteCommandsFunc) GET_PROC_ADDR("vkCmdExecuteCommands"); + m_vk.bindBufferMemory2 = (BindBufferMemory2Func) GET_PROC_ADDR("vkBindBufferMemory2"); + if (!m_vk.bindBufferMemory2) + m_vk.bindBufferMemory2 = (BindBufferMemory2Func) GET_PROC_ADDR("vkBindBufferMemory2KHR"); + m_vk.bindImageMemory2 = (BindImageMemory2Func) GET_PROC_ADDR("vkBindImageMemory2"); + if (!m_vk.bindImageMemory2) + m_vk.bindImageMemory2 = (BindImageMemory2Func) GET_PROC_ADDR("vkBindImageMemory2KHR"); + m_vk.getDeviceGroupPeerMemoryFeatures = (GetDeviceGroupPeerMemoryFeaturesFunc) GET_PROC_ADDR("vkGetDeviceGroupPeerMemoryFeatures"); + if (!m_vk.getDeviceGroupPeerMemoryFeatures) + m_vk.getDeviceGroupPeerMemoryFeatures = (GetDeviceGroupPeerMemoryFeaturesFunc) GET_PROC_ADDR("vkGetDeviceGroupPeerMemoryFeaturesKHR"); + m_vk.cmdSetDeviceMask = (CmdSetDeviceMaskFunc) GET_PROC_ADDR("vkCmdSetDeviceMask"); + if (!m_vk.cmdSetDeviceMask) + m_vk.cmdSetDeviceMask = (CmdSetDeviceMaskFunc) GET_PROC_ADDR("vkCmdSetDeviceMaskKHR"); + m_vk.cmdDispatchBase = (CmdDispatchBaseFunc) GET_PROC_ADDR("vkCmdDispatchBase"); + if (!m_vk.cmdDispatchBase) + m_vk.cmdDispatchBase = (CmdDispatchBaseFunc) GET_PROC_ADDR("vkCmdDispatchBaseKHR"); + m_vk.getImageMemoryRequirements2 = (GetImageMemoryRequirements2Func) GET_PROC_ADDR("vkGetImageMemoryRequirements2"); + if (!m_vk.getImageMemoryRequirements2) + m_vk.getImageMemoryRequirements2 = (GetImageMemoryRequirements2Func) GET_PROC_ADDR("vkGetImageMemoryRequirements2KHR"); + m_vk.getBufferMemoryRequirements2 = (GetBufferMemoryRequirements2Func) GET_PROC_ADDR("vkGetBufferMemoryRequirements2"); + if (!m_vk.getBufferMemoryRequirements2) + m_vk.getBufferMemoryRequirements2 = (GetBufferMemoryRequirements2Func) GET_PROC_ADDR("vkGetBufferMemoryRequirements2KHR"); + m_vk.getImageSparseMemoryRequirements2 = (GetImageSparseMemoryRequirements2Func) GET_PROC_ADDR("vkGetImageSparseMemoryRequirements2"); + if (!m_vk.getImageSparseMemoryRequirements2) + m_vk.getImageSparseMemoryRequirements2 = (GetImageSparseMemoryRequirements2Func) GET_PROC_ADDR("vkGetImageSparseMemoryRequirements2KHR"); + m_vk.trimCommandPool = (TrimCommandPoolFunc) GET_PROC_ADDR("vkTrimCommandPool"); + if (!m_vk.trimCommandPool) + m_vk.trimCommandPool = (TrimCommandPoolFunc) GET_PROC_ADDR("vkTrimCommandPoolKHR"); + m_vk.getDeviceQueue2 = (GetDeviceQueue2Func) GET_PROC_ADDR("vkGetDeviceQueue2"); + m_vk.createSamplerYcbcrConversion = (CreateSamplerYcbcrConversionFunc) GET_PROC_ADDR("vkCreateSamplerYcbcrConversion"); + if (!m_vk.createSamplerYcbcrConversion) + m_vk.createSamplerYcbcrConversion = (CreateSamplerYcbcrConversionFunc) GET_PROC_ADDR("vkCreateSamplerYcbcrConversionKHR"); + m_vk.destroySamplerYcbcrConversion = (DestroySamplerYcbcrConversionFunc) GET_PROC_ADDR("vkDestroySamplerYcbcrConversion"); + if (!m_vk.destroySamplerYcbcrConversion) + m_vk.destroySamplerYcbcrConversion = (DestroySamplerYcbcrConversionFunc) GET_PROC_ADDR("vkDestroySamplerYcbcrConversionKHR"); + m_vk.createDescriptorUpdateTemplate = (CreateDescriptorUpdateTemplateFunc) GET_PROC_ADDR("vkCreateDescriptorUpdateTemplate"); + if (!m_vk.createDescriptorUpdateTemplate) + m_vk.createDescriptorUpdateTemplate = (CreateDescriptorUpdateTemplateFunc) GET_PROC_ADDR("vkCreateDescriptorUpdateTemplateKHR"); + m_vk.destroyDescriptorUpdateTemplate = (DestroyDescriptorUpdateTemplateFunc) GET_PROC_ADDR("vkDestroyDescriptorUpdateTemplate"); + if (!m_vk.destroyDescriptorUpdateTemplate) + m_vk.destroyDescriptorUpdateTemplate = (DestroyDescriptorUpdateTemplateFunc) GET_PROC_ADDR("vkDestroyDescriptorUpdateTemplateKHR"); + m_vk.updateDescriptorSetWithTemplate = (UpdateDescriptorSetWithTemplateFunc) GET_PROC_ADDR("vkUpdateDescriptorSetWithTemplate"); + if (!m_vk.updateDescriptorSetWithTemplate) + m_vk.updateDescriptorSetWithTemplate = (UpdateDescriptorSetWithTemplateFunc) GET_PROC_ADDR("vkUpdateDescriptorSetWithTemplateKHR"); + m_vk.getDescriptorSetLayoutSupport = (GetDescriptorSetLayoutSupportFunc) GET_PROC_ADDR("vkGetDescriptorSetLayoutSupport"); + if (!m_vk.getDescriptorSetLayoutSupport) + m_vk.getDescriptorSetLayoutSupport = (GetDescriptorSetLayoutSupportFunc) GET_PROC_ADDR("vkGetDescriptorSetLayoutSupportKHR"); + m_vk.cmdDrawIndirectCount = (CmdDrawIndirectCountFunc) GET_PROC_ADDR("vkCmdDrawIndirectCount"); + if (!m_vk.cmdDrawIndirectCount) + m_vk.cmdDrawIndirectCount = (CmdDrawIndirectCountFunc) GET_PROC_ADDR("vkCmdDrawIndirectCountKHR"); + m_vk.cmdDrawIndexedIndirectCount = (CmdDrawIndexedIndirectCountFunc) GET_PROC_ADDR("vkCmdDrawIndexedIndirectCount"); + if (!m_vk.cmdDrawIndexedIndirectCount) + m_vk.cmdDrawIndexedIndirectCount = (CmdDrawIndexedIndirectCountFunc) GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountKHR"); + m_vk.createRenderPass2 = (CreateRenderPass2Func) GET_PROC_ADDR("vkCreateRenderPass2"); + if (!m_vk.createRenderPass2) + m_vk.createRenderPass2 = (CreateRenderPass2Func) GET_PROC_ADDR("vkCreateRenderPass2KHR"); + m_vk.cmdBeginRenderPass2 = (CmdBeginRenderPass2Func) GET_PROC_ADDR("vkCmdBeginRenderPass2"); + if (!m_vk.cmdBeginRenderPass2) + m_vk.cmdBeginRenderPass2 = (CmdBeginRenderPass2Func) GET_PROC_ADDR("vkCmdBeginRenderPass2KHR"); + m_vk.cmdNextSubpass2 = (CmdNextSubpass2Func) GET_PROC_ADDR("vkCmdNextSubpass2"); + if (!m_vk.cmdNextSubpass2) + m_vk.cmdNextSubpass2 = (CmdNextSubpass2Func) GET_PROC_ADDR("vkCmdNextSubpass2KHR"); + m_vk.cmdEndRenderPass2 = (CmdEndRenderPass2Func) GET_PROC_ADDR("vkCmdEndRenderPass2"); + if (!m_vk.cmdEndRenderPass2) + m_vk.cmdEndRenderPass2 = (CmdEndRenderPass2Func) GET_PROC_ADDR("vkCmdEndRenderPass2KHR"); + m_vk.resetQueryPool = (ResetQueryPoolFunc) GET_PROC_ADDR("vkResetQueryPool"); + if (!m_vk.resetQueryPool) + m_vk.resetQueryPool = (ResetQueryPoolFunc) GET_PROC_ADDR("vkResetQueryPoolEXT"); + m_vk.getSemaphoreCounterValue = (GetSemaphoreCounterValueFunc) GET_PROC_ADDR("vkGetSemaphoreCounterValue"); + if (!m_vk.getSemaphoreCounterValue) + m_vk.getSemaphoreCounterValue = (GetSemaphoreCounterValueFunc) GET_PROC_ADDR("vkGetSemaphoreCounterValueKHR"); + m_vk.waitSemaphores = (WaitSemaphoresFunc) GET_PROC_ADDR("vkWaitSemaphores"); + if (!m_vk.waitSemaphores) + m_vk.waitSemaphores = (WaitSemaphoresFunc) GET_PROC_ADDR("vkWaitSemaphoresKHR"); + m_vk.signalSemaphore = (SignalSemaphoreFunc) GET_PROC_ADDR("vkSignalSemaphore"); + if (!m_vk.signalSemaphore) + m_vk.signalSemaphore = (SignalSemaphoreFunc) GET_PROC_ADDR("vkSignalSemaphoreKHR"); + m_vk.getBufferDeviceAddress = (GetBufferDeviceAddressFunc) GET_PROC_ADDR("vkGetBufferDeviceAddress"); + if (!m_vk.getBufferDeviceAddress) + m_vk.getBufferDeviceAddress = (GetBufferDeviceAddressFunc) GET_PROC_ADDR("vkGetBufferDeviceAddressKHR"); + m_vk.getBufferOpaqueCaptureAddress = (GetBufferOpaqueCaptureAddressFunc) GET_PROC_ADDR("vkGetBufferOpaqueCaptureAddress"); + if (!m_vk.getBufferOpaqueCaptureAddress) + m_vk.getBufferOpaqueCaptureAddress = (GetBufferOpaqueCaptureAddressFunc) GET_PROC_ADDR("vkGetBufferOpaqueCaptureAddressKHR"); + m_vk.getDeviceMemoryOpaqueCaptureAddress = (GetDeviceMemoryOpaqueCaptureAddressFunc) GET_PROC_ADDR("vkGetDeviceMemoryOpaqueCaptureAddress"); + if (!m_vk.getDeviceMemoryOpaqueCaptureAddress) + m_vk.getDeviceMemoryOpaqueCaptureAddress = (GetDeviceMemoryOpaqueCaptureAddressFunc) GET_PROC_ADDR("vkGetDeviceMemoryOpaqueCaptureAddressKHR"); ++m_vk.createPrivateDataSlot = (CreatePrivateDataSlotFunc) GET_PROC_ADDR("vkCreatePrivateDataSlot"); ++if (!m_vk.createPrivateDataSlot) ++ m_vk.createPrivateDataSlot = (CreatePrivateDataSlotFunc) GET_PROC_ADDR("vkCreatePrivateDataSlotEXT"); ++m_vk.destroyPrivateDataSlot = (DestroyPrivateDataSlotFunc) GET_PROC_ADDR("vkDestroyPrivateDataSlot"); ++if (!m_vk.destroyPrivateDataSlot) ++ m_vk.destroyPrivateDataSlot = (DestroyPrivateDataSlotFunc) GET_PROC_ADDR("vkDestroyPrivateDataSlotEXT"); ++m_vk.setPrivateData = (SetPrivateDataFunc) GET_PROC_ADDR("vkSetPrivateData"); ++if (!m_vk.setPrivateData) ++ m_vk.setPrivateData = (SetPrivateDataFunc) GET_PROC_ADDR("vkSetPrivateDataEXT"); ++m_vk.getPrivateData = (GetPrivateDataFunc) GET_PROC_ADDR("vkGetPrivateData"); ++if (!m_vk.getPrivateData) ++ m_vk.getPrivateData = (GetPrivateDataFunc) GET_PROC_ADDR("vkGetPrivateDataEXT"); ++m_vk.cmdSetEvent2 = (CmdSetEvent2Func) GET_PROC_ADDR("vkCmdSetEvent2"); ++if (!m_vk.cmdSetEvent2) ++ m_vk.cmdSetEvent2 = (CmdSetEvent2Func) GET_PROC_ADDR("vkCmdSetEvent2KHR"); ++m_vk.cmdResetEvent2 = (CmdResetEvent2Func) GET_PROC_ADDR("vkCmdResetEvent2"); ++if (!m_vk.cmdResetEvent2) ++ m_vk.cmdResetEvent2 = (CmdResetEvent2Func) GET_PROC_ADDR("vkCmdResetEvent2KHR"); ++m_vk.cmdWaitEvents2 = (CmdWaitEvents2Func) GET_PROC_ADDR("vkCmdWaitEvents2"); ++if (!m_vk.cmdWaitEvents2) ++ m_vk.cmdWaitEvents2 = (CmdWaitEvents2Func) GET_PROC_ADDR("vkCmdWaitEvents2KHR"); ++m_vk.cmdPipelineBarrier2 = (CmdPipelineBarrier2Func) GET_PROC_ADDR("vkCmdPipelineBarrier2"); ++if (!m_vk.cmdPipelineBarrier2) ++ m_vk.cmdPipelineBarrier2 = (CmdPipelineBarrier2Func) GET_PROC_ADDR("vkCmdPipelineBarrier2KHR"); ++m_vk.cmdWriteTimestamp2 = (CmdWriteTimestamp2Func) GET_PROC_ADDR("vkCmdWriteTimestamp2"); ++if (!m_vk.cmdWriteTimestamp2) ++ m_vk.cmdWriteTimestamp2 = (CmdWriteTimestamp2Func) GET_PROC_ADDR("vkCmdWriteTimestamp2KHR"); ++m_vk.queueSubmit2 = (QueueSubmit2Func) GET_PROC_ADDR("vkQueueSubmit2"); ++if (!m_vk.queueSubmit2) ++ m_vk.queueSubmit2 = (QueueSubmit2Func) GET_PROC_ADDR("vkQueueSubmit2KHR"); ++m_vk.cmdCopyBuffer2 = (CmdCopyBuffer2Func) GET_PROC_ADDR("vkCmdCopyBuffer2"); ++if (!m_vk.cmdCopyBuffer2) ++ m_vk.cmdCopyBuffer2 = (CmdCopyBuffer2Func) GET_PROC_ADDR("vkCmdCopyBuffer2KHR"); ++m_vk.cmdCopyImage2 = (CmdCopyImage2Func) GET_PROC_ADDR("vkCmdCopyImage2"); ++if (!m_vk.cmdCopyImage2) ++ m_vk.cmdCopyImage2 = (CmdCopyImage2Func) GET_PROC_ADDR("vkCmdCopyImage2KHR"); ++m_vk.cmdCopyBufferToImage2 = (CmdCopyBufferToImage2Func) GET_PROC_ADDR("vkCmdCopyBufferToImage2"); ++if (!m_vk.cmdCopyBufferToImage2) ++ m_vk.cmdCopyBufferToImage2 = (CmdCopyBufferToImage2Func) GET_PROC_ADDR("vkCmdCopyBufferToImage2KHR"); ++m_vk.cmdCopyImageToBuffer2 = (CmdCopyImageToBuffer2Func) GET_PROC_ADDR("vkCmdCopyImageToBuffer2"); ++if (!m_vk.cmdCopyImageToBuffer2) ++ m_vk.cmdCopyImageToBuffer2 = (CmdCopyImageToBuffer2Func) GET_PROC_ADDR("vkCmdCopyImageToBuffer2KHR"); ++m_vk.cmdBlitImage2 = (CmdBlitImage2Func) GET_PROC_ADDR("vkCmdBlitImage2"); ++if (!m_vk.cmdBlitImage2) ++ m_vk.cmdBlitImage2 = (CmdBlitImage2Func) GET_PROC_ADDR("vkCmdBlitImage2KHR"); ++m_vk.cmdResolveImage2 = (CmdResolveImage2Func) GET_PROC_ADDR("vkCmdResolveImage2"); ++if (!m_vk.cmdResolveImage2) ++ m_vk.cmdResolveImage2 = (CmdResolveImage2Func) GET_PROC_ADDR("vkCmdResolveImage2KHR"); ++m_vk.cmdBeginRendering = (CmdBeginRenderingFunc) GET_PROC_ADDR("vkCmdBeginRendering"); ++if (!m_vk.cmdBeginRendering) ++ m_vk.cmdBeginRendering = (CmdBeginRenderingFunc) GET_PROC_ADDR("vkCmdBeginRenderingKHR"); ++m_vk.cmdEndRendering = (CmdEndRenderingFunc) GET_PROC_ADDR("vkCmdEndRendering"); ++if (!m_vk.cmdEndRendering) ++ m_vk.cmdEndRendering = (CmdEndRenderingFunc) GET_PROC_ADDR("vkCmdEndRenderingKHR"); ++m_vk.cmdSetCullMode = (CmdSetCullModeFunc) GET_PROC_ADDR("vkCmdSetCullMode"); ++if (!m_vk.cmdSetCullMode) ++ m_vk.cmdSetCullMode = (CmdSetCullModeFunc) GET_PROC_ADDR("vkCmdSetCullModeEXT"); ++m_vk.cmdSetFrontFace = (CmdSetFrontFaceFunc) GET_PROC_ADDR("vkCmdSetFrontFace"); ++if (!m_vk.cmdSetFrontFace) ++ m_vk.cmdSetFrontFace = (CmdSetFrontFaceFunc) GET_PROC_ADDR("vkCmdSetFrontFaceEXT"); ++m_vk.cmdSetPrimitiveTopology = (CmdSetPrimitiveTopologyFunc) GET_PROC_ADDR("vkCmdSetPrimitiveTopology"); ++if (!m_vk.cmdSetPrimitiveTopology) ++ m_vk.cmdSetPrimitiveTopology = (CmdSetPrimitiveTopologyFunc) GET_PROC_ADDR("vkCmdSetPrimitiveTopologyEXT"); ++m_vk.cmdSetViewportWithCount = (CmdSetViewportWithCountFunc) GET_PROC_ADDR("vkCmdSetViewportWithCount"); ++if (!m_vk.cmdSetViewportWithCount) ++ m_vk.cmdSetViewportWithCount = (CmdSetViewportWithCountFunc) GET_PROC_ADDR("vkCmdSetViewportWithCountEXT"); ++m_vk.cmdSetScissorWithCount = (CmdSetScissorWithCountFunc) GET_PROC_ADDR("vkCmdSetScissorWithCount"); ++if (!m_vk.cmdSetScissorWithCount) ++ m_vk.cmdSetScissorWithCount = (CmdSetScissorWithCountFunc) GET_PROC_ADDR("vkCmdSetScissorWithCountEXT"); ++m_vk.cmdBindVertexBuffers2 = (CmdBindVertexBuffers2Func) GET_PROC_ADDR("vkCmdBindVertexBuffers2"); ++if (!m_vk.cmdBindVertexBuffers2) ++ m_vk.cmdBindVertexBuffers2 = (CmdBindVertexBuffers2Func) GET_PROC_ADDR("vkCmdBindVertexBuffers2EXT"); ++m_vk.cmdSetDepthTestEnable = (CmdSetDepthTestEnableFunc) GET_PROC_ADDR("vkCmdSetDepthTestEnable"); ++if (!m_vk.cmdSetDepthTestEnable) ++ m_vk.cmdSetDepthTestEnable = (CmdSetDepthTestEnableFunc) GET_PROC_ADDR("vkCmdSetDepthTestEnableEXT"); ++m_vk.cmdSetDepthWriteEnable = (CmdSetDepthWriteEnableFunc) GET_PROC_ADDR("vkCmdSetDepthWriteEnable"); ++if (!m_vk.cmdSetDepthWriteEnable) ++ m_vk.cmdSetDepthWriteEnable = (CmdSetDepthWriteEnableFunc) GET_PROC_ADDR("vkCmdSetDepthWriteEnableEXT"); ++m_vk.cmdSetDepthCompareOp = (CmdSetDepthCompareOpFunc) GET_PROC_ADDR("vkCmdSetDepthCompareOp"); ++if (!m_vk.cmdSetDepthCompareOp) ++ m_vk.cmdSetDepthCompareOp = (CmdSetDepthCompareOpFunc) GET_PROC_ADDR("vkCmdSetDepthCompareOpEXT"); ++m_vk.cmdSetDepthBoundsTestEnable = (CmdSetDepthBoundsTestEnableFunc) GET_PROC_ADDR("vkCmdSetDepthBoundsTestEnable"); ++if (!m_vk.cmdSetDepthBoundsTestEnable) ++ m_vk.cmdSetDepthBoundsTestEnable = (CmdSetDepthBoundsTestEnableFunc) GET_PROC_ADDR("vkCmdSetDepthBoundsTestEnableEXT"); ++m_vk.cmdSetStencilTestEnable = (CmdSetStencilTestEnableFunc) GET_PROC_ADDR("vkCmdSetStencilTestEnable"); ++if (!m_vk.cmdSetStencilTestEnable) ++ m_vk.cmdSetStencilTestEnable = (CmdSetStencilTestEnableFunc) GET_PROC_ADDR("vkCmdSetStencilTestEnableEXT"); ++m_vk.cmdSetStencilOp = (CmdSetStencilOpFunc) GET_PROC_ADDR("vkCmdSetStencilOp"); ++if (!m_vk.cmdSetStencilOp) ++ m_vk.cmdSetStencilOp = (CmdSetStencilOpFunc) GET_PROC_ADDR("vkCmdSetStencilOpEXT"); ++m_vk.cmdSetRasterizerDiscardEnable = (CmdSetRasterizerDiscardEnableFunc) GET_PROC_ADDR("vkCmdSetRasterizerDiscardEnable"); ++if (!m_vk.cmdSetRasterizerDiscardEnable) ++ m_vk.cmdSetRasterizerDiscardEnable = (CmdSetRasterizerDiscardEnableFunc) GET_PROC_ADDR("vkCmdSetRasterizerDiscardEnableEXT"); ++m_vk.cmdSetDepthBiasEnable = (CmdSetDepthBiasEnableFunc) GET_PROC_ADDR("vkCmdSetDepthBiasEnable"); ++if (!m_vk.cmdSetDepthBiasEnable) ++ m_vk.cmdSetDepthBiasEnable = (CmdSetDepthBiasEnableFunc) GET_PROC_ADDR("vkCmdSetDepthBiasEnableEXT"); ++m_vk.cmdSetPrimitiveRestartEnable = (CmdSetPrimitiveRestartEnableFunc) GET_PROC_ADDR("vkCmdSetPrimitiveRestartEnable"); ++if (!m_vk.cmdSetPrimitiveRestartEnable) ++ m_vk.cmdSetPrimitiveRestartEnable = (CmdSetPrimitiveRestartEnableFunc) GET_PROC_ADDR("vkCmdSetPrimitiveRestartEnableEXT"); ++m_vk.getDeviceBufferMemoryRequirements = (GetDeviceBufferMemoryRequirementsFunc) GET_PROC_ADDR("vkGetDeviceBufferMemoryRequirements"); ++if (!m_vk.getDeviceBufferMemoryRequirements) ++ m_vk.getDeviceBufferMemoryRequirements = (GetDeviceBufferMemoryRequirementsFunc) GET_PROC_ADDR("vkGetDeviceBufferMemoryRequirementsKHR"); ++m_vk.getDeviceImageMemoryRequirements = (GetDeviceImageMemoryRequirementsFunc) GET_PROC_ADDR("vkGetDeviceImageMemoryRequirements"); ++if (!m_vk.getDeviceImageMemoryRequirements) ++ m_vk.getDeviceImageMemoryRequirements = (GetDeviceImageMemoryRequirementsFunc) GET_PROC_ADDR("vkGetDeviceImageMemoryRequirementsKHR"); ++m_vk.getDeviceImageSparseMemoryRequirements = (GetDeviceImageSparseMemoryRequirementsFunc) GET_PROC_ADDR("vkGetDeviceImageSparseMemoryRequirements"); ++if (!m_vk.getDeviceImageSparseMemoryRequirements) ++ m_vk.getDeviceImageSparseMemoryRequirements = (GetDeviceImageSparseMemoryRequirementsFunc) GET_PROC_ADDR("vkGetDeviceImageSparseMemoryRequirementsKHR"); + m_vk.createSwapchainKHR = (CreateSwapchainKHRFunc) GET_PROC_ADDR("vkCreateSwapchainKHR"); + m_vk.destroySwapchainKHR = (DestroySwapchainKHRFunc) GET_PROC_ADDR("vkDestroySwapchainKHR"); + m_vk.getSwapchainImagesKHR = (GetSwapchainImagesKHRFunc) GET_PROC_ADDR("vkGetSwapchainImagesKHR"); + m_vk.acquireNextImageKHR = (AcquireNextImageKHRFunc) GET_PROC_ADDR("vkAcquireNextImageKHR"); + m_vk.queuePresentKHR = (QueuePresentKHRFunc) GET_PROC_ADDR("vkQueuePresentKHR"); + m_vk.getDeviceGroupPresentCapabilitiesKHR = (GetDeviceGroupPresentCapabilitiesKHRFunc) GET_PROC_ADDR("vkGetDeviceGroupPresentCapabilitiesKHR"); + m_vk.getDeviceGroupSurfacePresentModesKHR = (GetDeviceGroupSurfacePresentModesKHRFunc) GET_PROC_ADDR("vkGetDeviceGroupSurfacePresentModesKHR"); + m_vk.acquireNextImage2KHR = (AcquireNextImage2KHRFunc) GET_PROC_ADDR("vkAcquireNextImage2KHR"); + m_vk.createSharedSwapchainsKHR = (CreateSharedSwapchainsKHRFunc) GET_PROC_ADDR("vkCreateSharedSwapchainsKHR"); -m_vk.cmdBeginRenderingKHR = (CmdBeginRenderingKHRFunc) GET_PROC_ADDR("vkCmdBeginRenderingKHR"); -m_vk.cmdEndRenderingKHR = (CmdEndRenderingKHRFunc) GET_PROC_ADDR("vkCmdEndRenderingKHR"); + m_vk.getMemoryFdKHR = (GetMemoryFdKHRFunc) GET_PROC_ADDR("vkGetMemoryFdKHR"); + m_vk.getMemoryFdPropertiesKHR = (GetMemoryFdPropertiesKHRFunc) GET_PROC_ADDR("vkGetMemoryFdPropertiesKHR"); + m_vk.importSemaphoreFdKHR = (ImportSemaphoreFdKHRFunc) GET_PROC_ADDR("vkImportSemaphoreFdKHR"); + m_vk.getSemaphoreFdKHR = (GetSemaphoreFdKHRFunc) GET_PROC_ADDR("vkGetSemaphoreFdKHR"); + m_vk.cmdPushDescriptorSetKHR = (CmdPushDescriptorSetKHRFunc) GET_PROC_ADDR("vkCmdPushDescriptorSetKHR"); + m_vk.cmdPushDescriptorSetWithTemplateKHR = (CmdPushDescriptorSetWithTemplateKHRFunc) GET_PROC_ADDR("vkCmdPushDescriptorSetWithTemplateKHR"); + m_vk.getSwapchainStatusKHR = (GetSwapchainStatusKHRFunc) GET_PROC_ADDR("vkGetSwapchainStatusKHR"); + m_vk.importFenceFdKHR = (ImportFenceFdKHRFunc) GET_PROC_ADDR("vkImportFenceFdKHR"); + m_vk.getFenceFdKHR = (GetFenceFdKHRFunc) GET_PROC_ADDR("vkGetFenceFdKHR"); + m_vk.acquireProfilingLockKHR = (AcquireProfilingLockKHRFunc) GET_PROC_ADDR("vkAcquireProfilingLockKHR"); + m_vk.releaseProfilingLockKHR = (ReleaseProfilingLockKHRFunc) GET_PROC_ADDR("vkReleaseProfilingLockKHR"); + m_vk.cmdSetFragmentShadingRateKHR = (CmdSetFragmentShadingRateKHRFunc) GET_PROC_ADDR("vkCmdSetFragmentShadingRateKHR"); + m_vk.waitForPresentKHR = (WaitForPresentKHRFunc) GET_PROC_ADDR("vkWaitForPresentKHR"); + m_vk.createDeferredOperationKHR = (CreateDeferredOperationKHRFunc) GET_PROC_ADDR("vkCreateDeferredOperationKHR"); + m_vk.destroyDeferredOperationKHR = (DestroyDeferredOperationKHRFunc) GET_PROC_ADDR("vkDestroyDeferredOperationKHR"); + m_vk.getDeferredOperationMaxConcurrencyKHR = (GetDeferredOperationMaxConcurrencyKHRFunc) GET_PROC_ADDR("vkGetDeferredOperationMaxConcurrencyKHR"); + m_vk.getDeferredOperationResultKHR = (GetDeferredOperationResultKHRFunc) GET_PROC_ADDR("vkGetDeferredOperationResultKHR"); + m_vk.deferredOperationJoinKHR = (DeferredOperationJoinKHRFunc) GET_PROC_ADDR("vkDeferredOperationJoinKHR"); + m_vk.getPipelineExecutablePropertiesKHR = (GetPipelineExecutablePropertiesKHRFunc) GET_PROC_ADDR("vkGetPipelineExecutablePropertiesKHR"); + m_vk.getPipelineExecutableStatisticsKHR = (GetPipelineExecutableStatisticsKHRFunc) GET_PROC_ADDR("vkGetPipelineExecutableStatisticsKHR"); + m_vk.getPipelineExecutableInternalRepresentationsKHR = (GetPipelineExecutableInternalRepresentationsKHRFunc) GET_PROC_ADDR("vkGetPipelineExecutableInternalRepresentationsKHR"); -m_vk.cmdSetEvent2KHR = (CmdSetEvent2KHRFunc) GET_PROC_ADDR("vkCmdSetEvent2KHR"); -m_vk.cmdResetEvent2KHR = (CmdResetEvent2KHRFunc) GET_PROC_ADDR("vkCmdResetEvent2KHR"); -m_vk.cmdWaitEvents2KHR = (CmdWaitEvents2KHRFunc) GET_PROC_ADDR("vkCmdWaitEvents2KHR"); -m_vk.cmdPipelineBarrier2KHR = (CmdPipelineBarrier2KHRFunc) GET_PROC_ADDR("vkCmdPipelineBarrier2KHR"); -m_vk.cmdWriteTimestamp2KHR = (CmdWriteTimestamp2KHRFunc) GET_PROC_ADDR("vkCmdWriteTimestamp2KHR"); -m_vk.queueSubmit2KHR = (QueueSubmit2KHRFunc) GET_PROC_ADDR("vkQueueSubmit2KHR"); + m_vk.cmdWriteBufferMarker2AMD = (CmdWriteBufferMarker2AMDFunc) GET_PROC_ADDR("vkCmdWriteBufferMarker2AMD"); + m_vk.getQueueCheckpointData2NV = (GetQueueCheckpointData2NVFunc) GET_PROC_ADDR("vkGetQueueCheckpointData2NV"); -m_vk.cmdCopyBuffer2KHR = (CmdCopyBuffer2KHRFunc) GET_PROC_ADDR("vkCmdCopyBuffer2KHR"); -m_vk.cmdCopyImage2KHR = (CmdCopyImage2KHRFunc) GET_PROC_ADDR("vkCmdCopyImage2KHR"); -m_vk.cmdCopyBufferToImage2KHR = (CmdCopyBufferToImage2KHRFunc) GET_PROC_ADDR("vkCmdCopyBufferToImage2KHR"); -m_vk.cmdCopyImageToBuffer2KHR = (CmdCopyImageToBuffer2KHRFunc) GET_PROC_ADDR("vkCmdCopyImageToBuffer2KHR"); -m_vk.cmdBlitImage2KHR = (CmdBlitImage2KHRFunc) GET_PROC_ADDR("vkCmdBlitImage2KHR"); -m_vk.cmdResolveImage2KHR = (CmdResolveImage2KHRFunc) GET_PROC_ADDR("vkCmdResolveImage2KHR"); -m_vk.getDeviceBufferMemoryRequirementsKHR = (GetDeviceBufferMemoryRequirementsKHRFunc) GET_PROC_ADDR("vkGetDeviceBufferMemoryRequirementsKHR"); -m_vk.getDeviceImageMemoryRequirementsKHR = (GetDeviceImageMemoryRequirementsKHRFunc) GET_PROC_ADDR("vkGetDeviceImageMemoryRequirementsKHR"); -m_vk.getDeviceImageSparseMemoryRequirementsKHR = (GetDeviceImageSparseMemoryRequirementsKHRFunc) GET_PROC_ADDR("vkGetDeviceImageSparseMemoryRequirementsKHR"); + m_vk.debugMarkerSetObjectTagEXT = (DebugMarkerSetObjectTagEXTFunc) GET_PROC_ADDR("vkDebugMarkerSetObjectTagEXT"); + m_vk.debugMarkerSetObjectNameEXT = (DebugMarkerSetObjectNameEXTFunc) GET_PROC_ADDR("vkDebugMarkerSetObjectNameEXT"); + m_vk.cmdDebugMarkerBeginEXT = (CmdDebugMarkerBeginEXTFunc) GET_PROC_ADDR("vkCmdDebugMarkerBeginEXT"); + m_vk.cmdDebugMarkerEndEXT = (CmdDebugMarkerEndEXTFunc) GET_PROC_ADDR("vkCmdDebugMarkerEndEXT"); + m_vk.cmdDebugMarkerInsertEXT = (CmdDebugMarkerInsertEXTFunc) GET_PROC_ADDR("vkCmdDebugMarkerInsertEXT"); + m_vk.cmdBindTransformFeedbackBuffersEXT = (CmdBindTransformFeedbackBuffersEXTFunc) GET_PROC_ADDR("vkCmdBindTransformFeedbackBuffersEXT"); + m_vk.cmdBeginTransformFeedbackEXT = (CmdBeginTransformFeedbackEXTFunc) GET_PROC_ADDR("vkCmdBeginTransformFeedbackEXT"); + m_vk.cmdEndTransformFeedbackEXT = (CmdEndTransformFeedbackEXTFunc) GET_PROC_ADDR("vkCmdEndTransformFeedbackEXT"); + m_vk.cmdBeginQueryIndexedEXT = (CmdBeginQueryIndexedEXTFunc) GET_PROC_ADDR("vkCmdBeginQueryIndexedEXT"); + m_vk.cmdEndQueryIndexedEXT = (CmdEndQueryIndexedEXTFunc) GET_PROC_ADDR("vkCmdEndQueryIndexedEXT"); + m_vk.cmdDrawIndirectByteCountEXT = (CmdDrawIndirectByteCountEXTFunc) GET_PROC_ADDR("vkCmdDrawIndirectByteCountEXT"); + m_vk.createCuModuleNVX = (CreateCuModuleNVXFunc) GET_PROC_ADDR("vkCreateCuModuleNVX"); + m_vk.createCuFunctionNVX = (CreateCuFunctionNVXFunc) GET_PROC_ADDR("vkCreateCuFunctionNVX"); + m_vk.destroyCuModuleNVX = (DestroyCuModuleNVXFunc) GET_PROC_ADDR("vkDestroyCuModuleNVX"); + m_vk.destroyCuFunctionNVX = (DestroyCuFunctionNVXFunc) GET_PROC_ADDR("vkDestroyCuFunctionNVX"); + m_vk.cmdCuLaunchKernelNVX = (CmdCuLaunchKernelNVXFunc) GET_PROC_ADDR("vkCmdCuLaunchKernelNVX"); + m_vk.getImageViewHandleNVX = (GetImageViewHandleNVXFunc) GET_PROC_ADDR("vkGetImageViewHandleNVX"); + m_vk.getImageViewAddressNVX = (GetImageViewAddressNVXFunc) GET_PROC_ADDR("vkGetImageViewAddressNVX"); + m_vk.cmdDrawIndirectCountAMD = (CmdDrawIndirectCountAMDFunc) GET_PROC_ADDR("vkCmdDrawIndirectCountAMD"); + m_vk.cmdDrawIndexedIndirectCountAMD = (CmdDrawIndexedIndirectCountAMDFunc) GET_PROC_ADDR("vkCmdDrawIndexedIndirectCountAMD"); + m_vk.getShaderInfoAMD = (GetShaderInfoAMDFunc) GET_PROC_ADDR("vkGetShaderInfoAMD"); + m_vk.cmdBeginConditionalRenderingEXT = (CmdBeginConditionalRenderingEXTFunc) GET_PROC_ADDR("vkCmdBeginConditionalRenderingEXT"); + m_vk.cmdEndConditionalRenderingEXT = (CmdEndConditionalRenderingEXTFunc) GET_PROC_ADDR("vkCmdEndConditionalRenderingEXT"); + m_vk.cmdSetViewportWScalingNV = (CmdSetViewportWScalingNVFunc) GET_PROC_ADDR("vkCmdSetViewportWScalingNV"); + m_vk.displayPowerControlEXT = (DisplayPowerControlEXTFunc) GET_PROC_ADDR("vkDisplayPowerControlEXT"); + m_vk.registerDeviceEventEXT = (RegisterDeviceEventEXTFunc) GET_PROC_ADDR("vkRegisterDeviceEventEXT"); + m_vk.registerDisplayEventEXT = (RegisterDisplayEventEXTFunc) GET_PROC_ADDR("vkRegisterDisplayEventEXT"); + m_vk.getSwapchainCounterEXT = (GetSwapchainCounterEXTFunc) GET_PROC_ADDR("vkGetSwapchainCounterEXT"); + m_vk.getRefreshCycleDurationGOOGLE = (GetRefreshCycleDurationGOOGLEFunc) GET_PROC_ADDR("vkGetRefreshCycleDurationGOOGLE"); + m_vk.getPastPresentationTimingGOOGLE = (GetPastPresentationTimingGOOGLEFunc) GET_PROC_ADDR("vkGetPastPresentationTimingGOOGLE"); + m_vk.cmdSetDiscardRectangleEXT = (CmdSetDiscardRectangleEXTFunc) GET_PROC_ADDR("vkCmdSetDiscardRectangleEXT"); + m_vk.setHdrMetadataEXT = (SetHdrMetadataEXTFunc) GET_PROC_ADDR("vkSetHdrMetadataEXT"); + m_vk.setDebugUtilsObjectNameEXT = (SetDebugUtilsObjectNameEXTFunc) GET_PROC_ADDR("vkSetDebugUtilsObjectNameEXT"); + m_vk.setDebugUtilsObjectTagEXT = (SetDebugUtilsObjectTagEXTFunc) GET_PROC_ADDR("vkSetDebugUtilsObjectTagEXT"); + m_vk.queueBeginDebugUtilsLabelEXT = (QueueBeginDebugUtilsLabelEXTFunc) GET_PROC_ADDR("vkQueueBeginDebugUtilsLabelEXT"); + m_vk.queueEndDebugUtilsLabelEXT = (QueueEndDebugUtilsLabelEXTFunc) GET_PROC_ADDR("vkQueueEndDebugUtilsLabelEXT"); + m_vk.queueInsertDebugUtilsLabelEXT = (QueueInsertDebugUtilsLabelEXTFunc) GET_PROC_ADDR("vkQueueInsertDebugUtilsLabelEXT"); + m_vk.cmdBeginDebugUtilsLabelEXT = (CmdBeginDebugUtilsLabelEXTFunc) GET_PROC_ADDR("vkCmdBeginDebugUtilsLabelEXT"); + m_vk.cmdEndDebugUtilsLabelEXT = (CmdEndDebugUtilsLabelEXTFunc) GET_PROC_ADDR("vkCmdEndDebugUtilsLabelEXT"); + m_vk.cmdInsertDebugUtilsLabelEXT = (CmdInsertDebugUtilsLabelEXTFunc) GET_PROC_ADDR("vkCmdInsertDebugUtilsLabelEXT"); + m_vk.cmdSetSampleLocationsEXT = (CmdSetSampleLocationsEXTFunc) GET_PROC_ADDR("vkCmdSetSampleLocationsEXT"); + m_vk.getImageDrmFormatModifierPropertiesEXT = (GetImageDrmFormatModifierPropertiesEXTFunc) GET_PROC_ADDR("vkGetImageDrmFormatModifierPropertiesEXT"); + m_vk.createValidationCacheEXT = (CreateValidationCacheEXTFunc) GET_PROC_ADDR("vkCreateValidationCacheEXT"); + m_vk.destroyValidationCacheEXT = (DestroyValidationCacheEXTFunc) GET_PROC_ADDR("vkDestroyValidationCacheEXT"); + m_vk.mergeValidationCachesEXT = (MergeValidationCachesEXTFunc) GET_PROC_ADDR("vkMergeValidationCachesEXT"); + m_vk.getValidationCacheDataEXT = (GetValidationCacheDataEXTFunc) GET_PROC_ADDR("vkGetValidationCacheDataEXT"); + m_vk.cmdBindShadingRateImageNV = (CmdBindShadingRateImageNVFunc) GET_PROC_ADDR("vkCmdBindShadingRateImageNV"); + m_vk.cmdSetViewportShadingRatePaletteNV = (CmdSetViewportShadingRatePaletteNVFunc) GET_PROC_ADDR("vkCmdSetViewportShadingRatePaletteNV"); + m_vk.cmdSetCoarseSampleOrderNV = (CmdSetCoarseSampleOrderNVFunc) GET_PROC_ADDR("vkCmdSetCoarseSampleOrderNV"); + m_vk.createAccelerationStructureNV = (CreateAccelerationStructureNVFunc) GET_PROC_ADDR("vkCreateAccelerationStructureNV"); + m_vk.destroyAccelerationStructureNV = (DestroyAccelerationStructureNVFunc) GET_PROC_ADDR("vkDestroyAccelerationStructureNV"); + m_vk.getAccelerationStructureMemoryRequirementsNV = (GetAccelerationStructureMemoryRequirementsNVFunc) GET_PROC_ADDR("vkGetAccelerationStructureMemoryRequirementsNV"); + m_vk.bindAccelerationStructureMemoryNV = (BindAccelerationStructureMemoryNVFunc) GET_PROC_ADDR("vkBindAccelerationStructureMemoryNV"); + m_vk.cmdBuildAccelerationStructureNV = (CmdBuildAccelerationStructureNVFunc) GET_PROC_ADDR("vkCmdBuildAccelerationStructureNV"); + m_vk.cmdCopyAccelerationStructureNV = (CmdCopyAccelerationStructureNVFunc) GET_PROC_ADDR("vkCmdCopyAccelerationStructureNV"); + m_vk.cmdTraceRaysNV = (CmdTraceRaysNVFunc) GET_PROC_ADDR("vkCmdTraceRaysNV"); + m_vk.createRayTracingPipelinesNV = (CreateRayTracingPipelinesNVFunc) GET_PROC_ADDR("vkCreateRayTracingPipelinesNV"); + m_vk.getRayTracingShaderGroupHandlesKHR = (GetRayTracingShaderGroupHandlesKHRFunc) GET_PROC_ADDR("vkGetRayTracingShaderGroupHandlesKHR"); + m_vk.getRayTracingShaderGroupHandlesNV = (GetRayTracingShaderGroupHandlesNVFunc) GET_PROC_ADDR("vkGetRayTracingShaderGroupHandlesNV"); + m_vk.getAccelerationStructureHandleNV = (GetAccelerationStructureHandleNVFunc) GET_PROC_ADDR("vkGetAccelerationStructureHandleNV"); + m_vk.cmdWriteAccelerationStructuresPropertiesNV = (CmdWriteAccelerationStructuresPropertiesNVFunc) GET_PROC_ADDR("vkCmdWriteAccelerationStructuresPropertiesNV"); + m_vk.compileDeferredNV = (CompileDeferredNVFunc) GET_PROC_ADDR("vkCompileDeferredNV"); + m_vk.getMemoryHostPointerPropertiesEXT = (GetMemoryHostPointerPropertiesEXTFunc) GET_PROC_ADDR("vkGetMemoryHostPointerPropertiesEXT"); + m_vk.cmdWriteBufferMarkerAMD = (CmdWriteBufferMarkerAMDFunc) GET_PROC_ADDR("vkCmdWriteBufferMarkerAMD"); + m_vk.getCalibratedTimestampsEXT = (GetCalibratedTimestampsEXTFunc) GET_PROC_ADDR("vkGetCalibratedTimestampsEXT"); + m_vk.cmdDrawMeshTasksNV = (CmdDrawMeshTasksNVFunc) GET_PROC_ADDR("vkCmdDrawMeshTasksNV"); + m_vk.cmdDrawMeshTasksIndirectNV = (CmdDrawMeshTasksIndirectNVFunc) GET_PROC_ADDR("vkCmdDrawMeshTasksIndirectNV"); + m_vk.cmdDrawMeshTasksIndirectCountNV = (CmdDrawMeshTasksIndirectCountNVFunc) GET_PROC_ADDR("vkCmdDrawMeshTasksIndirectCountNV"); + m_vk.cmdSetExclusiveScissorNV = (CmdSetExclusiveScissorNVFunc) GET_PROC_ADDR("vkCmdSetExclusiveScissorNV"); + m_vk.cmdSetCheckpointNV = (CmdSetCheckpointNVFunc) GET_PROC_ADDR("vkCmdSetCheckpointNV"); + m_vk.getQueueCheckpointDataNV = (GetQueueCheckpointDataNVFunc) GET_PROC_ADDR("vkGetQueueCheckpointDataNV"); + m_vk.initializePerformanceApiINTEL = (InitializePerformanceApiINTELFunc) GET_PROC_ADDR("vkInitializePerformanceApiINTEL"); + m_vk.uninitializePerformanceApiINTEL = (UninitializePerformanceApiINTELFunc) GET_PROC_ADDR("vkUninitializePerformanceApiINTEL"); + m_vk.cmdSetPerformanceMarkerINTEL = (CmdSetPerformanceMarkerINTELFunc) GET_PROC_ADDR("vkCmdSetPerformanceMarkerINTEL"); + m_vk.cmdSetPerformanceStreamMarkerINTEL = (CmdSetPerformanceStreamMarkerINTELFunc) GET_PROC_ADDR("vkCmdSetPerformanceStreamMarkerINTEL"); + m_vk.cmdSetPerformanceOverrideINTEL = (CmdSetPerformanceOverrideINTELFunc) GET_PROC_ADDR("vkCmdSetPerformanceOverrideINTEL"); + m_vk.acquirePerformanceConfigurationINTEL = (AcquirePerformanceConfigurationINTELFunc) GET_PROC_ADDR("vkAcquirePerformanceConfigurationINTEL"); + m_vk.releasePerformanceConfigurationINTEL = (ReleasePerformanceConfigurationINTELFunc) GET_PROC_ADDR("vkReleasePerformanceConfigurationINTEL"); + m_vk.queueSetPerformanceConfigurationINTEL = (QueueSetPerformanceConfigurationINTELFunc) GET_PROC_ADDR("vkQueueSetPerformanceConfigurationINTEL"); + m_vk.getPerformanceParameterINTEL = (GetPerformanceParameterINTELFunc) GET_PROC_ADDR("vkGetPerformanceParameterINTEL"); + m_vk.setLocalDimmingAMD = (SetLocalDimmingAMDFunc) GET_PROC_ADDR("vkSetLocalDimmingAMD"); + m_vk.getBufferDeviceAddressEXT = (GetBufferDeviceAddressEXTFunc) GET_PROC_ADDR("vkGetBufferDeviceAddressEXT"); + m_vk.cmdSetLineStippleEXT = (CmdSetLineStippleEXTFunc) GET_PROC_ADDR("vkCmdSetLineStippleEXT"); -m_vk.cmdSetCullModeEXT = (CmdSetCullModeEXTFunc) GET_PROC_ADDR("vkCmdSetCullModeEXT"); -m_vk.cmdSetFrontFaceEXT = (CmdSetFrontFaceEXTFunc) GET_PROC_ADDR("vkCmdSetFrontFaceEXT"); -m_vk.cmdSetPrimitiveTopologyEXT = (CmdSetPrimitiveTopologyEXTFunc) GET_PROC_ADDR("vkCmdSetPrimitiveTopologyEXT"); -m_vk.cmdSetViewportWithCountEXT = (CmdSetViewportWithCountEXTFunc) GET_PROC_ADDR("vkCmdSetViewportWithCountEXT"); -m_vk.cmdSetScissorWithCountEXT = (CmdSetScissorWithCountEXTFunc) GET_PROC_ADDR("vkCmdSetScissorWithCountEXT"); -m_vk.cmdBindVertexBuffers2EXT = (CmdBindVertexBuffers2EXTFunc) GET_PROC_ADDR("vkCmdBindVertexBuffers2EXT"); -m_vk.cmdSetDepthTestEnableEXT = (CmdSetDepthTestEnableEXTFunc) GET_PROC_ADDR("vkCmdSetDepthTestEnableEXT"); -m_vk.cmdSetDepthWriteEnableEXT = (CmdSetDepthWriteEnableEXTFunc) GET_PROC_ADDR("vkCmdSetDepthWriteEnableEXT"); -m_vk.cmdSetDepthCompareOpEXT = (CmdSetDepthCompareOpEXTFunc) GET_PROC_ADDR("vkCmdSetDepthCompareOpEXT"); -m_vk.cmdSetDepthBoundsTestEnableEXT = (CmdSetDepthBoundsTestEnableEXTFunc) GET_PROC_ADDR("vkCmdSetDepthBoundsTestEnableEXT"); -m_vk.cmdSetStencilTestEnableEXT = (CmdSetStencilTestEnableEXTFunc) GET_PROC_ADDR("vkCmdSetStencilTestEnableEXT"); -m_vk.cmdSetStencilOpEXT = (CmdSetStencilOpEXTFunc) GET_PROC_ADDR("vkCmdSetStencilOpEXT"); + m_vk.getGeneratedCommandsMemoryRequirementsNV = (GetGeneratedCommandsMemoryRequirementsNVFunc) GET_PROC_ADDR("vkGetGeneratedCommandsMemoryRequirementsNV"); + m_vk.cmdPreprocessGeneratedCommandsNV = (CmdPreprocessGeneratedCommandsNVFunc) GET_PROC_ADDR("vkCmdPreprocessGeneratedCommandsNV"); + m_vk.cmdExecuteGeneratedCommandsNV = (CmdExecuteGeneratedCommandsNVFunc) GET_PROC_ADDR("vkCmdExecuteGeneratedCommandsNV"); + m_vk.cmdBindPipelineShaderGroupNV = (CmdBindPipelineShaderGroupNVFunc) GET_PROC_ADDR("vkCmdBindPipelineShaderGroupNV"); + m_vk.createIndirectCommandsLayoutNV = (CreateIndirectCommandsLayoutNVFunc) GET_PROC_ADDR("vkCreateIndirectCommandsLayoutNV"); + m_vk.destroyIndirectCommandsLayoutNV = (DestroyIndirectCommandsLayoutNVFunc) GET_PROC_ADDR("vkDestroyIndirectCommandsLayoutNV"); -m_vk.createPrivateDataSlotEXT = (CreatePrivateDataSlotEXTFunc) GET_PROC_ADDR("vkCreatePrivateDataSlotEXT"); -m_vk.destroyPrivateDataSlotEXT = (DestroyPrivateDataSlotEXTFunc) GET_PROC_ADDR("vkDestroyPrivateDataSlotEXT"); -m_vk.setPrivateDataEXT = (SetPrivateDataEXTFunc) GET_PROC_ADDR("vkSetPrivateDataEXT"); -m_vk.getPrivateDataEXT = (GetPrivateDataEXTFunc) GET_PROC_ADDR("vkGetPrivateDataEXT"); + m_vk.cmdSetFragmentShadingRateEnumNV = (CmdSetFragmentShadingRateEnumNVFunc) GET_PROC_ADDR("vkCmdSetFragmentShadingRateEnumNV"); + m_vk.cmdSetVertexInputEXT = (CmdSetVertexInputEXTFunc) GET_PROC_ADDR("vkCmdSetVertexInputEXT"); + m_vk.getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = (GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIFunc) GET_PROC_ADDR("vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI"); + m_vk.cmdSubpassShadingHUAWEI = (CmdSubpassShadingHUAWEIFunc) GET_PROC_ADDR("vkCmdSubpassShadingHUAWEI"); + m_vk.cmdBindInvocationMaskHUAWEI = (CmdBindInvocationMaskHUAWEIFunc) GET_PROC_ADDR("vkCmdBindInvocationMaskHUAWEI"); + m_vk.getMemoryRemoteAddressNV = (GetMemoryRemoteAddressNVFunc) GET_PROC_ADDR("vkGetMemoryRemoteAddressNV"); + m_vk.cmdSetPatchControlPointsEXT = (CmdSetPatchControlPointsEXTFunc) GET_PROC_ADDR("vkCmdSetPatchControlPointsEXT"); -m_vk.cmdSetRasterizerDiscardEnableEXT = (CmdSetRasterizerDiscardEnableEXTFunc) GET_PROC_ADDR("vkCmdSetRasterizerDiscardEnableEXT"); -m_vk.cmdSetDepthBiasEnableEXT = (CmdSetDepthBiasEnableEXTFunc) GET_PROC_ADDR("vkCmdSetDepthBiasEnableEXT"); + m_vk.cmdSetLogicOpEXT = (CmdSetLogicOpEXTFunc) GET_PROC_ADDR("vkCmdSetLogicOpEXT"); -m_vk.cmdSetPrimitiveRestartEnableEXT = (CmdSetPrimitiveRestartEnableEXTFunc) GET_PROC_ADDR("vkCmdSetPrimitiveRestartEnableEXT"); + m_vk.cmdSetColorWriteEnableEXT = (CmdSetColorWriteEnableEXTFunc) GET_PROC_ADDR("vkCmdSetColorWriteEnableEXT"); + m_vk.cmdDrawMultiEXT = (CmdDrawMultiEXTFunc) GET_PROC_ADDR("vkCmdDrawMultiEXT"); + m_vk.cmdDrawMultiIndexedEXT = (CmdDrawMultiIndexedEXTFunc) GET_PROC_ADDR("vkCmdDrawMultiIndexedEXT"); + m_vk.setDeviceMemoryPriorityEXT = (SetDeviceMemoryPriorityEXTFunc) GET_PROC_ADDR("vkSetDeviceMemoryPriorityEXT"); + m_vk.createAccelerationStructureKHR = (CreateAccelerationStructureKHRFunc) GET_PROC_ADDR("vkCreateAccelerationStructureKHR"); + m_vk.destroyAccelerationStructureKHR = (DestroyAccelerationStructureKHRFunc) GET_PROC_ADDR("vkDestroyAccelerationStructureKHR"); + m_vk.cmdBuildAccelerationStructuresKHR = (CmdBuildAccelerationStructuresKHRFunc) GET_PROC_ADDR("vkCmdBuildAccelerationStructuresKHR"); + m_vk.cmdBuildAccelerationStructuresIndirectKHR = (CmdBuildAccelerationStructuresIndirectKHRFunc) GET_PROC_ADDR("vkCmdBuildAccelerationStructuresIndirectKHR"); + m_vk.buildAccelerationStructuresKHR = (BuildAccelerationStructuresKHRFunc) GET_PROC_ADDR("vkBuildAccelerationStructuresKHR"); + m_vk.copyAccelerationStructureKHR = (CopyAccelerationStructureKHRFunc) GET_PROC_ADDR("vkCopyAccelerationStructureKHR"); + m_vk.copyAccelerationStructureToMemoryKHR = (CopyAccelerationStructureToMemoryKHRFunc) GET_PROC_ADDR("vkCopyAccelerationStructureToMemoryKHR"); + m_vk.copyMemoryToAccelerationStructureKHR = (CopyMemoryToAccelerationStructureKHRFunc) GET_PROC_ADDR("vkCopyMemoryToAccelerationStructureKHR"); + m_vk.writeAccelerationStructuresPropertiesKHR = (WriteAccelerationStructuresPropertiesKHRFunc) GET_PROC_ADDR("vkWriteAccelerationStructuresPropertiesKHR"); + m_vk.cmdCopyAccelerationStructureKHR = (CmdCopyAccelerationStructureKHRFunc) GET_PROC_ADDR("vkCmdCopyAccelerationStructureKHR"); + m_vk.cmdCopyAccelerationStructureToMemoryKHR = (CmdCopyAccelerationStructureToMemoryKHRFunc) GET_PROC_ADDR("vkCmdCopyAccelerationStructureToMemoryKHR"); + m_vk.cmdCopyMemoryToAccelerationStructureKHR = (CmdCopyMemoryToAccelerationStructureKHRFunc) GET_PROC_ADDR("vkCmdCopyMemoryToAccelerationStructureKHR"); + m_vk.getAccelerationStructureDeviceAddressKHR = (GetAccelerationStructureDeviceAddressKHRFunc) GET_PROC_ADDR("vkGetAccelerationStructureDeviceAddressKHR"); + m_vk.cmdWriteAccelerationStructuresPropertiesKHR = (CmdWriteAccelerationStructuresPropertiesKHRFunc) GET_PROC_ADDR("vkCmdWriteAccelerationStructuresPropertiesKHR"); + m_vk.getDeviceAccelerationStructureCompatibilityKHR = (GetDeviceAccelerationStructureCompatibilityKHRFunc) GET_PROC_ADDR("vkGetDeviceAccelerationStructureCompatibilityKHR"); + m_vk.getAccelerationStructureBuildSizesKHR = (GetAccelerationStructureBuildSizesKHRFunc) GET_PROC_ADDR("vkGetAccelerationStructureBuildSizesKHR"); + m_vk.cmdTraceRaysKHR = (CmdTraceRaysKHRFunc) GET_PROC_ADDR("vkCmdTraceRaysKHR"); + m_vk.createRayTracingPipelinesKHR = (CreateRayTracingPipelinesKHRFunc) GET_PROC_ADDR("vkCreateRayTracingPipelinesKHR"); + m_vk.getRayTracingCaptureReplayShaderGroupHandlesKHR = (GetRayTracingCaptureReplayShaderGroupHandlesKHRFunc) GET_PROC_ADDR("vkGetRayTracingCaptureReplayShaderGroupHandlesKHR"); + m_vk.cmdTraceRaysIndirectKHR = (CmdTraceRaysIndirectKHRFunc) GET_PROC_ADDR("vkCmdTraceRaysIndirectKHR"); + m_vk.getRayTracingShaderGroupStackSizeKHR = (GetRayTracingShaderGroupStackSizeKHRFunc) GET_PROC_ADDR("vkGetRayTracingShaderGroupStackSizeKHR"); + m_vk.cmdSetRayTracingPipelineStackSizeKHR = (CmdSetRayTracingPipelineStackSizeKHRFunc) GET_PROC_ADDR("vkCmdSetRayTracingPipelineStackSizeKHR"); + m_vk.getAndroidHardwareBufferPropertiesANDROID = (GetAndroidHardwareBufferPropertiesANDROIDFunc) GET_PROC_ADDR("vkGetAndroidHardwareBufferPropertiesANDROID"); + m_vk.getMemoryAndroidHardwareBufferANDROID = (GetMemoryAndroidHardwareBufferANDROIDFunc) GET_PROC_ADDR("vkGetMemoryAndroidHardwareBufferANDROID"); + m_vk.createVideoSessionKHR = (CreateVideoSessionKHRFunc) GET_PROC_ADDR("vkCreateVideoSessionKHR"); + m_vk.destroyVideoSessionKHR = (DestroyVideoSessionKHRFunc) GET_PROC_ADDR("vkDestroyVideoSessionKHR"); + m_vk.getVideoSessionMemoryRequirementsKHR = (GetVideoSessionMemoryRequirementsKHRFunc) GET_PROC_ADDR("vkGetVideoSessionMemoryRequirementsKHR"); + m_vk.bindVideoSessionMemoryKHR = (BindVideoSessionMemoryKHRFunc) GET_PROC_ADDR("vkBindVideoSessionMemoryKHR"); + m_vk.createVideoSessionParametersKHR = (CreateVideoSessionParametersKHRFunc) GET_PROC_ADDR("vkCreateVideoSessionParametersKHR"); + m_vk.updateVideoSessionParametersKHR = (UpdateVideoSessionParametersKHRFunc) GET_PROC_ADDR("vkUpdateVideoSessionParametersKHR"); + m_vk.destroyVideoSessionParametersKHR = (DestroyVideoSessionParametersKHRFunc) GET_PROC_ADDR("vkDestroyVideoSessionParametersKHR"); + m_vk.cmdBeginVideoCodingKHR = (CmdBeginVideoCodingKHRFunc) GET_PROC_ADDR("vkCmdBeginVideoCodingKHR"); + m_vk.cmdEndVideoCodingKHR = (CmdEndVideoCodingKHRFunc) GET_PROC_ADDR("vkCmdEndVideoCodingKHR"); + m_vk.cmdControlVideoCodingKHR = (CmdControlVideoCodingKHRFunc) GET_PROC_ADDR("vkCmdControlVideoCodingKHR"); + m_vk.cmdDecodeVideoKHR = (CmdDecodeVideoKHRFunc) GET_PROC_ADDR("vkCmdDecodeVideoKHR"); + m_vk.cmdEncodeVideoKHR = (CmdEncodeVideoKHRFunc) GET_PROC_ADDR("vkCmdEncodeVideoKHR"); + m_vk.getMemoryZirconHandleFUCHSIA = (GetMemoryZirconHandleFUCHSIAFunc) GET_PROC_ADDR("vkGetMemoryZirconHandleFUCHSIA"); + m_vk.getMemoryZirconHandlePropertiesFUCHSIA = (GetMemoryZirconHandlePropertiesFUCHSIAFunc) GET_PROC_ADDR("vkGetMemoryZirconHandlePropertiesFUCHSIA"); + m_vk.importSemaphoreZirconHandleFUCHSIA = (ImportSemaphoreZirconHandleFUCHSIAFunc) GET_PROC_ADDR("vkImportSemaphoreZirconHandleFUCHSIA"); + m_vk.getSemaphoreZirconHandleFUCHSIA = (GetSemaphoreZirconHandleFUCHSIAFunc) GET_PROC_ADDR("vkGetSemaphoreZirconHandleFUCHSIA"); + m_vk.createBufferCollectionFUCHSIA = (CreateBufferCollectionFUCHSIAFunc) GET_PROC_ADDR("vkCreateBufferCollectionFUCHSIA"); + m_vk.setBufferCollectionImageConstraintsFUCHSIA = (SetBufferCollectionImageConstraintsFUCHSIAFunc) GET_PROC_ADDR("vkSetBufferCollectionImageConstraintsFUCHSIA"); + m_vk.setBufferCollectionBufferConstraintsFUCHSIA = (SetBufferCollectionBufferConstraintsFUCHSIAFunc) GET_PROC_ADDR("vkSetBufferCollectionBufferConstraintsFUCHSIA"); + m_vk.destroyBufferCollectionFUCHSIA = (DestroyBufferCollectionFUCHSIAFunc) GET_PROC_ADDR("vkDestroyBufferCollectionFUCHSIA"); + m_vk.getBufferCollectionPropertiesFUCHSIA = (GetBufferCollectionPropertiesFUCHSIAFunc) GET_PROC_ADDR("vkGetBufferCollectionPropertiesFUCHSIA"); + m_vk.getMemoryWin32HandleKHR = (GetMemoryWin32HandleKHRFunc) GET_PROC_ADDR("vkGetMemoryWin32HandleKHR"); + m_vk.getMemoryWin32HandlePropertiesKHR = (GetMemoryWin32HandlePropertiesKHRFunc) GET_PROC_ADDR("vkGetMemoryWin32HandlePropertiesKHR"); + m_vk.importSemaphoreWin32HandleKHR = (ImportSemaphoreWin32HandleKHRFunc) GET_PROC_ADDR("vkImportSemaphoreWin32HandleKHR"); + m_vk.getSemaphoreWin32HandleKHR = (GetSemaphoreWin32HandleKHRFunc) GET_PROC_ADDR("vkGetSemaphoreWin32HandleKHR"); + m_vk.importFenceWin32HandleKHR = (ImportFenceWin32HandleKHRFunc) GET_PROC_ADDR("vkImportFenceWin32HandleKHR"); + m_vk.getFenceWin32HandleKHR = (GetFenceWin32HandleKHRFunc) GET_PROC_ADDR("vkGetFenceWin32HandleKHR"); + m_vk.getMemoryWin32HandleNV = (GetMemoryWin32HandleNVFunc) GET_PROC_ADDR("vkGetMemoryWin32HandleNV"); + m_vk.acquireFullScreenExclusiveModeEXT = (AcquireFullScreenExclusiveModeEXTFunc) GET_PROC_ADDR("vkAcquireFullScreenExclusiveModeEXT"); + m_vk.releaseFullScreenExclusiveModeEXT = (ReleaseFullScreenExclusiveModeEXTFunc) GET_PROC_ADDR("vkReleaseFullScreenExclusiveModeEXT"); + m_vk.getDeviceGroupSurfacePresentModes2EXT = (GetDeviceGroupSurfacePresentModes2EXTFunc) GET_PROC_ADDR("vkGetDeviceGroupSurfacePresentModes2EXT"); diff --cc external/vulkancts/framework/vulkan/vkInitInstanceFunctionPointers.inl index 0000000,e2ae088..284c78b mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkInitInstanceFunctionPointers.inl +++ b/external/vulkancts/framework/vulkan/vkInitInstanceFunctionPointers.inl @@@ -1,0 -1,120 +1,123 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + m_vk.destroyInstance = (DestroyInstanceFunc) GET_PROC_ADDR("vkDestroyInstance"); + m_vk.enumeratePhysicalDevices = (EnumeratePhysicalDevicesFunc) GET_PROC_ADDR("vkEnumeratePhysicalDevices"); + m_vk.getPhysicalDeviceFeatures = (GetPhysicalDeviceFeaturesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceFeatures"); + m_vk.getPhysicalDeviceFormatProperties = (GetPhysicalDeviceFormatPropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceFormatProperties"); + m_vk.getPhysicalDeviceImageFormatProperties = (GetPhysicalDeviceImageFormatPropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceImageFormatProperties"); + m_vk.getPhysicalDeviceProperties = (GetPhysicalDevicePropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceProperties"); + m_vk.getPhysicalDeviceQueueFamilyProperties = (GetPhysicalDeviceQueueFamilyPropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyProperties"); + m_vk.getPhysicalDeviceMemoryProperties = (GetPhysicalDeviceMemoryPropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceMemoryProperties"); + m_vk.createDevice = (CreateDeviceFunc) GET_PROC_ADDR("vkCreateDevice"); + m_vk.enumerateDeviceExtensionProperties = (EnumerateDeviceExtensionPropertiesFunc) GET_PROC_ADDR("vkEnumerateDeviceExtensionProperties"); + m_vk.enumerateDeviceLayerProperties = (EnumerateDeviceLayerPropertiesFunc) GET_PROC_ADDR("vkEnumerateDeviceLayerProperties"); + m_vk.getPhysicalDeviceSparseImageFormatProperties = (GetPhysicalDeviceSparseImageFormatPropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceSparseImageFormatProperties"); + m_vk.enumeratePhysicalDeviceGroups = (EnumeratePhysicalDeviceGroupsFunc) GET_PROC_ADDR("vkEnumeratePhysicalDeviceGroups"); + if (!m_vk.enumeratePhysicalDeviceGroups) + m_vk.enumeratePhysicalDeviceGroups = (EnumeratePhysicalDeviceGroupsFunc) GET_PROC_ADDR("vkEnumeratePhysicalDeviceGroupsKHR"); + m_vk.getPhysicalDeviceFeatures2 = (GetPhysicalDeviceFeatures2Func) GET_PROC_ADDR("vkGetPhysicalDeviceFeatures2"); + if (!m_vk.getPhysicalDeviceFeatures2) + m_vk.getPhysicalDeviceFeatures2 = (GetPhysicalDeviceFeatures2Func) GET_PROC_ADDR("vkGetPhysicalDeviceFeatures2KHR"); + m_vk.getPhysicalDeviceProperties2 = (GetPhysicalDeviceProperties2Func) GET_PROC_ADDR("vkGetPhysicalDeviceProperties2"); + if (!m_vk.getPhysicalDeviceProperties2) + m_vk.getPhysicalDeviceProperties2 = (GetPhysicalDeviceProperties2Func) GET_PROC_ADDR("vkGetPhysicalDeviceProperties2KHR"); + m_vk.getPhysicalDeviceFormatProperties2 = (GetPhysicalDeviceFormatProperties2Func) GET_PROC_ADDR("vkGetPhysicalDeviceFormatProperties2"); + if (!m_vk.getPhysicalDeviceFormatProperties2) + m_vk.getPhysicalDeviceFormatProperties2 = (GetPhysicalDeviceFormatProperties2Func) GET_PROC_ADDR("vkGetPhysicalDeviceFormatProperties2KHR"); + m_vk.getPhysicalDeviceImageFormatProperties2 = (GetPhysicalDeviceImageFormatProperties2Func) GET_PROC_ADDR("vkGetPhysicalDeviceImageFormatProperties2"); + if (!m_vk.getPhysicalDeviceImageFormatProperties2) + m_vk.getPhysicalDeviceImageFormatProperties2 = (GetPhysicalDeviceImageFormatProperties2Func) GET_PROC_ADDR("vkGetPhysicalDeviceImageFormatProperties2KHR"); + m_vk.getPhysicalDeviceQueueFamilyProperties2 = (GetPhysicalDeviceQueueFamilyProperties2Func) GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyProperties2"); + if (!m_vk.getPhysicalDeviceQueueFamilyProperties2) + m_vk.getPhysicalDeviceQueueFamilyProperties2 = (GetPhysicalDeviceQueueFamilyProperties2Func) GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyProperties2KHR"); + m_vk.getPhysicalDeviceMemoryProperties2 = (GetPhysicalDeviceMemoryProperties2Func) GET_PROC_ADDR("vkGetPhysicalDeviceMemoryProperties2"); + if (!m_vk.getPhysicalDeviceMemoryProperties2) + m_vk.getPhysicalDeviceMemoryProperties2 = (GetPhysicalDeviceMemoryProperties2Func) GET_PROC_ADDR("vkGetPhysicalDeviceMemoryProperties2KHR"); + m_vk.getPhysicalDeviceSparseImageFormatProperties2 = (GetPhysicalDeviceSparseImageFormatProperties2Func) GET_PROC_ADDR("vkGetPhysicalDeviceSparseImageFormatProperties2"); + if (!m_vk.getPhysicalDeviceSparseImageFormatProperties2) + m_vk.getPhysicalDeviceSparseImageFormatProperties2 = (GetPhysicalDeviceSparseImageFormatProperties2Func) GET_PROC_ADDR("vkGetPhysicalDeviceSparseImageFormatProperties2KHR"); + m_vk.getPhysicalDeviceExternalBufferProperties = (GetPhysicalDeviceExternalBufferPropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceExternalBufferProperties"); + if (!m_vk.getPhysicalDeviceExternalBufferProperties) + m_vk.getPhysicalDeviceExternalBufferProperties = (GetPhysicalDeviceExternalBufferPropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceExternalBufferPropertiesKHR"); + m_vk.getPhysicalDeviceExternalFenceProperties = (GetPhysicalDeviceExternalFencePropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceExternalFenceProperties"); + if (!m_vk.getPhysicalDeviceExternalFenceProperties) + m_vk.getPhysicalDeviceExternalFenceProperties = (GetPhysicalDeviceExternalFencePropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceExternalFencePropertiesKHR"); + m_vk.getPhysicalDeviceExternalSemaphoreProperties = (GetPhysicalDeviceExternalSemaphorePropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceExternalSemaphoreProperties"); + if (!m_vk.getPhysicalDeviceExternalSemaphoreProperties) + m_vk.getPhysicalDeviceExternalSemaphoreProperties = (GetPhysicalDeviceExternalSemaphorePropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"); ++m_vk.getPhysicalDeviceToolProperties = (GetPhysicalDeviceToolPropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceToolProperties"); ++if (!m_vk.getPhysicalDeviceToolProperties) ++ m_vk.getPhysicalDeviceToolProperties = (GetPhysicalDeviceToolPropertiesFunc) GET_PROC_ADDR("vkGetPhysicalDeviceToolPropertiesEXT"); + m_vk.destroySurfaceKHR = (DestroySurfaceKHRFunc) GET_PROC_ADDR("vkDestroySurfaceKHR"); + m_vk.getPhysicalDeviceSurfaceSupportKHR = (GetPhysicalDeviceSurfaceSupportKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceSupportKHR"); + m_vk.getPhysicalDeviceSurfaceCapabilitiesKHR = (GetPhysicalDeviceSurfaceCapabilitiesKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceCapabilitiesKHR"); + m_vk.getPhysicalDeviceSurfaceFormatsKHR = (GetPhysicalDeviceSurfaceFormatsKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceFormatsKHR"); + m_vk.getPhysicalDeviceSurfacePresentModesKHR = (GetPhysicalDeviceSurfacePresentModesKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceSurfacePresentModesKHR"); + m_vk.getPhysicalDevicePresentRectanglesKHR = (GetPhysicalDevicePresentRectanglesKHRFunc) GET_PROC_ADDR("vkGetPhysicalDevicePresentRectanglesKHR"); + m_vk.getPhysicalDeviceDisplayPropertiesKHR = (GetPhysicalDeviceDisplayPropertiesKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceDisplayPropertiesKHR"); + m_vk.getPhysicalDeviceDisplayPlanePropertiesKHR = (GetPhysicalDeviceDisplayPlanePropertiesKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceDisplayPlanePropertiesKHR"); + m_vk.getDisplayPlaneSupportedDisplaysKHR = (GetDisplayPlaneSupportedDisplaysKHRFunc) GET_PROC_ADDR("vkGetDisplayPlaneSupportedDisplaysKHR"); + m_vk.getDisplayModePropertiesKHR = (GetDisplayModePropertiesKHRFunc) GET_PROC_ADDR("vkGetDisplayModePropertiesKHR"); + m_vk.createDisplayModeKHR = (CreateDisplayModeKHRFunc) GET_PROC_ADDR("vkCreateDisplayModeKHR"); + m_vk.getDisplayPlaneCapabilitiesKHR = (GetDisplayPlaneCapabilitiesKHRFunc) GET_PROC_ADDR("vkGetDisplayPlaneCapabilitiesKHR"); + m_vk.createDisplayPlaneSurfaceKHR = (CreateDisplayPlaneSurfaceKHRFunc) GET_PROC_ADDR("vkCreateDisplayPlaneSurfaceKHR"); + m_vk.getPhysicalDeviceFeatures2KHR = (GetPhysicalDeviceFeatures2KHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceFeatures2KHR"); + m_vk.getPhysicalDeviceProperties2KHR = (GetPhysicalDeviceProperties2KHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceProperties2KHR"); + m_vk.getPhysicalDeviceFormatProperties2KHR = (GetPhysicalDeviceFormatProperties2KHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceFormatProperties2KHR"); + m_vk.getPhysicalDeviceImageFormatProperties2KHR = (GetPhysicalDeviceImageFormatProperties2KHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceImageFormatProperties2KHR"); + m_vk.getPhysicalDeviceQueueFamilyProperties2KHR = (GetPhysicalDeviceQueueFamilyProperties2KHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyProperties2KHR"); + m_vk.getPhysicalDeviceMemoryProperties2KHR = (GetPhysicalDeviceMemoryProperties2KHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceMemoryProperties2KHR"); + m_vk.getPhysicalDeviceSparseImageFormatProperties2KHR = (GetPhysicalDeviceSparseImageFormatProperties2KHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceSparseImageFormatProperties2KHR"); + m_vk.getPhysicalDeviceExternalBufferPropertiesKHR = (GetPhysicalDeviceExternalBufferPropertiesKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceExternalBufferPropertiesKHR"); + m_vk.getPhysicalDeviceExternalSemaphorePropertiesKHR = (GetPhysicalDeviceExternalSemaphorePropertiesKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"); + m_vk.getPhysicalDeviceExternalFencePropertiesKHR = (GetPhysicalDeviceExternalFencePropertiesKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceExternalFencePropertiesKHR"); + m_vk.enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = (EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHRFunc) GET_PROC_ADDR("vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR"); + m_vk.getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = (GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR"); + m_vk.getPhysicalDeviceSurfaceCapabilities2KHR = (GetPhysicalDeviceSurfaceCapabilities2KHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceCapabilities2KHR"); + m_vk.getPhysicalDeviceSurfaceFormats2KHR = (GetPhysicalDeviceSurfaceFormats2KHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceFormats2KHR"); + m_vk.getPhysicalDeviceDisplayProperties2KHR = (GetPhysicalDeviceDisplayProperties2KHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceDisplayProperties2KHR"); + m_vk.getPhysicalDeviceDisplayPlaneProperties2KHR = (GetPhysicalDeviceDisplayPlaneProperties2KHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceDisplayPlaneProperties2KHR"); + m_vk.getDisplayModeProperties2KHR = (GetDisplayModeProperties2KHRFunc) GET_PROC_ADDR("vkGetDisplayModeProperties2KHR"); + m_vk.getDisplayPlaneCapabilities2KHR = (GetDisplayPlaneCapabilities2KHRFunc) GET_PROC_ADDR("vkGetDisplayPlaneCapabilities2KHR"); + m_vk.getPhysicalDeviceFragmentShadingRatesKHR = (GetPhysicalDeviceFragmentShadingRatesKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceFragmentShadingRatesKHR"); + m_vk.createDebugReportCallbackEXT = (CreateDebugReportCallbackEXTFunc) GET_PROC_ADDR("vkCreateDebugReportCallbackEXT"); + m_vk.destroyDebugReportCallbackEXT = (DestroyDebugReportCallbackEXTFunc) GET_PROC_ADDR("vkDestroyDebugReportCallbackEXT"); + m_vk.debugReportMessageEXT = (DebugReportMessageEXTFunc) GET_PROC_ADDR("vkDebugReportMessageEXT"); + m_vk.getPhysicalDeviceExternalImageFormatPropertiesNV = (GetPhysicalDeviceExternalImageFormatPropertiesNVFunc) GET_PROC_ADDR("vkGetPhysicalDeviceExternalImageFormatPropertiesNV"); + m_vk.releaseDisplayEXT = (ReleaseDisplayEXTFunc) GET_PROC_ADDR("vkReleaseDisplayEXT"); + m_vk.getPhysicalDeviceSurfaceCapabilities2EXT = (GetPhysicalDeviceSurfaceCapabilities2EXTFunc) GET_PROC_ADDR("vkGetPhysicalDeviceSurfaceCapabilities2EXT"); + m_vk.createDebugUtilsMessengerEXT = (CreateDebugUtilsMessengerEXTFunc) GET_PROC_ADDR("vkCreateDebugUtilsMessengerEXT"); + m_vk.destroyDebugUtilsMessengerEXT = (DestroyDebugUtilsMessengerEXTFunc) GET_PROC_ADDR("vkDestroyDebugUtilsMessengerEXT"); + m_vk.submitDebugUtilsMessageEXT = (SubmitDebugUtilsMessageEXTFunc) GET_PROC_ADDR("vkSubmitDebugUtilsMessageEXT"); + m_vk.getPhysicalDeviceMultisamplePropertiesEXT = (GetPhysicalDeviceMultisamplePropertiesEXTFunc) GET_PROC_ADDR("vkGetPhysicalDeviceMultisamplePropertiesEXT"); + m_vk.getPhysicalDeviceCalibrateableTimeDomainsEXT = (GetPhysicalDeviceCalibrateableTimeDomainsEXTFunc) GET_PROC_ADDR("vkGetPhysicalDeviceCalibrateableTimeDomainsEXT"); + m_vk.getPhysicalDeviceToolPropertiesEXT = (GetPhysicalDeviceToolPropertiesEXTFunc) GET_PROC_ADDR("vkGetPhysicalDeviceToolPropertiesEXT"); + m_vk.getPhysicalDeviceCooperativeMatrixPropertiesNV = (GetPhysicalDeviceCooperativeMatrixPropertiesNVFunc) GET_PROC_ADDR("vkGetPhysicalDeviceCooperativeMatrixPropertiesNV"); + m_vk.getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = (GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVFunc) GET_PROC_ADDR("vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV"); + m_vk.createHeadlessSurfaceEXT = (CreateHeadlessSurfaceEXTFunc) GET_PROC_ADDR("vkCreateHeadlessSurfaceEXT"); + m_vk.acquireDrmDisplayEXT = (AcquireDrmDisplayEXTFunc) GET_PROC_ADDR("vkAcquireDrmDisplayEXT"); + m_vk.getDrmDisplayEXT = (GetDrmDisplayEXTFunc) GET_PROC_ADDR("vkGetDrmDisplayEXT"); + m_vk.acquireWinrtDisplayNV = (AcquireWinrtDisplayNVFunc) GET_PROC_ADDR("vkAcquireWinrtDisplayNV"); + m_vk.getWinrtDisplayNV = (GetWinrtDisplayNVFunc) GET_PROC_ADDR("vkGetWinrtDisplayNV"); + m_vk.createAndroidSurfaceKHR = (CreateAndroidSurfaceKHRFunc) GET_PROC_ADDR("vkCreateAndroidSurfaceKHR"); + m_vk.getPhysicalDeviceVideoCapabilitiesKHR = (GetPhysicalDeviceVideoCapabilitiesKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceVideoCapabilitiesKHR"); + m_vk.getPhysicalDeviceVideoFormatPropertiesKHR = (GetPhysicalDeviceVideoFormatPropertiesKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceVideoFormatPropertiesKHR"); + m_vk.createImagePipeSurfaceFUCHSIA = (CreateImagePipeSurfaceFUCHSIAFunc) GET_PROC_ADDR("vkCreateImagePipeSurfaceFUCHSIA"); + m_vk.createStreamDescriptorSurfaceGGP = (CreateStreamDescriptorSurfaceGGPFunc) GET_PROC_ADDR("vkCreateStreamDescriptorSurfaceGGP"); + m_vk.createIOSSurfaceMVK = (CreateIOSSurfaceMVKFunc) GET_PROC_ADDR("vkCreateIOSSurfaceMVK"); + m_vk.createMacOSSurfaceMVK = (CreateMacOSSurfaceMVKFunc) GET_PROC_ADDR("vkCreateMacOSSurfaceMVK"); + m_vk.createMetalSurfaceEXT = (CreateMetalSurfaceEXTFunc) GET_PROC_ADDR("vkCreateMetalSurfaceEXT"); + m_vk.createViSurfaceNN = (CreateViSurfaceNNFunc) GET_PROC_ADDR("vkCreateViSurfaceNN"); + m_vk.createWaylandSurfaceKHR = (CreateWaylandSurfaceKHRFunc) GET_PROC_ADDR("vkCreateWaylandSurfaceKHR"); + m_vk.getPhysicalDeviceWaylandPresentationSupportKHR = (GetPhysicalDeviceWaylandPresentationSupportKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceWaylandPresentationSupportKHR"); + m_vk.createWin32SurfaceKHR = (CreateWin32SurfaceKHRFunc) GET_PROC_ADDR("vkCreateWin32SurfaceKHR"); + m_vk.getPhysicalDeviceWin32PresentationSupportKHR = (GetPhysicalDeviceWin32PresentationSupportKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceWin32PresentationSupportKHR"); + m_vk.getPhysicalDeviceSurfacePresentModes2EXT = (GetPhysicalDeviceSurfacePresentModes2EXTFunc) GET_PROC_ADDR("vkGetPhysicalDeviceSurfacePresentModes2EXT"); + m_vk.createXcbSurfaceKHR = (CreateXcbSurfaceKHRFunc) GET_PROC_ADDR("vkCreateXcbSurfaceKHR"); + m_vk.getPhysicalDeviceXcbPresentationSupportKHR = (GetPhysicalDeviceXcbPresentationSupportKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceXcbPresentationSupportKHR"); + m_vk.createXlibSurfaceKHR = (CreateXlibSurfaceKHRFunc) GET_PROC_ADDR("vkCreateXlibSurfaceKHR"); + m_vk.getPhysicalDeviceXlibPresentationSupportKHR = (GetPhysicalDeviceXlibPresentationSupportKHRFunc) GET_PROC_ADDR("vkGetPhysicalDeviceXlibPresentationSupportKHR"); + m_vk.acquireXlibDisplayEXT = (AcquireXlibDisplayEXTFunc) GET_PROC_ADDR("vkAcquireXlibDisplayEXT"); + m_vk.getRandROutputDisplayEXT = (GetRandROutputDisplayEXTFunc) GET_PROC_ADDR("vkGetRandROutputDisplayEXT"); diff --cc external/vulkancts/framework/vulkan/vkInstanceDriverImpl.inl index 0000000,df9db90..7078fca mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkInstanceDriverImpl.inl +++ b/external/vulkancts/framework/vulkan/vkInstanceDriverImpl.inl @@@ -1,0 -1,474 +1,479 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + + void InstanceDriver::destroyInstance (VkInstance instance, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyInstance(instance, pAllocator); + } + + VkResult InstanceDriver::enumeratePhysicalDevices (VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) const + { + return m_vk.enumeratePhysicalDevices(instance, pPhysicalDeviceCount, pPhysicalDevices); + } + + void InstanceDriver::getPhysicalDeviceFeatures (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) const + { + m_vk.getPhysicalDeviceFeatures(physicalDevice, pFeatures); + } + + void InstanceDriver::getPhysicalDeviceFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) const + { + m_vk.getPhysicalDeviceFormatProperties(physicalDevice, format, pFormatProperties); + } + + VkResult InstanceDriver::getPhysicalDeviceImageFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties) const + { + return m_vk.getPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties); + } + + void InstanceDriver::getPhysicalDeviceProperties (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) const + { + m_vk.getPhysicalDeviceProperties(physicalDevice, pProperties); + } + + void InstanceDriver::getPhysicalDeviceQueueFamilyProperties (VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) const + { + m_vk.getPhysicalDeviceQueueFamilyProperties(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties); + } + + void InstanceDriver::getPhysicalDeviceMemoryProperties (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) const + { + m_vk.getPhysicalDeviceMemoryProperties(physicalDevice, pMemoryProperties); + } + + VkResult InstanceDriver::createDevice (VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) const + { + return m_vk.createDevice(physicalDevice, pCreateInfo, pAllocator, pDevice); + } + + VkResult InstanceDriver::enumerateDeviceExtensionProperties (VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) const + { + return m_vk.enumerateDeviceExtensionProperties(physicalDevice, pLayerName, pPropertyCount, pProperties); + } + + VkResult InstanceDriver::enumerateDeviceLayerProperties (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) const + { + return m_vk.enumerateDeviceLayerProperties(physicalDevice, pPropertyCount, pProperties); + } + + void InstanceDriver::getPhysicalDeviceSparseImageFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) const + { + m_vk.getPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties); + } + + VkResult InstanceDriver::enumeratePhysicalDeviceGroups (VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties) const + { + return m_vk.enumeratePhysicalDeviceGroups(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties); + } + + void InstanceDriver::getPhysicalDeviceFeatures2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures) const + { + vk::VkPhysicalDeviceProperties props; + m_vk.getPhysicalDeviceProperties(physicalDevice, &props); + if (props.apiVersion >= VK_API_VERSION_1_1) + m_vk.getPhysicalDeviceFeatures2(physicalDevice, pFeatures); + else + m_vk.getPhysicalDeviceFeatures2KHR(physicalDevice, pFeatures); + } + + void InstanceDriver::getPhysicalDeviceProperties2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties) const + { + vk::VkPhysicalDeviceProperties props; + m_vk.getPhysicalDeviceProperties(physicalDevice, &props); + if (props.apiVersion >= VK_API_VERSION_1_1) + m_vk.getPhysicalDeviceProperties2(physicalDevice, pProperties); + else + m_vk.getPhysicalDeviceProperties2KHR(physicalDevice, pProperties); + } + + void InstanceDriver::getPhysicalDeviceFormatProperties2 (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties) const + { + vk::VkPhysicalDeviceProperties props; + m_vk.getPhysicalDeviceProperties(physicalDevice, &props); + if (props.apiVersion >= VK_API_VERSION_1_1) + m_vk.getPhysicalDeviceFormatProperties2(physicalDevice, format, pFormatProperties); + else + m_vk.getPhysicalDeviceFormatProperties2KHR(physicalDevice, format, pFormatProperties); + } + + VkResult InstanceDriver::getPhysicalDeviceImageFormatProperties2 (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties) const + { + vk::VkPhysicalDeviceProperties props; + m_vk.getPhysicalDeviceProperties(physicalDevice, &props); + if (props.apiVersion >= VK_API_VERSION_1_1) + return m_vk.getPhysicalDeviceImageFormatProperties2(physicalDevice, pImageFormatInfo, pImageFormatProperties); + else + return m_vk.getPhysicalDeviceImageFormatProperties2KHR(physicalDevice, pImageFormatInfo, pImageFormatProperties); + } + + void InstanceDriver::getPhysicalDeviceQueueFamilyProperties2 (VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties) const + { + vk::VkPhysicalDeviceProperties props; + m_vk.getPhysicalDeviceProperties(physicalDevice, &props); + if (props.apiVersion >= VK_API_VERSION_1_1) + m_vk.getPhysicalDeviceQueueFamilyProperties2(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties); + else + m_vk.getPhysicalDeviceQueueFamilyProperties2KHR(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties); + } + + void InstanceDriver::getPhysicalDeviceMemoryProperties2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties) const + { + vk::VkPhysicalDeviceProperties props; + m_vk.getPhysicalDeviceProperties(physicalDevice, &props); + if (props.apiVersion >= VK_API_VERSION_1_1) + m_vk.getPhysicalDeviceMemoryProperties2(physicalDevice, pMemoryProperties); + else + m_vk.getPhysicalDeviceMemoryProperties2KHR(physicalDevice, pMemoryProperties); + } + + void InstanceDriver::getPhysicalDeviceSparseImageFormatProperties2 (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties) const + { + vk::VkPhysicalDeviceProperties props; + m_vk.getPhysicalDeviceProperties(physicalDevice, &props); + if (props.apiVersion >= VK_API_VERSION_1_1) + m_vk.getPhysicalDeviceSparseImageFormatProperties2(physicalDevice, pFormatInfo, pPropertyCount, pProperties); + else + m_vk.getPhysicalDeviceSparseImageFormatProperties2KHR(physicalDevice, pFormatInfo, pPropertyCount, pProperties); + } + + void InstanceDriver::getPhysicalDeviceExternalBufferProperties (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties) const + { + vk::VkPhysicalDeviceProperties props; + m_vk.getPhysicalDeviceProperties(physicalDevice, &props); + if (props.apiVersion >= VK_API_VERSION_1_1) + m_vk.getPhysicalDeviceExternalBufferProperties(physicalDevice, pExternalBufferInfo, pExternalBufferProperties); + else + m_vk.getPhysicalDeviceExternalBufferPropertiesKHR(physicalDevice, pExternalBufferInfo, pExternalBufferProperties); + } + + void InstanceDriver::getPhysicalDeviceExternalFenceProperties (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties) const + { + vk::VkPhysicalDeviceProperties props; + m_vk.getPhysicalDeviceProperties(physicalDevice, &props); + if (props.apiVersion >= VK_API_VERSION_1_1) + m_vk.getPhysicalDeviceExternalFenceProperties(physicalDevice, pExternalFenceInfo, pExternalFenceProperties); + else + m_vk.getPhysicalDeviceExternalFencePropertiesKHR(physicalDevice, pExternalFenceInfo, pExternalFenceProperties); + } + + void InstanceDriver::getPhysicalDeviceExternalSemaphoreProperties (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties) const + { + vk::VkPhysicalDeviceProperties props; + m_vk.getPhysicalDeviceProperties(physicalDevice, &props); + if (props.apiVersion >= VK_API_VERSION_1_1) + m_vk.getPhysicalDeviceExternalSemaphoreProperties(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties); + else + m_vk.getPhysicalDeviceExternalSemaphorePropertiesKHR(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties); + } + ++VkResult InstanceDriver::getPhysicalDeviceToolProperties (VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties) const ++{ ++ vk::VkPhysicalDeviceProperties props; ++ m_vk.getPhysicalDeviceProperties(physicalDevice, &props); ++ if (props.apiVersion >= VK_API_VERSION_1_1) ++ return m_vk.getPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties); ++ else ++ return m_vk.getPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties); ++} ++ + void InstanceDriver::destroySurfaceKHR (VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroySurfaceKHR(instance, surface, pAllocator); + } + + VkResult InstanceDriver::getPhysicalDeviceSurfaceSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported) const + { + return m_vk.getPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported); + } + + VkResult InstanceDriver::getPhysicalDeviceSurfaceCapabilitiesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) const + { + return m_vk.getPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities); + } + + VkResult InstanceDriver::getPhysicalDeviceSurfaceFormatsKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats) const + { + return m_vk.getPhysicalDeviceSurfaceFormatsKHR(physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats); + } + + VkResult InstanceDriver::getPhysicalDeviceSurfacePresentModesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) const + { + return m_vk.getPhysicalDeviceSurfacePresentModesKHR(physicalDevice, surface, pPresentModeCount, pPresentModes); + } + + VkResult InstanceDriver::getPhysicalDevicePresentRectanglesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects) const + { + return m_vk.getPhysicalDevicePresentRectanglesKHR(physicalDevice, surface, pRectCount, pRects); + } + + VkResult InstanceDriver::getPhysicalDeviceDisplayPropertiesKHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties) const + { + return m_vk.getPhysicalDeviceDisplayPropertiesKHR(physicalDevice, pPropertyCount, pProperties); + } + + VkResult InstanceDriver::getPhysicalDeviceDisplayPlanePropertiesKHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties) const + { + return m_vk.getPhysicalDeviceDisplayPlanePropertiesKHR(physicalDevice, pPropertyCount, pProperties); + } + + VkResult InstanceDriver::getDisplayPlaneSupportedDisplaysKHR (VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays) const + { + return m_vk.getDisplayPlaneSupportedDisplaysKHR(physicalDevice, planeIndex, pDisplayCount, pDisplays); + } + + VkResult InstanceDriver::getDisplayModePropertiesKHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties) const + { + return m_vk.getDisplayModePropertiesKHR(physicalDevice, display, pPropertyCount, pProperties); + } + + VkResult InstanceDriver::createDisplayModeKHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode) const + { + return m_vk.createDisplayModeKHR(physicalDevice, display, pCreateInfo, pAllocator, pMode); + } + + VkResult InstanceDriver::getDisplayPlaneCapabilitiesKHR (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities) const + { + return m_vk.getDisplayPlaneCapabilitiesKHR(physicalDevice, mode, planeIndex, pCapabilities); + } + + VkResult InstanceDriver::createDisplayPlaneSurfaceKHR (VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const + { + return m_vk.createDisplayPlaneSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface); + } + + VkResult InstanceDriver::enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions) const + { + return m_vk.enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(physicalDevice, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions); + } + + void InstanceDriver::getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR (VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses) const + { + m_vk.getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(physicalDevice, pPerformanceQueryCreateInfo, pNumPasses); + } + + VkResult InstanceDriver::getPhysicalDeviceSurfaceCapabilities2KHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) const + { + return m_vk.getPhysicalDeviceSurfaceCapabilities2KHR(physicalDevice, pSurfaceInfo, pSurfaceCapabilities); + } + + VkResult InstanceDriver::getPhysicalDeviceSurfaceFormats2KHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) const + { + return m_vk.getPhysicalDeviceSurfaceFormats2KHR(physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats); + } + + VkResult InstanceDriver::getPhysicalDeviceDisplayProperties2KHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties) const + { + return m_vk.getPhysicalDeviceDisplayProperties2KHR(physicalDevice, pPropertyCount, pProperties); + } + + VkResult InstanceDriver::getPhysicalDeviceDisplayPlaneProperties2KHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties) const + { + return m_vk.getPhysicalDeviceDisplayPlaneProperties2KHR(physicalDevice, pPropertyCount, pProperties); + } + + VkResult InstanceDriver::getDisplayModeProperties2KHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties) const + { + return m_vk.getDisplayModeProperties2KHR(physicalDevice, display, pPropertyCount, pProperties); + } + + VkResult InstanceDriver::getDisplayPlaneCapabilities2KHR (VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities) const + { + return m_vk.getDisplayPlaneCapabilities2KHR(physicalDevice, pDisplayPlaneInfo, pCapabilities); + } + + VkResult InstanceDriver::getPhysicalDeviceFragmentShadingRatesKHR (VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates) const + { + return m_vk.getPhysicalDeviceFragmentShadingRatesKHR(physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates); + } + + VkResult InstanceDriver::createDebugReportCallbackEXT (VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) const + { + return m_vk.createDebugReportCallbackEXT(instance, pCreateInfo, pAllocator, pCallback); + } + + void InstanceDriver::destroyDebugReportCallbackEXT (VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyDebugReportCallbackEXT(instance, callback, pAllocator); + } + + void InstanceDriver::debugReportMessageEXT (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage) const + { + m_vk.debugReportMessageEXT(instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage); + } + + VkResult InstanceDriver::getPhysicalDeviceExternalImageFormatPropertiesNV (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties) const + { + return m_vk.getPhysicalDeviceExternalImageFormatPropertiesNV(physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties); + } + + VkResult InstanceDriver::releaseDisplayEXT (VkPhysicalDevice physicalDevice, VkDisplayKHR display) const + { + return m_vk.releaseDisplayEXT(physicalDevice, display); + } + + VkResult InstanceDriver::getPhysicalDeviceSurfaceCapabilities2EXT (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities) const + { + return m_vk.getPhysicalDeviceSurfaceCapabilities2EXT(physicalDevice, surface, pSurfaceCapabilities); + } + + VkResult InstanceDriver::createDebugUtilsMessengerEXT (VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger) const + { + return m_vk.createDebugUtilsMessengerEXT(instance, pCreateInfo, pAllocator, pMessenger); + } + + void InstanceDriver::destroyDebugUtilsMessengerEXT (VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator) const + { + m_vk.destroyDebugUtilsMessengerEXT(instance, messenger, pAllocator); + } + + void InstanceDriver::submitDebugUtilsMessageEXT (VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData) const + { + m_vk.submitDebugUtilsMessageEXT(instance, messageSeverity, messageTypes, pCallbackData); + } + + void InstanceDriver::getPhysicalDeviceMultisamplePropertiesEXT (VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties) const + { + m_vk.getPhysicalDeviceMultisamplePropertiesEXT(physicalDevice, samples, pMultisampleProperties); + } + + VkResult InstanceDriver::getPhysicalDeviceCalibrateableTimeDomainsEXT (VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains) const + { + return m_vk.getPhysicalDeviceCalibrateableTimeDomainsEXT(physicalDevice, pTimeDomainCount, pTimeDomains); + } + -VkResult InstanceDriver::getPhysicalDeviceToolPropertiesEXT (VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties) const -{ - return m_vk.getPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties); -} - + VkResult InstanceDriver::getPhysicalDeviceCooperativeMatrixPropertiesNV (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties) const + { + return m_vk.getPhysicalDeviceCooperativeMatrixPropertiesNV(physicalDevice, pPropertyCount, pProperties); + } + + VkResult InstanceDriver::getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV (VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations) const + { + return m_vk.getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(physicalDevice, pCombinationCount, pCombinations); + } + + VkResult InstanceDriver::createHeadlessSurfaceEXT (VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const + { + return m_vk.createHeadlessSurfaceEXT(instance, pCreateInfo, pAllocator, pSurface); + } + + VkResult InstanceDriver::acquireDrmDisplayEXT (VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display) const + { + return m_vk.acquireDrmDisplayEXT(physicalDevice, drmFd, display); + } + + VkResult InstanceDriver::getDrmDisplayEXT (VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display) const + { + return m_vk.getDrmDisplayEXT(physicalDevice, drmFd, connectorId, display); + } + + VkResult InstanceDriver::acquireWinrtDisplayNV (VkPhysicalDevice physicalDevice, VkDisplayKHR display) const + { + return m_vk.acquireWinrtDisplayNV(physicalDevice, display); + } + + VkResult InstanceDriver::getWinrtDisplayNV (VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay) const + { + return m_vk.getWinrtDisplayNV(physicalDevice, deviceRelativeId, pDisplay); + } + + VkResult InstanceDriver::createAndroidSurfaceKHR (VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const + { + return m_vk.createAndroidSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface); + } + + VkResult InstanceDriver::getPhysicalDeviceVideoCapabilitiesKHR (VkPhysicalDevice physicalDevice, const VkVideoProfileKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities) const + { + return m_vk.getPhysicalDeviceVideoCapabilitiesKHR(physicalDevice, pVideoProfile, pCapabilities); + } + + VkResult InstanceDriver::getPhysicalDeviceVideoFormatPropertiesKHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties) const + { + return m_vk.getPhysicalDeviceVideoFormatPropertiesKHR(physicalDevice, pVideoFormatInfo, pVideoFormatPropertyCount, pVideoFormatProperties); + } + + VkResult InstanceDriver::createImagePipeSurfaceFUCHSIA (VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const + { + return m_vk.createImagePipeSurfaceFUCHSIA(instance, pCreateInfo, pAllocator, pSurface); + } + + VkResult InstanceDriver::createStreamDescriptorSurfaceGGP (VkInstance instance, const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const + { + return m_vk.createStreamDescriptorSurfaceGGP(instance, pCreateInfo, pAllocator, pSurface); + } + + VkResult InstanceDriver::createIOSSurfaceMVK (VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const + { + return m_vk.createIOSSurfaceMVK(instance, pCreateInfo, pAllocator, pSurface); + } + + VkResult InstanceDriver::createMacOSSurfaceMVK (VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const + { + return m_vk.createMacOSSurfaceMVK(instance, pCreateInfo, pAllocator, pSurface); + } + + VkResult InstanceDriver::createMetalSurfaceEXT (VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const + { + return m_vk.createMetalSurfaceEXT(instance, pCreateInfo, pAllocator, pSurface); + } + + VkResult InstanceDriver::createViSurfaceNN (VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const + { + return m_vk.createViSurfaceNN(instance, pCreateInfo, pAllocator, pSurface); + } + + VkResult InstanceDriver::createWaylandSurfaceKHR (VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const + { + return m_vk.createWaylandSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface); + } + + VkBool32 InstanceDriver::getPhysicalDeviceWaylandPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::WaylandDisplayPtr display) const + { + return m_vk.getPhysicalDeviceWaylandPresentationSupportKHR(physicalDevice, queueFamilyIndex, display); + } + + VkResult InstanceDriver::createWin32SurfaceKHR (VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const + { + return m_vk.createWin32SurfaceKHR(instance, pCreateInfo, pAllocator, pSurface); + } + + VkBool32 InstanceDriver::getPhysicalDeviceWin32PresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex) const + { + return m_vk.getPhysicalDeviceWin32PresentationSupportKHR(physicalDevice, queueFamilyIndex); + } + + VkResult InstanceDriver::getPhysicalDeviceSurfacePresentModes2EXT (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) const + { + return m_vk.getPhysicalDeviceSurfacePresentModes2EXT(physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes); + } + + VkResult InstanceDriver::createXcbSurfaceKHR (VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const + { + return m_vk.createXcbSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface); + } + + VkBool32 InstanceDriver::getPhysicalDeviceXcbPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::XcbConnectionPtr connection, pt::XcbVisualid visual_id) const + { + return m_vk.getPhysicalDeviceXcbPresentationSupportKHR(physicalDevice, queueFamilyIndex, connection, visual_id); + } + + VkResult InstanceDriver::createXlibSurfaceKHR (VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const + { + return m_vk.createXlibSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface); + } + + VkBool32 InstanceDriver::getPhysicalDeviceXlibPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::XlibDisplayPtr dpy, pt::XlibVisualID visualID) const + { + return m_vk.getPhysicalDeviceXlibPresentationSupportKHR(physicalDevice, queueFamilyIndex, dpy, visualID); + } + + VkResult InstanceDriver::acquireXlibDisplayEXT (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, VkDisplayKHR display) const + { + return m_vk.acquireXlibDisplayEXT(physicalDevice, dpy, display); + } + + VkResult InstanceDriver::getRandROutputDisplayEXT (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, pt::RROutput rrOutput, VkDisplayKHR* pDisplay) const + { + return m_vk.getRandROutputDisplayEXT(physicalDevice, dpy, rrOutput, pDisplay); + } diff --cc external/vulkancts/framework/vulkan/vkInstanceFunctionPointers.inl index 0000000,5d64072..4fb8f6a mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkInstanceFunctionPointers.inl +++ b/external/vulkancts/framework/vulkan/vkInstanceFunctionPointers.inl @@@ -1,0 -1,98 +1,99 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + DestroyInstanceFunc destroyInstance; + EnumeratePhysicalDevicesFunc enumeratePhysicalDevices; + GetPhysicalDeviceFeaturesFunc getPhysicalDeviceFeatures; + GetPhysicalDeviceFormatPropertiesFunc getPhysicalDeviceFormatProperties; + GetPhysicalDeviceImageFormatPropertiesFunc getPhysicalDeviceImageFormatProperties; + GetPhysicalDevicePropertiesFunc getPhysicalDeviceProperties; + GetPhysicalDeviceQueueFamilyPropertiesFunc getPhysicalDeviceQueueFamilyProperties; + GetPhysicalDeviceMemoryPropertiesFunc getPhysicalDeviceMemoryProperties; + CreateDeviceFunc createDevice; + EnumerateDeviceExtensionPropertiesFunc enumerateDeviceExtensionProperties; + EnumerateDeviceLayerPropertiesFunc enumerateDeviceLayerProperties; + GetPhysicalDeviceSparseImageFormatPropertiesFunc getPhysicalDeviceSparseImageFormatProperties; + EnumeratePhysicalDeviceGroupsFunc enumeratePhysicalDeviceGroups; + GetPhysicalDeviceFeatures2Func getPhysicalDeviceFeatures2; + GetPhysicalDeviceProperties2Func getPhysicalDeviceProperties2; + GetPhysicalDeviceFormatProperties2Func getPhysicalDeviceFormatProperties2; + GetPhysicalDeviceImageFormatProperties2Func getPhysicalDeviceImageFormatProperties2; + GetPhysicalDeviceQueueFamilyProperties2Func getPhysicalDeviceQueueFamilyProperties2; + GetPhysicalDeviceMemoryProperties2Func getPhysicalDeviceMemoryProperties2; + GetPhysicalDeviceSparseImageFormatProperties2Func getPhysicalDeviceSparseImageFormatProperties2; + GetPhysicalDeviceExternalBufferPropertiesFunc getPhysicalDeviceExternalBufferProperties; + GetPhysicalDeviceExternalFencePropertiesFunc getPhysicalDeviceExternalFenceProperties; + GetPhysicalDeviceExternalSemaphorePropertiesFunc getPhysicalDeviceExternalSemaphoreProperties; ++GetPhysicalDeviceToolPropertiesFunc getPhysicalDeviceToolProperties; + DestroySurfaceKHRFunc destroySurfaceKHR; + GetPhysicalDeviceSurfaceSupportKHRFunc getPhysicalDeviceSurfaceSupportKHR; + GetPhysicalDeviceSurfaceCapabilitiesKHRFunc getPhysicalDeviceSurfaceCapabilitiesKHR; + GetPhysicalDeviceSurfaceFormatsKHRFunc getPhysicalDeviceSurfaceFormatsKHR; + GetPhysicalDeviceSurfacePresentModesKHRFunc getPhysicalDeviceSurfacePresentModesKHR; + GetPhysicalDevicePresentRectanglesKHRFunc getPhysicalDevicePresentRectanglesKHR; + GetPhysicalDeviceDisplayPropertiesKHRFunc getPhysicalDeviceDisplayPropertiesKHR; + GetPhysicalDeviceDisplayPlanePropertiesKHRFunc getPhysicalDeviceDisplayPlanePropertiesKHR; + GetDisplayPlaneSupportedDisplaysKHRFunc getDisplayPlaneSupportedDisplaysKHR; + GetDisplayModePropertiesKHRFunc getDisplayModePropertiesKHR; + CreateDisplayModeKHRFunc createDisplayModeKHR; + GetDisplayPlaneCapabilitiesKHRFunc getDisplayPlaneCapabilitiesKHR; + CreateDisplayPlaneSurfaceKHRFunc createDisplayPlaneSurfaceKHR; + GetPhysicalDeviceFeatures2KHRFunc getPhysicalDeviceFeatures2KHR; + GetPhysicalDeviceProperties2KHRFunc getPhysicalDeviceProperties2KHR; + GetPhysicalDeviceFormatProperties2KHRFunc getPhysicalDeviceFormatProperties2KHR; + GetPhysicalDeviceImageFormatProperties2KHRFunc getPhysicalDeviceImageFormatProperties2KHR; + GetPhysicalDeviceQueueFamilyProperties2KHRFunc getPhysicalDeviceQueueFamilyProperties2KHR; + GetPhysicalDeviceMemoryProperties2KHRFunc getPhysicalDeviceMemoryProperties2KHR; + GetPhysicalDeviceSparseImageFormatProperties2KHRFunc getPhysicalDeviceSparseImageFormatProperties2KHR; + GetPhysicalDeviceExternalBufferPropertiesKHRFunc getPhysicalDeviceExternalBufferPropertiesKHR; + GetPhysicalDeviceExternalSemaphorePropertiesKHRFunc getPhysicalDeviceExternalSemaphorePropertiesKHR; + GetPhysicalDeviceExternalFencePropertiesKHRFunc getPhysicalDeviceExternalFencePropertiesKHR; + EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHRFunc enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR; + GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHRFunc getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR; + GetPhysicalDeviceSurfaceCapabilities2KHRFunc getPhysicalDeviceSurfaceCapabilities2KHR; + GetPhysicalDeviceSurfaceFormats2KHRFunc getPhysicalDeviceSurfaceFormats2KHR; + GetPhysicalDeviceDisplayProperties2KHRFunc getPhysicalDeviceDisplayProperties2KHR; + GetPhysicalDeviceDisplayPlaneProperties2KHRFunc getPhysicalDeviceDisplayPlaneProperties2KHR; + GetDisplayModeProperties2KHRFunc getDisplayModeProperties2KHR; + GetDisplayPlaneCapabilities2KHRFunc getDisplayPlaneCapabilities2KHR; + GetPhysicalDeviceFragmentShadingRatesKHRFunc getPhysicalDeviceFragmentShadingRatesKHR; + CreateDebugReportCallbackEXTFunc createDebugReportCallbackEXT; + DestroyDebugReportCallbackEXTFunc destroyDebugReportCallbackEXT; + DebugReportMessageEXTFunc debugReportMessageEXT; + GetPhysicalDeviceExternalImageFormatPropertiesNVFunc getPhysicalDeviceExternalImageFormatPropertiesNV; + ReleaseDisplayEXTFunc releaseDisplayEXT; + GetPhysicalDeviceSurfaceCapabilities2EXTFunc getPhysicalDeviceSurfaceCapabilities2EXT; + CreateDebugUtilsMessengerEXTFunc createDebugUtilsMessengerEXT; + DestroyDebugUtilsMessengerEXTFunc destroyDebugUtilsMessengerEXT; + SubmitDebugUtilsMessageEXTFunc submitDebugUtilsMessageEXT; + GetPhysicalDeviceMultisamplePropertiesEXTFunc getPhysicalDeviceMultisamplePropertiesEXT; + GetPhysicalDeviceCalibrateableTimeDomainsEXTFunc getPhysicalDeviceCalibrateableTimeDomainsEXT; + GetPhysicalDeviceToolPropertiesEXTFunc getPhysicalDeviceToolPropertiesEXT; + GetPhysicalDeviceCooperativeMatrixPropertiesNVFunc getPhysicalDeviceCooperativeMatrixPropertiesNV; + GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVFunc getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV; + CreateHeadlessSurfaceEXTFunc createHeadlessSurfaceEXT; + AcquireDrmDisplayEXTFunc acquireDrmDisplayEXT; + GetDrmDisplayEXTFunc getDrmDisplayEXT; + AcquireWinrtDisplayNVFunc acquireWinrtDisplayNV; + GetWinrtDisplayNVFunc getWinrtDisplayNV; + CreateAndroidSurfaceKHRFunc createAndroidSurfaceKHR; + GetPhysicalDeviceVideoCapabilitiesKHRFunc getPhysicalDeviceVideoCapabilitiesKHR; + GetPhysicalDeviceVideoFormatPropertiesKHRFunc getPhysicalDeviceVideoFormatPropertiesKHR; + CreateImagePipeSurfaceFUCHSIAFunc createImagePipeSurfaceFUCHSIA; + CreateStreamDescriptorSurfaceGGPFunc createStreamDescriptorSurfaceGGP; + CreateIOSSurfaceMVKFunc createIOSSurfaceMVK; + CreateMacOSSurfaceMVKFunc createMacOSSurfaceMVK; + CreateMetalSurfaceEXTFunc createMetalSurfaceEXT; + CreateViSurfaceNNFunc createViSurfaceNN; + CreateWaylandSurfaceKHRFunc createWaylandSurfaceKHR; + GetPhysicalDeviceWaylandPresentationSupportKHRFunc getPhysicalDeviceWaylandPresentationSupportKHR; + CreateWin32SurfaceKHRFunc createWin32SurfaceKHR; + GetPhysicalDeviceWin32PresentationSupportKHRFunc getPhysicalDeviceWin32PresentationSupportKHR; + GetPhysicalDeviceSurfacePresentModes2EXTFunc getPhysicalDeviceSurfacePresentModes2EXT; + CreateXcbSurfaceKHRFunc createXcbSurfaceKHR; + GetPhysicalDeviceXcbPresentationSupportKHRFunc getPhysicalDeviceXcbPresentationSupportKHR; + CreateXlibSurfaceKHRFunc createXlibSurfaceKHR; + GetPhysicalDeviceXlibPresentationSupportKHRFunc getPhysicalDeviceXlibPresentationSupportKHR; + AcquireXlibDisplayEXTFunc acquireXlibDisplayEXT; + GetRandROutputDisplayEXTFunc getRandROutputDisplayEXT; diff --cc external/vulkancts/framework/vulkan/vkNullDriverImpl.inl index 0000000,967c8dd..bfd9d41 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkNullDriverImpl.inl +++ b/external/vulkancts/framework/vulkan/vkNullDriverImpl.inl @@@ -1,0 -1,3808 +1,3845 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + VKAPI_ATTR VkResult VKAPI_CALL createInstance (const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pInstance = allocateHandle(pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createDevice (VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pDevice = allocateHandle(physicalDevice, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createFence (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pFence = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createSemaphore (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSemaphore = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createEvent (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pEvent = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createQueryPool (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pQueryPool = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createBuffer (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pBuffer = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createBufferView (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pView = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createImage (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pImage = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createImageView (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pView = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createShaderModule (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pShaderModule = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createPipelineCache (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pPipelineCache = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createPipelineLayout (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pPipelineLayout = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createSampler (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSampler = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createDescriptorSetLayout (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSetLayout = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createDescriptorPool (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pDescriptorPool = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createFramebuffer (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pFramebuffer = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createRenderPass (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pRenderPass = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createCommandPool (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pCommandPool = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createSamplerYcbcrConversion (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pYcbcrConversion = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createDescriptorUpdateTemplate (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pDescriptorUpdateTemplate = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createRenderPass2 (VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pRenderPass = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + ++VKAPI_ATTR VkResult VKAPI_CALL createPrivateDataSlot (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot) ++{ ++ DE_UNREF(pAllocator); ++ VK_NULL_RETURN((*pPrivateDataSlot = allocateNonDispHandle(device, pCreateInfo, pAllocator))); ++} ++ + VKAPI_ATTR VkResult VKAPI_CALL createSwapchainKHR (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSwapchain = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createDisplayPlaneSurfaceKHR (VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSurface = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createDeferredOperationKHR (VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pDeferredOperation = allocateNonDispHandle(device, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createDebugReportCallbackEXT (VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pCallback = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createCuModuleNVX (VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pModule = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createCuFunctionNVX (VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pFunction = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createDebugUtilsMessengerEXT (VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pMessenger = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createValidationCacheEXT (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pValidationCache = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createAccelerationStructureNV (VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pAccelerationStructure = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createHeadlessSurfaceEXT (VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSurface = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createIndirectCommandsLayoutNV (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pIndirectCommandsLayout = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + -VKAPI_ATTR VkResult VKAPI_CALL createPrivateDataSlotEXT (VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot) -{ - DE_UNREF(pAllocator); - VK_NULL_RETURN((*pPrivateDataSlot = allocateNonDispHandle(device, pCreateInfo, pAllocator))); -} - + VKAPI_ATTR VkResult VKAPI_CALL createAccelerationStructureKHR (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pAccelerationStructure = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createAndroidSurfaceKHR (VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSurface = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createVideoSessionKHR (VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pVideoSession = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createVideoSessionParametersKHR (VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pVideoSessionParameters = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createImagePipeSurfaceFUCHSIA (VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSurface = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createBufferCollectionFUCHSIA (VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pCollection = allocateNonDispHandle(device, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createStreamDescriptorSurfaceGGP (VkInstance instance, const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSurface = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createIOSSurfaceMVK (VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSurface = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createMacOSSurfaceMVK (VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSurface = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createMetalSurfaceEXT (VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSurface = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createViSurfaceNN (VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSurface = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createWaylandSurfaceKHR (VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSurface = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createWin32SurfaceKHR (VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSurface = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createXcbSurfaceKHR (VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSurface = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR VkResult VKAPI_CALL createXlibSurfaceKHR (VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) + { + DE_UNREF(pAllocator); + VK_NULL_RETURN((*pSurface = allocateNonDispHandle(instance, pCreateInfo, pAllocator))); + } + + VKAPI_ATTR void VKAPI_CALL destroyInstance (VkInstance instance, const VkAllocationCallbacks* pAllocator) + { + freeHandle(instance, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyDevice (VkDevice device, const VkAllocationCallbacks* pAllocator) + { + freeHandle(device, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL freeMemory (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(memory, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyFence (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(fence, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroySemaphore (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(semaphore, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyEvent (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(event, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyQueryPool (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(queryPool, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyBuffer (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(buffer, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyBufferView (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(bufferView, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyImage (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(image, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyImageView (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(imageView, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyShaderModule (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(shaderModule, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyPipelineCache (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(pipelineCache, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyPipeline (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(pipeline, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyPipelineLayout (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(pipelineLayout, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroySampler (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(sampler, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyDescriptorSetLayout (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(descriptorSetLayout, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(descriptorPool, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyFramebuffer (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(framebuffer, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyRenderPass (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(renderPass, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyCommandPool (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(commandPool, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroySamplerYcbcrConversion (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(ycbcrConversion, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyDescriptorUpdateTemplate (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(descriptorUpdateTemplate, pAllocator); + } + ++VKAPI_ATTR void VKAPI_CALL destroyPrivateDataSlot (VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator) ++{ ++ DE_UNREF(device); ++ freeNonDispHandle(privateDataSlot, pAllocator); ++} ++ + VKAPI_ATTR void VKAPI_CALL destroySurfaceKHR (VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(instance); + freeNonDispHandle(surface, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroySwapchainKHR (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(swapchain, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyDeferredOperationKHR (VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(operation, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyDebugReportCallbackEXT (VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(instance); + freeNonDispHandle(callback, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyCuModuleNVX (VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(module, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyCuFunctionNVX (VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(function, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyDebugUtilsMessengerEXT (VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(instance); + freeNonDispHandle(messenger, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyValidationCacheEXT (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(validationCache, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyAccelerationStructureNV (VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(accelerationStructure, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyIndirectCommandsLayoutNV (VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(indirectCommandsLayout, pAllocator); + } + -VKAPI_ATTR void VKAPI_CALL destroyPrivateDataSlotEXT (VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator) -{ - DE_UNREF(device); - freeNonDispHandle(privateDataSlot, pAllocator); -} - + VKAPI_ATTR void VKAPI_CALL destroyAccelerationStructureKHR (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(accelerationStructure, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyVideoSessionKHR (VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(videoSession, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyVideoSessionParametersKHR (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(videoSessionParameters, pAllocator); + } + + VKAPI_ATTR void VKAPI_CALL destroyBufferCollectionFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator) + { + DE_UNREF(device); + freeNonDispHandle(collection, pAllocator); + } + + VKAPI_ATTR VkResult VKAPI_CALL enumerateInstanceLayerProperties (uint32_t* pPropertyCount, VkLayerProperties* pProperties) + { + DE_UNREF(pPropertyCount); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL enumerateDeviceLayerProperties (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pPropertyCount); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL queueSubmit (VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) + { + DE_UNREF(queue); + DE_UNREF(submitCount); + DE_UNREF(pSubmits); + DE_UNREF(fence); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL queueWaitIdle (VkQueue queue) + { + DE_UNREF(queue); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL deviceWaitIdle (VkDevice device) + { + DE_UNREF(device); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL flushMappedMemoryRanges (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) + { + DE_UNREF(device); + DE_UNREF(memoryRangeCount); + DE_UNREF(pMemoryRanges); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL invalidateMappedMemoryRanges (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) + { + DE_UNREF(device); + DE_UNREF(memoryRangeCount); + DE_UNREF(pMemoryRanges); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL getDeviceMemoryCommitment (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) + { + DE_UNREF(device); + DE_UNREF(memory); + DE_UNREF(pCommittedMemoryInBytes); + } + + VKAPI_ATTR VkResult VKAPI_CALL bindBufferMemory (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) + { + DE_UNREF(device); + DE_UNREF(buffer); + DE_UNREF(memory); + DE_UNREF(memoryOffset); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL bindImageMemory (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) + { + DE_UNREF(device); + DE_UNREF(image); + DE_UNREF(memory); + DE_UNREF(memoryOffset); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL getImageSparseMemoryRequirements (VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) + { + DE_UNREF(device); + DE_UNREF(image); + DE_UNREF(pSparseMemoryRequirementCount); + DE_UNREF(pSparseMemoryRequirements); + } + + VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceSparseImageFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(format); + DE_UNREF(type); + DE_UNREF(samples); + DE_UNREF(usage); + DE_UNREF(tiling); + DE_UNREF(pPropertyCount); + DE_UNREF(pProperties); + } + + VKAPI_ATTR VkResult VKAPI_CALL queueBindSparse (VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) + { + DE_UNREF(queue); + DE_UNREF(bindInfoCount); + DE_UNREF(pBindInfo); + DE_UNREF(fence); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL resetFences (VkDevice device, uint32_t fenceCount, const VkFence* pFences) + { + DE_UNREF(device); + DE_UNREF(fenceCount); + DE_UNREF(pFences); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getFenceStatus (VkDevice device, VkFence fence) + { + DE_UNREF(device); + DE_UNREF(fence); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL waitForFences (VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) + { + DE_UNREF(device); + DE_UNREF(fenceCount); + DE_UNREF(pFences); + DE_UNREF(waitAll); + DE_UNREF(timeout); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getEventStatus (VkDevice device, VkEvent event) + { + DE_UNREF(device); + DE_UNREF(event); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL setEvent (VkDevice device, VkEvent event) + { + DE_UNREF(device); + DE_UNREF(event); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL resetEvent (VkDevice device, VkEvent event) + { + DE_UNREF(device); + DE_UNREF(event); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getQueryPoolResults (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) + { + DE_UNREF(device); + DE_UNREF(queryPool); + DE_UNREF(firstQuery); + DE_UNREF(queryCount); + DE_UNREF(dataSize); + DE_UNREF(pData); + DE_UNREF(stride); + DE_UNREF(flags); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL getImageSubresourceLayout (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) + { + DE_UNREF(device); + DE_UNREF(image); + DE_UNREF(pSubresource); + DE_UNREF(pLayout); + } + + VKAPI_ATTR VkResult VKAPI_CALL getPipelineCacheData (VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) + { + DE_UNREF(device); + DE_UNREF(pipelineCache); + DE_UNREF(pDataSize); + DE_UNREF(pData); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL mergePipelineCaches (VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) + { + DE_UNREF(device); + DE_UNREF(dstCache); + DE_UNREF(srcCacheCount); + DE_UNREF(pSrcCaches); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL updateDescriptorSets (VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) + { + DE_UNREF(device); + DE_UNREF(descriptorWriteCount); + DE_UNREF(pDescriptorWrites); + DE_UNREF(descriptorCopyCount); + DE_UNREF(pDescriptorCopies); + } + + VKAPI_ATTR void VKAPI_CALL getRenderAreaGranularity (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) + { + DE_UNREF(device); + DE_UNREF(renderPass); + DE_UNREF(pGranularity); + } + + VKAPI_ATTR VkResult VKAPI_CALL resetCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) + { + DE_UNREF(device); + DE_UNREF(commandPool); + DE_UNREF(flags); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL beginCommandBuffer (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pBeginInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL endCommandBuffer (VkCommandBuffer commandBuffer) + { + DE_UNREF(commandBuffer); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL resetCommandBuffer (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) + { + DE_UNREF(commandBuffer); + DE_UNREF(flags); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdBindPipeline (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) + { + DE_UNREF(commandBuffer); + DE_UNREF(pipelineBindPoint); + DE_UNREF(pipeline); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetViewport (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) + { + DE_UNREF(commandBuffer); + DE_UNREF(firstViewport); + DE_UNREF(viewportCount); + DE_UNREF(pViewports); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetScissor (VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) + { + DE_UNREF(commandBuffer); + DE_UNREF(firstScissor); + DE_UNREF(scissorCount); + DE_UNREF(pScissors); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetLineWidth (VkCommandBuffer commandBuffer, float lineWidth) + { + DE_UNREF(commandBuffer); + DE_UNREF(lineWidth); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetDepthBias (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) + { + DE_UNREF(commandBuffer); + DE_UNREF(depthBiasConstantFactor); + DE_UNREF(depthBiasClamp); + DE_UNREF(depthBiasSlopeFactor); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetBlendConstants (VkCommandBuffer commandBuffer, const float blendConstants[4]) + { + DE_UNREF(commandBuffer); + DE_UNREF(blendConstants); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetDepthBounds (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) + { + DE_UNREF(commandBuffer); + DE_UNREF(minDepthBounds); + DE_UNREF(maxDepthBounds); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetStencilCompareMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) + { + DE_UNREF(commandBuffer); + DE_UNREF(faceMask); + DE_UNREF(compareMask); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetStencilWriteMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) + { + DE_UNREF(commandBuffer); + DE_UNREF(faceMask); + DE_UNREF(writeMask); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetStencilReference (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) + { + DE_UNREF(commandBuffer); + DE_UNREF(faceMask); + DE_UNREF(reference); + } + + VKAPI_ATTR void VKAPI_CALL cmdBindDescriptorSets (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) + { + DE_UNREF(commandBuffer); + DE_UNREF(pipelineBindPoint); + DE_UNREF(layout); + DE_UNREF(firstSet); + DE_UNREF(descriptorSetCount); + DE_UNREF(pDescriptorSets); + DE_UNREF(dynamicOffsetCount); + DE_UNREF(pDynamicOffsets); + } + + VKAPI_ATTR void VKAPI_CALL cmdBindIndexBuffer (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) + { + DE_UNREF(commandBuffer); + DE_UNREF(buffer); + DE_UNREF(offset); + DE_UNREF(indexType); + } + + VKAPI_ATTR void VKAPI_CALL cmdBindVertexBuffers (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) + { + DE_UNREF(commandBuffer); + DE_UNREF(firstBinding); + DE_UNREF(bindingCount); + DE_UNREF(pBuffers); + DE_UNREF(pOffsets); + } + + VKAPI_ATTR void VKAPI_CALL cmdDraw (VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) + { + DE_UNREF(commandBuffer); + DE_UNREF(vertexCount); + DE_UNREF(instanceCount); + DE_UNREF(firstVertex); + DE_UNREF(firstInstance); + } + + VKAPI_ATTR void VKAPI_CALL cmdDrawIndexed (VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) + { + DE_UNREF(commandBuffer); + DE_UNREF(indexCount); + DE_UNREF(instanceCount); + DE_UNREF(firstIndex); + DE_UNREF(vertexOffset); + DE_UNREF(firstInstance); + } + + VKAPI_ATTR void VKAPI_CALL cmdDrawIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) + { + DE_UNREF(commandBuffer); + DE_UNREF(buffer); + DE_UNREF(offset); + DE_UNREF(drawCount); + DE_UNREF(stride); + } + + VKAPI_ATTR void VKAPI_CALL cmdDrawIndexedIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) + { + DE_UNREF(commandBuffer); + DE_UNREF(buffer); + DE_UNREF(offset); + DE_UNREF(drawCount); + DE_UNREF(stride); + } + + VKAPI_ATTR void VKAPI_CALL cmdDispatch (VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) + { + DE_UNREF(commandBuffer); + DE_UNREF(groupCountX); + DE_UNREF(groupCountY); + DE_UNREF(groupCountZ); + } + + VKAPI_ATTR void VKAPI_CALL cmdDispatchIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) + { + DE_UNREF(commandBuffer); + DE_UNREF(buffer); + DE_UNREF(offset); + } + + VKAPI_ATTR void VKAPI_CALL cmdCopyBuffer (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) + { + DE_UNREF(commandBuffer); + DE_UNREF(srcBuffer); + DE_UNREF(dstBuffer); + DE_UNREF(regionCount); + DE_UNREF(pRegions); + } + + VKAPI_ATTR void VKAPI_CALL cmdCopyImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) + { + DE_UNREF(commandBuffer); + DE_UNREF(srcImage); + DE_UNREF(srcImageLayout); + DE_UNREF(dstImage); + DE_UNREF(dstImageLayout); + DE_UNREF(regionCount); + DE_UNREF(pRegions); + } + + VKAPI_ATTR void VKAPI_CALL cmdBlitImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) + { + DE_UNREF(commandBuffer); + DE_UNREF(srcImage); + DE_UNREF(srcImageLayout); + DE_UNREF(dstImage); + DE_UNREF(dstImageLayout); + DE_UNREF(regionCount); + DE_UNREF(pRegions); + DE_UNREF(filter); + } + + VKAPI_ATTR void VKAPI_CALL cmdCopyBufferToImage (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) + { + DE_UNREF(commandBuffer); + DE_UNREF(srcBuffer); + DE_UNREF(dstImage); + DE_UNREF(dstImageLayout); + DE_UNREF(regionCount); + DE_UNREF(pRegions); + } + + VKAPI_ATTR void VKAPI_CALL cmdCopyImageToBuffer (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) + { + DE_UNREF(commandBuffer); + DE_UNREF(srcImage); + DE_UNREF(srcImageLayout); + DE_UNREF(dstBuffer); + DE_UNREF(regionCount); + DE_UNREF(pRegions); + } + + VKAPI_ATTR void VKAPI_CALL cmdUpdateBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) + { + DE_UNREF(commandBuffer); + DE_UNREF(dstBuffer); + DE_UNREF(dstOffset); + DE_UNREF(dataSize); + DE_UNREF(pData); + } + + VKAPI_ATTR void VKAPI_CALL cmdFillBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) + { + DE_UNREF(commandBuffer); + DE_UNREF(dstBuffer); + DE_UNREF(dstOffset); + DE_UNREF(size); + DE_UNREF(data); + } + + VKAPI_ATTR void VKAPI_CALL cmdClearColorImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) + { + DE_UNREF(commandBuffer); + DE_UNREF(image); + DE_UNREF(imageLayout); + DE_UNREF(pColor); + DE_UNREF(rangeCount); + DE_UNREF(pRanges); + } + + VKAPI_ATTR void VKAPI_CALL cmdClearDepthStencilImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) + { + DE_UNREF(commandBuffer); + DE_UNREF(image); + DE_UNREF(imageLayout); + DE_UNREF(pDepthStencil); + DE_UNREF(rangeCount); + DE_UNREF(pRanges); + } + + VKAPI_ATTR void VKAPI_CALL cmdClearAttachments (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) + { + DE_UNREF(commandBuffer); + DE_UNREF(attachmentCount); + DE_UNREF(pAttachments); + DE_UNREF(rectCount); + DE_UNREF(pRects); + } + + VKAPI_ATTR void VKAPI_CALL cmdResolveImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) + { + DE_UNREF(commandBuffer); + DE_UNREF(srcImage); + DE_UNREF(srcImageLayout); + DE_UNREF(dstImage); + DE_UNREF(dstImageLayout); + DE_UNREF(regionCount); + DE_UNREF(pRegions); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) + { + DE_UNREF(commandBuffer); + DE_UNREF(event); + DE_UNREF(stageMask); + } + + VKAPI_ATTR void VKAPI_CALL cmdResetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) + { + DE_UNREF(commandBuffer); + DE_UNREF(event); + DE_UNREF(stageMask); + } + + VKAPI_ATTR void VKAPI_CALL cmdWaitEvents (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) + { + DE_UNREF(commandBuffer); + DE_UNREF(eventCount); + DE_UNREF(pEvents); + DE_UNREF(srcStageMask); + DE_UNREF(dstStageMask); + DE_UNREF(memoryBarrierCount); + DE_UNREF(pMemoryBarriers); + DE_UNREF(bufferMemoryBarrierCount); + DE_UNREF(pBufferMemoryBarriers); + DE_UNREF(imageMemoryBarrierCount); + DE_UNREF(pImageMemoryBarriers); + } + + VKAPI_ATTR void VKAPI_CALL cmdPipelineBarrier (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) + { + DE_UNREF(commandBuffer); + DE_UNREF(srcStageMask); + DE_UNREF(dstStageMask); + DE_UNREF(dependencyFlags); + DE_UNREF(memoryBarrierCount); + DE_UNREF(pMemoryBarriers); + DE_UNREF(bufferMemoryBarrierCount); + DE_UNREF(pBufferMemoryBarriers); + DE_UNREF(imageMemoryBarrierCount); + DE_UNREF(pImageMemoryBarriers); + } + + VKAPI_ATTR void VKAPI_CALL cmdBeginQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) + { + DE_UNREF(commandBuffer); + DE_UNREF(queryPool); + DE_UNREF(query); + DE_UNREF(flags); + } + + VKAPI_ATTR void VKAPI_CALL cmdEndQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) + { + DE_UNREF(commandBuffer); + DE_UNREF(queryPool); + DE_UNREF(query); + } + + VKAPI_ATTR void VKAPI_CALL cmdResetQueryPool (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) + { + DE_UNREF(commandBuffer); + DE_UNREF(queryPool); + DE_UNREF(firstQuery); + DE_UNREF(queryCount); + } + + VKAPI_ATTR void VKAPI_CALL cmdWriteTimestamp (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) + { + DE_UNREF(commandBuffer); + DE_UNREF(pipelineStage); + DE_UNREF(queryPool); + DE_UNREF(query); + } + + VKAPI_ATTR void VKAPI_CALL cmdCopyQueryPoolResults (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) + { + DE_UNREF(commandBuffer); + DE_UNREF(queryPool); + DE_UNREF(firstQuery); + DE_UNREF(queryCount); + DE_UNREF(dstBuffer); + DE_UNREF(dstOffset); + DE_UNREF(stride); + DE_UNREF(flags); + } + + VKAPI_ATTR void VKAPI_CALL cmdPushConstants (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) + { + DE_UNREF(commandBuffer); + DE_UNREF(layout); + DE_UNREF(stageFlags); + DE_UNREF(offset); + DE_UNREF(size); + DE_UNREF(pValues); + } + + VKAPI_ATTR void VKAPI_CALL cmdBeginRenderPass (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) + { + DE_UNREF(commandBuffer); + DE_UNREF(pRenderPassBegin); + DE_UNREF(contents); + } + + VKAPI_ATTR void VKAPI_CALL cmdNextSubpass (VkCommandBuffer commandBuffer, VkSubpassContents contents) + { + DE_UNREF(commandBuffer); + DE_UNREF(contents); + } + + VKAPI_ATTR void VKAPI_CALL cmdEndRenderPass (VkCommandBuffer commandBuffer) + { + DE_UNREF(commandBuffer); + } + + VKAPI_ATTR void VKAPI_CALL cmdExecuteCommands (VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) + { + DE_UNREF(commandBuffer); + DE_UNREF(commandBufferCount); + DE_UNREF(pCommandBuffers); + } + + VKAPI_ATTR VkResult VKAPI_CALL enumerateInstanceVersion (uint32_t* pApiVersion) + { + DE_UNREF(pApiVersion); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL bindBufferMemory2 (VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) + { + DE_UNREF(device); + DE_UNREF(bindInfoCount); + DE_UNREF(pBindInfos); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL bindImageMemory2 (VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) + { + DE_UNREF(device); + DE_UNREF(bindInfoCount); + DE_UNREF(pBindInfos); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL getDeviceGroupPeerMemoryFeatures (VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) + { + DE_UNREF(device); + DE_UNREF(heapIndex); + DE_UNREF(localDeviceIndex); + DE_UNREF(remoteDeviceIndex); + DE_UNREF(pPeerMemoryFeatures); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetDeviceMask (VkCommandBuffer commandBuffer, uint32_t deviceMask) + { + DE_UNREF(commandBuffer); + DE_UNREF(deviceMask); + } + + VKAPI_ATTR void VKAPI_CALL cmdDispatchBase (VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) + { + DE_UNREF(commandBuffer); + DE_UNREF(baseGroupX); + DE_UNREF(baseGroupY); + DE_UNREF(baseGroupZ); + DE_UNREF(groupCountX); + DE_UNREF(groupCountY); + DE_UNREF(groupCountZ); + } + + VKAPI_ATTR VkResult VKAPI_CALL enumeratePhysicalDeviceGroups (VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties) + { + DE_UNREF(instance); + DE_UNREF(pPhysicalDeviceGroupCount); + DE_UNREF(pPhysicalDeviceGroupProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL getImageMemoryRequirements2 (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) + { + DE_UNREF(device); + DE_UNREF(pInfo); + DE_UNREF(pMemoryRequirements); + } + + VKAPI_ATTR void VKAPI_CALL getBufferMemoryRequirements2 (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) + { + DE_UNREF(device); + DE_UNREF(pInfo); + DE_UNREF(pMemoryRequirements); + } + + VKAPI_ATTR void VKAPI_CALL getImageSparseMemoryRequirements2 (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) + { + DE_UNREF(device); + DE_UNREF(pInfo); + DE_UNREF(pSparseMemoryRequirementCount); + DE_UNREF(pSparseMemoryRequirements); + } + + VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceFeatures2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures) + { + DE_UNREF(physicalDevice); + DE_UNREF(pFeatures); + } + + VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceProperties2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pProperties); + } + + VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceFormatProperties2 (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(format); + DE_UNREF(pFormatProperties); + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceImageFormatProperties2 (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pImageFormatInfo); + DE_UNREF(pImageFormatProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceQueueFamilyProperties2 (VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pQueueFamilyPropertyCount); + DE_UNREF(pQueueFamilyProperties); + } + + VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceMemoryProperties2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pMemoryProperties); + } + + VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceSparseImageFormatProperties2 (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pFormatInfo); + DE_UNREF(pPropertyCount); + DE_UNREF(pProperties); + } + + VKAPI_ATTR void VKAPI_CALL trimCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) + { + DE_UNREF(device); + DE_UNREF(commandPool); + DE_UNREF(flags); + } + + VKAPI_ATTR void VKAPI_CALL getDeviceQueue2 (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) + { + DE_UNREF(device); + DE_UNREF(pQueueInfo); + DE_UNREF(pQueue); + } + + VKAPI_ATTR void VKAPI_CALL updateDescriptorSetWithTemplate (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) + { + DE_UNREF(device); + DE_UNREF(descriptorSet); + DE_UNREF(descriptorUpdateTemplate); + DE_UNREF(pData); + } + + VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceExternalBufferProperties (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pExternalBufferInfo); + DE_UNREF(pExternalBufferProperties); + } + + VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceExternalFenceProperties (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pExternalFenceInfo); + DE_UNREF(pExternalFenceProperties); + } + + VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceExternalSemaphoreProperties (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pExternalSemaphoreInfo); + DE_UNREF(pExternalSemaphoreProperties); + } + + VKAPI_ATTR void VKAPI_CALL getDescriptorSetLayoutSupport (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) + { + DE_UNREF(device); + DE_UNREF(pCreateInfo); + DE_UNREF(pSupport); + } + + VKAPI_ATTR void VKAPI_CALL cmdDrawIndirectCount (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) + { + DE_UNREF(commandBuffer); + DE_UNREF(buffer); + DE_UNREF(offset); + DE_UNREF(countBuffer); + DE_UNREF(countBufferOffset); + DE_UNREF(maxDrawCount); + DE_UNREF(stride); + } + + VKAPI_ATTR void VKAPI_CALL cmdDrawIndexedIndirectCount (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) + { + DE_UNREF(commandBuffer); + DE_UNREF(buffer); + DE_UNREF(offset); + DE_UNREF(countBuffer); + DE_UNREF(countBufferOffset); + DE_UNREF(maxDrawCount); + DE_UNREF(stride); + } + + VKAPI_ATTR void VKAPI_CALL cmdBeginRenderPass2 (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pRenderPassBegin); + DE_UNREF(pSubpassBeginInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdNextSubpass2 (VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pSubpassBeginInfo); + DE_UNREF(pSubpassEndInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdEndRenderPass2 (VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pSubpassEndInfo); + } + + VKAPI_ATTR void VKAPI_CALL resetQueryPool (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) + { + DE_UNREF(device); + DE_UNREF(queryPool); + DE_UNREF(firstQuery); + DE_UNREF(queryCount); + } + + VKAPI_ATTR VkResult VKAPI_CALL getSemaphoreCounterValue (VkDevice device, VkSemaphore semaphore, uint64_t* pValue) + { + DE_UNREF(device); + DE_UNREF(semaphore); + DE_UNREF(pValue); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL waitSemaphores (VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) + { + DE_UNREF(device); + DE_UNREF(pWaitInfo); + DE_UNREF(timeout); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL signalSemaphore (VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) + { + DE_UNREF(device); + DE_UNREF(pSignalInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkDeviceAddress VKAPI_CALL getBufferDeviceAddress (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) + { + DE_UNREF(device); + DE_UNREF(pInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR uint64_t VKAPI_CALL getBufferOpaqueCaptureAddress (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) + { + DE_UNREF(device); + DE_UNREF(pInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR uint64_t VKAPI_CALL getDeviceMemoryOpaqueCaptureAddress (VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) + { + DE_UNREF(device); + DE_UNREF(pInfo); + return VK_SUCCESS; + } + ++VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceToolProperties (VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties) ++{ ++ DE_UNREF(physicalDevice); ++ DE_UNREF(pToolCount); ++ DE_UNREF(pToolProperties); ++ return VK_SUCCESS; ++} ++ ++VKAPI_ATTR VkResult VKAPI_CALL setPrivateData (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data) ++{ ++ DE_UNREF(device); ++ DE_UNREF(objectType); ++ DE_UNREF(objectHandle); ++ DE_UNREF(privateDataSlot); ++ DE_UNREF(data); ++ return VK_SUCCESS; ++} ++ ++VKAPI_ATTR void VKAPI_CALL getPrivateData (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData) ++{ ++ DE_UNREF(device); ++ DE_UNREF(objectType); ++ DE_UNREF(objectHandle); ++ DE_UNREF(privateDataSlot); ++ DE_UNREF(pData); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetEvent2 (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(event); ++ DE_UNREF(pDependencyInfo); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdResetEvent2 (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(event); ++ DE_UNREF(stageMask); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdWaitEvents2 (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(eventCount); ++ DE_UNREF(pEvents); ++ DE_UNREF(pDependencyInfos); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdPipelineBarrier2 (VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(pDependencyInfo); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdWriteTimestamp2 (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(stage); ++ DE_UNREF(queryPool); ++ DE_UNREF(query); ++} ++ ++VKAPI_ATTR VkResult VKAPI_CALL queueSubmit2 (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence) ++{ ++ DE_UNREF(queue); ++ DE_UNREF(submitCount); ++ DE_UNREF(pSubmits); ++ DE_UNREF(fence); ++ return VK_SUCCESS; ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdCopyBuffer2 (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(pCopyBufferInfo); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdCopyImage2 (VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(pCopyImageInfo); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdCopyBufferToImage2 (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(pCopyBufferToImageInfo); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdCopyImageToBuffer2 (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(pCopyImageToBufferInfo); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdBlitImage2 (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(pBlitImageInfo); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdResolveImage2 (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(pResolveImageInfo); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdBeginRendering (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(pRenderingInfo); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdEndRendering (VkCommandBuffer commandBuffer) ++{ ++ DE_UNREF(commandBuffer); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetCullMode (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(cullMode); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetFrontFace (VkCommandBuffer commandBuffer, VkFrontFace frontFace) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(frontFace); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetPrimitiveTopology (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(primitiveTopology); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetViewportWithCount (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(viewportCount); ++ DE_UNREF(pViewports); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetScissorWithCount (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(scissorCount); ++ DE_UNREF(pScissors); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdBindVertexBuffers2 (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(firstBinding); ++ DE_UNREF(bindingCount); ++ DE_UNREF(pBuffers); ++ DE_UNREF(pOffsets); ++ DE_UNREF(pSizes); ++ DE_UNREF(pStrides); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetDepthTestEnable (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(depthTestEnable); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetDepthWriteEnable (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(depthWriteEnable); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetDepthCompareOp (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(depthCompareOp); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetDepthBoundsTestEnable (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(depthBoundsTestEnable); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetStencilTestEnable (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(stencilTestEnable); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetStencilOp (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(faceMask); ++ DE_UNREF(failOp); ++ DE_UNREF(passOp); ++ DE_UNREF(depthFailOp); ++ DE_UNREF(compareOp); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetRasterizerDiscardEnable (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(rasterizerDiscardEnable); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetDepthBiasEnable (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(depthBiasEnable); ++} ++ ++VKAPI_ATTR void VKAPI_CALL cmdSetPrimitiveRestartEnable (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) ++{ ++ DE_UNREF(commandBuffer); ++ DE_UNREF(primitiveRestartEnable); ++} ++ ++VKAPI_ATTR void VKAPI_CALL getDeviceBufferMemoryRequirements (VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) ++{ ++ DE_UNREF(device); ++ DE_UNREF(pInfo); ++ DE_UNREF(pMemoryRequirements); ++} ++ ++VKAPI_ATTR void VKAPI_CALL getDeviceImageMemoryRequirements (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) ++{ ++ DE_UNREF(device); ++ DE_UNREF(pInfo); ++ DE_UNREF(pMemoryRequirements); ++} ++ ++VKAPI_ATTR void VKAPI_CALL getDeviceImageSparseMemoryRequirements (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) ++{ ++ DE_UNREF(device); ++ DE_UNREF(pInfo); ++ DE_UNREF(pSparseMemoryRequirementCount); ++ DE_UNREF(pSparseMemoryRequirements); ++} ++ + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceSurfaceSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported) + { + DE_UNREF(physicalDevice); + DE_UNREF(queueFamilyIndex); + DE_UNREF(surface); + DE_UNREF(pSupported); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceSurfaceCapabilitiesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) + { + DE_UNREF(physicalDevice); + DE_UNREF(surface); + DE_UNREF(pSurfaceCapabilities); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceSurfaceFormatsKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats) + { + DE_UNREF(physicalDevice); + DE_UNREF(surface); + DE_UNREF(pSurfaceFormatCount); + DE_UNREF(pSurfaceFormats); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceSurfacePresentModesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) + { + DE_UNREF(physicalDevice); + DE_UNREF(surface); + DE_UNREF(pPresentModeCount); + DE_UNREF(pPresentModes); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getSwapchainImagesKHR (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) + { + DE_UNREF(device); + DE_UNREF(swapchain); + DE_UNREF(pSwapchainImageCount); + DE_UNREF(pSwapchainImages); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL acquireNextImageKHR (VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) + { + DE_UNREF(device); + DE_UNREF(swapchain); + DE_UNREF(timeout); + DE_UNREF(semaphore); + DE_UNREF(fence); + DE_UNREF(pImageIndex); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL queuePresentKHR (VkQueue queue, const VkPresentInfoKHR* pPresentInfo) + { + DE_UNREF(queue); + DE_UNREF(pPresentInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getDeviceGroupPresentCapabilitiesKHR (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) + { + DE_UNREF(device); + DE_UNREF(pDeviceGroupPresentCapabilities); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getDeviceGroupSurfacePresentModesKHR (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) + { + DE_UNREF(device); + DE_UNREF(surface); + DE_UNREF(pModes); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDevicePresentRectanglesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects) + { + DE_UNREF(physicalDevice); + DE_UNREF(surface); + DE_UNREF(pRectCount); + DE_UNREF(pRects); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL acquireNextImage2KHR (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) + { + DE_UNREF(device); + DE_UNREF(pAcquireInfo); + DE_UNREF(pImageIndex); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceDisplayPropertiesKHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pPropertyCount); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceDisplayPlanePropertiesKHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pPropertyCount); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getDisplayPlaneSupportedDisplaysKHR (VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays) + { + DE_UNREF(physicalDevice); + DE_UNREF(planeIndex); + DE_UNREF(pDisplayCount); + DE_UNREF(pDisplays); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getDisplayModePropertiesKHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(display); + DE_UNREF(pPropertyCount); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getDisplayPlaneCapabilitiesKHR (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities) + { + DE_UNREF(physicalDevice); + DE_UNREF(mode); + DE_UNREF(planeIndex); + DE_UNREF(pCapabilities); + return VK_SUCCESS; + } + -VKAPI_ATTR void VKAPI_CALL cmdBeginRenderingKHR (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) -{ - DE_UNREF(commandBuffer); - DE_UNREF(pRenderingInfo); -} - -VKAPI_ATTR void VKAPI_CALL cmdEndRenderingKHR (VkCommandBuffer commandBuffer) -{ - DE_UNREF(commandBuffer); -} - + VKAPI_ATTR VkResult VKAPI_CALL getMemoryFdKHR (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) + { + DE_UNREF(device); + DE_UNREF(pGetFdInfo); + DE_UNREF(pFd); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getMemoryFdPropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) + { + DE_UNREF(device); + DE_UNREF(handleType); + DE_UNREF(fd); + DE_UNREF(pMemoryFdProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL importSemaphoreFdKHR (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) + { + DE_UNREF(device); + DE_UNREF(pImportSemaphoreFdInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getSemaphoreFdKHR (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) + { + DE_UNREF(device); + DE_UNREF(pGetFdInfo); + DE_UNREF(pFd); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdPushDescriptorSetKHR (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) + { + DE_UNREF(commandBuffer); + DE_UNREF(pipelineBindPoint); + DE_UNREF(layout); + DE_UNREF(set); + DE_UNREF(descriptorWriteCount); + DE_UNREF(pDescriptorWrites); + } + + VKAPI_ATTR void VKAPI_CALL cmdPushDescriptorSetWithTemplateKHR (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) + { + DE_UNREF(commandBuffer); + DE_UNREF(descriptorUpdateTemplate); + DE_UNREF(layout); + DE_UNREF(set); + DE_UNREF(pData); + } + + VKAPI_ATTR VkResult VKAPI_CALL getSwapchainStatusKHR (VkDevice device, VkSwapchainKHR swapchain) + { + DE_UNREF(device); + DE_UNREF(swapchain); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL importFenceFdKHR (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) + { + DE_UNREF(device); + DE_UNREF(pImportFenceFdInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getFenceFdKHR (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) + { + DE_UNREF(device); + DE_UNREF(pGetFdInfo); + DE_UNREF(pFd); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions) + { + DE_UNREF(physicalDevice); + DE_UNREF(queueFamilyIndex); + DE_UNREF(pCounterCount); + DE_UNREF(pCounters); + DE_UNREF(pCounterDescriptions); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR (VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses) + { + DE_UNREF(physicalDevice); + DE_UNREF(pPerformanceQueryCreateInfo); + DE_UNREF(pNumPasses); + } + + VKAPI_ATTR VkResult VKAPI_CALL acquireProfilingLockKHR (VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) + { + DE_UNREF(device); + DE_UNREF(pInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL releaseProfilingLockKHR (VkDevice device) + { + DE_UNREF(device); + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceSurfaceCapabilities2KHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) + { + DE_UNREF(physicalDevice); + DE_UNREF(pSurfaceInfo); + DE_UNREF(pSurfaceCapabilities); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceSurfaceFormats2KHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) + { + DE_UNREF(physicalDevice); + DE_UNREF(pSurfaceInfo); + DE_UNREF(pSurfaceFormatCount); + DE_UNREF(pSurfaceFormats); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceDisplayProperties2KHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pPropertyCount); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceDisplayPlaneProperties2KHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pPropertyCount); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getDisplayModeProperties2KHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(display); + DE_UNREF(pPropertyCount); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getDisplayPlaneCapabilities2KHR (VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities) + { + DE_UNREF(physicalDevice); + DE_UNREF(pDisplayPlaneInfo); + DE_UNREF(pCapabilities); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceFragmentShadingRatesKHR (VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates) + { + DE_UNREF(physicalDevice); + DE_UNREF(pFragmentShadingRateCount); + DE_UNREF(pFragmentShadingRates); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdSetFragmentShadingRateKHR (VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) + { + DE_UNREF(commandBuffer); + DE_UNREF(pFragmentSize); + DE_UNREF(combinerOps); + } + + VKAPI_ATTR VkResult VKAPI_CALL waitForPresentKHR (VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout) + { + DE_UNREF(device); + DE_UNREF(swapchain); + DE_UNREF(presentId); + DE_UNREF(timeout); + return VK_SUCCESS; + } + + VKAPI_ATTR uint32_t VKAPI_CALL getDeferredOperationMaxConcurrencyKHR (VkDevice device, VkDeferredOperationKHR operation) + { + DE_UNREF(device); + DE_UNREF(operation); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getDeferredOperationResultKHR (VkDevice device, VkDeferredOperationKHR operation) + { + DE_UNREF(device); + DE_UNREF(operation); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL deferredOperationJoinKHR (VkDevice device, VkDeferredOperationKHR operation) + { + DE_UNREF(device); + DE_UNREF(operation); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPipelineExecutablePropertiesKHR (VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) + { + DE_UNREF(device); + DE_UNREF(pPipelineInfo); + DE_UNREF(pExecutableCount); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPipelineExecutableStatisticsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) + { + DE_UNREF(device); + DE_UNREF(pExecutableInfo); + DE_UNREF(pStatisticCount); + DE_UNREF(pStatistics); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPipelineExecutableInternalRepresentationsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) + { + DE_UNREF(device); + DE_UNREF(pExecutableInfo); + DE_UNREF(pInternalRepresentationCount); + DE_UNREF(pInternalRepresentations); + return VK_SUCCESS; + } + -VKAPI_ATTR void VKAPI_CALL cmdSetEvent2KHR (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo) -{ - DE_UNREF(commandBuffer); - DE_UNREF(event); - DE_UNREF(pDependencyInfo); -} - -VKAPI_ATTR void VKAPI_CALL cmdResetEvent2KHR (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask) -{ - DE_UNREF(commandBuffer); - DE_UNREF(event); - DE_UNREF(stageMask); -} - -VKAPI_ATTR void VKAPI_CALL cmdWaitEvents2KHR (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos) -{ - DE_UNREF(commandBuffer); - DE_UNREF(eventCount); - DE_UNREF(pEvents); - DE_UNREF(pDependencyInfos); -} - -VKAPI_ATTR void VKAPI_CALL cmdPipelineBarrier2KHR (VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo) -{ - DE_UNREF(commandBuffer); - DE_UNREF(pDependencyInfo); -} - -VKAPI_ATTR void VKAPI_CALL cmdWriteTimestamp2KHR (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, uint32_t query) -{ - DE_UNREF(commandBuffer); - DE_UNREF(stage); - DE_UNREF(queryPool); - DE_UNREF(query); -} - -VKAPI_ATTR VkResult VKAPI_CALL queueSubmit2KHR (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence) -{ - DE_UNREF(queue); - DE_UNREF(submitCount); - DE_UNREF(pSubmits); - DE_UNREF(fence); - return VK_SUCCESS; -} - + VKAPI_ATTR void VKAPI_CALL cmdWriteBufferMarker2AMD (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) + { + DE_UNREF(commandBuffer); + DE_UNREF(stage); + DE_UNREF(dstBuffer); + DE_UNREF(dstOffset); + DE_UNREF(marker); + } + + VKAPI_ATTR void VKAPI_CALL getQueueCheckpointData2NV (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) + { + DE_UNREF(queue); + DE_UNREF(pCheckpointDataCount); + DE_UNREF(pCheckpointData); + } + -VKAPI_ATTR void VKAPI_CALL cmdCopyBuffer2KHR (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) -{ - DE_UNREF(commandBuffer); - DE_UNREF(pCopyBufferInfo); -} - -VKAPI_ATTR void VKAPI_CALL cmdCopyImage2KHR (VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) -{ - DE_UNREF(commandBuffer); - DE_UNREF(pCopyImageInfo); -} - -VKAPI_ATTR void VKAPI_CALL cmdCopyBufferToImage2KHR (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) -{ - DE_UNREF(commandBuffer); - DE_UNREF(pCopyBufferToImageInfo); -} - -VKAPI_ATTR void VKAPI_CALL cmdCopyImageToBuffer2KHR (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) -{ - DE_UNREF(commandBuffer); - DE_UNREF(pCopyImageToBufferInfo); -} - -VKAPI_ATTR void VKAPI_CALL cmdBlitImage2KHR (VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) -{ - DE_UNREF(commandBuffer); - DE_UNREF(pBlitImageInfo); -} - -VKAPI_ATTR void VKAPI_CALL cmdResolveImage2KHR (VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo) -{ - DE_UNREF(commandBuffer); - DE_UNREF(pResolveImageInfo); -} - -VKAPI_ATTR void VKAPI_CALL getDeviceBufferMemoryRequirementsKHR (VkDevice device, const VkDeviceBufferMemoryRequirementsKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements) -{ - DE_UNREF(device); - DE_UNREF(pInfo); - DE_UNREF(pMemoryRequirements); -} - -VKAPI_ATTR void VKAPI_CALL getDeviceImageMemoryRequirementsKHR (VkDevice device, const VkDeviceImageMemoryRequirementsKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements) -{ - DE_UNREF(device); - DE_UNREF(pInfo); - DE_UNREF(pMemoryRequirements); -} - -VKAPI_ATTR void VKAPI_CALL getDeviceImageSparseMemoryRequirementsKHR (VkDevice device, const VkDeviceImageMemoryRequirementsKHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) -{ - DE_UNREF(device); - DE_UNREF(pInfo); - DE_UNREF(pSparseMemoryRequirementCount); - DE_UNREF(pSparseMemoryRequirements); -} - + VKAPI_ATTR void VKAPI_CALL debugReportMessageEXT (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage) + { + DE_UNREF(instance); + DE_UNREF(flags); + DE_UNREF(objectType); + DE_UNREF(object); + DE_UNREF(location); + DE_UNREF(messageCode); + DE_UNREF(pLayerPrefix); + DE_UNREF(pMessage); + } + + VKAPI_ATTR VkResult VKAPI_CALL debugMarkerSetObjectTagEXT (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) + { + DE_UNREF(device); + DE_UNREF(pTagInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL debugMarkerSetObjectNameEXT (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) + { + DE_UNREF(device); + DE_UNREF(pNameInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdDebugMarkerBeginEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pMarkerInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdDebugMarkerEndEXT (VkCommandBuffer commandBuffer) + { + DE_UNREF(commandBuffer); + } + + VKAPI_ATTR void VKAPI_CALL cmdDebugMarkerInsertEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pMarkerInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdBindTransformFeedbackBuffersEXT (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) + { + DE_UNREF(commandBuffer); + DE_UNREF(firstBinding); + DE_UNREF(bindingCount); + DE_UNREF(pBuffers); + DE_UNREF(pOffsets); + DE_UNREF(pSizes); + } + + VKAPI_ATTR void VKAPI_CALL cmdBeginTransformFeedbackEXT (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) + { + DE_UNREF(commandBuffer); + DE_UNREF(firstCounterBuffer); + DE_UNREF(counterBufferCount); + DE_UNREF(pCounterBuffers); + DE_UNREF(pCounterBufferOffsets); + } + + VKAPI_ATTR void VKAPI_CALL cmdEndTransformFeedbackEXT (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) + { + DE_UNREF(commandBuffer); + DE_UNREF(firstCounterBuffer); + DE_UNREF(counterBufferCount); + DE_UNREF(pCounterBuffers); + DE_UNREF(pCounterBufferOffsets); + } + + VKAPI_ATTR void VKAPI_CALL cmdBeginQueryIndexedEXT (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) + { + DE_UNREF(commandBuffer); + DE_UNREF(queryPool); + DE_UNREF(query); + DE_UNREF(flags); + DE_UNREF(index); + } + + VKAPI_ATTR void VKAPI_CALL cmdEndQueryIndexedEXT (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) + { + DE_UNREF(commandBuffer); + DE_UNREF(queryPool); + DE_UNREF(query); + DE_UNREF(index); + } + + VKAPI_ATTR void VKAPI_CALL cmdDrawIndirectByteCountEXT (VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) + { + DE_UNREF(commandBuffer); + DE_UNREF(instanceCount); + DE_UNREF(firstInstance); + DE_UNREF(counterBuffer); + DE_UNREF(counterBufferOffset); + DE_UNREF(counterOffset); + DE_UNREF(vertexStride); + } + + VKAPI_ATTR void VKAPI_CALL cmdCuLaunchKernelNVX (VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pLaunchInfo); + } + + VKAPI_ATTR uint32_t VKAPI_CALL getImageViewHandleNVX (VkDevice device, const VkImageViewHandleInfoNVX* pInfo) + { + DE_UNREF(device); + DE_UNREF(pInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getImageViewAddressNVX (VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties) + { + DE_UNREF(device); + DE_UNREF(imageView); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdDrawIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) + { + DE_UNREF(commandBuffer); + DE_UNREF(buffer); + DE_UNREF(offset); + DE_UNREF(countBuffer); + DE_UNREF(countBufferOffset); + DE_UNREF(maxDrawCount); + DE_UNREF(stride); + } + + VKAPI_ATTR void VKAPI_CALL cmdDrawIndexedIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) + { + DE_UNREF(commandBuffer); + DE_UNREF(buffer); + DE_UNREF(offset); + DE_UNREF(countBuffer); + DE_UNREF(countBufferOffset); + DE_UNREF(maxDrawCount); + DE_UNREF(stride); + } + + VKAPI_ATTR VkResult VKAPI_CALL getShaderInfoAMD (VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo) + { + DE_UNREF(device); + DE_UNREF(pipeline); + DE_UNREF(shaderStage); + DE_UNREF(infoType); + DE_UNREF(pInfoSize); + DE_UNREF(pInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceExternalImageFormatPropertiesNV (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(format); + DE_UNREF(type); + DE_UNREF(tiling); + DE_UNREF(usage); + DE_UNREF(flags); + DE_UNREF(externalHandleType); + DE_UNREF(pExternalImageFormatProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdBeginConditionalRenderingEXT (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) + { + DE_UNREF(commandBuffer); + DE_UNREF(pConditionalRenderingBegin); + } + + VKAPI_ATTR void VKAPI_CALL cmdEndConditionalRenderingEXT (VkCommandBuffer commandBuffer) + { + DE_UNREF(commandBuffer); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetViewportWScalingNV (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings) + { + DE_UNREF(commandBuffer); + DE_UNREF(firstViewport); + DE_UNREF(viewportCount); + DE_UNREF(pViewportWScalings); + } + + VKAPI_ATTR VkResult VKAPI_CALL releaseDisplayEXT (VkPhysicalDevice physicalDevice, VkDisplayKHR display) + { + DE_UNREF(physicalDevice); + DE_UNREF(display); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceSurfaceCapabilities2EXT (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities) + { + DE_UNREF(physicalDevice); + DE_UNREF(surface); + DE_UNREF(pSurfaceCapabilities); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL displayPowerControlEXT (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) + { + DE_UNREF(device); + DE_UNREF(display); + DE_UNREF(pDisplayPowerInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL registerDeviceEventEXT (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) + { + DE_UNREF(device); + DE_UNREF(pDeviceEventInfo); + DE_UNREF(pAllocator); + DE_UNREF(pFence); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL registerDisplayEventEXT (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) + { + DE_UNREF(device); + DE_UNREF(display); + DE_UNREF(pDisplayEventInfo); + DE_UNREF(pAllocator); + DE_UNREF(pFence); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getSwapchainCounterEXT (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) + { + DE_UNREF(device); + DE_UNREF(swapchain); + DE_UNREF(counter); + DE_UNREF(pCounterValue); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getRefreshCycleDurationGOOGLE (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) + { + DE_UNREF(device); + DE_UNREF(swapchain); + DE_UNREF(pDisplayTimingProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPastPresentationTimingGOOGLE (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) + { + DE_UNREF(device); + DE_UNREF(swapchain); + DE_UNREF(pPresentationTimingCount); + DE_UNREF(pPresentationTimings); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdSetDiscardRectangleEXT (VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles) + { + DE_UNREF(commandBuffer); + DE_UNREF(firstDiscardRectangle); + DE_UNREF(discardRectangleCount); + DE_UNREF(pDiscardRectangles); + } + + VKAPI_ATTR void VKAPI_CALL setHdrMetadataEXT (VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) + { + DE_UNREF(device); + DE_UNREF(swapchainCount); + DE_UNREF(pSwapchains); + DE_UNREF(pMetadata); + } + + VKAPI_ATTR VkResult VKAPI_CALL setDebugUtilsObjectNameEXT (VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo) + { + DE_UNREF(device); + DE_UNREF(pNameInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL setDebugUtilsObjectTagEXT (VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo) + { + DE_UNREF(device); + DE_UNREF(pTagInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL queueBeginDebugUtilsLabelEXT (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) + { + DE_UNREF(queue); + DE_UNREF(pLabelInfo); + } + + VKAPI_ATTR void VKAPI_CALL queueEndDebugUtilsLabelEXT (VkQueue queue) + { + DE_UNREF(queue); + } + + VKAPI_ATTR void VKAPI_CALL queueInsertDebugUtilsLabelEXT (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) + { + DE_UNREF(queue); + DE_UNREF(pLabelInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdBeginDebugUtilsLabelEXT (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pLabelInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdEndDebugUtilsLabelEXT (VkCommandBuffer commandBuffer) + { + DE_UNREF(commandBuffer); + } + + VKAPI_ATTR void VKAPI_CALL cmdInsertDebugUtilsLabelEXT (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pLabelInfo); + } + + VKAPI_ATTR void VKAPI_CALL submitDebugUtilsMessageEXT (VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData) + { + DE_UNREF(instance); + DE_UNREF(messageSeverity); + DE_UNREF(messageTypes); + DE_UNREF(pCallbackData); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetSampleLocationsEXT (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pSampleLocationsInfo); + } + + VKAPI_ATTR void VKAPI_CALL getPhysicalDeviceMultisamplePropertiesEXT (VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(samples); + DE_UNREF(pMultisampleProperties); + } + + VKAPI_ATTR VkResult VKAPI_CALL getImageDrmFormatModifierPropertiesEXT (VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) + { + DE_UNREF(device); + DE_UNREF(image); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL mergeValidationCachesEXT (VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches) + { + DE_UNREF(device); + DE_UNREF(dstCache); + DE_UNREF(srcCacheCount); + DE_UNREF(pSrcCaches); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getValidationCacheDataEXT (VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData) + { + DE_UNREF(device); + DE_UNREF(validationCache); + DE_UNREF(pDataSize); + DE_UNREF(pData); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdBindShadingRateImageNV (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) + { + DE_UNREF(commandBuffer); + DE_UNREF(imageView); + DE_UNREF(imageLayout); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetViewportShadingRatePaletteNV (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes) + { + DE_UNREF(commandBuffer); + DE_UNREF(firstViewport); + DE_UNREF(viewportCount); + DE_UNREF(pShadingRatePalettes); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetCoarseSampleOrderNV (VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders) + { + DE_UNREF(commandBuffer); + DE_UNREF(sampleOrderType); + DE_UNREF(customSampleOrderCount); + DE_UNREF(pCustomSampleOrders); + } + + VKAPI_ATTR void VKAPI_CALL getAccelerationStructureMemoryRequirementsNV (VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) + { + DE_UNREF(device); + DE_UNREF(pInfo); + DE_UNREF(pMemoryRequirements); + } + + VKAPI_ATTR VkResult VKAPI_CALL bindAccelerationStructureMemoryNV (VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos) + { + DE_UNREF(device); + DE_UNREF(bindInfoCount); + DE_UNREF(pBindInfos); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdBuildAccelerationStructureNV (VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset) + { + DE_UNREF(commandBuffer); + DE_UNREF(pInfo); + DE_UNREF(instanceData); + DE_UNREF(instanceOffset); + DE_UNREF(update); + DE_UNREF(dst); + DE_UNREF(src); + DE_UNREF(scratch); + DE_UNREF(scratchOffset); + } + + VKAPI_ATTR void VKAPI_CALL cmdCopyAccelerationStructureNV (VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode) + { + DE_UNREF(commandBuffer); + DE_UNREF(dst); + DE_UNREF(src); + DE_UNREF(mode); + } + + VKAPI_ATTR void VKAPI_CALL cmdTraceRaysNV (VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth) + { + DE_UNREF(commandBuffer); + DE_UNREF(raygenShaderBindingTableBuffer); + DE_UNREF(raygenShaderBindingOffset); + DE_UNREF(missShaderBindingTableBuffer); + DE_UNREF(missShaderBindingOffset); + DE_UNREF(missShaderBindingStride); + DE_UNREF(hitShaderBindingTableBuffer); + DE_UNREF(hitShaderBindingOffset); + DE_UNREF(hitShaderBindingStride); + DE_UNREF(callableShaderBindingTableBuffer); + DE_UNREF(callableShaderBindingOffset); + DE_UNREF(callableShaderBindingStride); + DE_UNREF(width); + DE_UNREF(height); + DE_UNREF(depth); + } + + VKAPI_ATTR VkResult VKAPI_CALL getRayTracingShaderGroupHandlesKHR (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) + { + DE_UNREF(device); + DE_UNREF(pipeline); + DE_UNREF(firstGroup); + DE_UNREF(groupCount); + DE_UNREF(dataSize); + DE_UNREF(pData); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getRayTracingShaderGroupHandlesNV (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) + { + DE_UNREF(device); + DE_UNREF(pipeline); + DE_UNREF(firstGroup); + DE_UNREF(groupCount); + DE_UNREF(dataSize); + DE_UNREF(pData); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getAccelerationStructureHandleNV (VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData) + { + DE_UNREF(device); + DE_UNREF(accelerationStructure); + DE_UNREF(dataSize); + DE_UNREF(pData); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdWriteAccelerationStructuresPropertiesNV (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) + { + DE_UNREF(commandBuffer); + DE_UNREF(accelerationStructureCount); + DE_UNREF(pAccelerationStructures); + DE_UNREF(queryType); + DE_UNREF(queryPool); + DE_UNREF(firstQuery); + } + + VKAPI_ATTR VkResult VKAPI_CALL compileDeferredNV (VkDevice device, VkPipeline pipeline, uint32_t shader) + { + DE_UNREF(device); + DE_UNREF(pipeline); + DE_UNREF(shader); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getMemoryHostPointerPropertiesEXT (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) + { + DE_UNREF(device); + DE_UNREF(handleType); + DE_UNREF(pHostPointer); + DE_UNREF(pMemoryHostPointerProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdWriteBufferMarkerAMD (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) + { + DE_UNREF(commandBuffer); + DE_UNREF(pipelineStage); + DE_UNREF(dstBuffer); + DE_UNREF(dstOffset); + DE_UNREF(marker); + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceCalibrateableTimeDomainsEXT (VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains) + { + DE_UNREF(physicalDevice); + DE_UNREF(pTimeDomainCount); + DE_UNREF(pTimeDomains); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getCalibratedTimestampsEXT (VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) + { + DE_UNREF(device); + DE_UNREF(timestampCount); + DE_UNREF(pTimestampInfos); + DE_UNREF(pTimestamps); + DE_UNREF(pMaxDeviation); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdDrawMeshTasksNV (VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask) + { + DE_UNREF(commandBuffer); + DE_UNREF(taskCount); + DE_UNREF(firstTask); + } + + VKAPI_ATTR void VKAPI_CALL cmdDrawMeshTasksIndirectNV (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) + { + DE_UNREF(commandBuffer); + DE_UNREF(buffer); + DE_UNREF(offset); + DE_UNREF(drawCount); + DE_UNREF(stride); + } + + VKAPI_ATTR void VKAPI_CALL cmdDrawMeshTasksIndirectCountNV (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) + { + DE_UNREF(commandBuffer); + DE_UNREF(buffer); + DE_UNREF(offset); + DE_UNREF(countBuffer); + DE_UNREF(countBufferOffset); + DE_UNREF(maxDrawCount); + DE_UNREF(stride); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetExclusiveScissorNV (VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors) + { + DE_UNREF(commandBuffer); + DE_UNREF(firstExclusiveScissor); + DE_UNREF(exclusiveScissorCount); + DE_UNREF(pExclusiveScissors); + } + + VKAPI_ATTR void VKAPI_CALL cmdSetCheckpointNV (VkCommandBuffer commandBuffer, const void* pCheckpointMarker) + { + DE_UNREF(commandBuffer); + DE_UNREF(pCheckpointMarker); + } + + VKAPI_ATTR void VKAPI_CALL getQueueCheckpointDataNV (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData) + { + DE_UNREF(queue); + DE_UNREF(pCheckpointDataCount); + DE_UNREF(pCheckpointData); + } + + VKAPI_ATTR VkResult VKAPI_CALL initializePerformanceApiINTEL (VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) + { + DE_UNREF(device); + DE_UNREF(pInitializeInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL uninitializePerformanceApiINTEL (VkDevice device) + { + DE_UNREF(device); + } + + VKAPI_ATTR VkResult VKAPI_CALL cmdSetPerformanceMarkerINTEL (VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pMarkerInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL cmdSetPerformanceStreamMarkerINTEL (VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pMarkerInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL cmdSetPerformanceOverrideINTEL (VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pOverrideInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL acquirePerformanceConfigurationINTEL (VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) + { + DE_UNREF(device); + DE_UNREF(pAcquireInfo); + DE_UNREF(pConfiguration); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL releasePerformanceConfigurationINTEL (VkDevice device, VkPerformanceConfigurationINTEL configuration) + { + DE_UNREF(device); + DE_UNREF(configuration); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL queueSetPerformanceConfigurationINTEL (VkQueue queue, VkPerformanceConfigurationINTEL configuration) + { + DE_UNREF(queue); + DE_UNREF(configuration); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPerformanceParameterINTEL (VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) + { + DE_UNREF(device); + DE_UNREF(parameter); + DE_UNREF(pValue); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL setLocalDimmingAMD (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) + { + DE_UNREF(device); + DE_UNREF(swapChain); + DE_UNREF(localDimmingEnable); + } + + VKAPI_ATTR VkDeviceAddress VKAPI_CALL getBufferDeviceAddressEXT (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) + { + DE_UNREF(device); + DE_UNREF(pInfo); + return VK_SUCCESS; + } + -VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceToolPropertiesEXT (VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties) -{ - DE_UNREF(physicalDevice); - DE_UNREF(pToolCount); - DE_UNREF(pToolProperties); - return VK_SUCCESS; -} - + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceCooperativeMatrixPropertiesNV (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pPropertyCount); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV (VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations) + { + DE_UNREF(physicalDevice); + DE_UNREF(pCombinationCount); + DE_UNREF(pCombinations); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdSetLineStippleEXT (VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) + { + DE_UNREF(commandBuffer); + DE_UNREF(lineStippleFactor); + DE_UNREF(lineStipplePattern); + } + -VKAPI_ATTR void VKAPI_CALL cmdSetCullModeEXT (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) -{ - DE_UNREF(commandBuffer); - DE_UNREF(cullMode); -} - -VKAPI_ATTR void VKAPI_CALL cmdSetFrontFaceEXT (VkCommandBuffer commandBuffer, VkFrontFace frontFace) -{ - DE_UNREF(commandBuffer); - DE_UNREF(frontFace); -} - -VKAPI_ATTR void VKAPI_CALL cmdSetPrimitiveTopologyEXT (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) -{ - DE_UNREF(commandBuffer); - DE_UNREF(primitiveTopology); -} - -VKAPI_ATTR void VKAPI_CALL cmdSetViewportWithCountEXT (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) -{ - DE_UNREF(commandBuffer); - DE_UNREF(viewportCount); - DE_UNREF(pViewports); -} - -VKAPI_ATTR void VKAPI_CALL cmdSetScissorWithCountEXT (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) -{ - DE_UNREF(commandBuffer); - DE_UNREF(scissorCount); - DE_UNREF(pScissors); -} - -VKAPI_ATTR void VKAPI_CALL cmdBindVertexBuffers2EXT (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) -{ - DE_UNREF(commandBuffer); - DE_UNREF(firstBinding); - DE_UNREF(bindingCount); - DE_UNREF(pBuffers); - DE_UNREF(pOffsets); - DE_UNREF(pSizes); - DE_UNREF(pStrides); -} - -VKAPI_ATTR void VKAPI_CALL cmdSetDepthTestEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) -{ - DE_UNREF(commandBuffer); - DE_UNREF(depthTestEnable); -} - -VKAPI_ATTR void VKAPI_CALL cmdSetDepthWriteEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) -{ - DE_UNREF(commandBuffer); - DE_UNREF(depthWriteEnable); -} - -VKAPI_ATTR void VKAPI_CALL cmdSetDepthCompareOpEXT (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) -{ - DE_UNREF(commandBuffer); - DE_UNREF(depthCompareOp); -} - -VKAPI_ATTR void VKAPI_CALL cmdSetDepthBoundsTestEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) -{ - DE_UNREF(commandBuffer); - DE_UNREF(depthBoundsTestEnable); -} - -VKAPI_ATTR void VKAPI_CALL cmdSetStencilTestEnableEXT (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) -{ - DE_UNREF(commandBuffer); - DE_UNREF(stencilTestEnable); -} - -VKAPI_ATTR void VKAPI_CALL cmdSetStencilOpEXT (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) -{ - DE_UNREF(commandBuffer); - DE_UNREF(faceMask); - DE_UNREF(failOp); - DE_UNREF(passOp); - DE_UNREF(depthFailOp); - DE_UNREF(compareOp); -} - + VKAPI_ATTR void VKAPI_CALL getGeneratedCommandsMemoryRequirementsNV (VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements) + { + DE_UNREF(device); + DE_UNREF(pInfo); + DE_UNREF(pMemoryRequirements); + } + + VKAPI_ATTR void VKAPI_CALL cmdPreprocessGeneratedCommandsNV (VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pGeneratedCommandsInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdExecuteGeneratedCommandsNV (VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(isPreprocessed); + DE_UNREF(pGeneratedCommandsInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdBindPipelineShaderGroupNV (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex) + { + DE_UNREF(commandBuffer); + DE_UNREF(pipelineBindPoint); + DE_UNREF(pipeline); + DE_UNREF(groupIndex); + } + + VKAPI_ATTR VkResult VKAPI_CALL acquireDrmDisplayEXT (VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display) + { + DE_UNREF(physicalDevice); + DE_UNREF(drmFd); + DE_UNREF(display); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getDrmDisplayEXT (VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display) + { + DE_UNREF(physicalDevice); + DE_UNREF(drmFd); + DE_UNREF(connectorId); + DE_UNREF(display); + return VK_SUCCESS; + } + -VKAPI_ATTR VkResult VKAPI_CALL setPrivateDataEXT (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data) -{ - DE_UNREF(device); - DE_UNREF(objectType); - DE_UNREF(objectHandle); - DE_UNREF(privateDataSlot); - DE_UNREF(data); - return VK_SUCCESS; -} - -VKAPI_ATTR void VKAPI_CALL getPrivateDataEXT (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData) -{ - DE_UNREF(device); - DE_UNREF(objectType); - DE_UNREF(objectHandle); - DE_UNREF(privateDataSlot); - DE_UNREF(pData); -} - + VKAPI_ATTR void VKAPI_CALL cmdSetFragmentShadingRateEnumNV (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) + { + DE_UNREF(commandBuffer); + DE_UNREF(shadingRate); + DE_UNREF(combinerOps); + } + + VKAPI_ATTR VkResult VKAPI_CALL acquireWinrtDisplayNV (VkPhysicalDevice physicalDevice, VkDisplayKHR display) + { + DE_UNREF(physicalDevice); + DE_UNREF(display); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getWinrtDisplayNV (VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay) + { + DE_UNREF(physicalDevice); + DE_UNREF(deviceRelativeId); + DE_UNREF(pDisplay); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdSetVertexInputEXT (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) + { + DE_UNREF(commandBuffer); + DE_UNREF(vertexBindingDescriptionCount); + DE_UNREF(pVertexBindingDescriptions); + DE_UNREF(vertexAttributeDescriptionCount); + DE_UNREF(pVertexAttributeDescriptions); + } + + VKAPI_ATTR VkResult VKAPI_CALL getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI (VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize) + { + DE_UNREF(device); + DE_UNREF(renderpass); + DE_UNREF(pMaxWorkgroupSize); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdSubpassShadingHUAWEI (VkCommandBuffer commandBuffer) + { + DE_UNREF(commandBuffer); + } + + VKAPI_ATTR void VKAPI_CALL cmdBindInvocationMaskHUAWEI (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) + { + DE_UNREF(commandBuffer); + DE_UNREF(imageView); + DE_UNREF(imageLayout); + } + + VKAPI_ATTR VkResult VKAPI_CALL getMemoryRemoteAddressNV (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) + { + DE_UNREF(device); + DE_UNREF(pMemoryGetRemoteAddressInfo); + DE_UNREF(pAddress); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdSetPatchControlPointsEXT (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) + { + DE_UNREF(commandBuffer); + DE_UNREF(patchControlPoints); + } + -VKAPI_ATTR void VKAPI_CALL cmdSetRasterizerDiscardEnableEXT (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) -{ - DE_UNREF(commandBuffer); - DE_UNREF(rasterizerDiscardEnable); -} - -VKAPI_ATTR void VKAPI_CALL cmdSetDepthBiasEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) -{ - DE_UNREF(commandBuffer); - DE_UNREF(depthBiasEnable); -} - + VKAPI_ATTR void VKAPI_CALL cmdSetLogicOpEXT (VkCommandBuffer commandBuffer, VkLogicOp logicOp) + { + DE_UNREF(commandBuffer); + DE_UNREF(logicOp); + } + -VKAPI_ATTR void VKAPI_CALL cmdSetPrimitiveRestartEnableEXT (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) -{ - DE_UNREF(commandBuffer); - DE_UNREF(primitiveRestartEnable); -} - + VKAPI_ATTR void VKAPI_CALL cmdSetColorWriteEnableEXT (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) + { + DE_UNREF(commandBuffer); + DE_UNREF(attachmentCount); + DE_UNREF(pColorWriteEnables); + } + + VKAPI_ATTR void VKAPI_CALL cmdDrawMultiEXT (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) + { + DE_UNREF(commandBuffer); + DE_UNREF(drawCount); + DE_UNREF(pVertexInfo); + DE_UNREF(instanceCount); + DE_UNREF(firstInstance); + DE_UNREF(stride); + } + + VKAPI_ATTR void VKAPI_CALL cmdDrawMultiIndexedEXT (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) + { + DE_UNREF(commandBuffer); + DE_UNREF(drawCount); + DE_UNREF(pIndexInfo); + DE_UNREF(instanceCount); + DE_UNREF(firstInstance); + DE_UNREF(stride); + DE_UNREF(pVertexOffset); + } + + VKAPI_ATTR void VKAPI_CALL setDeviceMemoryPriorityEXT (VkDevice device, VkDeviceMemory memory, float priority) + { + DE_UNREF(device); + DE_UNREF(memory); + DE_UNREF(priority); + } + + VKAPI_ATTR void VKAPI_CALL cmdBuildAccelerationStructuresKHR (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) + { + DE_UNREF(commandBuffer); + DE_UNREF(infoCount); + DE_UNREF(pInfos); + DE_UNREF(ppBuildRangeInfos); + } + + VKAPI_ATTR void VKAPI_CALL cmdBuildAccelerationStructuresIndirectKHR (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts) + { + DE_UNREF(commandBuffer); + DE_UNREF(infoCount); + DE_UNREF(pInfos); + DE_UNREF(pIndirectDeviceAddresses); + DE_UNREF(pIndirectStrides); + DE_UNREF(ppMaxPrimitiveCounts); + } + + VKAPI_ATTR VkResult VKAPI_CALL buildAccelerationStructuresKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) + { + DE_UNREF(device); + DE_UNREF(deferredOperation); + DE_UNREF(infoCount); + DE_UNREF(pInfos); + DE_UNREF(ppBuildRangeInfos); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL copyAccelerationStructureKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo) + { + DE_UNREF(device); + DE_UNREF(deferredOperation); + DE_UNREF(pInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL copyAccelerationStructureToMemoryKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) + { + DE_UNREF(device); + DE_UNREF(deferredOperation); + DE_UNREF(pInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL copyMemoryToAccelerationStructureKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) + { + DE_UNREF(device); + DE_UNREF(deferredOperation); + DE_UNREF(pInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL writeAccelerationStructuresPropertiesKHR (VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) + { + DE_UNREF(device); + DE_UNREF(accelerationStructureCount); + DE_UNREF(pAccelerationStructures); + DE_UNREF(queryType); + DE_UNREF(dataSize); + DE_UNREF(pData); + DE_UNREF(stride); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdCopyAccelerationStructureKHR (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdCopyAccelerationStructureToMemoryKHR (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdCopyMemoryToAccelerationStructureKHR (VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pInfo); + } + + VKAPI_ATTR VkDeviceAddress VKAPI_CALL getAccelerationStructureDeviceAddressKHR (VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo) + { + DE_UNREF(device); + DE_UNREF(pInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdWriteAccelerationStructuresPropertiesKHR (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) + { + DE_UNREF(commandBuffer); + DE_UNREF(accelerationStructureCount); + DE_UNREF(pAccelerationStructures); + DE_UNREF(queryType); + DE_UNREF(queryPool); + DE_UNREF(firstQuery); + } + + VKAPI_ATTR void VKAPI_CALL getDeviceAccelerationStructureCompatibilityKHR (VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) + { + DE_UNREF(device); + DE_UNREF(pVersionInfo); + DE_UNREF(pCompatibility); + } + + VKAPI_ATTR void VKAPI_CALL getAccelerationStructureBuildSizesKHR (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo) + { + DE_UNREF(device); + DE_UNREF(buildType); + DE_UNREF(pBuildInfo); + DE_UNREF(pMaxPrimitiveCounts); + DE_UNREF(pSizeInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdTraceRaysKHR (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth) + { + DE_UNREF(commandBuffer); + DE_UNREF(pRaygenShaderBindingTable); + DE_UNREF(pMissShaderBindingTable); + DE_UNREF(pHitShaderBindingTable); + DE_UNREF(pCallableShaderBindingTable); + DE_UNREF(width); + DE_UNREF(height); + DE_UNREF(depth); + } + + VKAPI_ATTR VkResult VKAPI_CALL getRayTracingCaptureReplayShaderGroupHandlesKHR (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) + { + DE_UNREF(device); + DE_UNREF(pipeline); + DE_UNREF(firstGroup); + DE_UNREF(groupCount); + DE_UNREF(dataSize); + DE_UNREF(pData); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdTraceRaysIndirectKHR (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress) + { + DE_UNREF(commandBuffer); + DE_UNREF(pRaygenShaderBindingTable); + DE_UNREF(pMissShaderBindingTable); + DE_UNREF(pHitShaderBindingTable); + DE_UNREF(pCallableShaderBindingTable); + DE_UNREF(indirectDeviceAddress); + } + + VKAPI_ATTR VkDeviceSize VKAPI_CALL getRayTracingShaderGroupStackSizeKHR (VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader) + { + DE_UNREF(device); + DE_UNREF(pipeline); + DE_UNREF(group); + DE_UNREF(groupShader); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdSetRayTracingPipelineStackSizeKHR (VkCommandBuffer commandBuffer, uint32_t pipelineStackSize) + { + DE_UNREF(commandBuffer); + DE_UNREF(pipelineStackSize); + } + + VKAPI_ATTR VkResult VKAPI_CALL getAndroidHardwareBufferPropertiesANDROID (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) + { + DE_UNREF(device); + DE_UNREF(buffer); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceVideoCapabilitiesKHR (VkPhysicalDevice physicalDevice, const VkVideoProfileKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities) + { + DE_UNREF(physicalDevice); + DE_UNREF(pVideoProfile); + DE_UNREF(pCapabilities); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceVideoFormatPropertiesKHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties) + { + DE_UNREF(physicalDevice); + DE_UNREF(pVideoFormatInfo); + DE_UNREF(pVideoFormatPropertyCount); + DE_UNREF(pVideoFormatProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getVideoSessionMemoryRequirementsKHR (VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pVideoSessionMemoryRequirementsCount, VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements) + { + DE_UNREF(device); + DE_UNREF(videoSession); + DE_UNREF(pVideoSessionMemoryRequirementsCount); + DE_UNREF(pVideoSessionMemoryRequirements); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL bindVideoSessionMemoryKHR (VkDevice device, VkVideoSessionKHR videoSession, uint32_t videoSessionBindMemoryCount, const VkVideoBindMemoryKHR* pVideoSessionBindMemories) + { + DE_UNREF(device); + DE_UNREF(videoSession); + DE_UNREF(videoSessionBindMemoryCount); + DE_UNREF(pVideoSessionBindMemories); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL updateVideoSessionParametersKHR (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo) + { + DE_UNREF(device); + DE_UNREF(videoSessionParameters); + DE_UNREF(pUpdateInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR void VKAPI_CALL cmdBeginVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pBeginInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdEndVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pEndCodingInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdControlVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pCodingControlInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdDecodeVideoKHR (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pFrameInfo); + } + + VKAPI_ATTR void VKAPI_CALL cmdEncodeVideoKHR (VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo) + { + DE_UNREF(commandBuffer); + DE_UNREF(pEncodeInfo); + } + + VKAPI_ATTR VkResult VKAPI_CALL getMemoryZirconHandleFUCHSIA (VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) + { + DE_UNREF(device); + DE_UNREF(pGetZirconHandleInfo); + DE_UNREF(pZirconHandle); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getMemoryZirconHandlePropertiesFUCHSIA (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties) + { + DE_UNREF(device); + DE_UNREF(handleType); + DE_UNREF(zirconHandle); + DE_UNREF(pMemoryZirconHandleProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL importSemaphoreZirconHandleFUCHSIA (VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo) + { + DE_UNREF(device); + DE_UNREF(pImportSemaphoreZirconHandleInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getSemaphoreZirconHandleFUCHSIA (VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) + { + DE_UNREF(device); + DE_UNREF(pGetZirconHandleInfo); + DE_UNREF(pZirconHandle); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL setBufferCollectionImageConstraintsFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) + { + DE_UNREF(device); + DE_UNREF(collection); + DE_UNREF(pImageConstraintsInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL setBufferCollectionBufferConstraintsFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) + { + DE_UNREF(device); + DE_UNREF(collection); + DE_UNREF(pBufferConstraintsInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getBufferCollectionPropertiesFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties) + { + DE_UNREF(device); + DE_UNREF(collection); + DE_UNREF(pProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkBool32 VKAPI_CALL getPhysicalDeviceWaylandPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::WaylandDisplayPtr display) + { + DE_UNREF(physicalDevice); + DE_UNREF(queueFamilyIndex); + DE_UNREF(display); + return VK_SUCCESS; + } + + VKAPI_ATTR VkBool32 VKAPI_CALL getPhysicalDeviceWin32PresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex) + { + DE_UNREF(physicalDevice); + DE_UNREF(queueFamilyIndex); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getMemoryWin32HandleKHR (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) + { + DE_UNREF(device); + DE_UNREF(pGetWin32HandleInfo); + DE_UNREF(pHandle); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getMemoryWin32HandlePropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) + { + DE_UNREF(device); + DE_UNREF(handleType); + DE_UNREF(handle); + DE_UNREF(pMemoryWin32HandleProperties); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL importSemaphoreWin32HandleKHR (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) + { + DE_UNREF(device); + DE_UNREF(pImportSemaphoreWin32HandleInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getSemaphoreWin32HandleKHR (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) + { + DE_UNREF(device); + DE_UNREF(pGetWin32HandleInfo); + DE_UNREF(pHandle); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL importFenceWin32HandleKHR (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) + { + DE_UNREF(device); + DE_UNREF(pImportFenceWin32HandleInfo); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getFenceWin32HandleKHR (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) + { + DE_UNREF(device); + DE_UNREF(pGetWin32HandleInfo); + DE_UNREF(pHandle); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getMemoryWin32HandleNV (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) + { + DE_UNREF(device); + DE_UNREF(memory); + DE_UNREF(handleType); + DE_UNREF(pHandle); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getPhysicalDeviceSurfacePresentModes2EXT (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) + { + DE_UNREF(physicalDevice); + DE_UNREF(pSurfaceInfo); + DE_UNREF(pPresentModeCount); + DE_UNREF(pPresentModes); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL acquireFullScreenExclusiveModeEXT (VkDevice device, VkSwapchainKHR swapchain) + { + DE_UNREF(device); + DE_UNREF(swapchain); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL releaseFullScreenExclusiveModeEXT (VkDevice device, VkSwapchainKHR swapchain) + { + DE_UNREF(device); + DE_UNREF(swapchain); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getDeviceGroupSurfacePresentModes2EXT (VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes) + { + DE_UNREF(device); + DE_UNREF(pSurfaceInfo); + DE_UNREF(pModes); + return VK_SUCCESS; + } + + VKAPI_ATTR VkBool32 VKAPI_CALL getPhysicalDeviceXcbPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::XcbConnectionPtr connection, pt::XcbVisualid visual_id) + { + DE_UNREF(physicalDevice); + DE_UNREF(queueFamilyIndex); + DE_UNREF(connection); + DE_UNREF(visual_id); + return VK_SUCCESS; + } + + VKAPI_ATTR VkBool32 VKAPI_CALL getPhysicalDeviceXlibPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::XlibDisplayPtr dpy, pt::XlibVisualID visualID) + { + DE_UNREF(physicalDevice); + DE_UNREF(queueFamilyIndex); + DE_UNREF(dpy); + DE_UNREF(visualID); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL acquireXlibDisplayEXT (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, VkDisplayKHR display) + { + DE_UNREF(physicalDevice); + DE_UNREF(dpy); + DE_UNREF(display); + return VK_SUCCESS; + } + + VKAPI_ATTR VkResult VKAPI_CALL getRandROutputDisplayEXT (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, pt::RROutput rrOutput, VkDisplayKHR* pDisplay) + { + DE_UNREF(physicalDevice); + DE_UNREF(dpy); + DE_UNREF(rrOutput); + DE_UNREF(pDisplay); + return VK_SUCCESS; + } + + static const tcu::StaticFunctionLibrary::Entry s_platformFunctions[] = + { + VK_NULL_FUNC_ENTRY(vkCreateInstance, createInstance), + VK_NULL_FUNC_ENTRY(vkGetInstanceProcAddr, getInstanceProcAddr), + VK_NULL_FUNC_ENTRY(vkEnumerateInstanceExtensionProperties, enumerateInstanceExtensionProperties), + VK_NULL_FUNC_ENTRY(vkEnumerateInstanceLayerProperties, enumerateInstanceLayerProperties), + VK_NULL_FUNC_ENTRY(vkEnumerateInstanceVersion, enumerateInstanceVersion), + }; + + static const tcu::StaticFunctionLibrary::Entry s_instanceFunctions[] = + { + VK_NULL_FUNC_ENTRY(vkDestroyInstance, destroyInstance), + VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDevices, enumeratePhysicalDevices), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures, getPhysicalDeviceFeatures), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties, getPhysicalDeviceFormatProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties, getPhysicalDeviceImageFormatProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties, getPhysicalDeviceProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties, getPhysicalDeviceQueueFamilyProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties, getPhysicalDeviceMemoryProperties), + VK_NULL_FUNC_ENTRY(vkCreateDevice, createDevice), + VK_NULL_FUNC_ENTRY(vkEnumerateDeviceExtensionProperties, enumerateDeviceExtensionProperties), + VK_NULL_FUNC_ENTRY(vkEnumerateDeviceLayerProperties, enumerateDeviceLayerProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties, getPhysicalDeviceSparseImageFormatProperties), + VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDeviceGroups, enumeratePhysicalDeviceGroups), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures2, getPhysicalDeviceFeatures2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties2, getPhysicalDeviceProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties2, getPhysicalDeviceFormatProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties2, getPhysicalDeviceImageFormatProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2, getPhysicalDeviceQueueFamilyProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties2, getPhysicalDeviceMemoryProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2, getPhysicalDeviceSparseImageFormatProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalBufferProperties, getPhysicalDeviceExternalBufferProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalFenceProperties, getPhysicalDeviceExternalFenceProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalSemaphoreProperties, getPhysicalDeviceExternalSemaphoreProperties), ++ VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceToolProperties, getPhysicalDeviceToolProperties), + VK_NULL_FUNC_ENTRY(vkDestroySurfaceKHR, destroySurfaceKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceSupportKHR, getPhysicalDeviceSurfaceSupportKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilitiesKHR, getPhysicalDeviceSurfaceCapabilitiesKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceFormatsKHR, getPhysicalDeviceSurfaceFormatsKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfacePresentModesKHR, getPhysicalDeviceSurfacePresentModesKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDevicePresentRectanglesKHR, getPhysicalDevicePresentRectanglesKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayPropertiesKHR, getPhysicalDeviceDisplayPropertiesKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayPlanePropertiesKHR, getPhysicalDeviceDisplayPlanePropertiesKHR), + VK_NULL_FUNC_ENTRY(vkGetDisplayPlaneSupportedDisplaysKHR, getDisplayPlaneSupportedDisplaysKHR), + VK_NULL_FUNC_ENTRY(vkGetDisplayModePropertiesKHR, getDisplayModePropertiesKHR), + VK_NULL_FUNC_ENTRY(vkCreateDisplayModeKHR, createDisplayModeKHR), + VK_NULL_FUNC_ENTRY(vkGetDisplayPlaneCapabilitiesKHR, getDisplayPlaneCapabilitiesKHR), + VK_NULL_FUNC_ENTRY(vkCreateDisplayPlaneSurfaceKHR, createDisplayPlaneSurfaceKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures2KHR, getPhysicalDeviceFeatures2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties2KHR, getPhysicalDeviceProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties2KHR, getPhysicalDeviceFormatProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties2KHR, getPhysicalDeviceImageFormatProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2KHR, getPhysicalDeviceQueueFamilyProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties2KHR, getPhysicalDeviceMemoryProperties2), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2KHR, getPhysicalDeviceSparseImageFormatProperties2), + VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDeviceGroupsKHR, enumeratePhysicalDeviceGroups), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalBufferPropertiesKHR, getPhysicalDeviceExternalBufferProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalSemaphorePropertiesKHR, getPhysicalDeviceExternalSemaphoreProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalFencePropertiesKHR, getPhysicalDeviceExternalFenceProperties), + VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR, enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilities2KHR, getPhysicalDeviceSurfaceCapabilities2KHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceFormats2KHR, getPhysicalDeviceSurfaceFormats2KHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayProperties2KHR, getPhysicalDeviceDisplayProperties2KHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceDisplayPlaneProperties2KHR, getPhysicalDeviceDisplayPlaneProperties2KHR), + VK_NULL_FUNC_ENTRY(vkGetDisplayModeProperties2KHR, getDisplayModeProperties2KHR), + VK_NULL_FUNC_ENTRY(vkGetDisplayPlaneCapabilities2KHR, getDisplayPlaneCapabilities2KHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFragmentShadingRatesKHR, getPhysicalDeviceFragmentShadingRatesKHR), + VK_NULL_FUNC_ENTRY(vkCreateDebugReportCallbackEXT, createDebugReportCallbackEXT), + VK_NULL_FUNC_ENTRY(vkDestroyDebugReportCallbackEXT, destroyDebugReportCallbackEXT), + VK_NULL_FUNC_ENTRY(vkDebugReportMessageEXT, debugReportMessageEXT), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceExternalImageFormatPropertiesNV, getPhysicalDeviceExternalImageFormatPropertiesNV), + VK_NULL_FUNC_ENTRY(vkReleaseDisplayEXT, releaseDisplayEXT), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfaceCapabilities2EXT, getPhysicalDeviceSurfaceCapabilities2EXT), + VK_NULL_FUNC_ENTRY(vkCreateDebugUtilsMessengerEXT, createDebugUtilsMessengerEXT), + VK_NULL_FUNC_ENTRY(vkDestroyDebugUtilsMessengerEXT, destroyDebugUtilsMessengerEXT), + VK_NULL_FUNC_ENTRY(vkSubmitDebugUtilsMessageEXT, submitDebugUtilsMessageEXT), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMultisamplePropertiesEXT, getPhysicalDeviceMultisamplePropertiesEXT), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, getPhysicalDeviceCalibrateableTimeDomainsEXT), - VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceToolPropertiesEXT, getPhysicalDeviceToolPropertiesEXT), ++ VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceToolPropertiesEXT, getPhysicalDeviceToolProperties), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, getPhysicalDeviceCooperativeMatrixPropertiesNV), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV), + VK_NULL_FUNC_ENTRY(vkCreateHeadlessSurfaceEXT, createHeadlessSurfaceEXT), + VK_NULL_FUNC_ENTRY(vkAcquireDrmDisplayEXT, acquireDrmDisplayEXT), + VK_NULL_FUNC_ENTRY(vkGetDrmDisplayEXT, getDrmDisplayEXT), + VK_NULL_FUNC_ENTRY(vkAcquireWinrtDisplayNV, acquireWinrtDisplayNV), + VK_NULL_FUNC_ENTRY(vkGetWinrtDisplayNV, getWinrtDisplayNV), + VK_NULL_FUNC_ENTRY(vkCreateAndroidSurfaceKHR, createAndroidSurfaceKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceVideoCapabilitiesKHR, getPhysicalDeviceVideoCapabilitiesKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceVideoFormatPropertiesKHR, getPhysicalDeviceVideoFormatPropertiesKHR), + VK_NULL_FUNC_ENTRY(vkCreateImagePipeSurfaceFUCHSIA, createImagePipeSurfaceFUCHSIA), + VK_NULL_FUNC_ENTRY(vkCreateStreamDescriptorSurfaceGGP, createStreamDescriptorSurfaceGGP), + VK_NULL_FUNC_ENTRY(vkCreateIOSSurfaceMVK, createIOSSurfaceMVK), + VK_NULL_FUNC_ENTRY(vkCreateMacOSSurfaceMVK, createMacOSSurfaceMVK), + VK_NULL_FUNC_ENTRY(vkCreateMetalSurfaceEXT, createMetalSurfaceEXT), + VK_NULL_FUNC_ENTRY(vkCreateViSurfaceNN, createViSurfaceNN), + VK_NULL_FUNC_ENTRY(vkCreateWaylandSurfaceKHR, createWaylandSurfaceKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceWaylandPresentationSupportKHR, getPhysicalDeviceWaylandPresentationSupportKHR), + VK_NULL_FUNC_ENTRY(vkCreateWin32SurfaceKHR, createWin32SurfaceKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceWin32PresentationSupportKHR, getPhysicalDeviceWin32PresentationSupportKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSurfacePresentModes2EXT, getPhysicalDeviceSurfacePresentModes2EXT), + VK_NULL_FUNC_ENTRY(vkCreateXcbSurfaceKHR, createXcbSurfaceKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceXcbPresentationSupportKHR, getPhysicalDeviceXcbPresentationSupportKHR), + VK_NULL_FUNC_ENTRY(vkCreateXlibSurfaceKHR, createXlibSurfaceKHR), + VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceXlibPresentationSupportKHR, getPhysicalDeviceXlibPresentationSupportKHR), + VK_NULL_FUNC_ENTRY(vkAcquireXlibDisplayEXT, acquireXlibDisplayEXT), + VK_NULL_FUNC_ENTRY(vkGetRandROutputDisplayEXT, getRandROutputDisplayEXT), + }; + + static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] = + { + VK_NULL_FUNC_ENTRY(vkGetDeviceProcAddr, getDeviceProcAddr), + VK_NULL_FUNC_ENTRY(vkDestroyDevice, destroyDevice), + VK_NULL_FUNC_ENTRY(vkGetDeviceQueue, getDeviceQueue), + VK_NULL_FUNC_ENTRY(vkQueueSubmit, queueSubmit), + VK_NULL_FUNC_ENTRY(vkQueueWaitIdle, queueWaitIdle), + VK_NULL_FUNC_ENTRY(vkDeviceWaitIdle, deviceWaitIdle), + VK_NULL_FUNC_ENTRY(vkAllocateMemory, allocateMemory), + VK_NULL_FUNC_ENTRY(vkFreeMemory, freeMemory), + VK_NULL_FUNC_ENTRY(vkMapMemory, mapMemory), + VK_NULL_FUNC_ENTRY(vkUnmapMemory, unmapMemory), + VK_NULL_FUNC_ENTRY(vkFlushMappedMemoryRanges, flushMappedMemoryRanges), + VK_NULL_FUNC_ENTRY(vkInvalidateMappedMemoryRanges, invalidateMappedMemoryRanges), + VK_NULL_FUNC_ENTRY(vkGetDeviceMemoryCommitment, getDeviceMemoryCommitment), + VK_NULL_FUNC_ENTRY(vkBindBufferMemory, bindBufferMemory), + VK_NULL_FUNC_ENTRY(vkBindImageMemory, bindImageMemory), + VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements, getBufferMemoryRequirements), + VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements, getImageMemoryRequirements), + VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements, getImageSparseMemoryRequirements), + VK_NULL_FUNC_ENTRY(vkQueueBindSparse, queueBindSparse), + VK_NULL_FUNC_ENTRY(vkCreateFence, createFence), + VK_NULL_FUNC_ENTRY(vkDestroyFence, destroyFence), + VK_NULL_FUNC_ENTRY(vkResetFences, resetFences), + VK_NULL_FUNC_ENTRY(vkGetFenceStatus, getFenceStatus), + VK_NULL_FUNC_ENTRY(vkWaitForFences, waitForFences), + VK_NULL_FUNC_ENTRY(vkCreateSemaphore, createSemaphore), + VK_NULL_FUNC_ENTRY(vkDestroySemaphore, destroySemaphore), + VK_NULL_FUNC_ENTRY(vkCreateEvent, createEvent), + VK_NULL_FUNC_ENTRY(vkDestroyEvent, destroyEvent), + VK_NULL_FUNC_ENTRY(vkGetEventStatus, getEventStatus), + VK_NULL_FUNC_ENTRY(vkSetEvent, setEvent), + VK_NULL_FUNC_ENTRY(vkResetEvent, resetEvent), + VK_NULL_FUNC_ENTRY(vkCreateQueryPool, createQueryPool), + VK_NULL_FUNC_ENTRY(vkDestroyQueryPool, destroyQueryPool), + VK_NULL_FUNC_ENTRY(vkGetQueryPoolResults, getQueryPoolResults), + VK_NULL_FUNC_ENTRY(vkCreateBuffer, createBuffer), + VK_NULL_FUNC_ENTRY(vkDestroyBuffer, destroyBuffer), + VK_NULL_FUNC_ENTRY(vkCreateBufferView, createBufferView), + VK_NULL_FUNC_ENTRY(vkDestroyBufferView, destroyBufferView), + VK_NULL_FUNC_ENTRY(vkCreateImage, createImage), + VK_NULL_FUNC_ENTRY(vkDestroyImage, destroyImage), + VK_NULL_FUNC_ENTRY(vkGetImageSubresourceLayout, getImageSubresourceLayout), + VK_NULL_FUNC_ENTRY(vkCreateImageView, createImageView), + VK_NULL_FUNC_ENTRY(vkDestroyImageView, destroyImageView), + VK_NULL_FUNC_ENTRY(vkCreateShaderModule, createShaderModule), + VK_NULL_FUNC_ENTRY(vkDestroyShaderModule, destroyShaderModule), + VK_NULL_FUNC_ENTRY(vkCreatePipelineCache, createPipelineCache), + VK_NULL_FUNC_ENTRY(vkDestroyPipelineCache, destroyPipelineCache), + VK_NULL_FUNC_ENTRY(vkGetPipelineCacheData, getPipelineCacheData), + VK_NULL_FUNC_ENTRY(vkMergePipelineCaches, mergePipelineCaches), + VK_NULL_FUNC_ENTRY(vkCreateGraphicsPipelines, createGraphicsPipelines), + VK_NULL_FUNC_ENTRY(vkCreateComputePipelines, createComputePipelines), + VK_NULL_FUNC_ENTRY(vkDestroyPipeline, destroyPipeline), + VK_NULL_FUNC_ENTRY(vkCreatePipelineLayout, createPipelineLayout), + VK_NULL_FUNC_ENTRY(vkDestroyPipelineLayout, destroyPipelineLayout), + VK_NULL_FUNC_ENTRY(vkCreateSampler, createSampler), + VK_NULL_FUNC_ENTRY(vkDestroySampler, destroySampler), + VK_NULL_FUNC_ENTRY(vkCreateDescriptorSetLayout, createDescriptorSetLayout), + VK_NULL_FUNC_ENTRY(vkDestroyDescriptorSetLayout, destroyDescriptorSetLayout), + VK_NULL_FUNC_ENTRY(vkCreateDescriptorPool, createDescriptorPool), + VK_NULL_FUNC_ENTRY(vkDestroyDescriptorPool, destroyDescriptorPool), + VK_NULL_FUNC_ENTRY(vkResetDescriptorPool, resetDescriptorPool), + VK_NULL_FUNC_ENTRY(vkAllocateDescriptorSets, allocateDescriptorSets), + VK_NULL_FUNC_ENTRY(vkFreeDescriptorSets, freeDescriptorSets), + VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSets, updateDescriptorSets), + VK_NULL_FUNC_ENTRY(vkCreateFramebuffer, createFramebuffer), + VK_NULL_FUNC_ENTRY(vkDestroyFramebuffer, destroyFramebuffer), + VK_NULL_FUNC_ENTRY(vkCreateRenderPass, createRenderPass), + VK_NULL_FUNC_ENTRY(vkDestroyRenderPass, destroyRenderPass), + VK_NULL_FUNC_ENTRY(vkGetRenderAreaGranularity, getRenderAreaGranularity), + VK_NULL_FUNC_ENTRY(vkCreateCommandPool, createCommandPool), + VK_NULL_FUNC_ENTRY(vkDestroyCommandPool, destroyCommandPool), + VK_NULL_FUNC_ENTRY(vkResetCommandPool, resetCommandPool), + VK_NULL_FUNC_ENTRY(vkAllocateCommandBuffers, allocateCommandBuffers), + VK_NULL_FUNC_ENTRY(vkFreeCommandBuffers, freeCommandBuffers), + VK_NULL_FUNC_ENTRY(vkBeginCommandBuffer, beginCommandBuffer), + VK_NULL_FUNC_ENTRY(vkEndCommandBuffer, endCommandBuffer), + VK_NULL_FUNC_ENTRY(vkResetCommandBuffer, resetCommandBuffer), + VK_NULL_FUNC_ENTRY(vkCmdBindPipeline, cmdBindPipeline), + VK_NULL_FUNC_ENTRY(vkCmdSetViewport, cmdSetViewport), + VK_NULL_FUNC_ENTRY(vkCmdSetScissor, cmdSetScissor), + VK_NULL_FUNC_ENTRY(vkCmdSetLineWidth, cmdSetLineWidth), + VK_NULL_FUNC_ENTRY(vkCmdSetDepthBias, cmdSetDepthBias), + VK_NULL_FUNC_ENTRY(vkCmdSetBlendConstants, cmdSetBlendConstants), + VK_NULL_FUNC_ENTRY(vkCmdSetDepthBounds, cmdSetDepthBounds), + VK_NULL_FUNC_ENTRY(vkCmdSetStencilCompareMask, cmdSetStencilCompareMask), + VK_NULL_FUNC_ENTRY(vkCmdSetStencilWriteMask, cmdSetStencilWriteMask), + VK_NULL_FUNC_ENTRY(vkCmdSetStencilReference, cmdSetStencilReference), + VK_NULL_FUNC_ENTRY(vkCmdBindDescriptorSets, cmdBindDescriptorSets), + VK_NULL_FUNC_ENTRY(vkCmdBindIndexBuffer, cmdBindIndexBuffer), + VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers, cmdBindVertexBuffers), + VK_NULL_FUNC_ENTRY(vkCmdDraw, cmdDraw), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndexed, cmdDrawIndexed), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndirect, cmdDrawIndirect), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirect, cmdDrawIndexedIndirect), + VK_NULL_FUNC_ENTRY(vkCmdDispatch, cmdDispatch), + VK_NULL_FUNC_ENTRY(vkCmdDispatchIndirect, cmdDispatchIndirect), + VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer, cmdCopyBuffer), + VK_NULL_FUNC_ENTRY(vkCmdCopyImage, cmdCopyImage), + VK_NULL_FUNC_ENTRY(vkCmdBlitImage, cmdBlitImage), + VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage, cmdCopyBufferToImage), + VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer, cmdCopyImageToBuffer), + VK_NULL_FUNC_ENTRY(vkCmdUpdateBuffer, cmdUpdateBuffer), + VK_NULL_FUNC_ENTRY(vkCmdFillBuffer, cmdFillBuffer), + VK_NULL_FUNC_ENTRY(vkCmdClearColorImage, cmdClearColorImage), + VK_NULL_FUNC_ENTRY(vkCmdClearDepthStencilImage, cmdClearDepthStencilImage), + VK_NULL_FUNC_ENTRY(vkCmdClearAttachments, cmdClearAttachments), + VK_NULL_FUNC_ENTRY(vkCmdResolveImage, cmdResolveImage), + VK_NULL_FUNC_ENTRY(vkCmdSetEvent, cmdSetEvent), + VK_NULL_FUNC_ENTRY(vkCmdResetEvent, cmdResetEvent), + VK_NULL_FUNC_ENTRY(vkCmdWaitEvents, cmdWaitEvents), + VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier, cmdPipelineBarrier), + VK_NULL_FUNC_ENTRY(vkCmdBeginQuery, cmdBeginQuery), + VK_NULL_FUNC_ENTRY(vkCmdEndQuery, cmdEndQuery), + VK_NULL_FUNC_ENTRY(vkCmdResetQueryPool, cmdResetQueryPool), + VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp, cmdWriteTimestamp), + VK_NULL_FUNC_ENTRY(vkCmdCopyQueryPoolResults, cmdCopyQueryPoolResults), + VK_NULL_FUNC_ENTRY(vkCmdPushConstants, cmdPushConstants), + VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass, cmdBeginRenderPass), + VK_NULL_FUNC_ENTRY(vkCmdNextSubpass, cmdNextSubpass), + VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass, cmdEndRenderPass), + VK_NULL_FUNC_ENTRY(vkCmdExecuteCommands, cmdExecuteCommands), + VK_NULL_FUNC_ENTRY(vkBindBufferMemory2, bindBufferMemory2), + VK_NULL_FUNC_ENTRY(vkBindImageMemory2, bindImageMemory2), + VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPeerMemoryFeatures, getDeviceGroupPeerMemoryFeatures), + VK_NULL_FUNC_ENTRY(vkCmdSetDeviceMask, cmdSetDeviceMask), + VK_NULL_FUNC_ENTRY(vkCmdDispatchBase, cmdDispatchBase), + VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements2, getImageMemoryRequirements2), + VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements2, getBufferMemoryRequirements2), + VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements2, getImageSparseMemoryRequirements2), + VK_NULL_FUNC_ENTRY(vkTrimCommandPool, trimCommandPool), + VK_NULL_FUNC_ENTRY(vkGetDeviceQueue2, getDeviceQueue2), + VK_NULL_FUNC_ENTRY(vkCreateSamplerYcbcrConversion, createSamplerYcbcrConversion), + VK_NULL_FUNC_ENTRY(vkDestroySamplerYcbcrConversion, destroySamplerYcbcrConversion), + VK_NULL_FUNC_ENTRY(vkCreateDescriptorUpdateTemplate, createDescriptorUpdateTemplate), + VK_NULL_FUNC_ENTRY(vkDestroyDescriptorUpdateTemplate, destroyDescriptorUpdateTemplate), + VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSetWithTemplate, updateDescriptorSetWithTemplate), + VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutSupport, getDescriptorSetLayoutSupport), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectCount, cmdDrawIndirectCount), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCount, cmdDrawIndexedIndirectCount), + VK_NULL_FUNC_ENTRY(vkCreateRenderPass2, createRenderPass2), + VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass2, cmdBeginRenderPass2), + VK_NULL_FUNC_ENTRY(vkCmdNextSubpass2, cmdNextSubpass2), + VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass2, cmdEndRenderPass2), + VK_NULL_FUNC_ENTRY(vkResetQueryPool, resetQueryPool), + VK_NULL_FUNC_ENTRY(vkGetSemaphoreCounterValue, getSemaphoreCounterValue), + VK_NULL_FUNC_ENTRY(vkWaitSemaphores, waitSemaphores), + VK_NULL_FUNC_ENTRY(vkSignalSemaphore, signalSemaphore), + VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddress, getBufferDeviceAddress), + VK_NULL_FUNC_ENTRY(vkGetBufferOpaqueCaptureAddress, getBufferOpaqueCaptureAddress), + VK_NULL_FUNC_ENTRY(vkGetDeviceMemoryOpaqueCaptureAddress, getDeviceMemoryOpaqueCaptureAddress), ++ VK_NULL_FUNC_ENTRY(vkCreatePrivateDataSlot, createPrivateDataSlot), ++ VK_NULL_FUNC_ENTRY(vkDestroyPrivateDataSlot, destroyPrivateDataSlot), ++ VK_NULL_FUNC_ENTRY(vkSetPrivateData, setPrivateData), ++ VK_NULL_FUNC_ENTRY(vkGetPrivateData, getPrivateData), ++ VK_NULL_FUNC_ENTRY(vkCmdSetEvent2, cmdSetEvent2), ++ VK_NULL_FUNC_ENTRY(vkCmdResetEvent2, cmdResetEvent2), ++ VK_NULL_FUNC_ENTRY(vkCmdWaitEvents2, cmdWaitEvents2), ++ VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier2, cmdPipelineBarrier2), ++ VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp2, cmdWriteTimestamp2), ++ VK_NULL_FUNC_ENTRY(vkQueueSubmit2, queueSubmit2), ++ VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer2, cmdCopyBuffer2), ++ VK_NULL_FUNC_ENTRY(vkCmdCopyImage2, cmdCopyImage2), ++ VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage2, cmdCopyBufferToImage2), ++ VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer2, cmdCopyImageToBuffer2), ++ VK_NULL_FUNC_ENTRY(vkCmdBlitImage2, cmdBlitImage2), ++ VK_NULL_FUNC_ENTRY(vkCmdResolveImage2, cmdResolveImage2), ++ VK_NULL_FUNC_ENTRY(vkCmdBeginRendering, cmdBeginRendering), ++ VK_NULL_FUNC_ENTRY(vkCmdEndRendering, cmdEndRendering), ++ VK_NULL_FUNC_ENTRY(vkCmdSetCullMode, cmdSetCullMode), ++ VK_NULL_FUNC_ENTRY(vkCmdSetFrontFace, cmdSetFrontFace), ++ VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveTopology, cmdSetPrimitiveTopology), ++ VK_NULL_FUNC_ENTRY(vkCmdSetViewportWithCount, cmdSetViewportWithCount), ++ VK_NULL_FUNC_ENTRY(vkCmdSetScissorWithCount, cmdSetScissorWithCount), ++ VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers2, cmdBindVertexBuffers2), ++ VK_NULL_FUNC_ENTRY(vkCmdSetDepthTestEnable, cmdSetDepthTestEnable), ++ VK_NULL_FUNC_ENTRY(vkCmdSetDepthWriteEnable, cmdSetDepthWriteEnable), ++ VK_NULL_FUNC_ENTRY(vkCmdSetDepthCompareOp, cmdSetDepthCompareOp), ++ VK_NULL_FUNC_ENTRY(vkCmdSetDepthBoundsTestEnable, cmdSetDepthBoundsTestEnable), ++ VK_NULL_FUNC_ENTRY(vkCmdSetStencilTestEnable, cmdSetStencilTestEnable), ++ VK_NULL_FUNC_ENTRY(vkCmdSetStencilOp, cmdSetStencilOp), ++ VK_NULL_FUNC_ENTRY(vkCmdSetRasterizerDiscardEnable, cmdSetRasterizerDiscardEnable), ++ VK_NULL_FUNC_ENTRY(vkCmdSetDepthBiasEnable, cmdSetDepthBiasEnable), ++ VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveRestartEnable, cmdSetPrimitiveRestartEnable), ++ VK_NULL_FUNC_ENTRY(vkGetDeviceBufferMemoryRequirements, getDeviceBufferMemoryRequirements), ++ VK_NULL_FUNC_ENTRY(vkGetDeviceImageMemoryRequirements, getDeviceImageMemoryRequirements), ++ VK_NULL_FUNC_ENTRY(vkGetDeviceImageSparseMemoryRequirements, getDeviceImageSparseMemoryRequirements), + VK_NULL_FUNC_ENTRY(vkCreateSwapchainKHR, createSwapchainKHR), + VK_NULL_FUNC_ENTRY(vkDestroySwapchainKHR, destroySwapchainKHR), + VK_NULL_FUNC_ENTRY(vkGetSwapchainImagesKHR, getSwapchainImagesKHR), + VK_NULL_FUNC_ENTRY(vkAcquireNextImageKHR, acquireNextImageKHR), + VK_NULL_FUNC_ENTRY(vkQueuePresentKHR, queuePresentKHR), + VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPresentCapabilitiesKHR, getDeviceGroupPresentCapabilitiesKHR), + VK_NULL_FUNC_ENTRY(vkGetDeviceGroupSurfacePresentModesKHR, getDeviceGroupSurfacePresentModesKHR), + VK_NULL_FUNC_ENTRY(vkAcquireNextImage2KHR, acquireNextImage2KHR), + VK_NULL_FUNC_ENTRY(vkCreateSharedSwapchainsKHR, createSharedSwapchainsKHR), - VK_NULL_FUNC_ENTRY(vkCmdBeginRenderingKHR, cmdBeginRenderingKHR), - VK_NULL_FUNC_ENTRY(vkCmdEndRenderingKHR, cmdEndRenderingKHR), ++ VK_NULL_FUNC_ENTRY(vkCmdBeginRenderingKHR, cmdBeginRendering), ++ VK_NULL_FUNC_ENTRY(vkCmdEndRenderingKHR, cmdEndRendering), + VK_NULL_FUNC_ENTRY(vkGetDeviceGroupPeerMemoryFeaturesKHR, getDeviceGroupPeerMemoryFeatures), + VK_NULL_FUNC_ENTRY(vkCmdSetDeviceMaskKHR, cmdSetDeviceMask), + VK_NULL_FUNC_ENTRY(vkCmdDispatchBaseKHR, cmdDispatchBase), + VK_NULL_FUNC_ENTRY(vkTrimCommandPoolKHR, trimCommandPool), + VK_NULL_FUNC_ENTRY(vkGetMemoryFdKHR, getMemoryFdKHR), + VK_NULL_FUNC_ENTRY(vkGetMemoryFdPropertiesKHR, getMemoryFdPropertiesKHR), + VK_NULL_FUNC_ENTRY(vkImportSemaphoreFdKHR, importSemaphoreFdKHR), + VK_NULL_FUNC_ENTRY(vkGetSemaphoreFdKHR, getSemaphoreFdKHR), + VK_NULL_FUNC_ENTRY(vkCmdPushDescriptorSetKHR, cmdPushDescriptorSetKHR), + VK_NULL_FUNC_ENTRY(vkCmdPushDescriptorSetWithTemplateKHR, cmdPushDescriptorSetWithTemplateKHR), + VK_NULL_FUNC_ENTRY(vkCreateDescriptorUpdateTemplateKHR, createDescriptorUpdateTemplate), + VK_NULL_FUNC_ENTRY(vkDestroyDescriptorUpdateTemplateKHR, destroyDescriptorUpdateTemplate), + VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSetWithTemplateKHR, updateDescriptorSetWithTemplate), + VK_NULL_FUNC_ENTRY(vkCreateRenderPass2KHR, createRenderPass2), + VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass2KHR, cmdBeginRenderPass2), + VK_NULL_FUNC_ENTRY(vkCmdNextSubpass2KHR, cmdNextSubpass2), + VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass2KHR, cmdEndRenderPass2), + VK_NULL_FUNC_ENTRY(vkGetSwapchainStatusKHR, getSwapchainStatusKHR), + VK_NULL_FUNC_ENTRY(vkImportFenceFdKHR, importFenceFdKHR), + VK_NULL_FUNC_ENTRY(vkGetFenceFdKHR, getFenceFdKHR), + VK_NULL_FUNC_ENTRY(vkAcquireProfilingLockKHR, acquireProfilingLockKHR), + VK_NULL_FUNC_ENTRY(vkReleaseProfilingLockKHR, releaseProfilingLockKHR), + VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements2KHR, getImageMemoryRequirements2), + VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements2KHR, getBufferMemoryRequirements2), + VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements2KHR, getImageSparseMemoryRequirements2), + VK_NULL_FUNC_ENTRY(vkCreateSamplerYcbcrConversionKHR, createSamplerYcbcrConversion), + VK_NULL_FUNC_ENTRY(vkDestroySamplerYcbcrConversionKHR, destroySamplerYcbcrConversion), + VK_NULL_FUNC_ENTRY(vkBindBufferMemory2KHR, bindBufferMemory2), + VK_NULL_FUNC_ENTRY(vkBindImageMemory2KHR, bindImageMemory2), + VK_NULL_FUNC_ENTRY(vkGetDescriptorSetLayoutSupportKHR, getDescriptorSetLayoutSupport), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectCountKHR, cmdDrawIndirectCount), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCountKHR, cmdDrawIndexedIndirectCount), + VK_NULL_FUNC_ENTRY(vkGetSemaphoreCounterValueKHR, getSemaphoreCounterValue), + VK_NULL_FUNC_ENTRY(vkWaitSemaphoresKHR, waitSemaphores), + VK_NULL_FUNC_ENTRY(vkSignalSemaphoreKHR, signalSemaphore), + VK_NULL_FUNC_ENTRY(vkCmdSetFragmentShadingRateKHR, cmdSetFragmentShadingRateKHR), + VK_NULL_FUNC_ENTRY(vkWaitForPresentKHR, waitForPresentKHR), + VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddressKHR, getBufferDeviceAddress), + VK_NULL_FUNC_ENTRY(vkGetBufferOpaqueCaptureAddressKHR, getBufferOpaqueCaptureAddress), + VK_NULL_FUNC_ENTRY(vkGetDeviceMemoryOpaqueCaptureAddressKHR, getDeviceMemoryOpaqueCaptureAddress), + VK_NULL_FUNC_ENTRY(vkCreateDeferredOperationKHR, createDeferredOperationKHR), + VK_NULL_FUNC_ENTRY(vkDestroyDeferredOperationKHR, destroyDeferredOperationKHR), + VK_NULL_FUNC_ENTRY(vkGetDeferredOperationMaxConcurrencyKHR, getDeferredOperationMaxConcurrencyKHR), + VK_NULL_FUNC_ENTRY(vkGetDeferredOperationResultKHR, getDeferredOperationResultKHR), + VK_NULL_FUNC_ENTRY(vkDeferredOperationJoinKHR, deferredOperationJoinKHR), + VK_NULL_FUNC_ENTRY(vkGetPipelineExecutablePropertiesKHR, getPipelineExecutablePropertiesKHR), + VK_NULL_FUNC_ENTRY(vkGetPipelineExecutableStatisticsKHR, getPipelineExecutableStatisticsKHR), + VK_NULL_FUNC_ENTRY(vkGetPipelineExecutableInternalRepresentationsKHR, getPipelineExecutableInternalRepresentationsKHR), - VK_NULL_FUNC_ENTRY(vkCmdSetEvent2KHR, cmdSetEvent2KHR), - VK_NULL_FUNC_ENTRY(vkCmdResetEvent2KHR, cmdResetEvent2KHR), - VK_NULL_FUNC_ENTRY(vkCmdWaitEvents2KHR, cmdWaitEvents2KHR), - VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier2KHR, cmdPipelineBarrier2KHR), - VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp2KHR, cmdWriteTimestamp2KHR), - VK_NULL_FUNC_ENTRY(vkQueueSubmit2KHR, queueSubmit2KHR), ++ VK_NULL_FUNC_ENTRY(vkCmdSetEvent2KHR, cmdSetEvent2), ++ VK_NULL_FUNC_ENTRY(vkCmdResetEvent2KHR, cmdResetEvent2), ++ VK_NULL_FUNC_ENTRY(vkCmdWaitEvents2KHR, cmdWaitEvents2), ++ VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier2KHR, cmdPipelineBarrier2), ++ VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp2KHR, cmdWriteTimestamp2), ++ VK_NULL_FUNC_ENTRY(vkQueueSubmit2KHR, queueSubmit2), + VK_NULL_FUNC_ENTRY(vkCmdWriteBufferMarker2AMD, cmdWriteBufferMarker2AMD), + VK_NULL_FUNC_ENTRY(vkGetQueueCheckpointData2NV, getQueueCheckpointData2NV), - VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer2KHR, cmdCopyBuffer2KHR), - VK_NULL_FUNC_ENTRY(vkCmdCopyImage2KHR, cmdCopyImage2KHR), - VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage2KHR, cmdCopyBufferToImage2KHR), - VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer2KHR, cmdCopyImageToBuffer2KHR), - VK_NULL_FUNC_ENTRY(vkCmdBlitImage2KHR, cmdBlitImage2KHR), - VK_NULL_FUNC_ENTRY(vkCmdResolveImage2KHR, cmdResolveImage2KHR), - VK_NULL_FUNC_ENTRY(vkGetDeviceBufferMemoryRequirementsKHR, getDeviceBufferMemoryRequirementsKHR), - VK_NULL_FUNC_ENTRY(vkGetDeviceImageMemoryRequirementsKHR, getDeviceImageMemoryRequirementsKHR), - VK_NULL_FUNC_ENTRY(vkGetDeviceImageSparseMemoryRequirementsKHR, getDeviceImageSparseMemoryRequirementsKHR), ++ VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer2KHR, cmdCopyBuffer2), ++ VK_NULL_FUNC_ENTRY(vkCmdCopyImage2KHR, cmdCopyImage2), ++ VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage2KHR, cmdCopyBufferToImage2), ++ VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer2KHR, cmdCopyImageToBuffer2), ++ VK_NULL_FUNC_ENTRY(vkCmdBlitImage2KHR, cmdBlitImage2), ++ VK_NULL_FUNC_ENTRY(vkCmdResolveImage2KHR, cmdResolveImage2), ++ VK_NULL_FUNC_ENTRY(vkGetDeviceBufferMemoryRequirementsKHR, getDeviceBufferMemoryRequirements), ++ VK_NULL_FUNC_ENTRY(vkGetDeviceImageMemoryRequirementsKHR, getDeviceImageMemoryRequirements), ++ VK_NULL_FUNC_ENTRY(vkGetDeviceImageSparseMemoryRequirementsKHR, getDeviceImageSparseMemoryRequirements), + VK_NULL_FUNC_ENTRY(vkDebugMarkerSetObjectTagEXT, debugMarkerSetObjectTagEXT), + VK_NULL_FUNC_ENTRY(vkDebugMarkerSetObjectNameEXT, debugMarkerSetObjectNameEXT), + VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerBeginEXT, cmdDebugMarkerBeginEXT), + VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerEndEXT, cmdDebugMarkerEndEXT), + VK_NULL_FUNC_ENTRY(vkCmdDebugMarkerInsertEXT, cmdDebugMarkerInsertEXT), + VK_NULL_FUNC_ENTRY(vkCmdBindTransformFeedbackBuffersEXT, cmdBindTransformFeedbackBuffersEXT), + VK_NULL_FUNC_ENTRY(vkCmdBeginTransformFeedbackEXT, cmdBeginTransformFeedbackEXT), + VK_NULL_FUNC_ENTRY(vkCmdEndTransformFeedbackEXT, cmdEndTransformFeedbackEXT), + VK_NULL_FUNC_ENTRY(vkCmdBeginQueryIndexedEXT, cmdBeginQueryIndexedEXT), + VK_NULL_FUNC_ENTRY(vkCmdEndQueryIndexedEXT, cmdEndQueryIndexedEXT), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectByteCountEXT, cmdDrawIndirectByteCountEXT), + VK_NULL_FUNC_ENTRY(vkCreateCuModuleNVX, createCuModuleNVX), + VK_NULL_FUNC_ENTRY(vkCreateCuFunctionNVX, createCuFunctionNVX), + VK_NULL_FUNC_ENTRY(vkDestroyCuModuleNVX, destroyCuModuleNVX), + VK_NULL_FUNC_ENTRY(vkDestroyCuFunctionNVX, destroyCuFunctionNVX), + VK_NULL_FUNC_ENTRY(vkCmdCuLaunchKernelNVX, cmdCuLaunchKernelNVX), + VK_NULL_FUNC_ENTRY(vkGetImageViewHandleNVX, getImageViewHandleNVX), + VK_NULL_FUNC_ENTRY(vkGetImageViewAddressNVX, getImageViewAddressNVX), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndirectCountAMD, cmdDrawIndirectCountAMD), + VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirectCountAMD, cmdDrawIndexedIndirectCountAMD), + VK_NULL_FUNC_ENTRY(vkGetShaderInfoAMD, getShaderInfoAMD), + VK_NULL_FUNC_ENTRY(vkCmdBeginConditionalRenderingEXT, cmdBeginConditionalRenderingEXT), + VK_NULL_FUNC_ENTRY(vkCmdEndConditionalRenderingEXT, cmdEndConditionalRenderingEXT), + VK_NULL_FUNC_ENTRY(vkCmdSetViewportWScalingNV, cmdSetViewportWScalingNV), + VK_NULL_FUNC_ENTRY(vkDisplayPowerControlEXT, displayPowerControlEXT), + VK_NULL_FUNC_ENTRY(vkRegisterDeviceEventEXT, registerDeviceEventEXT), + VK_NULL_FUNC_ENTRY(vkRegisterDisplayEventEXT, registerDisplayEventEXT), + VK_NULL_FUNC_ENTRY(vkGetSwapchainCounterEXT, getSwapchainCounterEXT), + VK_NULL_FUNC_ENTRY(vkGetRefreshCycleDurationGOOGLE, getRefreshCycleDurationGOOGLE), + VK_NULL_FUNC_ENTRY(vkGetPastPresentationTimingGOOGLE, getPastPresentationTimingGOOGLE), + VK_NULL_FUNC_ENTRY(vkCmdSetDiscardRectangleEXT, cmdSetDiscardRectangleEXT), + VK_NULL_FUNC_ENTRY(vkSetHdrMetadataEXT, setHdrMetadataEXT), + VK_NULL_FUNC_ENTRY(vkSetDebugUtilsObjectNameEXT, setDebugUtilsObjectNameEXT), + VK_NULL_FUNC_ENTRY(vkSetDebugUtilsObjectTagEXT, setDebugUtilsObjectTagEXT), + VK_NULL_FUNC_ENTRY(vkQueueBeginDebugUtilsLabelEXT, queueBeginDebugUtilsLabelEXT), + VK_NULL_FUNC_ENTRY(vkQueueEndDebugUtilsLabelEXT, queueEndDebugUtilsLabelEXT), + VK_NULL_FUNC_ENTRY(vkQueueInsertDebugUtilsLabelEXT, queueInsertDebugUtilsLabelEXT), + VK_NULL_FUNC_ENTRY(vkCmdBeginDebugUtilsLabelEXT, cmdBeginDebugUtilsLabelEXT), + VK_NULL_FUNC_ENTRY(vkCmdEndDebugUtilsLabelEXT, cmdEndDebugUtilsLabelEXT), + VK_NULL_FUNC_ENTRY(vkCmdInsertDebugUtilsLabelEXT, cmdInsertDebugUtilsLabelEXT), + VK_NULL_FUNC_ENTRY(vkCmdSetSampleLocationsEXT, cmdSetSampleLocationsEXT), + VK_NULL_FUNC_ENTRY(vkGetImageDrmFormatModifierPropertiesEXT, getImageDrmFormatModifierPropertiesEXT), + VK_NULL_FUNC_ENTRY(vkCreateValidationCacheEXT, createValidationCacheEXT), + VK_NULL_FUNC_ENTRY(vkDestroyValidationCacheEXT, destroyValidationCacheEXT), + VK_NULL_FUNC_ENTRY(vkMergeValidationCachesEXT, mergeValidationCachesEXT), + VK_NULL_FUNC_ENTRY(vkGetValidationCacheDataEXT, getValidationCacheDataEXT), + VK_NULL_FUNC_ENTRY(vkCmdBindShadingRateImageNV, cmdBindShadingRateImageNV), + VK_NULL_FUNC_ENTRY(vkCmdSetViewportShadingRatePaletteNV, cmdSetViewportShadingRatePaletteNV), + VK_NULL_FUNC_ENTRY(vkCmdSetCoarseSampleOrderNV, cmdSetCoarseSampleOrderNV), + VK_NULL_FUNC_ENTRY(vkCreateAccelerationStructureNV, createAccelerationStructureNV), + VK_NULL_FUNC_ENTRY(vkDestroyAccelerationStructureNV, destroyAccelerationStructureNV), + VK_NULL_FUNC_ENTRY(vkGetAccelerationStructureMemoryRequirementsNV, getAccelerationStructureMemoryRequirementsNV), + VK_NULL_FUNC_ENTRY(vkBindAccelerationStructureMemoryNV, bindAccelerationStructureMemoryNV), + VK_NULL_FUNC_ENTRY(vkCmdBuildAccelerationStructureNV, cmdBuildAccelerationStructureNV), + VK_NULL_FUNC_ENTRY(vkCmdCopyAccelerationStructureNV, cmdCopyAccelerationStructureNV), + VK_NULL_FUNC_ENTRY(vkCmdTraceRaysNV, cmdTraceRaysNV), + VK_NULL_FUNC_ENTRY(vkCreateRayTracingPipelinesNV, createRayTracingPipelinesNV), + VK_NULL_FUNC_ENTRY(vkGetRayTracingShaderGroupHandlesKHR, getRayTracingShaderGroupHandlesKHR), + VK_NULL_FUNC_ENTRY(vkGetRayTracingShaderGroupHandlesNV, getRayTracingShaderGroupHandlesNV), + VK_NULL_FUNC_ENTRY(vkGetAccelerationStructureHandleNV, getAccelerationStructureHandleNV), + VK_NULL_FUNC_ENTRY(vkCmdWriteAccelerationStructuresPropertiesNV, cmdWriteAccelerationStructuresPropertiesNV), + VK_NULL_FUNC_ENTRY(vkCompileDeferredNV, compileDeferredNV), + VK_NULL_FUNC_ENTRY(vkGetMemoryHostPointerPropertiesEXT, getMemoryHostPointerPropertiesEXT), + VK_NULL_FUNC_ENTRY(vkCmdWriteBufferMarkerAMD, cmdWriteBufferMarkerAMD), + VK_NULL_FUNC_ENTRY(vkGetCalibratedTimestampsEXT, getCalibratedTimestampsEXT), + VK_NULL_FUNC_ENTRY(vkCmdDrawMeshTasksNV, cmdDrawMeshTasksNV), + VK_NULL_FUNC_ENTRY(vkCmdDrawMeshTasksIndirectNV, cmdDrawMeshTasksIndirectNV), + VK_NULL_FUNC_ENTRY(vkCmdDrawMeshTasksIndirectCountNV, cmdDrawMeshTasksIndirectCountNV), + VK_NULL_FUNC_ENTRY(vkCmdSetExclusiveScissorNV, cmdSetExclusiveScissorNV), + VK_NULL_FUNC_ENTRY(vkCmdSetCheckpointNV, cmdSetCheckpointNV), + VK_NULL_FUNC_ENTRY(vkGetQueueCheckpointDataNV, getQueueCheckpointDataNV), + VK_NULL_FUNC_ENTRY(vkInitializePerformanceApiINTEL, initializePerformanceApiINTEL), + VK_NULL_FUNC_ENTRY(vkUninitializePerformanceApiINTEL, uninitializePerformanceApiINTEL), + VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceMarkerINTEL, cmdSetPerformanceMarkerINTEL), + VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceStreamMarkerINTEL, cmdSetPerformanceStreamMarkerINTEL), + VK_NULL_FUNC_ENTRY(vkCmdSetPerformanceOverrideINTEL, cmdSetPerformanceOverrideINTEL), + VK_NULL_FUNC_ENTRY(vkAcquirePerformanceConfigurationINTEL, acquirePerformanceConfigurationINTEL), + VK_NULL_FUNC_ENTRY(vkReleasePerformanceConfigurationINTEL, releasePerformanceConfigurationINTEL), + VK_NULL_FUNC_ENTRY(vkQueueSetPerformanceConfigurationINTEL, queueSetPerformanceConfigurationINTEL), + VK_NULL_FUNC_ENTRY(vkGetPerformanceParameterINTEL, getPerformanceParameterINTEL), + VK_NULL_FUNC_ENTRY(vkSetLocalDimmingAMD, setLocalDimmingAMD), + VK_NULL_FUNC_ENTRY(vkGetBufferDeviceAddressEXT, getBufferDeviceAddressEXT), + VK_NULL_FUNC_ENTRY(vkCmdSetLineStippleEXT, cmdSetLineStippleEXT), + VK_NULL_FUNC_ENTRY(vkResetQueryPoolEXT, resetQueryPool), - VK_NULL_FUNC_ENTRY(vkCmdSetCullModeEXT, cmdSetCullModeEXT), - VK_NULL_FUNC_ENTRY(vkCmdSetFrontFaceEXT, cmdSetFrontFaceEXT), - VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveTopologyEXT, cmdSetPrimitiveTopologyEXT), - VK_NULL_FUNC_ENTRY(vkCmdSetViewportWithCountEXT, cmdSetViewportWithCountEXT), - VK_NULL_FUNC_ENTRY(vkCmdSetScissorWithCountEXT, cmdSetScissorWithCountEXT), - VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers2EXT, cmdBindVertexBuffers2EXT), - VK_NULL_FUNC_ENTRY(vkCmdSetDepthTestEnableEXT, cmdSetDepthTestEnableEXT), - VK_NULL_FUNC_ENTRY(vkCmdSetDepthWriteEnableEXT, cmdSetDepthWriteEnableEXT), - VK_NULL_FUNC_ENTRY(vkCmdSetDepthCompareOpEXT, cmdSetDepthCompareOpEXT), - VK_NULL_FUNC_ENTRY(vkCmdSetDepthBoundsTestEnableEXT, cmdSetDepthBoundsTestEnableEXT), - VK_NULL_FUNC_ENTRY(vkCmdSetStencilTestEnableEXT, cmdSetStencilTestEnableEXT), - VK_NULL_FUNC_ENTRY(vkCmdSetStencilOpEXT, cmdSetStencilOpEXT), ++ VK_NULL_FUNC_ENTRY(vkCmdSetCullModeEXT, cmdSetCullMode), ++ VK_NULL_FUNC_ENTRY(vkCmdSetFrontFaceEXT, cmdSetFrontFace), ++ VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveTopologyEXT, cmdSetPrimitiveTopology), ++ VK_NULL_FUNC_ENTRY(vkCmdSetViewportWithCountEXT, cmdSetViewportWithCount), ++ VK_NULL_FUNC_ENTRY(vkCmdSetScissorWithCountEXT, cmdSetScissorWithCount), ++ VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers2EXT, cmdBindVertexBuffers2), ++ VK_NULL_FUNC_ENTRY(vkCmdSetDepthTestEnableEXT, cmdSetDepthTestEnable), ++ VK_NULL_FUNC_ENTRY(vkCmdSetDepthWriteEnableEXT, cmdSetDepthWriteEnable), ++ VK_NULL_FUNC_ENTRY(vkCmdSetDepthCompareOpEXT, cmdSetDepthCompareOp), ++ VK_NULL_FUNC_ENTRY(vkCmdSetDepthBoundsTestEnableEXT, cmdSetDepthBoundsTestEnable), ++ VK_NULL_FUNC_ENTRY(vkCmdSetStencilTestEnableEXT, cmdSetStencilTestEnable), ++ VK_NULL_FUNC_ENTRY(vkCmdSetStencilOpEXT, cmdSetStencilOp), + VK_NULL_FUNC_ENTRY(vkGetGeneratedCommandsMemoryRequirementsNV, getGeneratedCommandsMemoryRequirementsNV), + VK_NULL_FUNC_ENTRY(vkCmdPreprocessGeneratedCommandsNV, cmdPreprocessGeneratedCommandsNV), + VK_NULL_FUNC_ENTRY(vkCmdExecuteGeneratedCommandsNV, cmdExecuteGeneratedCommandsNV), + VK_NULL_FUNC_ENTRY(vkCmdBindPipelineShaderGroupNV, cmdBindPipelineShaderGroupNV), + VK_NULL_FUNC_ENTRY(vkCreateIndirectCommandsLayoutNV, createIndirectCommandsLayoutNV), + VK_NULL_FUNC_ENTRY(vkDestroyIndirectCommandsLayoutNV, destroyIndirectCommandsLayoutNV), - VK_NULL_FUNC_ENTRY(vkCreatePrivateDataSlotEXT, createPrivateDataSlotEXT), - VK_NULL_FUNC_ENTRY(vkDestroyPrivateDataSlotEXT, destroyPrivateDataSlotEXT), - VK_NULL_FUNC_ENTRY(vkSetPrivateDataEXT, setPrivateDataEXT), - VK_NULL_FUNC_ENTRY(vkGetPrivateDataEXT, getPrivateDataEXT), ++ VK_NULL_FUNC_ENTRY(vkCreatePrivateDataSlotEXT, createPrivateDataSlot), ++ VK_NULL_FUNC_ENTRY(vkDestroyPrivateDataSlotEXT, destroyPrivateDataSlot), ++ VK_NULL_FUNC_ENTRY(vkSetPrivateDataEXT, setPrivateData), ++ VK_NULL_FUNC_ENTRY(vkGetPrivateDataEXT, getPrivateData), + VK_NULL_FUNC_ENTRY(vkCmdSetFragmentShadingRateEnumNV, cmdSetFragmentShadingRateEnumNV), + VK_NULL_FUNC_ENTRY(vkCmdSetVertexInputEXT, cmdSetVertexInputEXT), + VK_NULL_FUNC_ENTRY(vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI), + VK_NULL_FUNC_ENTRY(vkCmdSubpassShadingHUAWEI, cmdSubpassShadingHUAWEI), + VK_NULL_FUNC_ENTRY(vkCmdBindInvocationMaskHUAWEI, cmdBindInvocationMaskHUAWEI), + VK_NULL_FUNC_ENTRY(vkGetMemoryRemoteAddressNV, getMemoryRemoteAddressNV), + VK_NULL_FUNC_ENTRY(vkCmdSetPatchControlPointsEXT, cmdSetPatchControlPointsEXT), - VK_NULL_FUNC_ENTRY(vkCmdSetRasterizerDiscardEnableEXT, cmdSetRasterizerDiscardEnableEXT), - VK_NULL_FUNC_ENTRY(vkCmdSetDepthBiasEnableEXT, cmdSetDepthBiasEnableEXT), ++ VK_NULL_FUNC_ENTRY(vkCmdSetRasterizerDiscardEnableEXT, cmdSetRasterizerDiscardEnable), ++ VK_NULL_FUNC_ENTRY(vkCmdSetDepthBiasEnableEXT, cmdSetDepthBiasEnable), + VK_NULL_FUNC_ENTRY(vkCmdSetLogicOpEXT, cmdSetLogicOpEXT), - VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveRestartEnableEXT, cmdSetPrimitiveRestartEnableEXT), ++ VK_NULL_FUNC_ENTRY(vkCmdSetPrimitiveRestartEnableEXT, cmdSetPrimitiveRestartEnable), + VK_NULL_FUNC_ENTRY(vkCmdSetColorWriteEnableEXT, cmdSetColorWriteEnableEXT), + VK_NULL_FUNC_ENTRY(vkCmdDrawMultiEXT, cmdDrawMultiEXT), + VK_NULL_FUNC_ENTRY(vkCmdDrawMultiIndexedEXT, cmdDrawMultiIndexedEXT), + VK_NULL_FUNC_ENTRY(vkSetDeviceMemoryPriorityEXT, setDeviceMemoryPriorityEXT), + VK_NULL_FUNC_ENTRY(vkCreateAccelerationStructureKHR, createAccelerationStructureKHR), + VK_NULL_FUNC_ENTRY(vkDestroyAccelerationStructureKHR, destroyAccelerationStructureKHR), + VK_NULL_FUNC_ENTRY(vkCmdBuildAccelerationStructuresKHR, cmdBuildAccelerationStructuresKHR), + VK_NULL_FUNC_ENTRY(vkCmdBuildAccelerationStructuresIndirectKHR, cmdBuildAccelerationStructuresIndirectKHR), + VK_NULL_FUNC_ENTRY(vkBuildAccelerationStructuresKHR, buildAccelerationStructuresKHR), + VK_NULL_FUNC_ENTRY(vkCopyAccelerationStructureKHR, copyAccelerationStructureKHR), + VK_NULL_FUNC_ENTRY(vkCopyAccelerationStructureToMemoryKHR, copyAccelerationStructureToMemoryKHR), + VK_NULL_FUNC_ENTRY(vkCopyMemoryToAccelerationStructureKHR, copyMemoryToAccelerationStructureKHR), + VK_NULL_FUNC_ENTRY(vkWriteAccelerationStructuresPropertiesKHR, writeAccelerationStructuresPropertiesKHR), + VK_NULL_FUNC_ENTRY(vkCmdCopyAccelerationStructureKHR, cmdCopyAccelerationStructureKHR), + VK_NULL_FUNC_ENTRY(vkCmdCopyAccelerationStructureToMemoryKHR, cmdCopyAccelerationStructureToMemoryKHR), + VK_NULL_FUNC_ENTRY(vkCmdCopyMemoryToAccelerationStructureKHR, cmdCopyMemoryToAccelerationStructureKHR), + VK_NULL_FUNC_ENTRY(vkGetAccelerationStructureDeviceAddressKHR, getAccelerationStructureDeviceAddressKHR), + VK_NULL_FUNC_ENTRY(vkCmdWriteAccelerationStructuresPropertiesKHR, cmdWriteAccelerationStructuresPropertiesKHR), + VK_NULL_FUNC_ENTRY(vkGetDeviceAccelerationStructureCompatibilityKHR, getDeviceAccelerationStructureCompatibilityKHR), + VK_NULL_FUNC_ENTRY(vkGetAccelerationStructureBuildSizesKHR, getAccelerationStructureBuildSizesKHR), + VK_NULL_FUNC_ENTRY(vkCmdTraceRaysKHR, cmdTraceRaysKHR), + VK_NULL_FUNC_ENTRY(vkCreateRayTracingPipelinesKHR, createRayTracingPipelinesKHR), + VK_NULL_FUNC_ENTRY(vkGetRayTracingCaptureReplayShaderGroupHandlesKHR, getRayTracingCaptureReplayShaderGroupHandlesKHR), + VK_NULL_FUNC_ENTRY(vkCmdTraceRaysIndirectKHR, cmdTraceRaysIndirectKHR), + VK_NULL_FUNC_ENTRY(vkGetRayTracingShaderGroupStackSizeKHR, getRayTracingShaderGroupStackSizeKHR), + VK_NULL_FUNC_ENTRY(vkCmdSetRayTracingPipelineStackSizeKHR, cmdSetRayTracingPipelineStackSizeKHR), + VK_NULL_FUNC_ENTRY(vkGetAndroidHardwareBufferPropertiesANDROID, getAndroidHardwareBufferPropertiesANDROID), + VK_NULL_FUNC_ENTRY(vkGetMemoryAndroidHardwareBufferANDROID, getMemoryAndroidHardwareBufferANDROID), + VK_NULL_FUNC_ENTRY(vkCreateVideoSessionKHR, createVideoSessionKHR), + VK_NULL_FUNC_ENTRY(vkDestroyVideoSessionKHR, destroyVideoSessionKHR), + VK_NULL_FUNC_ENTRY(vkGetVideoSessionMemoryRequirementsKHR, getVideoSessionMemoryRequirementsKHR), + VK_NULL_FUNC_ENTRY(vkBindVideoSessionMemoryKHR, bindVideoSessionMemoryKHR), + VK_NULL_FUNC_ENTRY(vkCreateVideoSessionParametersKHR, createVideoSessionParametersKHR), + VK_NULL_FUNC_ENTRY(vkUpdateVideoSessionParametersKHR, updateVideoSessionParametersKHR), + VK_NULL_FUNC_ENTRY(vkDestroyVideoSessionParametersKHR, destroyVideoSessionParametersKHR), + VK_NULL_FUNC_ENTRY(vkCmdBeginVideoCodingKHR, cmdBeginVideoCodingKHR), + VK_NULL_FUNC_ENTRY(vkCmdEndVideoCodingKHR, cmdEndVideoCodingKHR), + VK_NULL_FUNC_ENTRY(vkCmdControlVideoCodingKHR, cmdControlVideoCodingKHR), + VK_NULL_FUNC_ENTRY(vkCmdDecodeVideoKHR, cmdDecodeVideoKHR), + VK_NULL_FUNC_ENTRY(vkCmdEncodeVideoKHR, cmdEncodeVideoKHR), + VK_NULL_FUNC_ENTRY(vkGetMemoryZirconHandleFUCHSIA, getMemoryZirconHandleFUCHSIA), + VK_NULL_FUNC_ENTRY(vkGetMemoryZirconHandlePropertiesFUCHSIA, getMemoryZirconHandlePropertiesFUCHSIA), + VK_NULL_FUNC_ENTRY(vkImportSemaphoreZirconHandleFUCHSIA, importSemaphoreZirconHandleFUCHSIA), + VK_NULL_FUNC_ENTRY(vkGetSemaphoreZirconHandleFUCHSIA, getSemaphoreZirconHandleFUCHSIA), + VK_NULL_FUNC_ENTRY(vkCreateBufferCollectionFUCHSIA, createBufferCollectionFUCHSIA), + VK_NULL_FUNC_ENTRY(vkSetBufferCollectionImageConstraintsFUCHSIA, setBufferCollectionImageConstraintsFUCHSIA), + VK_NULL_FUNC_ENTRY(vkSetBufferCollectionBufferConstraintsFUCHSIA, setBufferCollectionBufferConstraintsFUCHSIA), + VK_NULL_FUNC_ENTRY(vkDestroyBufferCollectionFUCHSIA, destroyBufferCollectionFUCHSIA), + VK_NULL_FUNC_ENTRY(vkGetBufferCollectionPropertiesFUCHSIA, getBufferCollectionPropertiesFUCHSIA), + VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandleKHR, getMemoryWin32HandleKHR), + VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandlePropertiesKHR, getMemoryWin32HandlePropertiesKHR), + VK_NULL_FUNC_ENTRY(vkImportSemaphoreWin32HandleKHR, importSemaphoreWin32HandleKHR), + VK_NULL_FUNC_ENTRY(vkGetSemaphoreWin32HandleKHR, getSemaphoreWin32HandleKHR), + VK_NULL_FUNC_ENTRY(vkImportFenceWin32HandleKHR, importFenceWin32HandleKHR), + VK_NULL_FUNC_ENTRY(vkGetFenceWin32HandleKHR, getFenceWin32HandleKHR), + VK_NULL_FUNC_ENTRY(vkGetMemoryWin32HandleNV, getMemoryWin32HandleNV), + VK_NULL_FUNC_ENTRY(vkAcquireFullScreenExclusiveModeEXT, acquireFullScreenExclusiveModeEXT), + VK_NULL_FUNC_ENTRY(vkReleaseFullScreenExclusiveModeEXT, releaseFullScreenExclusiveModeEXT), + VK_NULL_FUNC_ENTRY(vkGetDeviceGroupSurfacePresentModes2EXT, getDeviceGroupSurfacePresentModes2EXT), + }; + diff --cc external/vulkancts/framework/vulkan/vkObjTypeImpl.inl index 0000000,40dd975..50ade14 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkObjTypeImpl.inl +++ b/external/vulkancts/framework/vulkan/vkObjTypeImpl.inl @@@ -1,0 -1,53 +1,53 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + namespace vk + { + template VkObjectType getObjectType (void); + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_BUFFER; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_IMAGE; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_INSTANCE; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_PHYSICAL_DEVICE; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_DEVICE; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_QUEUE; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_SEMAPHORE; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_COMMAND_BUFFER; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_FENCE; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_DEVICE_MEMORY; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_EVENT; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_QUERY_POOL; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_BUFFER_VIEW; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_IMAGE_VIEW; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_SHADER_MODULE; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_PIPELINE_CACHE; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_PIPELINE_LAYOUT; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_PIPELINE; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_RENDER_PASS; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_SAMPLER; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_DESCRIPTOR_SET; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_DESCRIPTOR_POOL; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_FRAMEBUFFER; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_COMMAND_POOL; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE; } ++template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_PRIVATE_DATA_SLOT; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_SURFACE_KHR; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_SWAPCHAIN_KHR; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_DISPLAY_KHR; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_DISPLAY_MODE_KHR; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_CU_MODULE_NVX; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_CU_FUNCTION_NVX; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_VALIDATION_CACHE_EXT; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV; } -template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_VIDEO_SESSION_KHR; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR; } + template<> inline VkObjectType getObjectType (void) { return VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA; } + } diff --cc external/vulkancts/framework/vulkan/vkRefUtil.inl index 0000000,aa6946e..9577fb7 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkRefUtil.inl +++ b/external/vulkancts/framework/vulkan/vkRefUtil.inl @@@ -1,0 -1,55 +1,55 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + Move createInstance (const PlatformInterface& vk, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createDevice (const PlatformInterface& vkp, VkInstance instance, const InstanceInterface& vk, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move allocateMemory (const DeviceInterface& vk, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createFence (const DeviceInterface& vk, VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createSemaphore (const DeviceInterface& vk, VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createEvent (const DeviceInterface& vk, VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createQueryPool (const DeviceInterface& vk, VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createBuffer (const DeviceInterface& vk, VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createBufferView (const DeviceInterface& vk, VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createImage (const DeviceInterface& vk, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createImageView (const DeviceInterface& vk, VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createShaderModule (const DeviceInterface& vk, VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createPipelineCache (const DeviceInterface& vk, VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createPipelineLayout (const DeviceInterface& vk, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createSampler (const DeviceInterface& vk, VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createDescriptorSetLayout (const DeviceInterface& vk, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createDescriptorPool (const DeviceInterface& vk, VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createFramebuffer (const DeviceInterface& vk, VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createRenderPass (const DeviceInterface& vk, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createCommandPool (const DeviceInterface& vk, VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createSamplerYcbcrConversion (const DeviceInterface& vk, VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createDescriptorUpdateTemplate (const DeviceInterface& vk, VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createRenderPass2 (const DeviceInterface& vk, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); ++Move createPrivateDataSlot (const DeviceInterface& vk, VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createSwapchainKHR (const DeviceInterface& vk, VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createDisplayPlaneSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createSharedSwapchainsKHR (const DeviceInterface& vk, VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createDeferredOperationKHR (const DeviceInterface& vk, VkDevice device, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createDebugReportCallbackEXT (const InstanceInterface& vk, VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createCuModuleNVX (const DeviceInterface& vk, VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createCuFunctionNVX (const DeviceInterface& vk, VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createDebugUtilsMessengerEXT (const InstanceInterface& vk, VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createValidationCacheEXT (const DeviceInterface& vk, VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createAccelerationStructureNV (const DeviceInterface& vk, VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createHeadlessSurfaceEXT (const InstanceInterface& vk, VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createIndirectCommandsLayoutNV (const DeviceInterface& vk, VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); -Move createPrivateDataSlotEXT (const DeviceInterface& vk, VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createAccelerationStructureKHR (const DeviceInterface& vk, VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createAndroidSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createVideoSessionKHR (const DeviceInterface& vk, VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createVideoSessionParametersKHR (const DeviceInterface& vk, VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createImagePipeSurfaceFUCHSIA (const InstanceInterface& vk, VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createBufferCollectionFUCHSIA (const DeviceInterface& vk, VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createStreamDescriptorSurfaceGGP (const InstanceInterface& vk, VkInstance instance, const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createIOSSurfaceMVK (const InstanceInterface& vk, VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createMacOSSurfaceMVK (const InstanceInterface& vk, VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createMetalSurfaceEXT (const InstanceInterface& vk, VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createViSurfaceNN (const InstanceInterface& vk, VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createWaylandSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createWin32SurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createXcbSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); + Move createXlibSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator = DE_NULL); diff --cc external/vulkancts/framework/vulkan/vkRefUtilImpl.inl index 0000000,072b5d8..bf84bfd mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkRefUtilImpl.inl +++ b/external/vulkancts/framework/vulkan/vkRefUtilImpl.inl @@@ -1,0 -1,564 +1,564 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + namespace refdetails + { + + template<> + void Deleter::operator() (VkDeviceMemory obj) const + { + m_deviceIface->freeMemory(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkFence obj) const + { + m_deviceIface->destroyFence(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkSemaphore obj) const + { + m_deviceIface->destroySemaphore(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkEvent obj) const + { + m_deviceIface->destroyEvent(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkQueryPool obj) const + { + m_deviceIface->destroyQueryPool(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkBuffer obj) const + { + m_deviceIface->destroyBuffer(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkBufferView obj) const + { + m_deviceIface->destroyBufferView(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkImage obj) const + { + m_deviceIface->destroyImage(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkImageView obj) const + { + m_deviceIface->destroyImageView(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkShaderModule obj) const + { + m_deviceIface->destroyShaderModule(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkPipelineCache obj) const + { + m_deviceIface->destroyPipelineCache(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkPipeline obj) const + { + m_deviceIface->destroyPipeline(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkPipelineLayout obj) const + { + m_deviceIface->destroyPipelineLayout(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkSampler obj) const + { + m_deviceIface->destroySampler(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkDescriptorSetLayout obj) const + { + m_deviceIface->destroyDescriptorSetLayout(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkDescriptorPool obj) const + { + m_deviceIface->destroyDescriptorPool(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkFramebuffer obj) const + { + m_deviceIface->destroyFramebuffer(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkRenderPass obj) const + { + m_deviceIface->destroyRenderPass(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkCommandPool obj) const + { + m_deviceIface->destroyCommandPool(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkSamplerYcbcrConversion obj) const + { + m_deviceIface->destroySamplerYcbcrConversion(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkDescriptorUpdateTemplate obj) const + { + m_deviceIface->destroyDescriptorUpdateTemplate(m_device, obj, m_allocator); + } + + template<> ++void Deleter::operator() (VkPrivateDataSlot obj) const ++{ ++ m_deviceIface->destroyPrivateDataSlot(m_device, obj, m_allocator); ++} ++ ++template<> + void Deleter::operator() (VkSwapchainKHR obj) const + { + m_deviceIface->destroySwapchainKHR(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkDeferredOperationKHR obj) const + { + m_deviceIface->destroyDeferredOperationKHR(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkCuModuleNVX obj) const + { + m_deviceIface->destroyCuModuleNVX(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkCuFunctionNVX obj) const + { + m_deviceIface->destroyCuFunctionNVX(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkValidationCacheEXT obj) const + { + m_deviceIface->destroyValidationCacheEXT(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkAccelerationStructureNV obj) const + { + m_deviceIface->destroyAccelerationStructureNV(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkIndirectCommandsLayoutNV obj) const + { + m_deviceIface->destroyIndirectCommandsLayoutNV(m_device, obj, m_allocator); + } + + template<> -void Deleter::operator() (VkPrivateDataSlotEXT obj) const -{ - m_deviceIface->destroyPrivateDataSlotEXT(m_device, obj, m_allocator); -} - -template<> + void Deleter::operator() (VkAccelerationStructureKHR obj) const + { + m_deviceIface->destroyAccelerationStructureKHR(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkVideoSessionKHR obj) const + { + m_deviceIface->destroyVideoSessionKHR(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkVideoSessionParametersKHR obj) const + { + m_deviceIface->destroyVideoSessionParametersKHR(m_device, obj, m_allocator); + } + + template<> + void Deleter::operator() (VkBufferCollectionFUCHSIA obj) const + { + m_deviceIface->destroyBufferCollectionFUCHSIA(m_device, obj, m_allocator); + } + + } // refdetails + + Move createInstance (const PlatformInterface& vk, const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkInstance object = 0; + VK_CHECK(vk.createInstance(pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, object, pAllocator)); + } + + Move createDevice (const PlatformInterface& vkp, VkInstance instance, const InstanceInterface& vk, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkDevice object = 0; + VK_CHECK(vk.createDevice(physicalDevice, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vkp, instance, object, pAllocator)); + } + + Move allocateMemory (const DeviceInterface& vk, VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator) + { + VkDeviceMemory object = 0; + VK_CHECK(vk.allocateMemory(device, pAllocateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createFence (const DeviceInterface& vk, VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkFence object = 0; + VK_CHECK(vk.createFence(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createSemaphore (const DeviceInterface& vk, VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSemaphore object = 0; + VK_CHECK(vk.createSemaphore(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createEvent (const DeviceInterface& vk, VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkEvent object = 0; + VK_CHECK(vk.createEvent(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createQueryPool (const DeviceInterface& vk, VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkQueryPool object = 0; + VK_CHECK(vk.createQueryPool(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createBuffer (const DeviceInterface& vk, VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkBuffer object = 0; + VK_CHECK(vk.createBuffer(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createBufferView (const DeviceInterface& vk, VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkBufferView object = 0; + VK_CHECK(vk.createBufferView(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createImage (const DeviceInterface& vk, VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkImage object = 0; + VK_CHECK(vk.createImage(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createImageView (const DeviceInterface& vk, VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkImageView object = 0; + VK_CHECK(vk.createImageView(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createShaderModule (const DeviceInterface& vk, VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkShaderModule object = 0; + VK_CHECK(vk.createShaderModule(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createPipelineCache (const DeviceInterface& vk, VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkPipelineCache object = 0; + VK_CHECK(vk.createPipelineCache(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createPipelineLayout (const DeviceInterface& vk, VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkPipelineLayout object = 0; + VK_CHECK(vk.createPipelineLayout(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createSampler (const DeviceInterface& vk, VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSampler object = 0; + VK_CHECK(vk.createSampler(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createDescriptorSetLayout (const DeviceInterface& vk, VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkDescriptorSetLayout object = 0; + VK_CHECK(vk.createDescriptorSetLayout(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createDescriptorPool (const DeviceInterface& vk, VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkDescriptorPool object = 0; + VK_CHECK(vk.createDescriptorPool(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createFramebuffer (const DeviceInterface& vk, VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkFramebuffer object = 0; + VK_CHECK(vk.createFramebuffer(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createRenderPass (const DeviceInterface& vk, VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkRenderPass object = 0; + VK_CHECK(vk.createRenderPass(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createCommandPool (const DeviceInterface& vk, VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkCommandPool object = 0; + VK_CHECK(vk.createCommandPool(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createSamplerYcbcrConversion (const DeviceInterface& vk, VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSamplerYcbcrConversion object = 0; + VK_CHECK(vk.createSamplerYcbcrConversion(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createDescriptorUpdateTemplate (const DeviceInterface& vk, VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkDescriptorUpdateTemplate object = 0; + VK_CHECK(vk.createDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createRenderPass2 (const DeviceInterface& vk, VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkRenderPass object = 0; + VK_CHECK(vk.createRenderPass2(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + ++Move createPrivateDataSlot (const DeviceInterface& vk, VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator) ++{ ++ VkPrivateDataSlot object = 0; ++ VK_CHECK(vk.createPrivateDataSlot(device, pCreateInfo, pAllocator, &object)); ++ return Move(check(object), Deleter(vk, device, pAllocator)); ++} ++ + Move createSwapchainKHR (const DeviceInterface& vk, VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSwapchainKHR object = 0; + VK_CHECK(vk.createSwapchainKHR(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createDisplayPlaneSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSurfaceKHR object = 0; + VK_CHECK(vk.createDisplayPlaneSurfaceKHR(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createSharedSwapchainsKHR (const DeviceInterface& vk, VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator) + { + VkSwapchainKHR object = 0; + VK_CHECK(vk.createSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createDeferredOperationKHR (const DeviceInterface& vk, VkDevice device, const VkAllocationCallbacks* pAllocator) + { + VkDeferredOperationKHR object = 0; + VK_CHECK(vk.createDeferredOperationKHR(device, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createDebugReportCallbackEXT (const InstanceInterface& vk, VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkDebugReportCallbackEXT object = 0; + VK_CHECK(vk.createDebugReportCallbackEXT(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createCuModuleNVX (const DeviceInterface& vk, VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkCuModuleNVX object = 0; + VK_CHECK(vk.createCuModuleNVX(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createCuFunctionNVX (const DeviceInterface& vk, VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkCuFunctionNVX object = 0; + VK_CHECK(vk.createCuFunctionNVX(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createDebugUtilsMessengerEXT (const InstanceInterface& vk, VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkDebugUtilsMessengerEXT object = 0; + VK_CHECK(vk.createDebugUtilsMessengerEXT(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createValidationCacheEXT (const DeviceInterface& vk, VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkValidationCacheEXT object = 0; + VK_CHECK(vk.createValidationCacheEXT(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createAccelerationStructureNV (const DeviceInterface& vk, VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkAccelerationStructureNV object = 0; + VK_CHECK(vk.createAccelerationStructureNV(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createHeadlessSurfaceEXT (const InstanceInterface& vk, VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSurfaceKHR object = 0; + VK_CHECK(vk.createHeadlessSurfaceEXT(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createIndirectCommandsLayoutNV (const DeviceInterface& vk, VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkIndirectCommandsLayoutNV object = 0; + VK_CHECK(vk.createIndirectCommandsLayoutNV(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + -Move createPrivateDataSlotEXT (const DeviceInterface& vk, VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator) -{ - VkPrivateDataSlotEXT object = 0; - VK_CHECK(vk.createPrivateDataSlotEXT(device, pCreateInfo, pAllocator, &object)); - return Move(check(object), Deleter(vk, device, pAllocator)); -} - + Move createAccelerationStructureKHR (const DeviceInterface& vk, VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkAccelerationStructureKHR object = 0; + VK_CHECK(vk.createAccelerationStructureKHR(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createAndroidSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSurfaceKHR object = 0; + VK_CHECK(vk.createAndroidSurfaceKHR(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createVideoSessionKHR (const DeviceInterface& vk, VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkVideoSessionKHR object = 0; + VK_CHECK(vk.createVideoSessionKHR(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createVideoSessionParametersKHR (const DeviceInterface& vk, VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkVideoSessionParametersKHR object = 0; + VK_CHECK(vk.createVideoSessionParametersKHR(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createImagePipeSurfaceFUCHSIA (const InstanceInterface& vk, VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSurfaceKHR object = 0; + VK_CHECK(vk.createImagePipeSurfaceFUCHSIA(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createBufferCollectionFUCHSIA (const DeviceInterface& vk, VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkBufferCollectionFUCHSIA object = 0; + VK_CHECK(vk.createBufferCollectionFUCHSIA(device, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, device, pAllocator)); + } + + Move createStreamDescriptorSurfaceGGP (const InstanceInterface& vk, VkInstance instance, const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSurfaceKHR object = 0; + VK_CHECK(vk.createStreamDescriptorSurfaceGGP(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createIOSSurfaceMVK (const InstanceInterface& vk, VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSurfaceKHR object = 0; + VK_CHECK(vk.createIOSSurfaceMVK(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createMacOSSurfaceMVK (const InstanceInterface& vk, VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSurfaceKHR object = 0; + VK_CHECK(vk.createMacOSSurfaceMVK(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createMetalSurfaceEXT (const InstanceInterface& vk, VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSurfaceKHR object = 0; + VK_CHECK(vk.createMetalSurfaceEXT(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createViSurfaceNN (const InstanceInterface& vk, VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSurfaceKHR object = 0; + VK_CHECK(vk.createViSurfaceNN(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createWaylandSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSurfaceKHR object = 0; + VK_CHECK(vk.createWaylandSurfaceKHR(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createWin32SurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSurfaceKHR object = 0; + VK_CHECK(vk.createWin32SurfaceKHR(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createXcbSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSurfaceKHR object = 0; + VK_CHECK(vk.createXcbSurfaceKHR(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + + Move createXlibSurfaceKHR (const InstanceInterface& vk, VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + VkSurfaceKHR object = 0; + VK_CHECK(vk.createXlibSurfaceKHR(instance, pCreateInfo, pAllocator, &object)); + return Move(check(object), Deleter(vk, instance, pAllocator)); + } + diff --cc external/vulkancts/framework/vulkan/vkStrUtil.inl index 0000000,9034dfb..25b4117 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkStrUtil.inl +++ b/external/vulkancts/framework/vulkan/vkStrUtil.inl @@@ -1,0 -1,1318 +1,1320 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + const char* getResultName (VkResult value); + const char* getStructureTypeName (VkStructureType value); + const char* getImageLayoutName (VkImageLayout value); + const char* getObjectTypeName (VkObjectType value); + const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value); + const char* getVendorIdName (VkVendorId value); + const char* getSystemAllocationScopeName (VkSystemAllocationScope value); + const char* getInternalAllocationTypeName (VkInternalAllocationType value); + const char* getFormatName (VkFormat value); + const char* getImageTilingName (VkImageTiling value); + const char* getImageTypeName (VkImageType value); + const char* getPhysicalDeviceTypeName (VkPhysicalDeviceType value); + const char* getQueryTypeName (VkQueryType value); + const char* getSharingModeName (VkSharingMode value); + const char* getComponentSwizzleName (VkComponentSwizzle value); + const char* getImageViewTypeName (VkImageViewType value); + const char* getBlendFactorName (VkBlendFactor value); + const char* getBlendOpName (VkBlendOp value); + const char* getCompareOpName (VkCompareOp value); + const char* getDynamicStateName (VkDynamicState value); + const char* getFrontFaceName (VkFrontFace value); + const char* getVertexInputRateName (VkVertexInputRate value); + const char* getPrimitiveTopologyName (VkPrimitiveTopology value); + const char* getPolygonModeName (VkPolygonMode value); + const char* getStencilOpName (VkStencilOp value); + const char* getLogicOpName (VkLogicOp value); + const char* getBorderColorName (VkBorderColor value); + const char* getFilterName (VkFilter value); + const char* getSamplerAddressModeName (VkSamplerAddressMode value); + const char* getSamplerMipmapModeName (VkSamplerMipmapMode value); + const char* getDescriptorTypeName (VkDescriptorType value); + const char* getAttachmentLoadOpName (VkAttachmentLoadOp value); + const char* getAttachmentStoreOpName (VkAttachmentStoreOp value); + const char* getPipelineBindPointName (VkPipelineBindPoint value); + const char* getCommandBufferLevelName (VkCommandBufferLevel value); + const char* getIndexTypeName (VkIndexType value); + const char* getSubpassContentsName (VkSubpassContents value); + const char* getPointClippingBehaviorName (VkPointClippingBehavior value); + const char* getTessellationDomainOriginName (VkTessellationDomainOrigin value); + const char* getSamplerYcbcrModelConversionName (VkSamplerYcbcrModelConversion value); + const char* getSamplerYcbcrRangeName (VkSamplerYcbcrRange value); + const char* getChromaLocationName (VkChromaLocation value); + const char* getDescriptorUpdateTemplateTypeName (VkDescriptorUpdateTemplateType value); + const char* getDriverIdName (VkDriverId value); + const char* getShaderFloatControlsIndependenceName (VkShaderFloatControlsIndependence value); + const char* getSamplerReductionModeName (VkSamplerReductionMode value); + const char* getSemaphoreTypeName (VkSemaphoreType value); + const char* getPresentModeKHRName (VkPresentModeKHR value); + const char* getColorSpaceKHRName (VkColorSpaceKHR value); + const char* getPerformanceCounterUnitKHRName (VkPerformanceCounterUnitKHR value); + const char* getPerformanceCounterScopeKHRName (VkPerformanceCounterScopeKHR value); + const char* getPerformanceCounterStorageKHRName (VkPerformanceCounterStorageKHR value); + const char* getFragmentShadingRateCombinerOpKHRName (VkFragmentShadingRateCombinerOpKHR value); + const char* getPipelineExecutableStatisticFormatKHRName (VkPipelineExecutableStatisticFormatKHR value); + const char* getDebugReportObjectTypeEXTName (VkDebugReportObjectTypeEXT value); + const char* getRasterizationOrderAMDName (VkRasterizationOrderAMD value); + const char* getShaderInfoTypeAMDName (VkShaderInfoTypeAMD value); + const char* getValidationCheckEXTName (VkValidationCheckEXT value); + const char* getDisplayPowerStateEXTName (VkDisplayPowerStateEXT value); + const char* getDeviceEventTypeEXTName (VkDeviceEventTypeEXT value); + const char* getDisplayEventTypeEXTName (VkDisplayEventTypeEXT value); + const char* getViewportCoordinateSwizzleNVName (VkViewportCoordinateSwizzleNV value); + const char* getDiscardRectangleModeEXTName (VkDiscardRectangleModeEXT value); + const char* getConservativeRasterizationModeEXTName (VkConservativeRasterizationModeEXT value); + const char* getBlendOverlapEXTName (VkBlendOverlapEXT value); + const char* getCoverageModulationModeNVName (VkCoverageModulationModeNV value); + const char* getValidationCacheHeaderVersionEXTName (VkValidationCacheHeaderVersionEXT value); + const char* getShadingRatePaletteEntryNVName (VkShadingRatePaletteEntryNV value); + const char* getCoarseSampleOrderTypeNVName (VkCoarseSampleOrderTypeNV value); + const char* getRayTracingShaderGroupTypeKHRName (VkRayTracingShaderGroupTypeKHR value); + const char* getGeometryTypeKHRName (VkGeometryTypeKHR value); + const char* getAccelerationStructureTypeKHRName (VkAccelerationStructureTypeKHR value); + const char* getCopyAccelerationStructureModeKHRName (VkCopyAccelerationStructureModeKHR value); + const char* getAccelerationStructureMemoryRequirementsTypeNVName (VkAccelerationStructureMemoryRequirementsTypeNV value); + const char* getQueueGlobalPriorityEXTName (VkQueueGlobalPriorityEXT value); + const char* getTimeDomainEXTName (VkTimeDomainEXT value); + const char* getMemoryOverallocationBehaviorAMDName (VkMemoryOverallocationBehaviorAMD value); + const char* getPerformanceConfigurationTypeINTELName (VkPerformanceConfigurationTypeINTEL value); + const char* getQueryPoolSamplingModeINTELName (VkQueryPoolSamplingModeINTEL value); + const char* getPerformanceOverrideTypeINTELName (VkPerformanceOverrideTypeINTEL value); + const char* getPerformanceParameterTypeINTELName (VkPerformanceParameterTypeINTEL value); + const char* getPerformanceValueTypeINTELName (VkPerformanceValueTypeINTEL value); + const char* getValidationFeatureEnableEXTName (VkValidationFeatureEnableEXT value); + const char* getValidationFeatureDisableEXTName (VkValidationFeatureDisableEXT value); + const char* getComponentTypeNVName (VkComponentTypeNV value); + const char* getScopeNVName (VkScopeNV value); + const char* getCoverageReductionModeNVName (VkCoverageReductionModeNV value); + const char* getProvokingVertexModeEXTName (VkProvokingVertexModeEXT value); + const char* getLineRasterizationModeEXTName (VkLineRasterizationModeEXT value); + const char* getIndirectCommandsTokenTypeNVName (VkIndirectCommandsTokenTypeNV value); + const char* getDeviceMemoryReportEventTypeEXTName (VkDeviceMemoryReportEventTypeEXT value); + const char* getFragmentShadingRateTypeNVName (VkFragmentShadingRateTypeNV value); + const char* getFragmentShadingRateNVName (VkFragmentShadingRateNV value); + const char* getAccelerationStructureMotionInstanceTypeNVName (VkAccelerationStructureMotionInstanceTypeNV value); + const char* getBuildAccelerationStructureModeKHRName (VkBuildAccelerationStructureModeKHR value); + const char* getAccelerationStructureBuildTypeKHRName (VkAccelerationStructureBuildTypeKHR value); + const char* getAccelerationStructureCompatibilityKHRName (VkAccelerationStructureCompatibilityKHR value); + const char* getShaderGroupShaderKHRName (VkShaderGroupShaderKHR value); + const char* getQueryResultStatusKHRName (VkQueryResultStatusKHR value); + const char* getdVideoH264ChromaFormatIdcName (StdVideoH264ChromaFormatIdc value); + const char* getdVideoH264ProfileIdcName (StdVideoH264ProfileIdc value); + const char* getdVideoH264LevelName (StdVideoH264Level value); + const char* getdVideoH264PocTypeName (StdVideoH264PocType value); + const char* getdVideoH264AspectRatioIdcName (StdVideoH264AspectRatioIdc value); + const char* getdVideoH264WeightedBipredIdcName (StdVideoH264WeightedBipredIdc value); + const char* getdVideoH264ModificationOfPicNumsIdcName (StdVideoH264ModificationOfPicNumsIdc value); + const char* getdVideoH264MemMgmtControlOpName (StdVideoH264MemMgmtControlOp value); + const char* getdVideoH264CabacInitIdcName (StdVideoH264CabacInitIdc value); + const char* getdVideoH264DisableDeblockingFilterIdcName (StdVideoH264DisableDeblockingFilterIdc value); + const char* getdVideoH264SliceTypeName (StdVideoH264SliceType value); + const char* getdVideoH264PictureTypeName (StdVideoH264PictureType value); + const char* getdVideoH264NonVclNaluTypeName (StdVideoH264NonVclNaluType value); + const char* getdVideoH265ChromaFormatIdcName (StdVideoH265ChromaFormatIdc value); + const char* getdVideoH265ProfileIdcName (StdVideoH265ProfileIdc value); + const char* getdVideoH265LevelName (StdVideoH265Level value); + const char* getdVideoH265SliceTypeName (StdVideoH265SliceType value); + const char* getdVideoH265PictureTypeName (StdVideoH265PictureType value); + const char* getdVideoDecodeH264FieldOrderCntName (StdVideoDecodeH264FieldOrderCnt value); + const char* getFullScreenExclusiveEXTName (VkFullScreenExclusiveEXT value); + + inline tcu::Format::Enum getResultStr (VkResult value) { return tcu::Format::Enum(getResultName, value); } + inline tcu::Format::Enum getStructureTypeStr (VkStructureType value) { return tcu::Format::Enum(getStructureTypeName, value); } + inline tcu::Format::Enum getImageLayoutStr (VkImageLayout value) { return tcu::Format::Enum(getImageLayoutName, value); } + inline tcu::Format::Enum getObjectTypeStr (VkObjectType value) { return tcu::Format::Enum(getObjectTypeName, value); } + inline tcu::Format::Enum getPipelineCacheHeaderVersionStr (VkPipelineCacheHeaderVersion value) { return tcu::Format::Enum(getPipelineCacheHeaderVersionName, value); } + inline tcu::Format::Enum getVendorIdStr (VkVendorId value) { return tcu::Format::Enum(getVendorIdName, value); } + inline tcu::Format::Enum getSystemAllocationScopeStr (VkSystemAllocationScope value) { return tcu::Format::Enum(getSystemAllocationScopeName, value); } + inline tcu::Format::Enum getInternalAllocationTypeStr (VkInternalAllocationType value) { return tcu::Format::Enum(getInternalAllocationTypeName, value); } + inline tcu::Format::Enum getFormatStr (VkFormat value) { return tcu::Format::Enum(getFormatName, value); } + inline tcu::Format::Enum getImageTilingStr (VkImageTiling value) { return tcu::Format::Enum(getImageTilingName, value); } + inline tcu::Format::Enum getImageTypeStr (VkImageType value) { return tcu::Format::Enum(getImageTypeName, value); } + inline tcu::Format::Enum getPhysicalDeviceTypeStr (VkPhysicalDeviceType value) { return tcu::Format::Enum(getPhysicalDeviceTypeName, value); } + inline tcu::Format::Enum getQueryTypeStr (VkQueryType value) { return tcu::Format::Enum(getQueryTypeName, value); } + inline tcu::Format::Enum getSharingModeStr (VkSharingMode value) { return tcu::Format::Enum(getSharingModeName, value); } + inline tcu::Format::Enum getComponentSwizzleStr (VkComponentSwizzle value) { return tcu::Format::Enum(getComponentSwizzleName, value); } + inline tcu::Format::Enum getImageViewTypeStr (VkImageViewType value) { return tcu::Format::Enum(getImageViewTypeName, value); } + inline tcu::Format::Enum getBlendFactorStr (VkBlendFactor value) { return tcu::Format::Enum(getBlendFactorName, value); } + inline tcu::Format::Enum getBlendOpStr (VkBlendOp value) { return tcu::Format::Enum(getBlendOpName, value); } + inline tcu::Format::Enum getCompareOpStr (VkCompareOp value) { return tcu::Format::Enum(getCompareOpName, value); } + inline tcu::Format::Enum getDynamicStateStr (VkDynamicState value) { return tcu::Format::Enum(getDynamicStateName, value); } + inline tcu::Format::Enum getFrontFaceStr (VkFrontFace value) { return tcu::Format::Enum(getFrontFaceName, value); } + inline tcu::Format::Enum getVertexInputRateStr (VkVertexInputRate value) { return tcu::Format::Enum(getVertexInputRateName, value); } + inline tcu::Format::Enum getPrimitiveTopologyStr (VkPrimitiveTopology value) { return tcu::Format::Enum(getPrimitiveTopologyName, value); } + inline tcu::Format::Enum getPolygonModeStr (VkPolygonMode value) { return tcu::Format::Enum(getPolygonModeName, value); } + inline tcu::Format::Enum getStencilOpStr (VkStencilOp value) { return tcu::Format::Enum(getStencilOpName, value); } + inline tcu::Format::Enum getLogicOpStr (VkLogicOp value) { return tcu::Format::Enum(getLogicOpName, value); } + inline tcu::Format::Enum getBorderColorStr (VkBorderColor value) { return tcu::Format::Enum(getBorderColorName, value); } + inline tcu::Format::Enum getFilterStr (VkFilter value) { return tcu::Format::Enum(getFilterName, value); } + inline tcu::Format::Enum getSamplerAddressModeStr (VkSamplerAddressMode value) { return tcu::Format::Enum(getSamplerAddressModeName, value); } + inline tcu::Format::Enum getSamplerMipmapModeStr (VkSamplerMipmapMode value) { return tcu::Format::Enum(getSamplerMipmapModeName, value); } + inline tcu::Format::Enum getDescriptorTypeStr (VkDescriptorType value) { return tcu::Format::Enum(getDescriptorTypeName, value); } + inline tcu::Format::Enum getAttachmentLoadOpStr (VkAttachmentLoadOp value) { return tcu::Format::Enum(getAttachmentLoadOpName, value); } + inline tcu::Format::Enum getAttachmentStoreOpStr (VkAttachmentStoreOp value) { return tcu::Format::Enum(getAttachmentStoreOpName, value); } + inline tcu::Format::Enum getPipelineBindPointStr (VkPipelineBindPoint value) { return tcu::Format::Enum(getPipelineBindPointName, value); } + inline tcu::Format::Enum getCommandBufferLevelStr (VkCommandBufferLevel value) { return tcu::Format::Enum(getCommandBufferLevelName, value); } + inline tcu::Format::Enum getIndexTypeStr (VkIndexType value) { return tcu::Format::Enum(getIndexTypeName, value); } + inline tcu::Format::Enum getSubpassContentsStr (VkSubpassContents value) { return tcu::Format::Enum(getSubpassContentsName, value); } + inline tcu::Format::Enum getPointClippingBehaviorStr (VkPointClippingBehavior value) { return tcu::Format::Enum(getPointClippingBehaviorName, value); } + inline tcu::Format::Enum getTessellationDomainOriginStr (VkTessellationDomainOrigin value) { return tcu::Format::Enum(getTessellationDomainOriginName, value); } + inline tcu::Format::Enum getSamplerYcbcrModelConversionStr (VkSamplerYcbcrModelConversion value) { return tcu::Format::Enum(getSamplerYcbcrModelConversionName, value); } + inline tcu::Format::Enum getSamplerYcbcrRangeStr (VkSamplerYcbcrRange value) { return tcu::Format::Enum(getSamplerYcbcrRangeName, value); } + inline tcu::Format::Enum getChromaLocationStr (VkChromaLocation value) { return tcu::Format::Enum(getChromaLocationName, value); } + inline tcu::Format::Enum getDescriptorUpdateTemplateTypeStr (VkDescriptorUpdateTemplateType value) { return tcu::Format::Enum(getDescriptorUpdateTemplateTypeName, value); } + inline tcu::Format::Enum getDriverIdStr (VkDriverId value) { return tcu::Format::Enum(getDriverIdName, value); } + inline tcu::Format::Enum getShaderFloatControlsIndependenceStr (VkShaderFloatControlsIndependence value) { return tcu::Format::Enum(getShaderFloatControlsIndependenceName, value); } + inline tcu::Format::Enum getSamplerReductionModeStr (VkSamplerReductionMode value) { return tcu::Format::Enum(getSamplerReductionModeName, value); } + inline tcu::Format::Enum getSemaphoreTypeStr (VkSemaphoreType value) { return tcu::Format::Enum(getSemaphoreTypeName, value); } + inline tcu::Format::Enum getPresentModeKHRStr (VkPresentModeKHR value) { return tcu::Format::Enum(getPresentModeKHRName, value); } + inline tcu::Format::Enum getColorSpaceKHRStr (VkColorSpaceKHR value) { return tcu::Format::Enum(getColorSpaceKHRName, value); } + inline tcu::Format::Enum getPerformanceCounterUnitKHRStr (VkPerformanceCounterUnitKHR value) { return tcu::Format::Enum(getPerformanceCounterUnitKHRName, value); } + inline tcu::Format::Enum getPerformanceCounterScopeKHRStr (VkPerformanceCounterScopeKHR value) { return tcu::Format::Enum(getPerformanceCounterScopeKHRName, value); } + inline tcu::Format::Enum getPerformanceCounterStorageKHRStr (VkPerformanceCounterStorageKHR value) { return tcu::Format::Enum(getPerformanceCounterStorageKHRName, value); } + inline tcu::Format::Enum getFragmentShadingRateCombinerOpKHRStr (VkFragmentShadingRateCombinerOpKHR value) { return tcu::Format::Enum(getFragmentShadingRateCombinerOpKHRName, value); } + inline tcu::Format::Enum getPipelineExecutableStatisticFormatKHRStr (VkPipelineExecutableStatisticFormatKHR value) { return tcu::Format::Enum(getPipelineExecutableStatisticFormatKHRName, value); } + inline tcu::Format::Enum getDebugReportObjectTypeEXTStr (VkDebugReportObjectTypeEXT value) { return tcu::Format::Enum(getDebugReportObjectTypeEXTName, value); } + inline tcu::Format::Enum getRasterizationOrderAMDStr (VkRasterizationOrderAMD value) { return tcu::Format::Enum(getRasterizationOrderAMDName, value); } + inline tcu::Format::Enum getShaderInfoTypeAMDStr (VkShaderInfoTypeAMD value) { return tcu::Format::Enum(getShaderInfoTypeAMDName, value); } + inline tcu::Format::Enum getValidationCheckEXTStr (VkValidationCheckEXT value) { return tcu::Format::Enum(getValidationCheckEXTName, value); } + inline tcu::Format::Enum getDisplayPowerStateEXTStr (VkDisplayPowerStateEXT value) { return tcu::Format::Enum(getDisplayPowerStateEXTName, value); } + inline tcu::Format::Enum getDeviceEventTypeEXTStr (VkDeviceEventTypeEXT value) { return tcu::Format::Enum(getDeviceEventTypeEXTName, value); } + inline tcu::Format::Enum getDisplayEventTypeEXTStr (VkDisplayEventTypeEXT value) { return tcu::Format::Enum(getDisplayEventTypeEXTName, value); } + inline tcu::Format::Enum getViewportCoordinateSwizzleNVStr (VkViewportCoordinateSwizzleNV value) { return tcu::Format::Enum(getViewportCoordinateSwizzleNVName, value); } + inline tcu::Format::Enum getDiscardRectangleModeEXTStr (VkDiscardRectangleModeEXT value) { return tcu::Format::Enum(getDiscardRectangleModeEXTName, value); } + inline tcu::Format::Enum getConservativeRasterizationModeEXTStr (VkConservativeRasterizationModeEXT value) { return tcu::Format::Enum(getConservativeRasterizationModeEXTName, value); } + inline tcu::Format::Enum getBlendOverlapEXTStr (VkBlendOverlapEXT value) { return tcu::Format::Enum(getBlendOverlapEXTName, value); } + inline tcu::Format::Enum getCoverageModulationModeNVStr (VkCoverageModulationModeNV value) { return tcu::Format::Enum(getCoverageModulationModeNVName, value); } + inline tcu::Format::Enum getValidationCacheHeaderVersionEXTStr (VkValidationCacheHeaderVersionEXT value) { return tcu::Format::Enum(getValidationCacheHeaderVersionEXTName, value); } + inline tcu::Format::Enum getShadingRatePaletteEntryNVStr (VkShadingRatePaletteEntryNV value) { return tcu::Format::Enum(getShadingRatePaletteEntryNVName, value); } + inline tcu::Format::Enum getCoarseSampleOrderTypeNVStr (VkCoarseSampleOrderTypeNV value) { return tcu::Format::Enum(getCoarseSampleOrderTypeNVName, value); } + inline tcu::Format::Enum getRayTracingShaderGroupTypeKHRStr (VkRayTracingShaderGroupTypeKHR value) { return tcu::Format::Enum(getRayTracingShaderGroupTypeKHRName, value); } + inline tcu::Format::Enum getGeometryTypeKHRStr (VkGeometryTypeKHR value) { return tcu::Format::Enum(getGeometryTypeKHRName, value); } + inline tcu::Format::Enum getAccelerationStructureTypeKHRStr (VkAccelerationStructureTypeKHR value) { return tcu::Format::Enum(getAccelerationStructureTypeKHRName, value); } + inline tcu::Format::Enum getCopyAccelerationStructureModeKHRStr (VkCopyAccelerationStructureModeKHR value) { return tcu::Format::Enum(getCopyAccelerationStructureModeKHRName, value); } + inline tcu::Format::Enum getAccelerationStructureMemoryRequirementsTypeNVStr (VkAccelerationStructureMemoryRequirementsTypeNV value) { return tcu::Format::Enum(getAccelerationStructureMemoryRequirementsTypeNVName, value); } + inline tcu::Format::Enum getQueueGlobalPriorityEXTStr (VkQueueGlobalPriorityEXT value) { return tcu::Format::Enum(getQueueGlobalPriorityEXTName, value); } + inline tcu::Format::Enum getTimeDomainEXTStr (VkTimeDomainEXT value) { return tcu::Format::Enum(getTimeDomainEXTName, value); } + inline tcu::Format::Enum getMemoryOverallocationBehaviorAMDStr (VkMemoryOverallocationBehaviorAMD value) { return tcu::Format::Enum(getMemoryOverallocationBehaviorAMDName, value); } + inline tcu::Format::Enum getPerformanceConfigurationTypeINTELStr (VkPerformanceConfigurationTypeINTEL value) { return tcu::Format::Enum(getPerformanceConfigurationTypeINTELName, value); } + inline tcu::Format::Enum getQueryPoolSamplingModeINTELStr (VkQueryPoolSamplingModeINTEL value) { return tcu::Format::Enum(getQueryPoolSamplingModeINTELName, value); } + inline tcu::Format::Enum getPerformanceOverrideTypeINTELStr (VkPerformanceOverrideTypeINTEL value) { return tcu::Format::Enum(getPerformanceOverrideTypeINTELName, value); } + inline tcu::Format::Enum getPerformanceParameterTypeINTELStr (VkPerformanceParameterTypeINTEL value) { return tcu::Format::Enum(getPerformanceParameterTypeINTELName, value); } + inline tcu::Format::Enum getPerformanceValueTypeINTELStr (VkPerformanceValueTypeINTEL value) { return tcu::Format::Enum(getPerformanceValueTypeINTELName, value); } + inline tcu::Format::Enum getValidationFeatureEnableEXTStr (VkValidationFeatureEnableEXT value) { return tcu::Format::Enum(getValidationFeatureEnableEXTName, value); } + inline tcu::Format::Enum getValidationFeatureDisableEXTStr (VkValidationFeatureDisableEXT value) { return tcu::Format::Enum(getValidationFeatureDisableEXTName, value); } + inline tcu::Format::Enum getComponentTypeNVStr (VkComponentTypeNV value) { return tcu::Format::Enum(getComponentTypeNVName, value); } + inline tcu::Format::Enum getScopeNVStr (VkScopeNV value) { return tcu::Format::Enum(getScopeNVName, value); } + inline tcu::Format::Enum getCoverageReductionModeNVStr (VkCoverageReductionModeNV value) { return tcu::Format::Enum(getCoverageReductionModeNVName, value); } + inline tcu::Format::Enum getProvokingVertexModeEXTStr (VkProvokingVertexModeEXT value) { return tcu::Format::Enum(getProvokingVertexModeEXTName, value); } + inline tcu::Format::Enum getLineRasterizationModeEXTStr (VkLineRasterizationModeEXT value) { return tcu::Format::Enum(getLineRasterizationModeEXTName, value); } + inline tcu::Format::Enum getIndirectCommandsTokenTypeNVStr (VkIndirectCommandsTokenTypeNV value) { return tcu::Format::Enum(getIndirectCommandsTokenTypeNVName, value); } + inline tcu::Format::Enum getDeviceMemoryReportEventTypeEXTStr (VkDeviceMemoryReportEventTypeEXT value) { return tcu::Format::Enum(getDeviceMemoryReportEventTypeEXTName, value); } + inline tcu::Format::Enum getFragmentShadingRateTypeNVStr (VkFragmentShadingRateTypeNV value) { return tcu::Format::Enum(getFragmentShadingRateTypeNVName, value); } + inline tcu::Format::Enum getFragmentShadingRateNVStr (VkFragmentShadingRateNV value) { return tcu::Format::Enum(getFragmentShadingRateNVName, value); } + inline tcu::Format::Enum getAccelerationStructureMotionInstanceTypeNVStr (VkAccelerationStructureMotionInstanceTypeNV value) { return tcu::Format::Enum(getAccelerationStructureMotionInstanceTypeNVName, value); } + inline tcu::Format::Enum getBuildAccelerationStructureModeKHRStr (VkBuildAccelerationStructureModeKHR value) { return tcu::Format::Enum(getBuildAccelerationStructureModeKHRName, value); } + inline tcu::Format::Enum getAccelerationStructureBuildTypeKHRStr (VkAccelerationStructureBuildTypeKHR value) { return tcu::Format::Enum(getAccelerationStructureBuildTypeKHRName, value); } + inline tcu::Format::Enum getAccelerationStructureCompatibilityKHRStr (VkAccelerationStructureCompatibilityKHR value) { return tcu::Format::Enum(getAccelerationStructureCompatibilityKHRName, value); } + inline tcu::Format::Enum getShaderGroupShaderKHRStr (VkShaderGroupShaderKHR value) { return tcu::Format::Enum(getShaderGroupShaderKHRName, value); } + inline tcu::Format::Enum getQueryResultStatusKHRStr (VkQueryResultStatusKHR value) { return tcu::Format::Enum(getQueryResultStatusKHRName, value); } + inline tcu::Format::Enum getdVideoH264ChromaFormatIdcStr (StdVideoH264ChromaFormatIdc value) { return tcu::Format::Enum(getdVideoH264ChromaFormatIdcName, value); } + inline tcu::Format::Enum getdVideoH264ProfileIdcStr (StdVideoH264ProfileIdc value) { return tcu::Format::Enum(getdVideoH264ProfileIdcName, value); } + inline tcu::Format::Enum getdVideoH264LevelStr (StdVideoH264Level value) { return tcu::Format::Enum(getdVideoH264LevelName, value); } + inline tcu::Format::Enum getdVideoH264PocTypeStr (StdVideoH264PocType value) { return tcu::Format::Enum(getdVideoH264PocTypeName, value); } + inline tcu::Format::Enum getdVideoH264AspectRatioIdcStr (StdVideoH264AspectRatioIdc value) { return tcu::Format::Enum(getdVideoH264AspectRatioIdcName, value); } + inline tcu::Format::Enum getdVideoH264WeightedBipredIdcStr (StdVideoH264WeightedBipredIdc value) { return tcu::Format::Enum(getdVideoH264WeightedBipredIdcName, value); } + inline tcu::Format::Enum getdVideoH264ModificationOfPicNumsIdcStr (StdVideoH264ModificationOfPicNumsIdc value) { return tcu::Format::Enum(getdVideoH264ModificationOfPicNumsIdcName, value); } + inline tcu::Format::Enum getdVideoH264MemMgmtControlOpStr (StdVideoH264MemMgmtControlOp value) { return tcu::Format::Enum(getdVideoH264MemMgmtControlOpName, value); } + inline tcu::Format::Enum getdVideoH264CabacInitIdcStr (StdVideoH264CabacInitIdc value) { return tcu::Format::Enum(getdVideoH264CabacInitIdcName, value); } + inline tcu::Format::Enum getdVideoH264DisableDeblockingFilterIdcStr (StdVideoH264DisableDeblockingFilterIdc value) { return tcu::Format::Enum(getdVideoH264DisableDeblockingFilterIdcName, value); } + inline tcu::Format::Enum getdVideoH264SliceTypeStr (StdVideoH264SliceType value) { return tcu::Format::Enum(getdVideoH264SliceTypeName, value); } + inline tcu::Format::Enum getdVideoH264PictureTypeStr (StdVideoH264PictureType value) { return tcu::Format::Enum(getdVideoH264PictureTypeName, value); } + inline tcu::Format::Enum getdVideoH264NonVclNaluTypeStr (StdVideoH264NonVclNaluType value) { return tcu::Format::Enum(getdVideoH264NonVclNaluTypeName, value); } + inline tcu::Format::Enum getdVideoH265ChromaFormatIdcStr (StdVideoH265ChromaFormatIdc value) { return tcu::Format::Enum(getdVideoH265ChromaFormatIdcName, value); } + inline tcu::Format::Enum getdVideoH265ProfileIdcStr (StdVideoH265ProfileIdc value) { return tcu::Format::Enum(getdVideoH265ProfileIdcName, value); } + inline tcu::Format::Enum getdVideoH265LevelStr (StdVideoH265Level value) { return tcu::Format::Enum(getdVideoH265LevelName, value); } + inline tcu::Format::Enum getdVideoH265SliceTypeStr (StdVideoH265SliceType value) { return tcu::Format::Enum(getdVideoH265SliceTypeName, value); } + inline tcu::Format::Enum getdVideoH265PictureTypeStr (StdVideoH265PictureType value) { return tcu::Format::Enum(getdVideoH265PictureTypeName, value); } + inline tcu::Format::Enum getdVideoDecodeH264FieldOrderCntStr (StdVideoDecodeH264FieldOrderCnt value) { return tcu::Format::Enum(getdVideoDecodeH264FieldOrderCntName, value); } + inline tcu::Format::Enum getFullScreenExclusiveEXTStr (VkFullScreenExclusiveEXT value) { return tcu::Format::Enum(getFullScreenExclusiveEXTName, value); } + + inline std::ostream& operator<< (std::ostream& s, VkResult value) { return s << getResultStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkStructureType value) { return s << getStructureTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkImageLayout value) { return s << getImageLayoutStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkObjectType value) { return s << getObjectTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPipelineCacheHeaderVersion value) { return s << getPipelineCacheHeaderVersionStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkVendorId value) { return s << getVendorIdStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkSystemAllocationScope value) { return s << getSystemAllocationScopeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkInternalAllocationType value) { return s << getInternalAllocationTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkFormat value) { return s << getFormatStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkImageTiling value) { return s << getImageTilingStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkImageType value) { return s << getImageTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPhysicalDeviceType value) { return s << getPhysicalDeviceTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkQueryType value) { return s << getQueryTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkSharingMode value) { return s << getSharingModeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkComponentSwizzle value) { return s << getComponentSwizzleStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkImageViewType value) { return s << getImageViewTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkBlendFactor value) { return s << getBlendFactorStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkBlendOp value) { return s << getBlendOpStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkCompareOp value) { return s << getCompareOpStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkDynamicState value) { return s << getDynamicStateStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkFrontFace value) { return s << getFrontFaceStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkVertexInputRate value) { return s << getVertexInputRateStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPrimitiveTopology value) { return s << getPrimitiveTopologyStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPolygonMode value) { return s << getPolygonModeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkStencilOp value) { return s << getStencilOpStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkLogicOp value) { return s << getLogicOpStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkBorderColor value) { return s << getBorderColorStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkFilter value) { return s << getFilterStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkSamplerAddressMode value) { return s << getSamplerAddressModeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkSamplerMipmapMode value) { return s << getSamplerMipmapModeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkDescriptorType value) { return s << getDescriptorTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkAttachmentLoadOp value) { return s << getAttachmentLoadOpStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkAttachmentStoreOp value) { return s << getAttachmentStoreOpStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPipelineBindPoint value) { return s << getPipelineBindPointStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkCommandBufferLevel value) { return s << getCommandBufferLevelStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkIndexType value) { return s << getIndexTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkSubpassContents value) { return s << getSubpassContentsStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPointClippingBehavior value) { return s << getPointClippingBehaviorStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkTessellationDomainOrigin value) { return s << getTessellationDomainOriginStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkSamplerYcbcrModelConversion value) { return s << getSamplerYcbcrModelConversionStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkSamplerYcbcrRange value) { return s << getSamplerYcbcrRangeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkChromaLocation value) { return s << getChromaLocationStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkDescriptorUpdateTemplateType value) { return s << getDescriptorUpdateTemplateTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkDriverId value) { return s << getDriverIdStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkShaderFloatControlsIndependence value) { return s << getShaderFloatControlsIndependenceStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkSamplerReductionMode value) { return s << getSamplerReductionModeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkSemaphoreType value) { return s << getSemaphoreTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPresentModeKHR value) { return s << getPresentModeKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkColorSpaceKHR value) { return s << getColorSpaceKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPerformanceCounterUnitKHR value) { return s << getPerformanceCounterUnitKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPerformanceCounterScopeKHR value) { return s << getPerformanceCounterScopeKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPerformanceCounterStorageKHR value) { return s << getPerformanceCounterStorageKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkFragmentShadingRateCombinerOpKHR value) { return s << getFragmentShadingRateCombinerOpKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPipelineExecutableStatisticFormatKHR value) { return s << getPipelineExecutableStatisticFormatKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkDebugReportObjectTypeEXT value) { return s << getDebugReportObjectTypeEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkRasterizationOrderAMD value) { return s << getRasterizationOrderAMDStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkShaderInfoTypeAMD value) { return s << getShaderInfoTypeAMDStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkValidationCheckEXT value) { return s << getValidationCheckEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkDisplayPowerStateEXT value) { return s << getDisplayPowerStateEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkDeviceEventTypeEXT value) { return s << getDeviceEventTypeEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkDisplayEventTypeEXT value) { return s << getDisplayEventTypeEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkViewportCoordinateSwizzleNV value) { return s << getViewportCoordinateSwizzleNVStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkDiscardRectangleModeEXT value) { return s << getDiscardRectangleModeEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkConservativeRasterizationModeEXT value) { return s << getConservativeRasterizationModeEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkBlendOverlapEXT value) { return s << getBlendOverlapEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkCoverageModulationModeNV value) { return s << getCoverageModulationModeNVStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkValidationCacheHeaderVersionEXT value) { return s << getValidationCacheHeaderVersionEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkShadingRatePaletteEntryNV value) { return s << getShadingRatePaletteEntryNVStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkCoarseSampleOrderTypeNV value) { return s << getCoarseSampleOrderTypeNVStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkRayTracingShaderGroupTypeKHR value) { return s << getRayTracingShaderGroupTypeKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkGeometryTypeKHR value) { return s << getGeometryTypeKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkAccelerationStructureTypeKHR value) { return s << getAccelerationStructureTypeKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkCopyAccelerationStructureModeKHR value) { return s << getCopyAccelerationStructureModeKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkAccelerationStructureMemoryRequirementsTypeNV value) { return s << getAccelerationStructureMemoryRequirementsTypeNVStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkQueueGlobalPriorityEXT value) { return s << getQueueGlobalPriorityEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkTimeDomainEXT value) { return s << getTimeDomainEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkMemoryOverallocationBehaviorAMD value) { return s << getMemoryOverallocationBehaviorAMDStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPerformanceConfigurationTypeINTEL value) { return s << getPerformanceConfigurationTypeINTELStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkQueryPoolSamplingModeINTEL value) { return s << getQueryPoolSamplingModeINTELStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPerformanceOverrideTypeINTEL value) { return s << getPerformanceOverrideTypeINTELStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPerformanceParameterTypeINTEL value) { return s << getPerformanceParameterTypeINTELStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkPerformanceValueTypeINTEL value) { return s << getPerformanceValueTypeINTELStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkValidationFeatureEnableEXT value) { return s << getValidationFeatureEnableEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkValidationFeatureDisableEXT value) { return s << getValidationFeatureDisableEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkComponentTypeNV value) { return s << getComponentTypeNVStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkScopeNV value) { return s << getScopeNVStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkCoverageReductionModeNV value) { return s << getCoverageReductionModeNVStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkProvokingVertexModeEXT value) { return s << getProvokingVertexModeEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkLineRasterizationModeEXT value) { return s << getLineRasterizationModeEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkIndirectCommandsTokenTypeNV value) { return s << getIndirectCommandsTokenTypeNVStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkDeviceMemoryReportEventTypeEXT value) { return s << getDeviceMemoryReportEventTypeEXTStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkFragmentShadingRateTypeNV value) { return s << getFragmentShadingRateTypeNVStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkFragmentShadingRateNV value) { return s << getFragmentShadingRateNVStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkAccelerationStructureMotionInstanceTypeNV value) { return s << getAccelerationStructureMotionInstanceTypeNVStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkBuildAccelerationStructureModeKHR value) { return s << getBuildAccelerationStructureModeKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkAccelerationStructureBuildTypeKHR value) { return s << getAccelerationStructureBuildTypeKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkAccelerationStructureCompatibilityKHR value) { return s << getAccelerationStructureCompatibilityKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkShaderGroupShaderKHR value) { return s << getShaderGroupShaderKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkQueryResultStatusKHR value) { return s << getQueryResultStatusKHRStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH264ChromaFormatIdc value) { return s << getdVideoH264ChromaFormatIdcStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH264ProfileIdc value) { return s << getdVideoH264ProfileIdcStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH264Level value) { return s << getdVideoH264LevelStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH264PocType value) { return s << getdVideoH264PocTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH264AspectRatioIdc value) { return s << getdVideoH264AspectRatioIdcStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH264WeightedBipredIdc value) { return s << getdVideoH264WeightedBipredIdcStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH264ModificationOfPicNumsIdc value) { return s << getdVideoH264ModificationOfPicNumsIdcStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH264MemMgmtControlOp value) { return s << getdVideoH264MemMgmtControlOpStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH264CabacInitIdc value) { return s << getdVideoH264CabacInitIdcStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH264DisableDeblockingFilterIdc value) { return s << getdVideoH264DisableDeblockingFilterIdcStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH264SliceType value) { return s << getdVideoH264SliceTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH264PictureType value) { return s << getdVideoH264PictureTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH264NonVclNaluType value) { return s << getdVideoH264NonVclNaluTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH265ChromaFormatIdc value) { return s << getdVideoH265ChromaFormatIdcStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH265ProfileIdc value) { return s << getdVideoH265ProfileIdcStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH265Level value) { return s << getdVideoH265LevelStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH265SliceType value) { return s << getdVideoH265SliceTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoH265PictureType value) { return s << getdVideoH265PictureTypeStr(value); } + inline std::ostream& operator<< (std::ostream& s, StdVideoDecodeH264FieldOrderCnt value) { return s << getdVideoDecodeH264FieldOrderCntStr(value); } + inline std::ostream& operator<< (std::ostream& s, VkFullScreenExclusiveEXT value) { return s << getFullScreenExclusiveEXTStr(value); } + + tcu::Format::Bitfield<32> getAccessFlagsStr (VkAccessFlags value); + tcu::Format::Bitfield<32> getImageAspectFlagsStr (VkImageAspectFlags value); + tcu::Format::Bitfield<32> getFormatFeatureFlagsStr (VkFormatFeatureFlags value); + tcu::Format::Bitfield<32> getImageCreateFlagsStr (VkImageCreateFlags value); + tcu::Format::Bitfield<32> getSampleCountFlagsStr (VkSampleCountFlags value); + tcu::Format::Bitfield<32> getImageUsageFlagsStr (VkImageUsageFlags value); + tcu::Format::Bitfield<32> getMemoryHeapFlagsStr (VkMemoryHeapFlags value); + tcu::Format::Bitfield<32> getMemoryPropertyFlagsStr (VkMemoryPropertyFlags value); + tcu::Format::Bitfield<32> getQueueFlagsStr (VkQueueFlags value); + tcu::Format::Bitfield<32> getDeviceQueueCreateFlagsStr (VkDeviceQueueCreateFlags value); + tcu::Format::Bitfield<32> getPipelineStageFlagsStr (VkPipelineStageFlags value); + tcu::Format::Bitfield<32> getSparseMemoryBindFlagsStr (VkSparseMemoryBindFlags value); + tcu::Format::Bitfield<32> getSparseImageFormatFlagsStr (VkSparseImageFormatFlags value); + tcu::Format::Bitfield<32> getFenceCreateFlagsStr (VkFenceCreateFlags value); + tcu::Format::Bitfield<32> getEventCreateFlagsStr (VkEventCreateFlags value); + tcu::Format::Bitfield<32> getQueryPipelineStatisticFlagsStr (VkQueryPipelineStatisticFlags value); + tcu::Format::Bitfield<32> getQueryResultFlagsStr (VkQueryResultFlags value); + tcu::Format::Bitfield<32> getBufferCreateFlagsStr (VkBufferCreateFlags value); + tcu::Format::Bitfield<32> getBufferUsageFlagsStr (VkBufferUsageFlags value); + tcu::Format::Bitfield<32> getImageViewCreateFlagsStr (VkImageViewCreateFlags value); + tcu::Format::Bitfield<32> getPipelineCacheCreateFlagsStr (VkPipelineCacheCreateFlags value); + tcu::Format::Bitfield<32> getColorComponentFlagsStr (VkColorComponentFlags value); + tcu::Format::Bitfield<32> getPipelineCreateFlagsStr (VkPipelineCreateFlags value); + tcu::Format::Bitfield<32> getPipelineShaderStageCreateFlagsStr (VkPipelineShaderStageCreateFlags value); + tcu::Format::Bitfield<32> getShaderStageFlagsStr (VkShaderStageFlags value); + tcu::Format::Bitfield<32> getCullModeFlagsStr (VkCullModeFlags value); + tcu::Format::Bitfield<32> getPipelineDepthStencilStateCreateFlagsStr (VkPipelineDepthStencilStateCreateFlags value); + tcu::Format::Bitfield<32> getPipelineColorBlendStateCreateFlagsStr (VkPipelineColorBlendStateCreateFlags value); + tcu::Format::Bitfield<32> getSamplerCreateFlagsStr (VkSamplerCreateFlags value); + tcu::Format::Bitfield<32> getDescriptorPoolCreateFlagsStr (VkDescriptorPoolCreateFlags value); + tcu::Format::Bitfield<32> getDescriptorSetLayoutCreateFlagsStr (VkDescriptorSetLayoutCreateFlags value); + tcu::Format::Bitfield<32> getAttachmentDescriptionFlagsStr (VkAttachmentDescriptionFlags value); + tcu::Format::Bitfield<32> getDependencyFlagsStr (VkDependencyFlags value); + tcu::Format::Bitfield<32> getFramebufferCreateFlagsStr (VkFramebufferCreateFlags value); + tcu::Format::Bitfield<32> getRenderPassCreateFlagsStr (VkRenderPassCreateFlags value); + tcu::Format::Bitfield<32> getSubpassDescriptionFlagsStr (VkSubpassDescriptionFlags value); + tcu::Format::Bitfield<32> getCommandPoolCreateFlagsStr (VkCommandPoolCreateFlags value); + tcu::Format::Bitfield<32> getCommandPoolResetFlagsStr (VkCommandPoolResetFlags value); + tcu::Format::Bitfield<32> getCommandBufferUsageFlagsStr (VkCommandBufferUsageFlags value); + tcu::Format::Bitfield<32> getQueryControlFlagsStr (VkQueryControlFlags value); + tcu::Format::Bitfield<32> getCommandBufferResetFlagsStr (VkCommandBufferResetFlags value); + tcu::Format::Bitfield<32> getStencilFaceFlagsStr (VkStencilFaceFlags value); + tcu::Format::Bitfield<32> getSubgroupFeatureFlagsStr (VkSubgroupFeatureFlags value); + tcu::Format::Bitfield<32> getPeerMemoryFeatureFlagsStr (VkPeerMemoryFeatureFlags value); + tcu::Format::Bitfield<32> getMemoryAllocateFlagsStr (VkMemoryAllocateFlags value); + tcu::Format::Bitfield<32> getExternalMemoryHandleTypeFlagsStr (VkExternalMemoryHandleTypeFlags value); + tcu::Format::Bitfield<32> getExternalMemoryFeatureFlagsStr (VkExternalMemoryFeatureFlags value); + tcu::Format::Bitfield<32> getExternalFenceHandleTypeFlagsStr (VkExternalFenceHandleTypeFlags value); + tcu::Format::Bitfield<32> getExternalFenceFeatureFlagsStr (VkExternalFenceFeatureFlags value); + tcu::Format::Bitfield<32> getFenceImportFlagsStr (VkFenceImportFlags value); + tcu::Format::Bitfield<32> getSemaphoreImportFlagsStr (VkSemaphoreImportFlags value); + tcu::Format::Bitfield<32> getExternalSemaphoreHandleTypeFlagsStr (VkExternalSemaphoreHandleTypeFlags value); + tcu::Format::Bitfield<32> getExternalSemaphoreFeatureFlagsStr (VkExternalSemaphoreFeatureFlags value); + tcu::Format::Bitfield<32> getResolveModeFlagsStr (VkResolveModeFlags value); + tcu::Format::Bitfield<32> getDescriptorBindingFlagsStr (VkDescriptorBindingFlags value); + tcu::Format::Bitfield<32> getSemaphoreWaitFlagsStr (VkSemaphoreWaitFlags value); ++tcu::Format::Bitfield<32> getPipelineCreationFeedbackFlagsStr (VkPipelineCreationFeedbackFlags value); ++tcu::Format::Bitfield<32> getToolPurposeFlagsStr (VkToolPurposeFlags value); ++tcu::Format::Bitfield<32> getPrivateDataSlotCreateFlagsStr (VkPrivateDataSlotCreateFlags value); ++tcu::Format::Bitfield<32> getSubmitFlagsStr (VkSubmitFlags value); ++tcu::Format::Bitfield<32> getRenderingFlagsStr (VkRenderingFlags value); + tcu::Format::Bitfield<32> getSurfaceTransformFlagsKHRStr (VkSurfaceTransformFlagsKHR value); + tcu::Format::Bitfield<32> getCompositeAlphaFlagsKHRStr (VkCompositeAlphaFlagsKHR value); + tcu::Format::Bitfield<32> getSwapchainCreateFlagsKHRStr (VkSwapchainCreateFlagsKHR value); + tcu::Format::Bitfield<32> getDeviceGroupPresentModeFlagsKHRStr (VkDeviceGroupPresentModeFlagsKHR value); + tcu::Format::Bitfield<32> getDisplayPlaneAlphaFlagsKHRStr (VkDisplayPlaneAlphaFlagsKHR value); -tcu::Format::Bitfield<32> getRenderingFlagsKHRStr (VkRenderingFlagsKHR value); + tcu::Format::Bitfield<32> getPerformanceCounterDescriptionFlagsKHRStr (VkPerformanceCounterDescriptionFlagsKHR value); + tcu::Format::Bitfield<32> getAcquireProfilingLockFlagsKHRStr (VkAcquireProfilingLockFlagsKHR value); -tcu::Format::Bitfield<32> getSubmitFlagsKHRStr (VkSubmitFlagsKHR value); + tcu::Format::Bitfield<32> getDebugReportFlagsEXTStr (VkDebugReportFlagsEXT value); + tcu::Format::Bitfield<32> getExternalMemoryHandleTypeFlagsNVStr (VkExternalMemoryHandleTypeFlagsNV value); + tcu::Format::Bitfield<32> getExternalMemoryFeatureFlagsNVStr (VkExternalMemoryFeatureFlagsNV value); + tcu::Format::Bitfield<32> getConditionalRenderingFlagsEXTStr (VkConditionalRenderingFlagsEXT value); + tcu::Format::Bitfield<32> getSurfaceCounterFlagsEXTStr (VkSurfaceCounterFlagsEXT value); + tcu::Format::Bitfield<32> getDebugUtilsMessageSeverityFlagsEXTStr (VkDebugUtilsMessageSeverityFlagsEXT value); + tcu::Format::Bitfield<32> getDebugUtilsMessageTypeFlagsEXTStr (VkDebugUtilsMessageTypeFlagsEXT value); + tcu::Format::Bitfield<32> getGeometryFlagsKHRStr (VkGeometryFlagsKHR value); + tcu::Format::Bitfield<32> getGeometryInstanceFlagsKHRStr (VkGeometryInstanceFlagsKHR value); + tcu::Format::Bitfield<32> getBuildAccelerationStructureFlagsKHRStr (VkBuildAccelerationStructureFlagsKHR value); + tcu::Format::Bitfield<32> getPipelineCompilerControlFlagsAMDStr (VkPipelineCompilerControlFlagsAMD value); -tcu::Format::Bitfield<32> getPipelineCreationFeedbackFlagsEXTStr (VkPipelineCreationFeedbackFlagsEXT value); + tcu::Format::Bitfield<32> getShaderCorePropertiesFlagsAMDStr (VkShaderCorePropertiesFlagsAMD value); -tcu::Format::Bitfield<32> getToolPurposeFlagsEXTStr (VkToolPurposeFlagsEXT value); + tcu::Format::Bitfield<32> getIndirectStateFlagsNVStr (VkIndirectStateFlagsNV value); + tcu::Format::Bitfield<32> getIndirectCommandsLayoutUsageFlagsNVStr (VkIndirectCommandsLayoutUsageFlagsNV value); -tcu::Format::Bitfield<32> getPrivateDataSlotCreateFlagsEXTStr (VkPrivateDataSlotCreateFlagsEXT value); + tcu::Format::Bitfield<32> getDeviceDiagnosticsConfigFlagsNVStr (VkDeviceDiagnosticsConfigFlagsNV value); + tcu::Format::Bitfield<32> getAccelerationStructureCreateFlagsKHRStr (VkAccelerationStructureCreateFlagsKHR value); + tcu::Format::Bitfield<32> getVideoCodecOperationFlagsKHRStr (VkVideoCodecOperationFlagsKHR value); + tcu::Format::Bitfield<32> getVideoChromaSubsamplingFlagsKHRStr (VkVideoChromaSubsamplingFlagsKHR value); + tcu::Format::Bitfield<32> getVideoComponentBitDepthFlagsKHRStr (VkVideoComponentBitDepthFlagsKHR value); + tcu::Format::Bitfield<32> getVideoCapabilityFlagsKHRStr (VkVideoCapabilityFlagsKHR value); + tcu::Format::Bitfield<32> getVideoSessionCreateFlagsKHRStr (VkVideoSessionCreateFlagsKHR value); + tcu::Format::Bitfield<32> getVideoCodingControlFlagsKHRStr (VkVideoCodingControlFlagsKHR value); + tcu::Format::Bitfield<32> getVideoCodingQualityPresetFlagsKHRStr (VkVideoCodingQualityPresetFlagsKHR value); + tcu::Format::Bitfield<32> getVideoDecodeFlagsKHRStr (VkVideoDecodeFlagsKHR value); + tcu::Format::Bitfield<32> getVideoEncodeFlagsKHRStr (VkVideoEncodeFlagsKHR value); + tcu::Format::Bitfield<32> getVideoEncodeRateControlFlagsKHRStr (VkVideoEncodeRateControlFlagsKHR value); + tcu::Format::Bitfield<32> getVideoEncodeRateControlModeFlagsKHRStr (VkVideoEncodeRateControlModeFlagsKHR value); + tcu::Format::Bitfield<32> getVideoEncodeH264CapabilityFlagsEXTStr (VkVideoEncodeH264CapabilityFlagsEXT value); + tcu::Format::Bitfield<32> getVideoEncodeH264InputModeFlagsEXTStr (VkVideoEncodeH264InputModeFlagsEXT value); + tcu::Format::Bitfield<32> getVideoEncodeH264OutputModeFlagsEXTStr (VkVideoEncodeH264OutputModeFlagsEXT value); + tcu::Format::Bitfield<32> getVideoEncodeH264CreateFlagsEXTStr (VkVideoEncodeH264CreateFlagsEXT value); + tcu::Format::Bitfield<32> getVideoEncodeH264RateControlStructureFlagsEXTStr (VkVideoEncodeH264RateControlStructureFlagsEXT value); + tcu::Format::Bitfield<32> getVideoEncodeH265InputModeFlagsEXTStr (VkVideoEncodeH265InputModeFlagsEXT value); + tcu::Format::Bitfield<32> getVideoEncodeH265OutputModeFlagsEXTStr (VkVideoEncodeH265OutputModeFlagsEXT value); + tcu::Format::Bitfield<32> getVideoEncodeH265CtbSizeFlagsEXTStr (VkVideoEncodeH265CtbSizeFlagsEXT value); + tcu::Format::Bitfield<32> getVideoEncodeH265RateControlStructureFlagsEXTStr (VkVideoEncodeH265RateControlStructureFlagsEXT value); + tcu::Format::Bitfield<32> getVideoDecodeH264PictureLayoutFlagsEXTStr (VkVideoDecodeH264PictureLayoutFlagsEXT value); + tcu::Format::Bitfield<32> getImageConstraintsInfoFlagsFUCHSIAStr (VkImageConstraintsInfoFlagsFUCHSIA value); + tcu::Format::Bitfield<32> getInstanceCreateFlagsStr (VkInstanceCreateFlags value); + tcu::Format::Bitfield<32> getDeviceCreateFlagsStr (VkDeviceCreateFlags value); + tcu::Format::Bitfield<32> getMemoryMapFlagsStr (VkMemoryMapFlags value); + tcu::Format::Bitfield<32> getSemaphoreCreateFlagsStr (VkSemaphoreCreateFlags value); + tcu::Format::Bitfield<32> getQueryPoolCreateFlagsStr (VkQueryPoolCreateFlags value); + tcu::Format::Bitfield<32> getBufferViewCreateFlagsStr (VkBufferViewCreateFlags value); + tcu::Format::Bitfield<32> getShaderModuleCreateFlagsStr (VkShaderModuleCreateFlags value); + tcu::Format::Bitfield<32> getPipelineVertexInputStateCreateFlagsStr (VkPipelineVertexInputStateCreateFlags value); + tcu::Format::Bitfield<32> getPipelineInputAssemblyStateCreateFlagsStr (VkPipelineInputAssemblyStateCreateFlags value); + tcu::Format::Bitfield<32> getPipelineTessellationStateCreateFlagsStr (VkPipelineTessellationStateCreateFlags value); + tcu::Format::Bitfield<32> getPipelineViewportStateCreateFlagsStr (VkPipelineViewportStateCreateFlags value); + tcu::Format::Bitfield<32> getPipelineRasterizationStateCreateFlagsStr (VkPipelineRasterizationStateCreateFlags value); + tcu::Format::Bitfield<32> getPipelineMultisampleStateCreateFlagsStr (VkPipelineMultisampleStateCreateFlags value); + tcu::Format::Bitfield<32> getPipelineDynamicStateCreateFlagsStr (VkPipelineDynamicStateCreateFlags value); + tcu::Format::Bitfield<32> getPipelineLayoutCreateFlagsStr (VkPipelineLayoutCreateFlags value); + tcu::Format::Bitfield<32> getDescriptorPoolResetFlagsStr (VkDescriptorPoolResetFlags value); + tcu::Format::Bitfield<32> getCommandPoolTrimFlagsStr (VkCommandPoolTrimFlags value); + tcu::Format::Bitfield<32> getDescriptorUpdateTemplateCreateFlagsStr (VkDescriptorUpdateTemplateCreateFlags value); + tcu::Format::Bitfield<32> getDisplayModeCreateFlagsKHRStr (VkDisplayModeCreateFlagsKHR value); + tcu::Format::Bitfield<32> getDisplaySurfaceCreateFlagsKHRStr (VkDisplaySurfaceCreateFlagsKHR value); + tcu::Format::Bitfield<32> getPipelineRasterizationStateStreamCreateFlagsEXTStr (VkPipelineRasterizationStateStreamCreateFlagsEXT value); + tcu::Format::Bitfield<32> getPipelineViewportSwizzleStateCreateFlagsNVStr (VkPipelineViewportSwizzleStateCreateFlagsNV value); + tcu::Format::Bitfield<32> getPipelineDiscardRectangleStateCreateFlagsEXTStr (VkPipelineDiscardRectangleStateCreateFlagsEXT value); + tcu::Format::Bitfield<32> getPipelineRasterizationConservativeStateCreateFlagsEXTStr (VkPipelineRasterizationConservativeStateCreateFlagsEXT value); + tcu::Format::Bitfield<32> getPipelineRasterizationDepthClipStateCreateFlagsEXTStr (VkPipelineRasterizationDepthClipStateCreateFlagsEXT value); + tcu::Format::Bitfield<32> getDebugUtilsMessengerCallbackDataFlagsEXTStr (VkDebugUtilsMessengerCallbackDataFlagsEXT value); + tcu::Format::Bitfield<32> getDebugUtilsMessengerCreateFlagsEXTStr (VkDebugUtilsMessengerCreateFlagsEXT value); + tcu::Format::Bitfield<32> getPipelineCoverageToColorStateCreateFlagsNVStr (VkPipelineCoverageToColorStateCreateFlagsNV value); + tcu::Format::Bitfield<32> getPipelineCoverageModulationStateCreateFlagsNVStr (VkPipelineCoverageModulationStateCreateFlagsNV value); + tcu::Format::Bitfield<32> getValidationCacheCreateFlagsEXTStr (VkValidationCacheCreateFlagsEXT value); + tcu::Format::Bitfield<32> getPipelineCoverageReductionStateCreateFlagsNVStr (VkPipelineCoverageReductionStateCreateFlagsNV value); + tcu::Format::Bitfield<32> getHeadlessSurfaceCreateFlagsEXTStr (VkHeadlessSurfaceCreateFlagsEXT value); + tcu::Format::Bitfield<32> getDeviceMemoryReportFlagsEXTStr (VkDeviceMemoryReportFlagsEXT value); + tcu::Format::Bitfield<32> getAccelerationStructureMotionInfoFlagsNVStr (VkAccelerationStructureMotionInfoFlagsNV value); + tcu::Format::Bitfield<32> getAccelerationStructureMotionInstanceFlagsNVStr (VkAccelerationStructureMotionInstanceFlagsNV value); + tcu::Format::Bitfield<32> getAndroidSurfaceCreateFlagsKHRStr (VkAndroidSurfaceCreateFlagsKHR value); + tcu::Format::Bitfield<32> getVideoBeginCodingFlagsKHRStr (VkVideoBeginCodingFlagsKHR value); + tcu::Format::Bitfield<32> getVideoEndCodingFlagsKHRStr (VkVideoEndCodingFlagsKHR value); + tcu::Format::Bitfield<32> getVideoEncodeH265CapabilityFlagsEXTStr (VkVideoEncodeH265CapabilityFlagsEXT value); + tcu::Format::Bitfield<32> getVideoEncodeH265CreateFlagsEXTStr (VkVideoEncodeH265CreateFlagsEXT value); + tcu::Format::Bitfield<32> getVideoDecodeH264CreateFlagsEXTStr (VkVideoDecodeH264CreateFlagsEXT value); + tcu::Format::Bitfield<32> getVideoDecodeH265CreateFlagsEXTStr (VkVideoDecodeH265CreateFlagsEXT value); + tcu::Format::Bitfield<32> getImagePipeSurfaceCreateFlagsFUCHSIAStr (VkImagePipeSurfaceCreateFlagsFUCHSIA value); + tcu::Format::Bitfield<32> getImageFormatConstraintsFlagsFUCHSIAStr (VkImageFormatConstraintsFlagsFUCHSIA value); + tcu::Format::Bitfield<32> getStreamDescriptorSurfaceCreateFlagsGGPStr (VkStreamDescriptorSurfaceCreateFlagsGGP value); + tcu::Format::Bitfield<32> getIOSSurfaceCreateFlagsMVKStr (VkIOSSurfaceCreateFlagsMVK value); + tcu::Format::Bitfield<32> getMacOSSurfaceCreateFlagsMVKStr (VkMacOSSurfaceCreateFlagsMVK value); + tcu::Format::Bitfield<32> getMetalSurfaceCreateFlagsEXTStr (VkMetalSurfaceCreateFlagsEXT value); + tcu::Format::Bitfield<32> getViSurfaceCreateFlagsNNStr (VkViSurfaceCreateFlagsNN value); + tcu::Format::Bitfield<32> getWaylandSurfaceCreateFlagsKHRStr (VkWaylandSurfaceCreateFlagsKHR value); + tcu::Format::Bitfield<32> getWin32SurfaceCreateFlagsKHRStr (VkWin32SurfaceCreateFlagsKHR value); + tcu::Format::Bitfield<32> getXcbSurfaceCreateFlagsKHRStr (VkXcbSurfaceCreateFlagsKHR value); + tcu::Format::Bitfield<32> getXlibSurfaceCreateFlagsKHRStr (VkXlibSurfaceCreateFlagsKHR value); + tcu::Format::Bitfield<32> getBuildAccelerationStructureFlagsNVStr (VkBuildAccelerationStructureFlagsNV value); + + std::ostream& operator<< (std::ostream& s, const VkExtent2D& value); + std::ostream& operator<< (std::ostream& s, const VkExtent3D& value); + std::ostream& operator<< (std::ostream& s, const VkOffset2D& value); + std::ostream& operator<< (std::ostream& s, const VkOffset3D& value); + std::ostream& operator<< (std::ostream& s, const VkRect2D& value); + std::ostream& operator<< (std::ostream& s, const VkBaseInStructure& value); + std::ostream& operator<< (std::ostream& s, const VkBaseOutStructure& value); + std::ostream& operator<< (std::ostream& s, const VkBufferMemoryBarrier& value); + std::ostream& operator<< (std::ostream& s, const VkDispatchIndirectCommand& value); + std::ostream& operator<< (std::ostream& s, const VkDrawIndexedIndirectCommand& value); + std::ostream& operator<< (std::ostream& s, const VkDrawIndirectCommand& value); + std::ostream& operator<< (std::ostream& s, const VkImageSubresourceRange& value); + std::ostream& operator<< (std::ostream& s, const VkImageMemoryBarrier& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryBarrier& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineCacheHeaderVersionOne& value); + std::ostream& operator<< (std::ostream& s, const VkAllocationCallbacks& value); + std::ostream& operator<< (std::ostream& s, const VkApplicationInfo& value); + std::ostream& operator<< (std::ostream& s, const VkFormatProperties& value); + std::ostream& operator<< (std::ostream& s, const VkImageFormatProperties& value); + std::ostream& operator<< (std::ostream& s, const VkInstanceCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryHeap& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryType& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLimits& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryProperties& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSparseProperties& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProperties& value); + std::ostream& operator<< (std::ostream& s, const VkQueueFamilyProperties& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceQueueCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkExtensionProperties& value); + std::ostream& operator<< (std::ostream& s, const VkLayerProperties& value); + std::ostream& operator<< (std::ostream& s, const VkSubmitInfo& value); + std::ostream& operator<< (std::ostream& s, const VkMappedMemoryRange& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryAllocateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryRequirements& value); + std::ostream& operator<< (std::ostream& s, const VkSparseMemoryBind& value); + std::ostream& operator<< (std::ostream& s, const VkSparseBufferMemoryBindInfo& value); + std::ostream& operator<< (std::ostream& s, const VkSparseImageOpaqueMemoryBindInfo& value); + std::ostream& operator<< (std::ostream& s, const VkImageSubresource& value); + std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryBind& value); + std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryBindInfo& value); + std::ostream& operator<< (std::ostream& s, const VkBindSparseInfo& value); + std::ostream& operator<< (std::ostream& s, const VkSparseImageFormatProperties& value); + std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryRequirements& value); + std::ostream& operator<< (std::ostream& s, const VkFenceCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkSemaphoreCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkEventCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkQueryPoolCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkBufferCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkBufferViewCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkImageCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkSubresourceLayout& value); + std::ostream& operator<< (std::ostream& s, const VkComponentMapping& value); + std::ostream& operator<< (std::ostream& s, const VkImageViewCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkShaderModuleCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineCacheCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkSpecializationMapEntry& value); + std::ostream& operator<< (std::ostream& s, const VkSpecializationInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineShaderStageCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkComputePipelineCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDescription& value); + std::ostream& operator<< (std::ostream& s, const VkVertexInputAttributeDescription& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineVertexInputStateCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineInputAssemblyStateCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineTessellationStateCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkViewport& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportStateCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationStateCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineMultisampleStateCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkStencilOpState& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineDepthStencilStateCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendAttachmentState& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendStateCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineDynamicStateCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkGraphicsPipelineCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPushConstantRange& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineLayoutCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkSamplerCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkCopyDescriptorSet& value); + std::ostream& operator<< (std::ostream& s, const VkDescriptorBufferInfo& value); + std::ostream& operator<< (std::ostream& s, const VkDescriptorImageInfo& value); + std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolSize& value); + std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetAllocateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutBinding& value); + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSet& value); + std::ostream& operator<< (std::ostream& s, const VkAttachmentDescription& value); + std::ostream& operator<< (std::ostream& s, const VkAttachmentReference& value); + std::ostream& operator<< (std::ostream& s, const VkFramebufferCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkSubpassDescription& value); + std::ostream& operator<< (std::ostream& s, const VkSubpassDependency& value); + std::ostream& operator<< (std::ostream& s, const VkRenderPassCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkCommandPoolCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkCommandBufferAllocateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceInfo& value); + std::ostream& operator<< (std::ostream& s, const VkCommandBufferBeginInfo& value); + std::ostream& operator<< (std::ostream& s, const VkBufferCopy& value); + std::ostream& operator<< (std::ostream& s, const VkImageSubresourceLayers& value); + std::ostream& operator<< (std::ostream& s, const VkBufferImageCopy& value); + std::ostream& operator<< (std::ostream& s, const VkClearColorValue& value); + std::ostream& operator<< (std::ostream& s, const VkClearDepthStencilValue& value); + std::ostream& operator<< (std::ostream& s, const VkClearValue& value); + std::ostream& operator<< (std::ostream& s, const VkClearAttachment& value); + std::ostream& operator<< (std::ostream& s, const VkClearRect& value); + std::ostream& operator<< (std::ostream& s, const VkImageBlit& value); + std::ostream& operator<< (std::ostream& s, const VkImageCopy& value); + std::ostream& operator<< (std::ostream& s, const VkImageResolve& value); + std::ostream& operator<< (std::ostream& s, const VkRenderPassBeginInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupProperties& value); + std::ostream& operator<< (std::ostream& s, const VkBindBufferMemoryInfo& value); + std::ostream& operator<< (std::ostream& s, const VkBindImageMemoryInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice16BitStorageFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryDedicatedRequirements& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryDedicatedAllocateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryAllocateFlagsInfo& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceGroupRenderPassBeginInfo& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceGroupCommandBufferBeginInfo& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceGroupSubmitInfo& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceGroupBindSparseInfo& value); + std::ostream& operator<< (std::ostream& s, const VkBindBufferMemoryDeviceGroupInfo& value); + std::ostream& operator<< (std::ostream& s, const VkBindImageMemoryDeviceGroupInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGroupProperties& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceGroupDeviceCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkBufferMemoryRequirementsInfo2& value); + std::ostream& operator<< (std::ostream& s, const VkImageMemoryRequirementsInfo2& value); + std::ostream& operator<< (std::ostream& s, const VkImageSparseMemoryRequirementsInfo2& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryRequirements2& value); + std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryRequirements2& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFeatures2& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProperties2& value); + std::ostream& operator<< (std::ostream& s, const VkFormatProperties2& value); + std::ostream& operator<< (std::ostream& s, const VkImageFormatProperties2& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageFormatInfo2& value); + std::ostream& operator<< (std::ostream& s, const VkQueueFamilyProperties2& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryProperties2& value); + std::ostream& operator<< (std::ostream& s, const VkSparseImageFormatProperties2& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSparseImageFormatInfo2& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePointClippingProperties& value); + std::ostream& operator<< (std::ostream& s, const VkInputAttachmentAspectReference& value); + std::ostream& operator<< (std::ostream& s, const VkRenderPassInputAttachmentAspectCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkImageViewUsageCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineTessellationDomainOriginStateCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkRenderPassMultiviewCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiviewFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiviewProperties& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVariablePointersFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProtectedMemoryFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProtectedMemoryProperties& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceQueueInfo2& value); + std::ostream& operator<< (std::ostream& s, const VkProtectedSubmitInfo& value); + std::ostream& operator<< (std::ostream& s, const VkSamplerYcbcrConversionCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkSamplerYcbcrConversionInfo& value); + std::ostream& operator<< (std::ostream& s, const VkBindImagePlaneMemoryInfo& value); + std::ostream& operator<< (std::ostream& s, const VkImagePlaneMemoryRequirementsInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSamplerYcbcrConversionFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkSamplerYcbcrConversionImageFormatProperties& value); + std::ostream& operator<< (std::ostream& s, const VkDescriptorUpdateTemplateEntry& value); + std::ostream& operator<< (std::ostream& s, const VkDescriptorUpdateTemplateCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkExternalMemoryProperties& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalImageFormatInfo& value); + std::ostream& operator<< (std::ostream& s, const VkExternalImageFormatProperties& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalBufferInfo& value); + std::ostream& operator<< (std::ostream& s, const VkExternalBufferProperties& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceIDProperties& value); + std::ostream& operator<< (std::ostream& s, const VkExternalMemoryImageCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkExternalMemoryBufferCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkExportMemoryAllocateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalFenceInfo& value); + std::ostream& operator<< (std::ostream& s, const VkExternalFenceProperties& value); + std::ostream& operator<< (std::ostream& s, const VkExportFenceCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkExportSemaphoreCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalSemaphoreInfo& value); + std::ostream& operator<< (std::ostream& s, const VkExternalSemaphoreProperties& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance3Properties& value); + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutSupport& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderDrawParametersFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan11Features& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan11Properties& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan12Features& value); + std::ostream& operator<< (std::ostream& s, const VkConformanceVersion& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan12Properties& value); + std::ostream& operator<< (std::ostream& s, const VkImageFormatListCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkAttachmentDescription2& value); + std::ostream& operator<< (std::ostream& s, const VkAttachmentReference2& value); + std::ostream& operator<< (std::ostream& s, const VkSubpassDescription2& value); + std::ostream& operator<< (std::ostream& s, const VkSubpassDependency2& value); + std::ostream& operator<< (std::ostream& s, const VkRenderPassCreateInfo2& value); + std::ostream& operator<< (std::ostream& s, const VkSubpassBeginInfo& value); + std::ostream& operator<< (std::ostream& s, const VkSubpassEndInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice8BitStorageFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDriverProperties& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderAtomicInt64Features& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderFloat16Int8Features& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFloatControlsProperties& value); + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutBindingFlagsCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDescriptorIndexingFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDescriptorIndexingProperties& value); + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetVariableDescriptorCountAllocateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetVariableDescriptorCountLayoutSupport& value); + std::ostream& operator<< (std::ostream& s, const VkSubpassDescriptionDepthStencilResolve& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDepthStencilResolveProperties& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceScalarBlockLayoutFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkImageStencilUsageCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkSamplerReductionModeCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSamplerFilterMinmaxProperties& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkanMemoryModelFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImagelessFramebufferFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkFramebufferAttachmentImageInfo& value); + std::ostream& operator<< (std::ostream& s, const VkFramebufferAttachmentsCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkRenderPassAttachmentBeginInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkAttachmentReferenceStencilLayout& value); + std::ostream& operator<< (std::ostream& s, const VkAttachmentDescriptionStencilLayout& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceHostQueryResetFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTimelineSemaphoreFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTimelineSemaphoreProperties& value); + std::ostream& operator<< (std::ostream& s, const VkSemaphoreTypeCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkTimelineSemaphoreSubmitInfo& value); + std::ostream& operator<< (std::ostream& s, const VkSemaphoreWaitInfo& value); + std::ostream& operator<< (std::ostream& s, const VkSemaphoreSignalInfo& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBufferDeviceAddressFeatures& value); + std::ostream& operator<< (std::ostream& s, const VkBufferDeviceAddressInfo& value); + std::ostream& operator<< (std::ostream& s, const VkBufferOpaqueCaptureAddressCreateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryOpaqueCaptureAddressAllocateInfo& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceMemoryOpaqueCaptureAddressInfo& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan13Features& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan13Properties& value); ++std::ostream& operator<< (std::ostream& s, const VkPipelineCreationFeedback& value); ++std::ostream& operator<< (std::ostream& s, const VkPipelineCreationFeedbackCreateInfo& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderTerminateInvocationFeatures& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceToolProperties& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePrivateDataFeatures& value); ++std::ostream& operator<< (std::ostream& s, const VkDevicePrivateDataCreateInfo& value); ++std::ostream& operator<< (std::ostream& s, const VkPrivateDataSlotCreateInfo& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePipelineCreationCacheControlFeatures& value); ++std::ostream& operator<< (std::ostream& s, const VkMemoryBarrier2& value); ++std::ostream& operator<< (std::ostream& s, const VkBufferMemoryBarrier2& value); ++std::ostream& operator<< (std::ostream& s, const VkImageMemoryBarrier2& value); ++std::ostream& operator<< (std::ostream& s, const VkDependencyInfo& value); ++std::ostream& operator<< (std::ostream& s, const VkSemaphoreSubmitInfo& value); ++std::ostream& operator<< (std::ostream& s, const VkCommandBufferSubmitInfo& value); ++std::ostream& operator<< (std::ostream& s, const VkSubmitInfo2& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSynchronization2Features& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageRobustnessFeatures& value); ++std::ostream& operator<< (std::ostream& s, const VkBufferCopy2& value); ++std::ostream& operator<< (std::ostream& s, const VkCopyBufferInfo2& value); ++std::ostream& operator<< (std::ostream& s, const VkImageCopy2& value); ++std::ostream& operator<< (std::ostream& s, const VkCopyImageInfo2& value); ++std::ostream& operator<< (std::ostream& s, const VkBufferImageCopy2& value); ++std::ostream& operator<< (std::ostream& s, const VkCopyBufferToImageInfo2& value); ++std::ostream& operator<< (std::ostream& s, const VkCopyImageToBufferInfo2& value); ++std::ostream& operator<< (std::ostream& s, const VkImageBlit2& value); ++std::ostream& operator<< (std::ostream& s, const VkBlitImageInfo2& value); ++std::ostream& operator<< (std::ostream& s, const VkImageResolve2& value); ++std::ostream& operator<< (std::ostream& s, const VkResolveImageInfo2& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupSizeControlFeatures& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupSizeControlProperties& value); ++std::ostream& operator<< (std::ostream& s, const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInlineUniformBlockFeatures& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInlineUniformBlockProperties& value); ++std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSetInlineUniformBlock& value); ++std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolInlineUniformBlockCreateInfo& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTextureCompressionASTCHDRFeatures& value); ++std::ostream& operator<< (std::ostream& s, const VkRenderingAttachmentInfo& value); ++std::ostream& operator<< (std::ostream& s, const VkRenderingInfo& value); ++std::ostream& operator<< (std::ostream& s, const VkPipelineRenderingCreateInfo& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDynamicRenderingFeatures& value); ++std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceRenderingInfo& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderIntegerDotProductFeatures& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderIntegerDotProductProperties& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTexelBufferAlignmentProperties& value); ++std::ostream& operator<< (std::ostream& s, const VkFormatProperties3& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance4Features& value); ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance4Properties& value); ++std::ostream& operator<< (std::ostream& s, const VkDeviceBufferMemoryRequirements& value); ++std::ostream& operator<< (std::ostream& s, const VkDeviceImageMemoryRequirements& value); + std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilitiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkSurfaceFormatKHR& value); + std::ostream& operator<< (std::ostream& s, const VkSwapchainCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPresentInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkImageSwapchainCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkBindImageMemorySwapchainInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAcquireNextImageInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceGroupPresentCapabilitiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceGroupPresentInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceGroupSwapchainCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayModeParametersKHR& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayModeCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayModePropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneCapabilitiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayPlanePropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayPropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkDisplaySurfaceCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayPresentInfoKHR& value); -std::ostream& operator<< (std::ostream& s, const VkRenderingAttachmentInfoKHR& value); -std::ostream& operator<< (std::ostream& s, const VkRenderingInfoKHR& value); -std::ostream& operator<< (std::ostream& s, const VkPipelineRenderingCreateInfoKHR& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDynamicRenderingFeaturesKHR& value); -std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceRenderingInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkRenderingFragmentShadingRateAttachmentInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkRenderingFragmentDensityMapAttachmentInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkAttachmentSampleCountInfoAMD& value); + std::ostream& operator<< (std::ostream& s, const VkMultiviewPerViewAttributesInfoNVX& value); + std::ostream& operator<< (std::ostream& s, const VkImportMemoryFdInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryFdPropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryGetFdInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkImportSemaphoreFdInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkSemaphoreGetFdInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePushDescriptorPropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkRectLayerKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPresentRegionKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPresentRegionsKHR& value); + std::ostream& operator<< (std::ostream& s, const VkSharedPresentSurfaceCapabilitiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkImportFenceFdInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkFenceGetFdInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePerformanceQueryFeaturesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePerformanceQueryPropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterDescriptionKHR& value); + std::ostream& operator<< (std::ostream& s, const VkQueryPoolPerformanceCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterResultKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAcquireProfilingLockInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPerformanceQuerySubmitInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSurfaceInfo2KHR& value); + std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilities2KHR& value); + std::ostream& operator<< (std::ostream& s, const VkSurfaceFormat2KHR& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayProperties2KHR& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneProperties2KHR& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayModeProperties2KHR& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneInfo2KHR& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneCapabilities2KHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderClockFeaturesKHR& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkFragmentShadingRateAttachmentInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineFragmentShadingRateStateCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateFeaturesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRatePropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateKHR& value); + std::ostream& operator<< (std::ostream& s, const VkSurfaceProtectedCapabilitiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePresentWaitFeaturesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineExecutablePropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableStatisticValueKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableStatisticKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableInternalRepresentationKHR& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineLibraryCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPresentIdKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePresentIdFeaturesKHR& value); -std::ostream& operator<< (std::ostream& s, const VkMemoryBarrier2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkBufferMemoryBarrier2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkImageMemoryBarrier2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkDependencyInfoKHR& value); -std::ostream& operator<< (std::ostream& s, const VkSemaphoreSubmitInfoKHR& value); -std::ostream& operator<< (std::ostream& s, const VkCommandBufferSubmitInfoKHR& value); -std::ostream& operator<< (std::ostream& s, const VkSubmitInfo2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSynchronization2FeaturesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkQueueFamilyCheckpointProperties2NV& value); + std::ostream& operator<< (std::ostream& s, const VkCheckpointData2NV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR& value); -std::ostream& operator<< (std::ostream& s, const VkBufferCopy2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkCopyBufferInfo2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkImageCopy2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkCopyImageInfo2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkBufferImageCopy2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkCopyBufferToImageInfo2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkCopyImageToBufferInfo2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkImageBlit2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkBlitImageInfo2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkImageResolve2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkResolveImageInfo2KHR& value); -std::ostream& operator<< (std::ostream& s, const VkFormatProperties3KHR& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance4FeaturesKHR& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance4PropertiesKHR& value); -std::ostream& operator<< (std::ostream& s, const VkDeviceBufferMemoryRequirementsKHR& value); -std::ostream& operator<< (std::ostream& s, const VkDeviceImageMemoryRequirementsKHR& value); + std::ostream& operator<< (std::ostream& s, const VkDebugReportCallbackCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationStateRasterizationOrderAMD& value); + std::ostream& operator<< (std::ostream& s, const VkDebugMarkerObjectNameInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDebugMarkerObjectTagInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDebugMarkerMarkerInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDedicatedAllocationImageCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkDedicatedAllocationBufferCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkDedicatedAllocationMemoryAllocateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTransformFeedbackFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTransformFeedbackPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationStateStreamCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkCuModuleCreateInfoNVX& value); + std::ostream& operator<< (std::ostream& s, const VkCuFunctionCreateInfoNVX& value); + std::ostream& operator<< (std::ostream& s, const VkCuLaunchInfoNVX& value); + std::ostream& operator<< (std::ostream& s, const VkImageViewHandleInfoNVX& value); + std::ostream& operator<< (std::ostream& s, const VkImageViewAddressPropertiesNVX& value); + std::ostream& operator<< (std::ostream& s, const VkTextureLODGatherFormatPropertiesAMD& value); + std::ostream& operator<< (std::ostream& s, const VkShaderResourceUsageAMD& value); + std::ostream& operator<< (std::ostream& s, const VkShaderStatisticsInfoAMD& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCornerSampledImageFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkExternalImageFormatPropertiesNV& value); + std::ostream& operator<< (std::ostream& s, const VkExternalMemoryImageCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkExportMemoryAllocateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkValidationFlagsEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkImageViewASTCDecodeModeEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceASTCDecodeFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkConditionalRenderingBeginInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceConditionalRenderingFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceConditionalRenderingInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkViewportWScalingNV& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportWScalingStateCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilities2EXT& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayPowerInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceEventInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayEventInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkSwapchainCounterCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkRefreshCycleDurationGOOGLE& value); + std::ostream& operator<< (std::ostream& s, const VkPastPresentationTimingGOOGLE& value); + std::ostream& operator<< (std::ostream& s, const VkPresentTimeGOOGLE& value); + std::ostream& operator<< (std::ostream& s, const VkPresentTimesInfoGOOGLE& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& value); + std::ostream& operator<< (std::ostream& s, const VkViewportSwizzleNV& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportSwizzleStateCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDiscardRectanglePropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineDiscardRectangleStateCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceConservativeRasterizationPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationConservativeStateCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDepthClipEnableFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationDepthClipStateCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkXYColorEXT& value); + std::ostream& operator<< (std::ostream& s, const VkHdrMetadataEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDebugUtilsLabelEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDebugUtilsObjectNameInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDebugUtilsMessengerCallbackDataEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDebugUtilsMessengerCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDebugUtilsObjectTagInfoEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInlineUniformBlockFeaturesEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInlineUniformBlockPropertiesEXT& value); -std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSetInlineUniformBlockEXT& value); -std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolInlineUniformBlockCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkSampleLocationEXT& value); + std::ostream& operator<< (std::ostream& s, const VkSampleLocationsInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkAttachmentSampleLocationsEXT& value); + std::ostream& operator<< (std::ostream& s, const VkSubpassSampleLocationsEXT& value); + std::ostream& operator<< (std::ostream& s, const VkRenderPassSampleLocationsBeginInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineSampleLocationsStateCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSampleLocationsPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkMultisamplePropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendAdvancedStateCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineCoverageToColorStateCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineCoverageModulationStateCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierPropertiesListEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageDrmFormatModifierInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkImageDrmFormatModifierListCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkImageDrmFormatModifierExplicitCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkImageDrmFormatModifierPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierProperties2EXT& value); + std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierPropertiesList2EXT& value); + std::ostream& operator<< (std::ostream& s, const VkValidationCacheCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkShaderModuleValidationCacheCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkShadingRatePaletteNV& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportShadingRateImageStateCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShadingRateImageFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShadingRateImagePropertiesNV& value); + std::ostream& operator<< (std::ostream& s, const VkCoarseSampleLocationNV& value); + std::ostream& operator<< (std::ostream& s, const VkCoarseSampleOrderCustomNV& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkRayTracingShaderGroupCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkRayTracingPipelineCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkGeometryTrianglesNV& value); + std::ostream& operator<< (std::ostream& s, const VkGeometryAABBNV& value); + std::ostream& operator<< (std::ostream& s, const VkGeometryDataNV& value); + std::ostream& operator<< (std::ostream& s, const VkGeometryNV& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkBindAccelerationStructureMemoryInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSetAccelerationStructureNV& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMemoryRequirementsInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingPropertiesNV& value); + std::ostream& operator<< (std::ostream& s, const VkTransformMatrixKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAabbPositionsKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureInstanceKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineRepresentativeFragmentTestStateCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageViewImageFormatInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkFilterCubicImageViewImageFormatPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceQueueGlobalPriorityCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkImportMemoryHostPointerInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryHostPointerPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalMemoryHostPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineCompilerControlCreateInfoAMD& value); + std::ostream& operator<< (std::ostream& s, const VkCalibratedTimestampInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderCorePropertiesAMD& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceMemoryOverallocationCreateInfoAMD& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDivisorDescriptionEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineVertexInputDivisorStateCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPipelineCreationFeedbackEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPipelineCreationFeedbackCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMeshShaderFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMeshShaderPropertiesNV& value); + std::ostream& operator<< (std::ostream& s, const VkDrawMeshTasksIndirectCommandNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderImageFootprintFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportExclusiveScissorStateCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExclusiveScissorFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkQueueFamilyCheckpointPropertiesNV& value); + std::ostream& operator<< (std::ostream& s, const VkCheckpointDataNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& value); + std::ostream& operator<< (std::ostream& s, const VkPerformanceValueDataINTEL& value); + std::ostream& operator<< (std::ostream& s, const VkPerformanceValueINTEL& value); + std::ostream& operator<< (std::ostream& s, const VkInitializePerformanceApiInfoINTEL& value); + std::ostream& operator<< (std::ostream& s, const VkQueryPoolPerformanceQueryCreateInfoINTEL& value); + std::ostream& operator<< (std::ostream& s, const VkPerformanceMarkerInfoINTEL& value); + std::ostream& operator<< (std::ostream& s, const VkPerformanceStreamMarkerInfoINTEL& value); + std::ostream& operator<< (std::ostream& s, const VkPerformanceOverrideInfoINTEL& value); + std::ostream& operator<< (std::ostream& s, const VkPerformanceConfigurationAcquireInfoINTEL& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePCIBusInfoPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDisplayNativeHdrSurfaceCapabilitiesAMD& value); + std::ostream& operator<< (std::ostream& s, const VkSwapchainDisplayNativeHdrCreateInfoAMD& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkRenderPassFragmentDensityMapCreateInfoEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderCoreProperties2AMD& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCoherentMemoryFeaturesAMD& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryBudgetPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryPriorityFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryPriorityAllocateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkBufferDeviceAddressCreateInfoEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceToolPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkValidationFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkCooperativeMatrixPropertiesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCooperativeMatrixFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCooperativeMatrixPropertiesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCoverageReductionModeFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineCoverageReductionStateCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkFramebufferMixedSamplesCombinationNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProvokingVertexFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProvokingVertexPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkHeadlessSurfaceCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLineRasterizationFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLineRasterizationPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationLineStateCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceIndexTypeUint8FeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkGraphicsShaderGroupCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkGraphicsPipelineShaderGroupsCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkBindShaderGroupIndirectCommandNV& value); + std::ostream& operator<< (std::ostream& s, const VkBindIndexBufferIndirectCommandNV& value); + std::ostream& operator<< (std::ostream& s, const VkBindVertexBufferIndirectCommandNV& value); + std::ostream& operator<< (std::ostream& s, const VkSetStateFlagsIndirectCommandNV& value); + std::ostream& operator<< (std::ostream& s, const VkIndirectCommandsStreamNV& value); + std::ostream& operator<< (std::ostream& s, const VkIndirectCommandsLayoutTokenNV& value); + std::ostream& operator<< (std::ostream& s, const VkIndirectCommandsLayoutCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkGeneratedCommandsInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkGeneratedCommandsMemoryRequirementsInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInheritedViewportScissorFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceViewportScissorInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkRenderPassTransformBeginInfoQCOM& value); + std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceRenderPassTransformInfoQCOM& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceMemoryReportCallbackDataEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceDeviceMemoryReportCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRobustness2FeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRobustness2PropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkSamplerCustomBorderColorCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCustomBorderColorPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCustomBorderColorFeaturesEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePrivateDataFeaturesEXT& value); -std::ostream& operator<< (std::ostream& s, const VkDevicePrivateDataCreateInfoEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPrivateDataSlotCreateInfoEXT& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDiagnosticsConfigFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceDiagnosticsConfigCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineFragmentShadingRateEnumStateCreateInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceOrHostAddressConstKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryMotionTrianglesDataNV& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMotionInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMatrixMotionInstanceNV& value); + std::ostream& operator<< (std::ostream& s, const VkSRTDataNV& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureSRTMotionInstanceNV& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMotionInstanceDataNV& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMotionInstanceNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkCopyCommandTransformInfoQCOM& value); -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageRobustnessFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice4444FormatsFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE& value); + std::ostream& operator<< (std::ostream& s, const VkMutableDescriptorTypeListVALVE& value); + std::ostream& operator<< (std::ostream& s, const VkMutableDescriptorTypeCreateInfoVALVE& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDescription2EXT& value); + std::ostream& operator<< (std::ostream& s, const VkVertexInputAttributeDescription2EXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDrmPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDepthClipControlFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportDepthClipControlCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkSubpassShadingPipelineCreateInfoHUAWEI& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryGetRemoteAddressInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceColorWriteEnableFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPipelineColorWriteCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkQueueFamilyGlobalPriorityPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageViewMinLodFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkImageViewMinLodCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiDrawFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiDrawPropertiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkMultiDrawInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkMultiDrawIndexedInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkSamplerBorderColorComponentMappingCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkDeviceOrHostAddressKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureBuildRangeInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryTrianglesDataKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryAabbsDataKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryInstancesDataKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryDataKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureBuildGeometryInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSetAccelerationStructureKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceAccelerationStructureFeaturesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceAccelerationStructurePropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureDeviceAddressInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureVersionInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkCopyAccelerationStructureToMemoryInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkCopyMemoryToAccelerationStructureInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkCopyAccelerationStructureInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureBuildSizesInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkRayTracingShaderGroupCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkRayTracingPipelineInterfaceCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkRayTracingPipelineCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingPipelineFeaturesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingPipelinePropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkStridedDeviceAddressRegionKHR& value); + std::ostream& operator<< (std::ostream& s, const VkTraceRaysIndirectCommandKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayQueryFeaturesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAndroidSurfaceCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferUsageANDROID& value); + std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferPropertiesANDROID& value); + std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferFormatPropertiesANDROID& value); + std::ostream& operator<< (std::ostream& s, const VkImportAndroidHardwareBufferInfoANDROID& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryGetAndroidHardwareBufferInfoANDROID& value); + std::ostream& operator<< (std::ostream& s, const VkExternalFormatANDROID& value); + std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferFormatProperties2ANDROID& value); + std::ostream& operator<< (std::ostream& s, const VkVideoQueueFamilyProperties2KHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoProfileKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoProfilesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoCapabilitiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVideoFormatInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoFormatPropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoPictureResourceKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoReferenceSlotKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoGetMemoryPropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoBindMemoryKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoSessionCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoSessionParametersCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoSessionParametersUpdateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoBeginCodingInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEndCodingInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoCodingControlInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePortabilitySubsetFeaturesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePortabilitySubsetPropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeRateControlLayerInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeRateControlInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH264SpsVuiFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH264HrdParameters& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH264SequenceParameterSetVui& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH264SpsFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH264ScalingLists& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH264SequenceParameterSet& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH264PpsFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH264PictureParameterSet& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264SliceHeaderFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264PictureInfoFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264RefMgmtFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264RefListModEntry& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264RefPicMarkingEntry& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264RefMemMgmtCtrlOperations& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264PictureInfo& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264SliceHeader& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264CapabilitiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264SessionCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264SessionParametersAddInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264SessionParametersCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264DpbSlotInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264NaluSliceEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264VclFrameInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264EmitPictureParametersEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264ProfileEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264RateControlInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264QpEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264FrameSizeEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264RateControlLayerInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265DecPicBufMgr& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265SubLayerHrdParameters& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265HrdFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265HrdParameters& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265VpsFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265VideoParameterSet& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265ScalingLists& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265SpsVuiFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265SequenceParameterSetVui& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265PredictorPaletteEntries& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265SpsFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265SequenceParameterSet& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265PpsFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoH265PictureParameterSet& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceHeaderFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceHeader& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265ReferenceModificationFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265ReferenceModifications& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265PictureInfoFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265PictureInfo& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265ReferenceInfoFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265ReferenceInfo& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265CapabilitiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265SessionCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265SessionParametersAddInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265SessionParametersCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265DpbSlotInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265ReferenceListsEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265NaluSliceEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265VclFrameInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265EmitPictureParametersEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265ProfileEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265RateControlInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265QpEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265FrameSizeEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265RateControlLayerInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264PictureInfoFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264PictureInfo& value); + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264ReferenceInfoFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264ReferenceInfo& value); + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264MvcElementFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264MvcElement& value); + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264Mvc& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264ProfileEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264CapabilitiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264SessionCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264SessionParametersAddInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264SessionParametersCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264PictureInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264MvcEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264DpbSlotInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265PictureInfoFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265PictureInfo& value); + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265ReferenceInfoFlags& value); + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265ReferenceInfo& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265ProfileEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265CapabilitiesEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265SessionCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265SessionParametersAddInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265SessionParametersCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265PictureInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265DpbSlotInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkImagePipeSurfaceCreateInfoFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkImportMemoryZirconHandleInfoFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryZirconHandlePropertiesFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryGetZirconHandleInfoFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkImportSemaphoreZirconHandleInfoFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkSemaphoreGetZirconHandleInfoFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkBufferCollectionCreateInfoFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkImportMemoryBufferCollectionFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkBufferCollectionImageCreateInfoFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkBufferCollectionConstraintsInfoFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkBufferConstraintsInfoFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkBufferCollectionBufferCreateInfoFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkSysmemColorSpaceFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkBufferCollectionPropertiesFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkImageFormatConstraintsInfoFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkImageConstraintsInfoFUCHSIA& value); + std::ostream& operator<< (std::ostream& s, const VkStreamDescriptorSurfaceCreateInfoGGP& value); + std::ostream& operator<< (std::ostream& s, const VkPresentFrameTokenGGP& value); + std::ostream& operator<< (std::ostream& s, const VkIOSSurfaceCreateInfoMVK& value); + std::ostream& operator<< (std::ostream& s, const VkMacOSSurfaceCreateInfoMVK& value); + std::ostream& operator<< (std::ostream& s, const VkMetalSurfaceCreateInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkViSurfaceCreateInfoNN& value); + std::ostream& operator<< (std::ostream& s, const VkWaylandSurfaceCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkWin32SurfaceCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkImportMemoryWin32HandleInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkExportMemoryWin32HandleInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryWin32HandlePropertiesKHR& value); + std::ostream& operator<< (std::ostream& s, const VkMemoryGetWin32HandleInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkWin32KeyedMutexAcquireReleaseInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkImportSemaphoreWin32HandleInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkExportSemaphoreWin32HandleInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkD3D12FenceSubmitInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkSemaphoreGetWin32HandleInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkImportFenceWin32HandleInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkExportFenceWin32HandleInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkFenceGetWin32HandleInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkImportMemoryWin32HandleInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkExportMemoryWin32HandleInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkWin32KeyedMutexAcquireReleaseInfoNV& value); + std::ostream& operator<< (std::ostream& s, const VkSurfaceFullScreenExclusiveInfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilitiesFullScreenExclusiveEXT& value); + std::ostream& operator<< (std::ostream& s, const VkSurfaceFullScreenExclusiveWin32InfoEXT& value); + std::ostream& operator<< (std::ostream& s, const VkXcbSurfaceCreateInfoKHR& value); + std::ostream& operator<< (std::ostream& s, const VkXlibSurfaceCreateInfoKHR& value); diff --cc external/vulkancts/framework/vulkan/vkStrUtilImpl.inl index 0000000,1ecbaf8..b8435f3 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl +++ b/external/vulkancts/framework/vulkan/vkStrUtilImpl.inl @@@ -1,0 -1,14711 +1,14811 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + template<> const char* getTypeName (void) { return "VkBuffer"; } + template<> const char* getTypeName (void) { return "VkImage"; } + template<> const char* getTypeName (void) { return "VkInstance"; } + template<> const char* getTypeName (void) { return "VkPhysicalDevice"; } + template<> const char* getTypeName (void) { return "VkDevice"; } + template<> const char* getTypeName (void) { return "VkQueue"; } + template<> const char* getTypeName (void) { return "VkSemaphore"; } + template<> const char* getTypeName (void) { return "VkCommandBuffer"; } + template<> const char* getTypeName (void) { return "VkFence"; } + template<> const char* getTypeName (void) { return "VkDeviceMemory"; } + template<> const char* getTypeName (void) { return "VkEvent"; } + template<> const char* getTypeName (void) { return "VkQueryPool"; } + template<> const char* getTypeName (void) { return "VkBufferView"; } + template<> const char* getTypeName (void) { return "VkImageView"; } + template<> const char* getTypeName (void) { return "VkShaderModule"; } + template<> const char* getTypeName (void) { return "VkPipelineCache"; } + template<> const char* getTypeName (void) { return "VkPipelineLayout"; } + template<> const char* getTypeName (void) { return "VkPipeline"; } + template<> const char* getTypeName (void) { return "VkRenderPass"; } + template<> const char* getTypeName (void) { return "VkDescriptorSetLayout"; } + template<> const char* getTypeName (void) { return "VkSampler"; } + template<> const char* getTypeName (void) { return "VkDescriptorSet"; } + template<> const char* getTypeName (void) { return "VkDescriptorPool"; } + template<> const char* getTypeName (void) { return "VkFramebuffer"; } + template<> const char* getTypeName (void) { return "VkCommandPool"; } + template<> const char* getTypeName (void) { return "VkSamplerYcbcrConversion"; } + template<> const char* getTypeName (void) { return "VkDescriptorUpdateTemplate"; } ++template<> const char* getTypeName (void) { return "VkPrivateDataSlot"; } + template<> const char* getTypeName (void) { return "VkSurfaceKHR"; } + template<> const char* getTypeName (void) { return "VkSwapchainKHR"; } + template<> const char* getTypeName (void) { return "VkDisplayKHR"; } + template<> const char* getTypeName (void) { return "VkDisplayModeKHR"; } + template<> const char* getTypeName (void) { return "VkDeferredOperationKHR"; } + template<> const char* getTypeName (void) { return "VkDebugReportCallbackEXT"; } + template<> const char* getTypeName (void) { return "VkCuModuleNVX"; } + template<> const char* getTypeName (void) { return "VkCuFunctionNVX"; } + template<> const char* getTypeName (void) { return "VkDebugUtilsMessengerEXT"; } + template<> const char* getTypeName (void) { return "VkValidationCacheEXT"; } + template<> const char* getTypeName (void) { return "VkAccelerationStructureNV"; } + template<> const char* getTypeName (void) { return "VkPerformanceConfigurationINTEL"; } + template<> const char* getTypeName (void) { return "VkIndirectCommandsLayoutNV"; } -template<> const char* getTypeName (void) { return "VkPrivateDataSlotEXT"; } + template<> const char* getTypeName (void) { return "VkAccelerationStructureKHR"; } + template<> const char* getTypeName (void) { return "VkVideoSessionKHR"; } + template<> const char* getTypeName (void) { return "VkVideoSessionParametersKHR"; } + template<> const char* getTypeName (void) { return "VkBufferCollectionFUCHSIA"; } + + namespace pt + { + std::ostream& operator<< (std::ostream& s, XlibDisplayPtr v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, XlibWindow v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, XlibVisualID v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, XcbConnectionPtr v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, XcbWindow v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, XcbVisualid v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, WaylandDisplayPtr v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, WaylandSurfacePtr v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, MirConnectionPtr v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, MirSurfacePtr v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, AndroidNativeWindowPtr v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, Win32InstanceHandle v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, Win32WindowHandle v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, Win32Handle v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, Win32SecurityAttributesPtr v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, AndroidHardwareBufferPtr v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, Win32MonitorHandle v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, Win32LPCWSTR v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, RROutput v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, zx_handle_t v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, GgpFrameToken v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, GgpStreamDescriptor v) { return s << tcu::toHex(v.internal); } + std::ostream& operator<< (std::ostream& s, CAMetalLayer v) { return s << tcu::toHex(v.internal); } + } + + const char* getResultName (VkResult value) + { + switch (value) + { + case VK_SUCCESS: return "VK_SUCCESS"; + case VK_NOT_READY: return "VK_NOT_READY"; + case VK_TIMEOUT: return "VK_TIMEOUT"; + case VK_EVENT_SET: return "VK_EVENT_SET"; + case VK_EVENT_RESET: return "VK_EVENT_RESET"; + case VK_INCOMPLETE: return "VK_INCOMPLETE"; + case VK_ERROR_OUT_OF_HOST_MEMORY: return "VK_ERROR_OUT_OF_HOST_MEMORY"; + case VK_ERROR_OUT_OF_DEVICE_MEMORY: return "VK_ERROR_OUT_OF_DEVICE_MEMORY"; + case VK_ERROR_INITIALIZATION_FAILED: return "VK_ERROR_INITIALIZATION_FAILED"; + case VK_ERROR_DEVICE_LOST: return "VK_ERROR_DEVICE_LOST"; + case VK_ERROR_MEMORY_MAP_FAILED: return "VK_ERROR_MEMORY_MAP_FAILED"; + case VK_ERROR_LAYER_NOT_PRESENT: return "VK_ERROR_LAYER_NOT_PRESENT"; + case VK_ERROR_EXTENSION_NOT_PRESENT: return "VK_ERROR_EXTENSION_NOT_PRESENT"; + case VK_ERROR_FEATURE_NOT_PRESENT: return "VK_ERROR_FEATURE_NOT_PRESENT"; + case VK_ERROR_INCOMPATIBLE_DRIVER: return "VK_ERROR_INCOMPATIBLE_DRIVER"; + case VK_ERROR_TOO_MANY_OBJECTS: return "VK_ERROR_TOO_MANY_OBJECTS"; + case VK_ERROR_FORMAT_NOT_SUPPORTED: return "VK_ERROR_FORMAT_NOT_SUPPORTED"; + case VK_ERROR_FRAGMENTED_POOL: return "VK_ERROR_FRAGMENTED_POOL"; + case VK_ERROR_UNKNOWN: return "VK_ERROR_UNKNOWN"; + case VK_ERROR_OUT_OF_POOL_MEMORY: return "VK_ERROR_OUT_OF_POOL_MEMORY"; + case VK_ERROR_INVALID_EXTERNAL_HANDLE: return "VK_ERROR_INVALID_EXTERNAL_HANDLE"; + case VK_ERROR_FRAGMENTATION: return "VK_ERROR_FRAGMENTATION"; + case VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS: return "VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS"; ++ case VK_PIPELINE_COMPILE_REQUIRED: return "VK_PIPELINE_COMPILE_REQUIRED"; + case VK_ERROR_SURFACE_LOST_KHR: return "VK_ERROR_SURFACE_LOST_KHR"; + case VK_ERROR_NATIVE_WINDOW_IN_USE_KHR: return "VK_ERROR_NATIVE_WINDOW_IN_USE_KHR"; + case VK_SUBOPTIMAL_KHR: return "VK_SUBOPTIMAL_KHR"; + case VK_ERROR_OUT_OF_DATE_KHR: return "VK_ERROR_OUT_OF_DATE_KHR"; + case VK_ERROR_INCOMPATIBLE_DISPLAY_KHR: return "VK_ERROR_INCOMPATIBLE_DISPLAY_KHR"; + case VK_ERROR_VALIDATION_FAILED_EXT: return "VK_ERROR_VALIDATION_FAILED_EXT"; + case VK_ERROR_INVALID_SHADER_NV: return "VK_ERROR_INVALID_SHADER_NV"; + case VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT: return "VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT"; + case VK_ERROR_NOT_PERMITTED_EXT: return "VK_ERROR_NOT_PERMITTED_EXT"; + case VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT: return "VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT"; + case VK_THREAD_IDLE_KHR: return "VK_THREAD_IDLE_KHR"; + case VK_THREAD_DONE_KHR: return "VK_THREAD_DONE_KHR"; + case VK_OPERATION_DEFERRED_KHR: return "VK_OPERATION_DEFERRED_KHR"; + case VK_OPERATION_NOT_DEFERRED_KHR: return "VK_OPERATION_NOT_DEFERRED_KHR"; - case VK_PIPELINE_COMPILE_REQUIRED_EXT: return "VK_PIPELINE_COMPILE_REQUIRED_EXT"; + case VK_RESULT_MAX_ENUM: return "VK_RESULT_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getStructureTypeName (VkStructureType value) + { + switch (value) + { + case VK_STRUCTURE_TYPE_APPLICATION_INFO: return "VK_STRUCTURE_TYPE_APPLICATION_INFO"; + case VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_SUBMIT_INFO"; + case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"; + case VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE: return "VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE"; + case VK_STRUCTURE_TYPE_BIND_SPARSE_INFO: return "VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"; + case VK_STRUCTURE_TYPE_FENCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_EVENT_CREATE_INFO: return "VK_STRUCTURE_TYPE_EVENT_CREATE_INFO"; + case VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO: return "VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO"; + case VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO: return "VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"; + case VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO: return "VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO"; + case VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO"; + case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO: return "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO"; + case VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO: return "VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO"; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET: return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET"; + case VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET: return "VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET"; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO: return "VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO"; + case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"; + case VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO: return "VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"; + case VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"; + case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER: return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER"; + case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER: return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER"; + case VK_STRUCTURE_TYPE_MEMORY_BARRIER: return "VK_STRUCTURE_TYPE_MEMORY_BARRIER"; + case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: return "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES"; + case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO: return "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO"; + case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO: return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES"; + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS"; + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO"; + case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO"; + case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: return "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO"; + case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2: return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2"; + case VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2: return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2"; + case VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2: return "VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2"; + case VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2: return "VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2"; + case VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2: return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2"; + case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2: return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2"; + case VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2: return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2"; + case VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2: return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES"; + case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES"; + case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES"; + case VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2: return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2"; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO: return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO"; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO"; + case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: return "VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO"; + case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: return "VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES"; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO"; + case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: return "VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO"; + case VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES: return "VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES"; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO"; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO"; + case VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES: return "VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES"; + case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: return "VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: return "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO"; + case VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES: return "VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES"; + case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO"; + case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2: return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2"; + case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2: return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2"; + case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2: return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2"; + case VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2: return "VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2"; + case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2"; + case VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO: return "VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO"; + case VK_STRUCTURE_TYPE_SUBPASS_END_INFO: return "VK_STRUCTURE_TYPE_SUBPASS_END_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES"; + case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES"; + case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES"; + case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES"; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO"; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO: return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO"; + case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: return "VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES"; + case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT"; + case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES"; + case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO"; + case VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO"; + case VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES"; + case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO: return "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO"; + case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: return "VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO"; + case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO"; + case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO: return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES"; ++ case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES"; ++ case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO"; ++ case VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO: return "VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES"; ++ case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: return "VK_STRUCTURE_TYPE_MEMORY_BARRIER_2"; ++ case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2: return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2"; ++ case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2: return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2"; ++ case VK_STRUCTURE_TYPE_DEPENDENCY_INFO: return "VK_STRUCTURE_TYPE_DEPENDENCY_INFO"; ++ case VK_STRUCTURE_TYPE_SUBMIT_INFO_2: return "VK_STRUCTURE_TYPE_SUBMIT_INFO_2"; ++ case VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO"; ++ case VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES"; ++ case VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2: return "VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2"; ++ case VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2: return "VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2"; ++ case VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2: return "VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2"; ++ case VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2: return "VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2"; ++ case VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2: return "VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2"; ++ case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2: return "VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2"; ++ case VK_STRUCTURE_TYPE_BUFFER_COPY_2: return "VK_STRUCTURE_TYPE_BUFFER_COPY_2"; ++ case VK_STRUCTURE_TYPE_IMAGE_COPY_2: return "VK_STRUCTURE_TYPE_IMAGE_COPY_2"; ++ case VK_STRUCTURE_TYPE_IMAGE_BLIT_2: return "VK_STRUCTURE_TYPE_IMAGE_BLIT_2"; ++ case VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2: return "VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2"; ++ case VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2: return "VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES"; ++ case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES"; ++ case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK"; ++ case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES"; ++ case VK_STRUCTURE_TYPE_RENDERING_INFO: return "VK_STRUCTURE_TYPE_RENDERING_INFO"; ++ case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO: return "VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO"; ++ case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: return "VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES"; ++ case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES"; ++ case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES"; ++ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES"; ++ case VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS: return "VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS"; ++ case VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS: return "VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_PRESENT_INFO_KHR: return "VK_STRUCTURE_TYPE_PRESENT_INFO_KHR"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR"; + case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR"; + case VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR: return "VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR"; + case VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD"; + case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT"; + case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT"; + case VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR: return "VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR: return "VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR: return "VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR: return "VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR"; + case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX: return "VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX"; + case VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX: return "VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX"; + case VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX: return "VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT"; + case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: return "VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD"; - case VK_STRUCTURE_TYPE_RENDERING_INFO_KHR: return "VK_STRUCTURE_TYPE_RENDERING_INFO_KHR"; - case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR: return "VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR"; - case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR"; - case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR"; + case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: return "VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR"; + case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: return "VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT"; + case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: return "VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD"; + case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: return "VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX"; + case VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP: return "VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV"; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV"; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV"; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV"; + case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: return "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV"; + case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: return "VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT"; + case VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN: return "VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR"; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR"; + case VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR"; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR"; + case VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR"; + case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: return "VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR"; + case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR"; + case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR"; + case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: return "VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR"; + case VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR"; + case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR"; + case VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT: return "VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT"; + case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: return "VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT: return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT"; + case VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT: return "VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT"; + case VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT: return "VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT"; + case VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT: return "VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: return "VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_HDR_METADATA_EXT: return "VK_STRUCTURE_TYPE_HDR_METADATA_EXT"; + case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR"; + case VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR"; + case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR"; + case VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR: return "VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR"; + case VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR"; + case VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR: return "VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: return "VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR"; + case VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR: return "VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR"; + case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR: return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR"; + case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR: return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR"; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR: return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR"; + case VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR: return "VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR"; + case VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR"; + case VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR"; + case VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR"; + case VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR"; + case VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR: return "VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR"; + case VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK: return "VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK"; + case VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK: return "VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK"; + case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT"; + case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT"; + case VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT"; + case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT"; + case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID"; + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID: return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID"; + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID"; + case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: return "VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"; + case VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: return "VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"; + case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: return "VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID"; + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID: return "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT"; - case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT: return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT"; - case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT"; + case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: return "VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR"; + case VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR: return "VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR"; + case VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR: return "VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR"; + case VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR: return "VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: return "VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT"; + case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: return "VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT"; + case VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_GEOMETRY_NV: return "VK_STRUCTURE_TYPE_GEOMETRY_NV"; + case VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV: return "VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV"; + case VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV: return "VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV"; + case VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV: return "VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV"; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT"; + case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT"; + case VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: return "VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD"; + case VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT: return "VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT: return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT"; + case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: return "VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP"; - case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV"; + case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV: return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL"; + case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: return "VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL"; + case VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL: return "VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL"; + case VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL: return "VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL"; + case VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL: return "VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL"; + case VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL: return "VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL"; + case VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL: return "VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: return "VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: return "VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD"; + case VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT"; - case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: return "VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR"; + case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: return "VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: return "VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV"; + case VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV: return "VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: return "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT"; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT"; + case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: return "VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT"; + case VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR"; + case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR"; + case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR"; + case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV: return "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV"; + case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV: return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV"; + case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV: return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM"; + case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: return "VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT: return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_PRESENT_ID_KHR: return "VK_STRUCTURE_TYPE_PRESENT_ID_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT"; - case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT"; - case VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV"; + case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV"; - case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR: return "VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR"; - case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR: return "VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR"; - case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR: return "VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR"; - case VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR: return "VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR"; - case VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR: return "VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR"; - case VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR: return "VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR"; - case VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV"; + case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV: return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM: return "VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR"; - case VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR: return "VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR"; - case VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR"; - case VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR"; - case VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR: return "VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR"; - case VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR"; - case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR: return "VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR"; - case VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR: return "VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR"; - case VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR: return "VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR"; - case VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR: return "VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR"; - case VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR: return "VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR"; - case VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR: return "VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE"; + case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE: return "VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT: return "VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT"; + case VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT: return "VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT"; - case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR: return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR"; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA"; + case VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA: return "VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA"; + case VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA"; + case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA"; + case VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA"; + case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA"; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA"; + case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA"; + case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA: return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA"; + case VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA"; + case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA"; + case VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA"; + case VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA"; + case VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA: return "VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA"; + case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA"; + case VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI: return "VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI"; + case VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV: return "VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX: return "VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR"; - case VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR: return "VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR"; - case VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR: return "VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR"; + case VK_STRUCTURE_TYPE_MAX_ENUM: return "VK_STRUCTURE_TYPE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getImageLayoutName (VkImageLayout value) + { + switch (value) + { + case VK_IMAGE_LAYOUT_UNDEFINED: return "VK_IMAGE_LAYOUT_UNDEFINED"; + case VK_IMAGE_LAYOUT_GENERAL: return "VK_IMAGE_LAYOUT_GENERAL"; + case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL"; + case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"; + case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL"; + case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL"; + case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: return "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL"; + case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: return "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL"; + case VK_IMAGE_LAYOUT_PREINITIALIZED: return "VK_IMAGE_LAYOUT_PREINITIALIZED"; + case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL"; + case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL"; + case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL"; + case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL"; + case VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL"; + case VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL"; ++ case VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL: return "VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL"; ++ case VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL: return "VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL"; + case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: return "VK_IMAGE_LAYOUT_PRESENT_SRC_KHR"; + case VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR: return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR"; + case VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR: return "VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR"; + case VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR: return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR"; + case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR: return "VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR"; + case VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT: return "VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT"; + case VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR: return "VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR"; + case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR: return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR"; + case VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR: return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR"; + case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR: return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR"; - case VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR: return "VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR"; - case VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR: return "VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR"; + case VK_IMAGE_LAYOUT_MAX_ENUM: return "VK_IMAGE_LAYOUT_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getObjectTypeName (VkObjectType value) + { + switch (value) + { + case VK_OBJECT_TYPE_UNKNOWN: return "VK_OBJECT_TYPE_UNKNOWN"; + case VK_OBJECT_TYPE_INSTANCE: return "VK_OBJECT_TYPE_INSTANCE"; + case VK_OBJECT_TYPE_PHYSICAL_DEVICE: return "VK_OBJECT_TYPE_PHYSICAL_DEVICE"; + case VK_OBJECT_TYPE_DEVICE: return "VK_OBJECT_TYPE_DEVICE"; + case VK_OBJECT_TYPE_QUEUE: return "VK_OBJECT_TYPE_QUEUE"; + case VK_OBJECT_TYPE_SEMAPHORE: return "VK_OBJECT_TYPE_SEMAPHORE"; + case VK_OBJECT_TYPE_COMMAND_BUFFER: return "VK_OBJECT_TYPE_COMMAND_BUFFER"; + case VK_OBJECT_TYPE_FENCE: return "VK_OBJECT_TYPE_FENCE"; + case VK_OBJECT_TYPE_DEVICE_MEMORY: return "VK_OBJECT_TYPE_DEVICE_MEMORY"; + case VK_OBJECT_TYPE_BUFFER: return "VK_OBJECT_TYPE_BUFFER"; + case VK_OBJECT_TYPE_IMAGE: return "VK_OBJECT_TYPE_IMAGE"; + case VK_OBJECT_TYPE_EVENT: return "VK_OBJECT_TYPE_EVENT"; + case VK_OBJECT_TYPE_QUERY_POOL: return "VK_OBJECT_TYPE_QUERY_POOL"; + case VK_OBJECT_TYPE_BUFFER_VIEW: return "VK_OBJECT_TYPE_BUFFER_VIEW"; + case VK_OBJECT_TYPE_IMAGE_VIEW: return "VK_OBJECT_TYPE_IMAGE_VIEW"; + case VK_OBJECT_TYPE_SHADER_MODULE: return "VK_OBJECT_TYPE_SHADER_MODULE"; + case VK_OBJECT_TYPE_PIPELINE_CACHE: return "VK_OBJECT_TYPE_PIPELINE_CACHE"; + case VK_OBJECT_TYPE_PIPELINE_LAYOUT: return "VK_OBJECT_TYPE_PIPELINE_LAYOUT"; + case VK_OBJECT_TYPE_RENDER_PASS: return "VK_OBJECT_TYPE_RENDER_PASS"; + case VK_OBJECT_TYPE_PIPELINE: return "VK_OBJECT_TYPE_PIPELINE"; + case VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT: return "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"; + case VK_OBJECT_TYPE_SAMPLER: return "VK_OBJECT_TYPE_SAMPLER"; + case VK_OBJECT_TYPE_DESCRIPTOR_POOL: return "VK_OBJECT_TYPE_DESCRIPTOR_POOL"; + case VK_OBJECT_TYPE_DESCRIPTOR_SET: return "VK_OBJECT_TYPE_DESCRIPTOR_SET"; + case VK_OBJECT_TYPE_FRAMEBUFFER: return "VK_OBJECT_TYPE_FRAMEBUFFER"; + case VK_OBJECT_TYPE_COMMAND_POOL: return "VK_OBJECT_TYPE_COMMAND_POOL"; + case VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION: return "VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION"; + case VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE: return "VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE"; ++ case VK_OBJECT_TYPE_PRIVATE_DATA_SLOT: return "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT"; + case VK_OBJECT_TYPE_SURFACE_KHR: return "VK_OBJECT_TYPE_SURFACE_KHR"; + case VK_OBJECT_TYPE_SWAPCHAIN_KHR: return "VK_OBJECT_TYPE_SWAPCHAIN_KHR"; + case VK_OBJECT_TYPE_DISPLAY_KHR: return "VK_OBJECT_TYPE_DISPLAY_KHR"; + case VK_OBJECT_TYPE_DISPLAY_MODE_KHR: return "VK_OBJECT_TYPE_DISPLAY_MODE_KHR"; + case VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT: return "VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT"; + case VK_OBJECT_TYPE_VIDEO_SESSION_KHR: return "VK_OBJECT_TYPE_VIDEO_SESSION_KHR"; + case VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR: return "VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR"; + case VK_OBJECT_TYPE_CU_MODULE_NVX: return "VK_OBJECT_TYPE_CU_MODULE_NVX"; + case VK_OBJECT_TYPE_CU_FUNCTION_NVX: return "VK_OBJECT_TYPE_CU_FUNCTION_NVX"; + case VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT: return "VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT"; + case VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR: return "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR"; + case VK_OBJECT_TYPE_VALIDATION_CACHE_EXT: return "VK_OBJECT_TYPE_VALIDATION_CACHE_EXT"; + case VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV: return "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV"; + case VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL: return "VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL"; + case VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR: return "VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR"; + case VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV: return "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV"; - case VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT: return "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT"; + case VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA: return "VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA"; + case VK_OBJECT_TYPE_MAX_ENUM: return "VK_OBJECT_TYPE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getPipelineCacheHeaderVersionName (VkPipelineCacheHeaderVersion value) + { + switch (value) + { + case VK_PIPELINE_CACHE_HEADER_VERSION_ONE: return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"; + case VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM: return "VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getVendorIdName (VkVendorId value) + { + switch (value) + { + case VK_VENDOR_ID_VIV: return "VK_VENDOR_ID_VIV"; + case VK_VENDOR_ID_VSI: return "VK_VENDOR_ID_VSI"; + case VK_VENDOR_ID_KAZAN: return "VK_VENDOR_ID_KAZAN"; + case VK_VENDOR_ID_CODEPLAY: return "VK_VENDOR_ID_CODEPLAY"; + case VK_VENDOR_ID_MESA: return "VK_VENDOR_ID_MESA"; + case VK_VENDOR_ID_POCL: return "VK_VENDOR_ID_POCL"; + case VK_VENDOR_ID_MAX_ENUM: return "VK_VENDOR_ID_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getSystemAllocationScopeName (VkSystemAllocationScope value) + { + switch (value) + { + case VK_SYSTEM_ALLOCATION_SCOPE_COMMAND: return "VK_SYSTEM_ALLOCATION_SCOPE_COMMAND"; + case VK_SYSTEM_ALLOCATION_SCOPE_OBJECT: return "VK_SYSTEM_ALLOCATION_SCOPE_OBJECT"; + case VK_SYSTEM_ALLOCATION_SCOPE_CACHE: return "VK_SYSTEM_ALLOCATION_SCOPE_CACHE"; + case VK_SYSTEM_ALLOCATION_SCOPE_DEVICE: return "VK_SYSTEM_ALLOCATION_SCOPE_DEVICE"; + case VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE: return "VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE"; + case VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM: return "VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getInternalAllocationTypeName (VkInternalAllocationType value) + { + switch (value) + { + case VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE: return "VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE"; + case VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM: return "VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getFormatName (VkFormat value) + { + switch (value) + { - case VK_FORMAT_UNDEFINED: return "VK_FORMAT_UNDEFINED"; - case VK_FORMAT_R4G4_UNORM_PACK8: return "VK_FORMAT_R4G4_UNORM_PACK8"; - case VK_FORMAT_R4G4B4A4_UNORM_PACK16: return "VK_FORMAT_R4G4B4A4_UNORM_PACK16"; - case VK_FORMAT_B4G4R4A4_UNORM_PACK16: return "VK_FORMAT_B4G4R4A4_UNORM_PACK16"; - case VK_FORMAT_R5G6B5_UNORM_PACK16: return "VK_FORMAT_R5G6B5_UNORM_PACK16"; - case VK_FORMAT_B5G6R5_UNORM_PACK16: return "VK_FORMAT_B5G6R5_UNORM_PACK16"; - case VK_FORMAT_R5G5B5A1_UNORM_PACK16: return "VK_FORMAT_R5G5B5A1_UNORM_PACK16"; - case VK_FORMAT_B5G5R5A1_UNORM_PACK16: return "VK_FORMAT_B5G5R5A1_UNORM_PACK16"; - case VK_FORMAT_A1R5G5B5_UNORM_PACK16: return "VK_FORMAT_A1R5G5B5_UNORM_PACK16"; - case VK_FORMAT_R8_UNORM: return "VK_FORMAT_R8_UNORM"; - case VK_FORMAT_R8_SNORM: return "VK_FORMAT_R8_SNORM"; - case VK_FORMAT_R8_USCALED: return "VK_FORMAT_R8_USCALED"; - case VK_FORMAT_R8_SSCALED: return "VK_FORMAT_R8_SSCALED"; - case VK_FORMAT_R8_UINT: return "VK_FORMAT_R8_UINT"; - case VK_FORMAT_R8_SINT: return "VK_FORMAT_R8_SINT"; - case VK_FORMAT_R8_SRGB: return "VK_FORMAT_R8_SRGB"; - case VK_FORMAT_R8G8_UNORM: return "VK_FORMAT_R8G8_UNORM"; - case VK_FORMAT_R8G8_SNORM: return "VK_FORMAT_R8G8_SNORM"; - case VK_FORMAT_R8G8_USCALED: return "VK_FORMAT_R8G8_USCALED"; - case VK_FORMAT_R8G8_SSCALED: return "VK_FORMAT_R8G8_SSCALED"; - case VK_FORMAT_R8G8_UINT: return "VK_FORMAT_R8G8_UINT"; - case VK_FORMAT_R8G8_SINT: return "VK_FORMAT_R8G8_SINT"; - case VK_FORMAT_R8G8_SRGB: return "VK_FORMAT_R8G8_SRGB"; - case VK_FORMAT_R8G8B8_UNORM: return "VK_FORMAT_R8G8B8_UNORM"; - case VK_FORMAT_R8G8B8_SNORM: return "VK_FORMAT_R8G8B8_SNORM"; - case VK_FORMAT_R8G8B8_USCALED: return "VK_FORMAT_R8G8B8_USCALED"; - case VK_FORMAT_R8G8B8_SSCALED: return "VK_FORMAT_R8G8B8_SSCALED"; - case VK_FORMAT_R8G8B8_UINT: return "VK_FORMAT_R8G8B8_UINT"; - case VK_FORMAT_R8G8B8_SINT: return "VK_FORMAT_R8G8B8_SINT"; - case VK_FORMAT_R8G8B8_SRGB: return "VK_FORMAT_R8G8B8_SRGB"; - case VK_FORMAT_B8G8R8_UNORM: return "VK_FORMAT_B8G8R8_UNORM"; - case VK_FORMAT_B8G8R8_SNORM: return "VK_FORMAT_B8G8R8_SNORM"; - case VK_FORMAT_B8G8R8_USCALED: return "VK_FORMAT_B8G8R8_USCALED"; - case VK_FORMAT_B8G8R8_SSCALED: return "VK_FORMAT_B8G8R8_SSCALED"; - case VK_FORMAT_B8G8R8_UINT: return "VK_FORMAT_B8G8R8_UINT"; - case VK_FORMAT_B8G8R8_SINT: return "VK_FORMAT_B8G8R8_SINT"; - case VK_FORMAT_B8G8R8_SRGB: return "VK_FORMAT_B8G8R8_SRGB"; - case VK_FORMAT_R8G8B8A8_UNORM: return "VK_FORMAT_R8G8B8A8_UNORM"; - case VK_FORMAT_R8G8B8A8_SNORM: return "VK_FORMAT_R8G8B8A8_SNORM"; - case VK_FORMAT_R8G8B8A8_USCALED: return "VK_FORMAT_R8G8B8A8_USCALED"; - case VK_FORMAT_R8G8B8A8_SSCALED: return "VK_FORMAT_R8G8B8A8_SSCALED"; - case VK_FORMAT_R8G8B8A8_UINT: return "VK_FORMAT_R8G8B8A8_UINT"; - case VK_FORMAT_R8G8B8A8_SINT: return "VK_FORMAT_R8G8B8A8_SINT"; - case VK_FORMAT_R8G8B8A8_SRGB: return "VK_FORMAT_R8G8B8A8_SRGB"; - case VK_FORMAT_B8G8R8A8_UNORM: return "VK_FORMAT_B8G8R8A8_UNORM"; - case VK_FORMAT_B8G8R8A8_SNORM: return "VK_FORMAT_B8G8R8A8_SNORM"; - case VK_FORMAT_B8G8R8A8_USCALED: return "VK_FORMAT_B8G8R8A8_USCALED"; - case VK_FORMAT_B8G8R8A8_SSCALED: return "VK_FORMAT_B8G8R8A8_SSCALED"; - case VK_FORMAT_B8G8R8A8_UINT: return "VK_FORMAT_B8G8R8A8_UINT"; - case VK_FORMAT_B8G8R8A8_SINT: return "VK_FORMAT_B8G8R8A8_SINT"; - case VK_FORMAT_B8G8R8A8_SRGB: return "VK_FORMAT_B8G8R8A8_SRGB"; - case VK_FORMAT_A8B8G8R8_UNORM_PACK32: return "VK_FORMAT_A8B8G8R8_UNORM_PACK32"; - case VK_FORMAT_A8B8G8R8_SNORM_PACK32: return "VK_FORMAT_A8B8G8R8_SNORM_PACK32"; - case VK_FORMAT_A8B8G8R8_USCALED_PACK32: return "VK_FORMAT_A8B8G8R8_USCALED_PACK32"; - case VK_FORMAT_A8B8G8R8_SSCALED_PACK32: return "VK_FORMAT_A8B8G8R8_SSCALED_PACK32"; - case VK_FORMAT_A8B8G8R8_UINT_PACK32: return "VK_FORMAT_A8B8G8R8_UINT_PACK32"; - case VK_FORMAT_A8B8G8R8_SINT_PACK32: return "VK_FORMAT_A8B8G8R8_SINT_PACK32"; - case VK_FORMAT_A8B8G8R8_SRGB_PACK32: return "VK_FORMAT_A8B8G8R8_SRGB_PACK32"; - case VK_FORMAT_A2R10G10B10_UNORM_PACK32: return "VK_FORMAT_A2R10G10B10_UNORM_PACK32"; - case VK_FORMAT_A2R10G10B10_SNORM_PACK32: return "VK_FORMAT_A2R10G10B10_SNORM_PACK32"; - case VK_FORMAT_A2R10G10B10_USCALED_PACK32: return "VK_FORMAT_A2R10G10B10_USCALED_PACK32"; - case VK_FORMAT_A2R10G10B10_SSCALED_PACK32: return "VK_FORMAT_A2R10G10B10_SSCALED_PACK32"; - case VK_FORMAT_A2R10G10B10_UINT_PACK32: return "VK_FORMAT_A2R10G10B10_UINT_PACK32"; - case VK_FORMAT_A2R10G10B10_SINT_PACK32: return "VK_FORMAT_A2R10G10B10_SINT_PACK32"; - case VK_FORMAT_A2B10G10R10_UNORM_PACK32: return "VK_FORMAT_A2B10G10R10_UNORM_PACK32"; - case VK_FORMAT_A2B10G10R10_SNORM_PACK32: return "VK_FORMAT_A2B10G10R10_SNORM_PACK32"; - case VK_FORMAT_A2B10G10R10_USCALED_PACK32: return "VK_FORMAT_A2B10G10R10_USCALED_PACK32"; - case VK_FORMAT_A2B10G10R10_SSCALED_PACK32: return "VK_FORMAT_A2B10G10R10_SSCALED_PACK32"; - case VK_FORMAT_A2B10G10R10_UINT_PACK32: return "VK_FORMAT_A2B10G10R10_UINT_PACK32"; - case VK_FORMAT_A2B10G10R10_SINT_PACK32: return "VK_FORMAT_A2B10G10R10_SINT_PACK32"; - case VK_FORMAT_R16_UNORM: return "VK_FORMAT_R16_UNORM"; - case VK_FORMAT_R16_SNORM: return "VK_FORMAT_R16_SNORM"; - case VK_FORMAT_R16_USCALED: return "VK_FORMAT_R16_USCALED"; - case VK_FORMAT_R16_SSCALED: return "VK_FORMAT_R16_SSCALED"; - case VK_FORMAT_R16_UINT: return "VK_FORMAT_R16_UINT"; - case VK_FORMAT_R16_SINT: return "VK_FORMAT_R16_SINT"; - case VK_FORMAT_R16_SFLOAT: return "VK_FORMAT_R16_SFLOAT"; - case VK_FORMAT_R16G16_UNORM: return "VK_FORMAT_R16G16_UNORM"; - case VK_FORMAT_R16G16_SNORM: return "VK_FORMAT_R16G16_SNORM"; - case VK_FORMAT_R16G16_USCALED: return "VK_FORMAT_R16G16_USCALED"; - case VK_FORMAT_R16G16_SSCALED: return "VK_FORMAT_R16G16_SSCALED"; - case VK_FORMAT_R16G16_UINT: return "VK_FORMAT_R16G16_UINT"; - case VK_FORMAT_R16G16_SINT: return "VK_FORMAT_R16G16_SINT"; - case VK_FORMAT_R16G16_SFLOAT: return "VK_FORMAT_R16G16_SFLOAT"; - case VK_FORMAT_R16G16B16_UNORM: return "VK_FORMAT_R16G16B16_UNORM"; - case VK_FORMAT_R16G16B16_SNORM: return "VK_FORMAT_R16G16B16_SNORM"; - case VK_FORMAT_R16G16B16_USCALED: return "VK_FORMAT_R16G16B16_USCALED"; - case VK_FORMAT_R16G16B16_SSCALED: return "VK_FORMAT_R16G16B16_SSCALED"; - case VK_FORMAT_R16G16B16_UINT: return "VK_FORMAT_R16G16B16_UINT"; - case VK_FORMAT_R16G16B16_SINT: return "VK_FORMAT_R16G16B16_SINT"; - case VK_FORMAT_R16G16B16_SFLOAT: return "VK_FORMAT_R16G16B16_SFLOAT"; - case VK_FORMAT_R16G16B16A16_UNORM: return "VK_FORMAT_R16G16B16A16_UNORM"; - case VK_FORMAT_R16G16B16A16_SNORM: return "VK_FORMAT_R16G16B16A16_SNORM"; - case VK_FORMAT_R16G16B16A16_USCALED: return "VK_FORMAT_R16G16B16A16_USCALED"; - case VK_FORMAT_R16G16B16A16_SSCALED: return "VK_FORMAT_R16G16B16A16_SSCALED"; - case VK_FORMAT_R16G16B16A16_UINT: return "VK_FORMAT_R16G16B16A16_UINT"; - case VK_FORMAT_R16G16B16A16_SINT: return "VK_FORMAT_R16G16B16A16_SINT"; - case VK_FORMAT_R16G16B16A16_SFLOAT: return "VK_FORMAT_R16G16B16A16_SFLOAT"; - case VK_FORMAT_R32_UINT: return "VK_FORMAT_R32_UINT"; - case VK_FORMAT_R32_SINT: return "VK_FORMAT_R32_SINT"; - case VK_FORMAT_R32_SFLOAT: return "VK_FORMAT_R32_SFLOAT"; - case VK_FORMAT_R32G32_UINT: return "VK_FORMAT_R32G32_UINT"; - case VK_FORMAT_R32G32_SINT: return "VK_FORMAT_R32G32_SINT"; - case VK_FORMAT_R32G32_SFLOAT: return "VK_FORMAT_R32G32_SFLOAT"; - case VK_FORMAT_R32G32B32_UINT: return "VK_FORMAT_R32G32B32_UINT"; - case VK_FORMAT_R32G32B32_SINT: return "VK_FORMAT_R32G32B32_SINT"; - case VK_FORMAT_R32G32B32_SFLOAT: return "VK_FORMAT_R32G32B32_SFLOAT"; - case VK_FORMAT_R32G32B32A32_UINT: return "VK_FORMAT_R32G32B32A32_UINT"; - case VK_FORMAT_R32G32B32A32_SINT: return "VK_FORMAT_R32G32B32A32_SINT"; - case VK_FORMAT_R32G32B32A32_SFLOAT: return "VK_FORMAT_R32G32B32A32_SFLOAT"; - case VK_FORMAT_R64_UINT: return "VK_FORMAT_R64_UINT"; - case VK_FORMAT_R64_SINT: return "VK_FORMAT_R64_SINT"; - case VK_FORMAT_R64_SFLOAT: return "VK_FORMAT_R64_SFLOAT"; - case VK_FORMAT_R64G64_UINT: return "VK_FORMAT_R64G64_UINT"; - case VK_FORMAT_R64G64_SINT: return "VK_FORMAT_R64G64_SINT"; - case VK_FORMAT_R64G64_SFLOAT: return "VK_FORMAT_R64G64_SFLOAT"; - case VK_FORMAT_R64G64B64_UINT: return "VK_FORMAT_R64G64B64_UINT"; - case VK_FORMAT_R64G64B64_SINT: return "VK_FORMAT_R64G64B64_SINT"; - case VK_FORMAT_R64G64B64_SFLOAT: return "VK_FORMAT_R64G64B64_SFLOAT"; - case VK_FORMAT_R64G64B64A64_UINT: return "VK_FORMAT_R64G64B64A64_UINT"; - case VK_FORMAT_R64G64B64A64_SINT: return "VK_FORMAT_R64G64B64A64_SINT"; - case VK_FORMAT_R64G64B64A64_SFLOAT: return "VK_FORMAT_R64G64B64A64_SFLOAT"; - case VK_FORMAT_B10G11R11_UFLOAT_PACK32: return "VK_FORMAT_B10G11R11_UFLOAT_PACK32"; - case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: return "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32"; - case VK_FORMAT_D16_UNORM: return "VK_FORMAT_D16_UNORM"; - case VK_FORMAT_X8_D24_UNORM_PACK32: return "VK_FORMAT_X8_D24_UNORM_PACK32"; - case VK_FORMAT_D32_SFLOAT: return "VK_FORMAT_D32_SFLOAT"; - case VK_FORMAT_S8_UINT: return "VK_FORMAT_S8_UINT"; - case VK_FORMAT_D16_UNORM_S8_UINT: return "VK_FORMAT_D16_UNORM_S8_UINT"; - case VK_FORMAT_D24_UNORM_S8_UINT: return "VK_FORMAT_D24_UNORM_S8_UINT"; - case VK_FORMAT_D32_SFLOAT_S8_UINT: return "VK_FORMAT_D32_SFLOAT_S8_UINT"; - case VK_FORMAT_BC1_RGB_UNORM_BLOCK: return "VK_FORMAT_BC1_RGB_UNORM_BLOCK"; - case VK_FORMAT_BC1_RGB_SRGB_BLOCK: return "VK_FORMAT_BC1_RGB_SRGB_BLOCK"; - case VK_FORMAT_BC1_RGBA_UNORM_BLOCK: return "VK_FORMAT_BC1_RGBA_UNORM_BLOCK"; - case VK_FORMAT_BC1_RGBA_SRGB_BLOCK: return "VK_FORMAT_BC1_RGBA_SRGB_BLOCK"; - case VK_FORMAT_BC2_UNORM_BLOCK: return "VK_FORMAT_BC2_UNORM_BLOCK"; - case VK_FORMAT_BC2_SRGB_BLOCK: return "VK_FORMAT_BC2_SRGB_BLOCK"; - case VK_FORMAT_BC3_UNORM_BLOCK: return "VK_FORMAT_BC3_UNORM_BLOCK"; - case VK_FORMAT_BC3_SRGB_BLOCK: return "VK_FORMAT_BC3_SRGB_BLOCK"; - case VK_FORMAT_BC4_UNORM_BLOCK: return "VK_FORMAT_BC4_UNORM_BLOCK"; - case VK_FORMAT_BC4_SNORM_BLOCK: return "VK_FORMAT_BC4_SNORM_BLOCK"; - case VK_FORMAT_BC5_UNORM_BLOCK: return "VK_FORMAT_BC5_UNORM_BLOCK"; - case VK_FORMAT_BC5_SNORM_BLOCK: return "VK_FORMAT_BC5_SNORM_BLOCK"; - case VK_FORMAT_BC6H_UFLOAT_BLOCK: return "VK_FORMAT_BC6H_UFLOAT_BLOCK"; - case VK_FORMAT_BC6H_SFLOAT_BLOCK: return "VK_FORMAT_BC6H_SFLOAT_BLOCK"; - case VK_FORMAT_BC7_UNORM_BLOCK: return "VK_FORMAT_BC7_UNORM_BLOCK"; - case VK_FORMAT_BC7_SRGB_BLOCK: return "VK_FORMAT_BC7_SRGB_BLOCK"; - case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK"; - case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK"; - case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK"; - case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK"; - case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK"; - case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK"; - case VK_FORMAT_EAC_R11_UNORM_BLOCK: return "VK_FORMAT_EAC_R11_UNORM_BLOCK"; - case VK_FORMAT_EAC_R11_SNORM_BLOCK: return "VK_FORMAT_EAC_R11_SNORM_BLOCK"; - case VK_FORMAT_EAC_R11G11_UNORM_BLOCK: return "VK_FORMAT_EAC_R11G11_UNORM_BLOCK"; - case VK_FORMAT_EAC_R11G11_SNORM_BLOCK: return "VK_FORMAT_EAC_R11G11_SNORM_BLOCK"; - case VK_FORMAT_ASTC_4x4_UNORM_BLOCK: return "VK_FORMAT_ASTC_4x4_UNORM_BLOCK"; - case VK_FORMAT_ASTC_4x4_SRGB_BLOCK: return "VK_FORMAT_ASTC_4x4_SRGB_BLOCK"; - case VK_FORMAT_ASTC_5x4_UNORM_BLOCK: return "VK_FORMAT_ASTC_5x4_UNORM_BLOCK"; - case VK_FORMAT_ASTC_5x4_SRGB_BLOCK: return "VK_FORMAT_ASTC_5x4_SRGB_BLOCK"; - case VK_FORMAT_ASTC_5x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_5x5_UNORM_BLOCK"; - case VK_FORMAT_ASTC_5x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_5x5_SRGB_BLOCK"; - case VK_FORMAT_ASTC_6x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_6x5_UNORM_BLOCK"; - case VK_FORMAT_ASTC_6x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_6x5_SRGB_BLOCK"; - case VK_FORMAT_ASTC_6x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_6x6_UNORM_BLOCK"; - case VK_FORMAT_ASTC_6x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_6x6_SRGB_BLOCK"; - case VK_FORMAT_ASTC_8x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x5_UNORM_BLOCK"; - case VK_FORMAT_ASTC_8x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x5_SRGB_BLOCK"; - case VK_FORMAT_ASTC_8x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x6_UNORM_BLOCK"; - case VK_FORMAT_ASTC_8x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x6_SRGB_BLOCK"; - case VK_FORMAT_ASTC_8x8_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x8_UNORM_BLOCK"; - case VK_FORMAT_ASTC_8x8_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x8_SRGB_BLOCK"; - case VK_FORMAT_ASTC_10x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x5_UNORM_BLOCK"; - case VK_FORMAT_ASTC_10x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x5_SRGB_BLOCK"; - case VK_FORMAT_ASTC_10x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x6_UNORM_BLOCK"; - case VK_FORMAT_ASTC_10x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x6_SRGB_BLOCK"; - case VK_FORMAT_ASTC_10x8_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x8_UNORM_BLOCK"; - case VK_FORMAT_ASTC_10x8_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x8_SRGB_BLOCK"; - case VK_FORMAT_ASTC_10x10_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x10_UNORM_BLOCK"; - case VK_FORMAT_ASTC_10x10_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x10_SRGB_BLOCK"; - case VK_FORMAT_ASTC_12x10_UNORM_BLOCK: return "VK_FORMAT_ASTC_12x10_UNORM_BLOCK"; - case VK_FORMAT_ASTC_12x10_SRGB_BLOCK: return "VK_FORMAT_ASTC_12x10_SRGB_BLOCK"; - case VK_FORMAT_ASTC_12x12_UNORM_BLOCK: return "VK_FORMAT_ASTC_12x12_UNORM_BLOCK"; - case VK_FORMAT_ASTC_12x12_SRGB_BLOCK: return "VK_FORMAT_ASTC_12x12_SRGB_BLOCK"; - case VK_FORMAT_G8B8G8R8_422_UNORM: return "VK_FORMAT_G8B8G8R8_422_UNORM"; - case VK_FORMAT_B8G8R8G8_422_UNORM: return "VK_FORMAT_B8G8R8G8_422_UNORM"; - case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM: return "VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM"; - case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM: return "VK_FORMAT_G8_B8R8_2PLANE_420_UNORM"; - case VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM: return "VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM"; - case VK_FORMAT_G8_B8R8_2PLANE_422_UNORM: return "VK_FORMAT_G8_B8R8_2PLANE_422_UNORM"; - case VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM: return "VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM"; - case VK_FORMAT_R10X6_UNORM_PACK16: return "VK_FORMAT_R10X6_UNORM_PACK16"; - case VK_FORMAT_R10X6G10X6_UNORM_2PACK16: return "VK_FORMAT_R10X6G10X6_UNORM_2PACK16"; - case VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16: return "VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16"; - case VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16: return "VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16"; - case VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16: return "VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16"; - case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16"; - case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16"; - case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16"; - case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16"; - case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16"; - case VK_FORMAT_R12X4_UNORM_PACK16: return "VK_FORMAT_R12X4_UNORM_PACK16"; - case VK_FORMAT_R12X4G12X4_UNORM_2PACK16: return "VK_FORMAT_R12X4G12X4_UNORM_2PACK16"; - case VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16: return "VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16"; - case VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16: return "VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16"; - case VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16: return "VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16"; - case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16"; - case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16"; - case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16"; - case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16"; - case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16"; - case VK_FORMAT_G16B16G16R16_422_UNORM: return "VK_FORMAT_G16B16G16R16_422_UNORM"; - case VK_FORMAT_B16G16R16G16_422_UNORM: return "VK_FORMAT_B16G16R16G16_422_UNORM"; - case VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM: return "VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM"; - case VK_FORMAT_G16_B16R16_2PLANE_420_UNORM: return "VK_FORMAT_G16_B16R16_2PLANE_420_UNORM"; - case VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM: return "VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM"; - case VK_FORMAT_G16_B16R16_2PLANE_422_UNORM: return "VK_FORMAT_G16_B16R16_2PLANE_422_UNORM"; - case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM: return "VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM"; - case VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG"; - case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG"; - case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG"; - case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG"; - case VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG"; - case VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG"; - case VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG"; - case VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG"; - case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT: return "VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT"; - case VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT: return "VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT"; - case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT: return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT"; - case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT: return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT"; - case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT: return "VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT"; - case VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT: return "VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT"; - case VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT: return "VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT"; - case VK_FORMAT_MAX_ENUM: return "VK_FORMAT_MAX_ENUM"; - default: return DE_NULL; ++ case VK_FORMAT_UNDEFINED: return "VK_FORMAT_UNDEFINED"; ++ case VK_FORMAT_R4G4_UNORM_PACK8: return "VK_FORMAT_R4G4_UNORM_PACK8"; ++ case VK_FORMAT_R4G4B4A4_UNORM_PACK16: return "VK_FORMAT_R4G4B4A4_UNORM_PACK16"; ++ case VK_FORMAT_B4G4R4A4_UNORM_PACK16: return "VK_FORMAT_B4G4R4A4_UNORM_PACK16"; ++ case VK_FORMAT_R5G6B5_UNORM_PACK16: return "VK_FORMAT_R5G6B5_UNORM_PACK16"; ++ case VK_FORMAT_B5G6R5_UNORM_PACK16: return "VK_FORMAT_B5G6R5_UNORM_PACK16"; ++ case VK_FORMAT_R5G5B5A1_UNORM_PACK16: return "VK_FORMAT_R5G5B5A1_UNORM_PACK16"; ++ case VK_FORMAT_B5G5R5A1_UNORM_PACK16: return "VK_FORMAT_B5G5R5A1_UNORM_PACK16"; ++ case VK_FORMAT_A1R5G5B5_UNORM_PACK16: return "VK_FORMAT_A1R5G5B5_UNORM_PACK16"; ++ case VK_FORMAT_R8_UNORM: return "VK_FORMAT_R8_UNORM"; ++ case VK_FORMAT_R8_SNORM: return "VK_FORMAT_R8_SNORM"; ++ case VK_FORMAT_R8_USCALED: return "VK_FORMAT_R8_USCALED"; ++ case VK_FORMAT_R8_SSCALED: return "VK_FORMAT_R8_SSCALED"; ++ case VK_FORMAT_R8_UINT: return "VK_FORMAT_R8_UINT"; ++ case VK_FORMAT_R8_SINT: return "VK_FORMAT_R8_SINT"; ++ case VK_FORMAT_R8_SRGB: return "VK_FORMAT_R8_SRGB"; ++ case VK_FORMAT_R8G8_UNORM: return "VK_FORMAT_R8G8_UNORM"; ++ case VK_FORMAT_R8G8_SNORM: return "VK_FORMAT_R8G8_SNORM"; ++ case VK_FORMAT_R8G8_USCALED: return "VK_FORMAT_R8G8_USCALED"; ++ case VK_FORMAT_R8G8_SSCALED: return "VK_FORMAT_R8G8_SSCALED"; ++ case VK_FORMAT_R8G8_UINT: return "VK_FORMAT_R8G8_UINT"; ++ case VK_FORMAT_R8G8_SINT: return "VK_FORMAT_R8G8_SINT"; ++ case VK_FORMAT_R8G8_SRGB: return "VK_FORMAT_R8G8_SRGB"; ++ case VK_FORMAT_R8G8B8_UNORM: return "VK_FORMAT_R8G8B8_UNORM"; ++ case VK_FORMAT_R8G8B8_SNORM: return "VK_FORMAT_R8G8B8_SNORM"; ++ case VK_FORMAT_R8G8B8_USCALED: return "VK_FORMAT_R8G8B8_USCALED"; ++ case VK_FORMAT_R8G8B8_SSCALED: return "VK_FORMAT_R8G8B8_SSCALED"; ++ case VK_FORMAT_R8G8B8_UINT: return "VK_FORMAT_R8G8B8_UINT"; ++ case VK_FORMAT_R8G8B8_SINT: return "VK_FORMAT_R8G8B8_SINT"; ++ case VK_FORMAT_R8G8B8_SRGB: return "VK_FORMAT_R8G8B8_SRGB"; ++ case VK_FORMAT_B8G8R8_UNORM: return "VK_FORMAT_B8G8R8_UNORM"; ++ case VK_FORMAT_B8G8R8_SNORM: return "VK_FORMAT_B8G8R8_SNORM"; ++ case VK_FORMAT_B8G8R8_USCALED: return "VK_FORMAT_B8G8R8_USCALED"; ++ case VK_FORMAT_B8G8R8_SSCALED: return "VK_FORMAT_B8G8R8_SSCALED"; ++ case VK_FORMAT_B8G8R8_UINT: return "VK_FORMAT_B8G8R8_UINT"; ++ case VK_FORMAT_B8G8R8_SINT: return "VK_FORMAT_B8G8R8_SINT"; ++ case VK_FORMAT_B8G8R8_SRGB: return "VK_FORMAT_B8G8R8_SRGB"; ++ case VK_FORMAT_R8G8B8A8_UNORM: return "VK_FORMAT_R8G8B8A8_UNORM"; ++ case VK_FORMAT_R8G8B8A8_SNORM: return "VK_FORMAT_R8G8B8A8_SNORM"; ++ case VK_FORMAT_R8G8B8A8_USCALED: return "VK_FORMAT_R8G8B8A8_USCALED"; ++ case VK_FORMAT_R8G8B8A8_SSCALED: return "VK_FORMAT_R8G8B8A8_SSCALED"; ++ case VK_FORMAT_R8G8B8A8_UINT: return "VK_FORMAT_R8G8B8A8_UINT"; ++ case VK_FORMAT_R8G8B8A8_SINT: return "VK_FORMAT_R8G8B8A8_SINT"; ++ case VK_FORMAT_R8G8B8A8_SRGB: return "VK_FORMAT_R8G8B8A8_SRGB"; ++ case VK_FORMAT_B8G8R8A8_UNORM: return "VK_FORMAT_B8G8R8A8_UNORM"; ++ case VK_FORMAT_B8G8R8A8_SNORM: return "VK_FORMAT_B8G8R8A8_SNORM"; ++ case VK_FORMAT_B8G8R8A8_USCALED: return "VK_FORMAT_B8G8R8A8_USCALED"; ++ case VK_FORMAT_B8G8R8A8_SSCALED: return "VK_FORMAT_B8G8R8A8_SSCALED"; ++ case VK_FORMAT_B8G8R8A8_UINT: return "VK_FORMAT_B8G8R8A8_UINT"; ++ case VK_FORMAT_B8G8R8A8_SINT: return "VK_FORMAT_B8G8R8A8_SINT"; ++ case VK_FORMAT_B8G8R8A8_SRGB: return "VK_FORMAT_B8G8R8A8_SRGB"; ++ case VK_FORMAT_A8B8G8R8_UNORM_PACK32: return "VK_FORMAT_A8B8G8R8_UNORM_PACK32"; ++ case VK_FORMAT_A8B8G8R8_SNORM_PACK32: return "VK_FORMAT_A8B8G8R8_SNORM_PACK32"; ++ case VK_FORMAT_A8B8G8R8_USCALED_PACK32: return "VK_FORMAT_A8B8G8R8_USCALED_PACK32"; ++ case VK_FORMAT_A8B8G8R8_SSCALED_PACK32: return "VK_FORMAT_A8B8G8R8_SSCALED_PACK32"; ++ case VK_FORMAT_A8B8G8R8_UINT_PACK32: return "VK_FORMAT_A8B8G8R8_UINT_PACK32"; ++ case VK_FORMAT_A8B8G8R8_SINT_PACK32: return "VK_FORMAT_A8B8G8R8_SINT_PACK32"; ++ case VK_FORMAT_A8B8G8R8_SRGB_PACK32: return "VK_FORMAT_A8B8G8R8_SRGB_PACK32"; ++ case VK_FORMAT_A2R10G10B10_UNORM_PACK32: return "VK_FORMAT_A2R10G10B10_UNORM_PACK32"; ++ case VK_FORMAT_A2R10G10B10_SNORM_PACK32: return "VK_FORMAT_A2R10G10B10_SNORM_PACK32"; ++ case VK_FORMAT_A2R10G10B10_USCALED_PACK32: return "VK_FORMAT_A2R10G10B10_USCALED_PACK32"; ++ case VK_FORMAT_A2R10G10B10_SSCALED_PACK32: return "VK_FORMAT_A2R10G10B10_SSCALED_PACK32"; ++ case VK_FORMAT_A2R10G10B10_UINT_PACK32: return "VK_FORMAT_A2R10G10B10_UINT_PACK32"; ++ case VK_FORMAT_A2R10G10B10_SINT_PACK32: return "VK_FORMAT_A2R10G10B10_SINT_PACK32"; ++ case VK_FORMAT_A2B10G10R10_UNORM_PACK32: return "VK_FORMAT_A2B10G10R10_UNORM_PACK32"; ++ case VK_FORMAT_A2B10G10R10_SNORM_PACK32: return "VK_FORMAT_A2B10G10R10_SNORM_PACK32"; ++ case VK_FORMAT_A2B10G10R10_USCALED_PACK32: return "VK_FORMAT_A2B10G10R10_USCALED_PACK32"; ++ case VK_FORMAT_A2B10G10R10_SSCALED_PACK32: return "VK_FORMAT_A2B10G10R10_SSCALED_PACK32"; ++ case VK_FORMAT_A2B10G10R10_UINT_PACK32: return "VK_FORMAT_A2B10G10R10_UINT_PACK32"; ++ case VK_FORMAT_A2B10G10R10_SINT_PACK32: return "VK_FORMAT_A2B10G10R10_SINT_PACK32"; ++ case VK_FORMAT_R16_UNORM: return "VK_FORMAT_R16_UNORM"; ++ case VK_FORMAT_R16_SNORM: return "VK_FORMAT_R16_SNORM"; ++ case VK_FORMAT_R16_USCALED: return "VK_FORMAT_R16_USCALED"; ++ case VK_FORMAT_R16_SSCALED: return "VK_FORMAT_R16_SSCALED"; ++ case VK_FORMAT_R16_UINT: return "VK_FORMAT_R16_UINT"; ++ case VK_FORMAT_R16_SINT: return "VK_FORMAT_R16_SINT"; ++ case VK_FORMAT_R16_SFLOAT: return "VK_FORMAT_R16_SFLOAT"; ++ case VK_FORMAT_R16G16_UNORM: return "VK_FORMAT_R16G16_UNORM"; ++ case VK_FORMAT_R16G16_SNORM: return "VK_FORMAT_R16G16_SNORM"; ++ case VK_FORMAT_R16G16_USCALED: return "VK_FORMAT_R16G16_USCALED"; ++ case VK_FORMAT_R16G16_SSCALED: return "VK_FORMAT_R16G16_SSCALED"; ++ case VK_FORMAT_R16G16_UINT: return "VK_FORMAT_R16G16_UINT"; ++ case VK_FORMAT_R16G16_SINT: return "VK_FORMAT_R16G16_SINT"; ++ case VK_FORMAT_R16G16_SFLOAT: return "VK_FORMAT_R16G16_SFLOAT"; ++ case VK_FORMAT_R16G16B16_UNORM: return "VK_FORMAT_R16G16B16_UNORM"; ++ case VK_FORMAT_R16G16B16_SNORM: return "VK_FORMAT_R16G16B16_SNORM"; ++ case VK_FORMAT_R16G16B16_USCALED: return "VK_FORMAT_R16G16B16_USCALED"; ++ case VK_FORMAT_R16G16B16_SSCALED: return "VK_FORMAT_R16G16B16_SSCALED"; ++ case VK_FORMAT_R16G16B16_UINT: return "VK_FORMAT_R16G16B16_UINT"; ++ case VK_FORMAT_R16G16B16_SINT: return "VK_FORMAT_R16G16B16_SINT"; ++ case VK_FORMAT_R16G16B16_SFLOAT: return "VK_FORMAT_R16G16B16_SFLOAT"; ++ case VK_FORMAT_R16G16B16A16_UNORM: return "VK_FORMAT_R16G16B16A16_UNORM"; ++ case VK_FORMAT_R16G16B16A16_SNORM: return "VK_FORMAT_R16G16B16A16_SNORM"; ++ case VK_FORMAT_R16G16B16A16_USCALED: return "VK_FORMAT_R16G16B16A16_USCALED"; ++ case VK_FORMAT_R16G16B16A16_SSCALED: return "VK_FORMAT_R16G16B16A16_SSCALED"; ++ case VK_FORMAT_R16G16B16A16_UINT: return "VK_FORMAT_R16G16B16A16_UINT"; ++ case VK_FORMAT_R16G16B16A16_SINT: return "VK_FORMAT_R16G16B16A16_SINT"; ++ case VK_FORMAT_R16G16B16A16_SFLOAT: return "VK_FORMAT_R16G16B16A16_SFLOAT"; ++ case VK_FORMAT_R32_UINT: return "VK_FORMAT_R32_UINT"; ++ case VK_FORMAT_R32_SINT: return "VK_FORMAT_R32_SINT"; ++ case VK_FORMAT_R32_SFLOAT: return "VK_FORMAT_R32_SFLOAT"; ++ case VK_FORMAT_R32G32_UINT: return "VK_FORMAT_R32G32_UINT"; ++ case VK_FORMAT_R32G32_SINT: return "VK_FORMAT_R32G32_SINT"; ++ case VK_FORMAT_R32G32_SFLOAT: return "VK_FORMAT_R32G32_SFLOAT"; ++ case VK_FORMAT_R32G32B32_UINT: return "VK_FORMAT_R32G32B32_UINT"; ++ case VK_FORMAT_R32G32B32_SINT: return "VK_FORMAT_R32G32B32_SINT"; ++ case VK_FORMAT_R32G32B32_SFLOAT: return "VK_FORMAT_R32G32B32_SFLOAT"; ++ case VK_FORMAT_R32G32B32A32_UINT: return "VK_FORMAT_R32G32B32A32_UINT"; ++ case VK_FORMAT_R32G32B32A32_SINT: return "VK_FORMAT_R32G32B32A32_SINT"; ++ case VK_FORMAT_R32G32B32A32_SFLOAT: return "VK_FORMAT_R32G32B32A32_SFLOAT"; ++ case VK_FORMAT_R64_UINT: return "VK_FORMAT_R64_UINT"; ++ case VK_FORMAT_R64_SINT: return "VK_FORMAT_R64_SINT"; ++ case VK_FORMAT_R64_SFLOAT: return "VK_FORMAT_R64_SFLOAT"; ++ case VK_FORMAT_R64G64_UINT: return "VK_FORMAT_R64G64_UINT"; ++ case VK_FORMAT_R64G64_SINT: return "VK_FORMAT_R64G64_SINT"; ++ case VK_FORMAT_R64G64_SFLOAT: return "VK_FORMAT_R64G64_SFLOAT"; ++ case VK_FORMAT_R64G64B64_UINT: return "VK_FORMAT_R64G64B64_UINT"; ++ case VK_FORMAT_R64G64B64_SINT: return "VK_FORMAT_R64G64B64_SINT"; ++ case VK_FORMAT_R64G64B64_SFLOAT: return "VK_FORMAT_R64G64B64_SFLOAT"; ++ case VK_FORMAT_R64G64B64A64_UINT: return "VK_FORMAT_R64G64B64A64_UINT"; ++ case VK_FORMAT_R64G64B64A64_SINT: return "VK_FORMAT_R64G64B64A64_SINT"; ++ case VK_FORMAT_R64G64B64A64_SFLOAT: return "VK_FORMAT_R64G64B64A64_SFLOAT"; ++ case VK_FORMAT_B10G11R11_UFLOAT_PACK32: return "VK_FORMAT_B10G11R11_UFLOAT_PACK32"; ++ case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: return "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32"; ++ case VK_FORMAT_D16_UNORM: return "VK_FORMAT_D16_UNORM"; ++ case VK_FORMAT_X8_D24_UNORM_PACK32: return "VK_FORMAT_X8_D24_UNORM_PACK32"; ++ case VK_FORMAT_D32_SFLOAT: return "VK_FORMAT_D32_SFLOAT"; ++ case VK_FORMAT_S8_UINT: return "VK_FORMAT_S8_UINT"; ++ case VK_FORMAT_D16_UNORM_S8_UINT: return "VK_FORMAT_D16_UNORM_S8_UINT"; ++ case VK_FORMAT_D24_UNORM_S8_UINT: return "VK_FORMAT_D24_UNORM_S8_UINT"; ++ case VK_FORMAT_D32_SFLOAT_S8_UINT: return "VK_FORMAT_D32_SFLOAT_S8_UINT"; ++ case VK_FORMAT_BC1_RGB_UNORM_BLOCK: return "VK_FORMAT_BC1_RGB_UNORM_BLOCK"; ++ case VK_FORMAT_BC1_RGB_SRGB_BLOCK: return "VK_FORMAT_BC1_RGB_SRGB_BLOCK"; ++ case VK_FORMAT_BC1_RGBA_UNORM_BLOCK: return "VK_FORMAT_BC1_RGBA_UNORM_BLOCK"; ++ case VK_FORMAT_BC1_RGBA_SRGB_BLOCK: return "VK_FORMAT_BC1_RGBA_SRGB_BLOCK"; ++ case VK_FORMAT_BC2_UNORM_BLOCK: return "VK_FORMAT_BC2_UNORM_BLOCK"; ++ case VK_FORMAT_BC2_SRGB_BLOCK: return "VK_FORMAT_BC2_SRGB_BLOCK"; ++ case VK_FORMAT_BC3_UNORM_BLOCK: return "VK_FORMAT_BC3_UNORM_BLOCK"; ++ case VK_FORMAT_BC3_SRGB_BLOCK: return "VK_FORMAT_BC3_SRGB_BLOCK"; ++ case VK_FORMAT_BC4_UNORM_BLOCK: return "VK_FORMAT_BC4_UNORM_BLOCK"; ++ case VK_FORMAT_BC4_SNORM_BLOCK: return "VK_FORMAT_BC4_SNORM_BLOCK"; ++ case VK_FORMAT_BC5_UNORM_BLOCK: return "VK_FORMAT_BC5_UNORM_BLOCK"; ++ case VK_FORMAT_BC5_SNORM_BLOCK: return "VK_FORMAT_BC5_SNORM_BLOCK"; ++ case VK_FORMAT_BC6H_UFLOAT_BLOCK: return "VK_FORMAT_BC6H_UFLOAT_BLOCK"; ++ case VK_FORMAT_BC6H_SFLOAT_BLOCK: return "VK_FORMAT_BC6H_SFLOAT_BLOCK"; ++ case VK_FORMAT_BC7_UNORM_BLOCK: return "VK_FORMAT_BC7_UNORM_BLOCK"; ++ case VK_FORMAT_BC7_SRGB_BLOCK: return "VK_FORMAT_BC7_SRGB_BLOCK"; ++ case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK"; ++ case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK"; ++ case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK"; ++ case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK"; ++ case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK"; ++ case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: return "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK"; ++ case VK_FORMAT_EAC_R11_UNORM_BLOCK: return "VK_FORMAT_EAC_R11_UNORM_BLOCK"; ++ case VK_FORMAT_EAC_R11_SNORM_BLOCK: return "VK_FORMAT_EAC_R11_SNORM_BLOCK"; ++ case VK_FORMAT_EAC_R11G11_UNORM_BLOCK: return "VK_FORMAT_EAC_R11G11_UNORM_BLOCK"; ++ case VK_FORMAT_EAC_R11G11_SNORM_BLOCK: return "VK_FORMAT_EAC_R11G11_SNORM_BLOCK"; ++ case VK_FORMAT_ASTC_4x4_UNORM_BLOCK: return "VK_FORMAT_ASTC_4x4_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_4x4_SRGB_BLOCK: return "VK_FORMAT_ASTC_4x4_SRGB_BLOCK"; ++ case VK_FORMAT_ASTC_5x4_UNORM_BLOCK: return "VK_FORMAT_ASTC_5x4_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_5x4_SRGB_BLOCK: return "VK_FORMAT_ASTC_5x4_SRGB_BLOCK"; ++ case VK_FORMAT_ASTC_5x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_5x5_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_5x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_5x5_SRGB_BLOCK"; ++ case VK_FORMAT_ASTC_6x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_6x5_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_6x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_6x5_SRGB_BLOCK"; ++ case VK_FORMAT_ASTC_6x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_6x6_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_6x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_6x6_SRGB_BLOCK"; ++ case VK_FORMAT_ASTC_8x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x5_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_8x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x5_SRGB_BLOCK"; ++ case VK_FORMAT_ASTC_8x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x6_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_8x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x6_SRGB_BLOCK"; ++ case VK_FORMAT_ASTC_8x8_UNORM_BLOCK: return "VK_FORMAT_ASTC_8x8_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_8x8_SRGB_BLOCK: return "VK_FORMAT_ASTC_8x8_SRGB_BLOCK"; ++ case VK_FORMAT_ASTC_10x5_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x5_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_10x5_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x5_SRGB_BLOCK"; ++ case VK_FORMAT_ASTC_10x6_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x6_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_10x6_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x6_SRGB_BLOCK"; ++ case VK_FORMAT_ASTC_10x8_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x8_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_10x8_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x8_SRGB_BLOCK"; ++ case VK_FORMAT_ASTC_10x10_UNORM_BLOCK: return "VK_FORMAT_ASTC_10x10_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_10x10_SRGB_BLOCK: return "VK_FORMAT_ASTC_10x10_SRGB_BLOCK"; ++ case VK_FORMAT_ASTC_12x10_UNORM_BLOCK: return "VK_FORMAT_ASTC_12x10_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_12x10_SRGB_BLOCK: return "VK_FORMAT_ASTC_12x10_SRGB_BLOCK"; ++ case VK_FORMAT_ASTC_12x12_UNORM_BLOCK: return "VK_FORMAT_ASTC_12x12_UNORM_BLOCK"; ++ case VK_FORMAT_ASTC_12x12_SRGB_BLOCK: return "VK_FORMAT_ASTC_12x12_SRGB_BLOCK"; ++ case VK_FORMAT_G8B8G8R8_422_UNORM: return "VK_FORMAT_G8B8G8R8_422_UNORM"; ++ case VK_FORMAT_B8G8R8G8_422_UNORM: return "VK_FORMAT_B8G8R8G8_422_UNORM"; ++ case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM: return "VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM"; ++ case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM: return "VK_FORMAT_G8_B8R8_2PLANE_420_UNORM"; ++ case VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM: return "VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM"; ++ case VK_FORMAT_G8_B8R8_2PLANE_422_UNORM: return "VK_FORMAT_G8_B8R8_2PLANE_422_UNORM"; ++ case VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM: return "VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM"; ++ case VK_FORMAT_R10X6_UNORM_PACK16: return "VK_FORMAT_R10X6_UNORM_PACK16"; ++ case VK_FORMAT_R10X6G10X6_UNORM_2PACK16: return "VK_FORMAT_R10X6G10X6_UNORM_2PACK16"; ++ case VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16: return "VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16"; ++ case VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16: return "VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16"; ++ case VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16: return "VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16"; ++ case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16"; ++ case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16"; ++ case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16"; ++ case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16"; ++ case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16"; ++ case VK_FORMAT_R12X4_UNORM_PACK16: return "VK_FORMAT_R12X4_UNORM_PACK16"; ++ case VK_FORMAT_R12X4G12X4_UNORM_2PACK16: return "VK_FORMAT_R12X4G12X4_UNORM_2PACK16"; ++ case VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16: return "VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16"; ++ case VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16: return "VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16"; ++ case VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16: return "VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16"; ++ case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16"; ++ case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16"; ++ case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16"; ++ case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16"; ++ case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16"; ++ case VK_FORMAT_G16B16G16R16_422_UNORM: return "VK_FORMAT_G16B16G16R16_422_UNORM"; ++ case VK_FORMAT_B16G16R16G16_422_UNORM: return "VK_FORMAT_B16G16R16G16_422_UNORM"; ++ case VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM: return "VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM"; ++ case VK_FORMAT_G16_B16R16_2PLANE_420_UNORM: return "VK_FORMAT_G16_B16R16_2PLANE_420_UNORM"; ++ case VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM: return "VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM"; ++ case VK_FORMAT_G16_B16R16_2PLANE_422_UNORM: return "VK_FORMAT_G16_B16R16_2PLANE_422_UNORM"; ++ case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM: return "VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM"; ++ case VK_FORMAT_G8_B8R8_2PLANE_444_UNORM: return "VK_FORMAT_G8_B8R8_2PLANE_444_UNORM"; ++ case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16: return "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16"; ++ case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16: return "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16"; ++ case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM: return "VK_FORMAT_G16_B16R16_2PLANE_444_UNORM"; ++ case VK_FORMAT_A4R4G4B4_UNORM_PACK16: return "VK_FORMAT_A4R4G4B4_UNORM_PACK16"; ++ case VK_FORMAT_A4B4G4R4_UNORM_PACK16: return "VK_FORMAT_A4B4G4R4_UNORM_PACK16"; ++ case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK"; ++ case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK"; ++ case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK"; ++ case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK"; ++ case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK"; ++ case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK"; ++ case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK"; ++ case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK"; ++ case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK"; ++ case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK"; ++ case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK"; ++ case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK"; ++ case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK"; ++ case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK: return "VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK"; ++ case VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG"; ++ case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG"; ++ case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG"; ++ case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG: return "VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG"; ++ case VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG"; ++ case VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG"; ++ case VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG"; ++ case VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG"; ++ case VK_FORMAT_MAX_ENUM: return "VK_FORMAT_MAX_ENUM"; ++ default: return DE_NULL; + } + } + + const char* getImageTilingName (VkImageTiling value) + { + switch (value) + { + case VK_IMAGE_TILING_OPTIMAL: return "VK_IMAGE_TILING_OPTIMAL"; + case VK_IMAGE_TILING_LINEAR: return "VK_IMAGE_TILING_LINEAR"; + case VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT: return "VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT"; + case VK_IMAGE_TILING_MAX_ENUM: return "VK_IMAGE_TILING_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getImageTypeName (VkImageType value) + { + switch (value) + { + case VK_IMAGE_TYPE_1D: return "VK_IMAGE_TYPE_1D"; + case VK_IMAGE_TYPE_2D: return "VK_IMAGE_TYPE_2D"; + case VK_IMAGE_TYPE_3D: return "VK_IMAGE_TYPE_3D"; + case VK_IMAGE_TYPE_MAX_ENUM: return "VK_IMAGE_TYPE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getPhysicalDeviceTypeName (VkPhysicalDeviceType value) + { + switch (value) + { + case VK_PHYSICAL_DEVICE_TYPE_OTHER: return "VK_PHYSICAL_DEVICE_TYPE_OTHER"; + case VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU: return "VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU"; + case VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU: return "VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU"; + case VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU: return "VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU"; + case VK_PHYSICAL_DEVICE_TYPE_CPU: return "VK_PHYSICAL_DEVICE_TYPE_CPU"; + case VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM: return "VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getQueryTypeName (VkQueryType value) + { + switch (value) + { + case VK_QUERY_TYPE_OCCLUSION: return "VK_QUERY_TYPE_OCCLUSION"; + case VK_QUERY_TYPE_PIPELINE_STATISTICS: return "VK_QUERY_TYPE_PIPELINE_STATISTICS"; + case VK_QUERY_TYPE_TIMESTAMP: return "VK_QUERY_TYPE_TIMESTAMP"; + case VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR: return "VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR"; + case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT: return "VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT"; + case VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR: return "VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR"; + case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR: return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR"; + case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR: return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR"; + case VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV: return "VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV"; + case VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL: return "VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL"; + case VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR: return "VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR"; + case VK_QUERY_TYPE_MAX_ENUM: return "VK_QUERY_TYPE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getSharingModeName (VkSharingMode value) + { + switch (value) + { + case VK_SHARING_MODE_EXCLUSIVE: return "VK_SHARING_MODE_EXCLUSIVE"; + case VK_SHARING_MODE_CONCURRENT: return "VK_SHARING_MODE_CONCURRENT"; + case VK_SHARING_MODE_MAX_ENUM: return "VK_SHARING_MODE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getComponentSwizzleName (VkComponentSwizzle value) + { + switch (value) + { + case VK_COMPONENT_SWIZZLE_IDENTITY: return "VK_COMPONENT_SWIZZLE_IDENTITY"; + case VK_COMPONENT_SWIZZLE_ZERO: return "VK_COMPONENT_SWIZZLE_ZERO"; + case VK_COMPONENT_SWIZZLE_ONE: return "VK_COMPONENT_SWIZZLE_ONE"; + case VK_COMPONENT_SWIZZLE_R: return "VK_COMPONENT_SWIZZLE_R"; + case VK_COMPONENT_SWIZZLE_G: return "VK_COMPONENT_SWIZZLE_G"; + case VK_COMPONENT_SWIZZLE_B: return "VK_COMPONENT_SWIZZLE_B"; + case VK_COMPONENT_SWIZZLE_A: return "VK_COMPONENT_SWIZZLE_A"; + case VK_COMPONENT_SWIZZLE_MAX_ENUM: return "VK_COMPONENT_SWIZZLE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getImageViewTypeName (VkImageViewType value) + { + switch (value) + { + case VK_IMAGE_VIEW_TYPE_1D: return "VK_IMAGE_VIEW_TYPE_1D"; + case VK_IMAGE_VIEW_TYPE_2D: return "VK_IMAGE_VIEW_TYPE_2D"; + case VK_IMAGE_VIEW_TYPE_3D: return "VK_IMAGE_VIEW_TYPE_3D"; + case VK_IMAGE_VIEW_TYPE_CUBE: return "VK_IMAGE_VIEW_TYPE_CUBE"; + case VK_IMAGE_VIEW_TYPE_1D_ARRAY: return "VK_IMAGE_VIEW_TYPE_1D_ARRAY"; + case VK_IMAGE_VIEW_TYPE_2D_ARRAY: return "VK_IMAGE_VIEW_TYPE_2D_ARRAY"; + case VK_IMAGE_VIEW_TYPE_CUBE_ARRAY: return "VK_IMAGE_VIEW_TYPE_CUBE_ARRAY"; + case VK_IMAGE_VIEW_TYPE_MAX_ENUM: return "VK_IMAGE_VIEW_TYPE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getBlendFactorName (VkBlendFactor value) + { + switch (value) + { + case VK_BLEND_FACTOR_ZERO: return "VK_BLEND_FACTOR_ZERO"; + case VK_BLEND_FACTOR_ONE: return "VK_BLEND_FACTOR_ONE"; + case VK_BLEND_FACTOR_SRC_COLOR: return "VK_BLEND_FACTOR_SRC_COLOR"; + case VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR"; + case VK_BLEND_FACTOR_DST_COLOR: return "VK_BLEND_FACTOR_DST_COLOR"; + case VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR"; + case VK_BLEND_FACTOR_SRC_ALPHA: return "VK_BLEND_FACTOR_SRC_ALPHA"; + case VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA"; + case VK_BLEND_FACTOR_DST_ALPHA: return "VK_BLEND_FACTOR_DST_ALPHA"; + case VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA"; + case VK_BLEND_FACTOR_CONSTANT_COLOR: return "VK_BLEND_FACTOR_CONSTANT_COLOR"; + case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR"; + case VK_BLEND_FACTOR_CONSTANT_ALPHA: return "VK_BLEND_FACTOR_CONSTANT_ALPHA"; + case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA"; + case VK_BLEND_FACTOR_SRC_ALPHA_SATURATE: return "VK_BLEND_FACTOR_SRC_ALPHA_SATURATE"; + case VK_BLEND_FACTOR_SRC1_COLOR: return "VK_BLEND_FACTOR_SRC1_COLOR"; + case VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR: return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR"; + case VK_BLEND_FACTOR_SRC1_ALPHA: return "VK_BLEND_FACTOR_SRC1_ALPHA"; + case VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA: return "VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA"; + case VK_BLEND_FACTOR_MAX_ENUM: return "VK_BLEND_FACTOR_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getBlendOpName (VkBlendOp value) + { + switch (value) + { + case VK_BLEND_OP_ADD: return "VK_BLEND_OP_ADD"; + case VK_BLEND_OP_SUBTRACT: return "VK_BLEND_OP_SUBTRACT"; + case VK_BLEND_OP_REVERSE_SUBTRACT: return "VK_BLEND_OP_REVERSE_SUBTRACT"; + case VK_BLEND_OP_MIN: return "VK_BLEND_OP_MIN"; + case VK_BLEND_OP_MAX: return "VK_BLEND_OP_MAX"; + case VK_BLEND_OP_ZERO_EXT: return "VK_BLEND_OP_ZERO_EXT"; + case VK_BLEND_OP_SRC_EXT: return "VK_BLEND_OP_SRC_EXT"; + case VK_BLEND_OP_DST_EXT: return "VK_BLEND_OP_DST_EXT"; + case VK_BLEND_OP_SRC_OVER_EXT: return "VK_BLEND_OP_SRC_OVER_EXT"; + case VK_BLEND_OP_DST_OVER_EXT: return "VK_BLEND_OP_DST_OVER_EXT"; + case VK_BLEND_OP_SRC_IN_EXT: return "VK_BLEND_OP_SRC_IN_EXT"; + case VK_BLEND_OP_DST_IN_EXT: return "VK_BLEND_OP_DST_IN_EXT"; + case VK_BLEND_OP_SRC_OUT_EXT: return "VK_BLEND_OP_SRC_OUT_EXT"; + case VK_BLEND_OP_DST_OUT_EXT: return "VK_BLEND_OP_DST_OUT_EXT"; + case VK_BLEND_OP_SRC_ATOP_EXT: return "VK_BLEND_OP_SRC_ATOP_EXT"; + case VK_BLEND_OP_DST_ATOP_EXT: return "VK_BLEND_OP_DST_ATOP_EXT"; + case VK_BLEND_OP_XOR_EXT: return "VK_BLEND_OP_XOR_EXT"; + case VK_BLEND_OP_MULTIPLY_EXT: return "VK_BLEND_OP_MULTIPLY_EXT"; + case VK_BLEND_OP_SCREEN_EXT: return "VK_BLEND_OP_SCREEN_EXT"; + case VK_BLEND_OP_OVERLAY_EXT: return "VK_BLEND_OP_OVERLAY_EXT"; + case VK_BLEND_OP_DARKEN_EXT: return "VK_BLEND_OP_DARKEN_EXT"; + case VK_BLEND_OP_LIGHTEN_EXT: return "VK_BLEND_OP_LIGHTEN_EXT"; + case VK_BLEND_OP_COLORDODGE_EXT: return "VK_BLEND_OP_COLORDODGE_EXT"; + case VK_BLEND_OP_COLORBURN_EXT: return "VK_BLEND_OP_COLORBURN_EXT"; + case VK_BLEND_OP_HARDLIGHT_EXT: return "VK_BLEND_OP_HARDLIGHT_EXT"; + case VK_BLEND_OP_SOFTLIGHT_EXT: return "VK_BLEND_OP_SOFTLIGHT_EXT"; + case VK_BLEND_OP_DIFFERENCE_EXT: return "VK_BLEND_OP_DIFFERENCE_EXT"; + case VK_BLEND_OP_EXCLUSION_EXT: return "VK_BLEND_OP_EXCLUSION_EXT"; + case VK_BLEND_OP_INVERT_EXT: return "VK_BLEND_OP_INVERT_EXT"; + case VK_BLEND_OP_INVERT_RGB_EXT: return "VK_BLEND_OP_INVERT_RGB_EXT"; + case VK_BLEND_OP_LINEARDODGE_EXT: return "VK_BLEND_OP_LINEARDODGE_EXT"; + case VK_BLEND_OP_LINEARBURN_EXT: return "VK_BLEND_OP_LINEARBURN_EXT"; + case VK_BLEND_OP_VIVIDLIGHT_EXT: return "VK_BLEND_OP_VIVIDLIGHT_EXT"; + case VK_BLEND_OP_LINEARLIGHT_EXT: return "VK_BLEND_OP_LINEARLIGHT_EXT"; + case VK_BLEND_OP_PINLIGHT_EXT: return "VK_BLEND_OP_PINLIGHT_EXT"; + case VK_BLEND_OP_HARDMIX_EXT: return "VK_BLEND_OP_HARDMIX_EXT"; + case VK_BLEND_OP_HSL_HUE_EXT: return "VK_BLEND_OP_HSL_HUE_EXT"; + case VK_BLEND_OP_HSL_SATURATION_EXT: return "VK_BLEND_OP_HSL_SATURATION_EXT"; + case VK_BLEND_OP_HSL_COLOR_EXT: return "VK_BLEND_OP_HSL_COLOR_EXT"; + case VK_BLEND_OP_HSL_LUMINOSITY_EXT: return "VK_BLEND_OP_HSL_LUMINOSITY_EXT"; + case VK_BLEND_OP_PLUS_EXT: return "VK_BLEND_OP_PLUS_EXT"; + case VK_BLEND_OP_PLUS_CLAMPED_EXT: return "VK_BLEND_OP_PLUS_CLAMPED_EXT"; + case VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT: return "VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT"; + case VK_BLEND_OP_PLUS_DARKER_EXT: return "VK_BLEND_OP_PLUS_DARKER_EXT"; + case VK_BLEND_OP_MINUS_EXT: return "VK_BLEND_OP_MINUS_EXT"; + case VK_BLEND_OP_MINUS_CLAMPED_EXT: return "VK_BLEND_OP_MINUS_CLAMPED_EXT"; + case VK_BLEND_OP_CONTRAST_EXT: return "VK_BLEND_OP_CONTRAST_EXT"; + case VK_BLEND_OP_INVERT_OVG_EXT: return "VK_BLEND_OP_INVERT_OVG_EXT"; + case VK_BLEND_OP_RED_EXT: return "VK_BLEND_OP_RED_EXT"; + case VK_BLEND_OP_GREEN_EXT: return "VK_BLEND_OP_GREEN_EXT"; + case VK_BLEND_OP_BLUE_EXT: return "VK_BLEND_OP_BLUE_EXT"; + case VK_BLEND_OP_MAX_ENUM: return "VK_BLEND_OP_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getCompareOpName (VkCompareOp value) + { + switch (value) + { + case VK_COMPARE_OP_NEVER: return "VK_COMPARE_OP_NEVER"; + case VK_COMPARE_OP_LESS: return "VK_COMPARE_OP_LESS"; + case VK_COMPARE_OP_EQUAL: return "VK_COMPARE_OP_EQUAL"; + case VK_COMPARE_OP_LESS_OR_EQUAL: return "VK_COMPARE_OP_LESS_OR_EQUAL"; + case VK_COMPARE_OP_GREATER: return "VK_COMPARE_OP_GREATER"; + case VK_COMPARE_OP_NOT_EQUAL: return "VK_COMPARE_OP_NOT_EQUAL"; + case VK_COMPARE_OP_GREATER_OR_EQUAL: return "VK_COMPARE_OP_GREATER_OR_EQUAL"; + case VK_COMPARE_OP_ALWAYS: return "VK_COMPARE_OP_ALWAYS"; + case VK_COMPARE_OP_MAX_ENUM: return "VK_COMPARE_OP_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getDynamicStateName (VkDynamicState value) + { + switch (value) + { + case VK_DYNAMIC_STATE_VIEWPORT: return "VK_DYNAMIC_STATE_VIEWPORT"; + case VK_DYNAMIC_STATE_SCISSOR: return "VK_DYNAMIC_STATE_SCISSOR"; + case VK_DYNAMIC_STATE_LINE_WIDTH: return "VK_DYNAMIC_STATE_LINE_WIDTH"; + case VK_DYNAMIC_STATE_DEPTH_BIAS: return "VK_DYNAMIC_STATE_DEPTH_BIAS"; + case VK_DYNAMIC_STATE_BLEND_CONSTANTS: return "VK_DYNAMIC_STATE_BLEND_CONSTANTS"; + case VK_DYNAMIC_STATE_DEPTH_BOUNDS: return "VK_DYNAMIC_STATE_DEPTH_BOUNDS"; + case VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK: return "VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK"; + case VK_DYNAMIC_STATE_STENCIL_WRITE_MASK: return "VK_DYNAMIC_STATE_STENCIL_WRITE_MASK"; + case VK_DYNAMIC_STATE_STENCIL_REFERENCE: return "VK_DYNAMIC_STATE_STENCIL_REFERENCE"; ++ case VK_DYNAMIC_STATE_CULL_MODE: return "VK_DYNAMIC_STATE_CULL_MODE"; ++ case VK_DYNAMIC_STATE_FRONT_FACE: return "VK_DYNAMIC_STATE_FRONT_FACE"; ++ case VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY: return "VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY"; ++ case VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT: return "VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT"; ++ case VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT: return "VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT"; ++ case VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE: return "VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE"; ++ case VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE: return "VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE"; ++ case VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE: return "VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE"; ++ case VK_DYNAMIC_STATE_DEPTH_COMPARE_OP: return "VK_DYNAMIC_STATE_DEPTH_COMPARE_OP"; ++ case VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE: return "VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE"; ++ case VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE: return "VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE"; ++ case VK_DYNAMIC_STATE_STENCIL_OP: return "VK_DYNAMIC_STATE_STENCIL_OP"; ++ case VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE: return "VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE"; ++ case VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE: return "VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE"; ++ case VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE: return "VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE"; + case VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV: return "VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV"; + case VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT: return "VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT"; + case VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT: return "VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT"; + case VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR: return "VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR"; + case VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV: return "VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV"; + case VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV: return "VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV"; + case VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV: return "VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV"; + case VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR: return "VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR"; + case VK_DYNAMIC_STATE_LINE_STIPPLE_EXT: return "VK_DYNAMIC_STATE_LINE_STIPPLE_EXT"; - case VK_DYNAMIC_STATE_CULL_MODE_EXT: return "VK_DYNAMIC_STATE_CULL_MODE_EXT"; - case VK_DYNAMIC_STATE_FRONT_FACE_EXT: return "VK_DYNAMIC_STATE_FRONT_FACE_EXT"; - case VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT: return "VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT"; - case VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT: return "VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT"; - case VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT: return "VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT"; - case VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT: return "VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT"; - case VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT: return "VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT"; - case VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT: return "VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT"; - case VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT: return "VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT"; - case VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT: return "VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT"; - case VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT: return "VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT"; - case VK_DYNAMIC_STATE_STENCIL_OP_EXT: return "VK_DYNAMIC_STATE_STENCIL_OP_EXT"; + case VK_DYNAMIC_STATE_VERTEX_INPUT_EXT: return "VK_DYNAMIC_STATE_VERTEX_INPUT_EXT"; + case VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT: return "VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT"; - case VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT: return "VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT"; - case VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT: return "VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT"; + case VK_DYNAMIC_STATE_LOGIC_OP_EXT: return "VK_DYNAMIC_STATE_LOGIC_OP_EXT"; - case VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT: return "VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT"; + case VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT: return "VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT"; + case VK_DYNAMIC_STATE_MAX_ENUM: return "VK_DYNAMIC_STATE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getFrontFaceName (VkFrontFace value) + { + switch (value) + { + case VK_FRONT_FACE_COUNTER_CLOCKWISE: return "VK_FRONT_FACE_COUNTER_CLOCKWISE"; + case VK_FRONT_FACE_CLOCKWISE: return "VK_FRONT_FACE_CLOCKWISE"; + case VK_FRONT_FACE_MAX_ENUM: return "VK_FRONT_FACE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getVertexInputRateName (VkVertexInputRate value) + { + switch (value) + { + case VK_VERTEX_INPUT_RATE_VERTEX: return "VK_VERTEX_INPUT_RATE_VERTEX"; + case VK_VERTEX_INPUT_RATE_INSTANCE: return "VK_VERTEX_INPUT_RATE_INSTANCE"; + case VK_VERTEX_INPUT_RATE_MAX_ENUM: return "VK_VERTEX_INPUT_RATE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getPrimitiveTopologyName (VkPrimitiveTopology value) + { + switch (value) + { + case VK_PRIMITIVE_TOPOLOGY_POINT_LIST: return "VK_PRIMITIVE_TOPOLOGY_POINT_LIST"; + case VK_PRIMITIVE_TOPOLOGY_LINE_LIST: return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST"; + case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP: return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP"; + case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST"; + case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP"; + case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN"; + case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY"; + case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY"; + case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY"; + case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY: return "VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY"; + case VK_PRIMITIVE_TOPOLOGY_PATCH_LIST: return "VK_PRIMITIVE_TOPOLOGY_PATCH_LIST"; + case VK_PRIMITIVE_TOPOLOGY_MAX_ENUM: return "VK_PRIMITIVE_TOPOLOGY_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getPolygonModeName (VkPolygonMode value) + { + switch (value) + { + case VK_POLYGON_MODE_FILL: return "VK_POLYGON_MODE_FILL"; + case VK_POLYGON_MODE_LINE: return "VK_POLYGON_MODE_LINE"; + case VK_POLYGON_MODE_POINT: return "VK_POLYGON_MODE_POINT"; + case VK_POLYGON_MODE_FILL_RECTANGLE_NV: return "VK_POLYGON_MODE_FILL_RECTANGLE_NV"; + case VK_POLYGON_MODE_MAX_ENUM: return "VK_POLYGON_MODE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getStencilOpName (VkStencilOp value) + { + switch (value) + { + case VK_STENCIL_OP_KEEP: return "VK_STENCIL_OP_KEEP"; + case VK_STENCIL_OP_ZERO: return "VK_STENCIL_OP_ZERO"; + case VK_STENCIL_OP_REPLACE: return "VK_STENCIL_OP_REPLACE"; + case VK_STENCIL_OP_INCREMENT_AND_CLAMP: return "VK_STENCIL_OP_INCREMENT_AND_CLAMP"; + case VK_STENCIL_OP_DECREMENT_AND_CLAMP: return "VK_STENCIL_OP_DECREMENT_AND_CLAMP"; + case VK_STENCIL_OP_INVERT: return "VK_STENCIL_OP_INVERT"; + case VK_STENCIL_OP_INCREMENT_AND_WRAP: return "VK_STENCIL_OP_INCREMENT_AND_WRAP"; + case VK_STENCIL_OP_DECREMENT_AND_WRAP: return "VK_STENCIL_OP_DECREMENT_AND_WRAP"; + case VK_STENCIL_OP_MAX_ENUM: return "VK_STENCIL_OP_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getLogicOpName (VkLogicOp value) + { + switch (value) + { + case VK_LOGIC_OP_CLEAR: return "VK_LOGIC_OP_CLEAR"; + case VK_LOGIC_OP_AND: return "VK_LOGIC_OP_AND"; + case VK_LOGIC_OP_AND_REVERSE: return "VK_LOGIC_OP_AND_REVERSE"; + case VK_LOGIC_OP_COPY: return "VK_LOGIC_OP_COPY"; + case VK_LOGIC_OP_AND_INVERTED: return "VK_LOGIC_OP_AND_INVERTED"; + case VK_LOGIC_OP_NO_OP: return "VK_LOGIC_OP_NO_OP"; + case VK_LOGIC_OP_XOR: return "VK_LOGIC_OP_XOR"; + case VK_LOGIC_OP_OR: return "VK_LOGIC_OP_OR"; + case VK_LOGIC_OP_NOR: return "VK_LOGIC_OP_NOR"; + case VK_LOGIC_OP_EQUIVALENT: return "VK_LOGIC_OP_EQUIVALENT"; + case VK_LOGIC_OP_INVERT: return "VK_LOGIC_OP_INVERT"; + case VK_LOGIC_OP_OR_REVERSE: return "VK_LOGIC_OP_OR_REVERSE"; + case VK_LOGIC_OP_COPY_INVERTED: return "VK_LOGIC_OP_COPY_INVERTED"; + case VK_LOGIC_OP_OR_INVERTED: return "VK_LOGIC_OP_OR_INVERTED"; + case VK_LOGIC_OP_NAND: return "VK_LOGIC_OP_NAND"; + case VK_LOGIC_OP_SET: return "VK_LOGIC_OP_SET"; + case VK_LOGIC_OP_MAX_ENUM: return "VK_LOGIC_OP_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getBorderColorName (VkBorderColor value) + { + switch (value) + { + case VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK: return "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK"; + case VK_BORDER_COLOR_INT_TRANSPARENT_BLACK: return "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK"; + case VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK: return "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK"; + case VK_BORDER_COLOR_INT_OPAQUE_BLACK: return "VK_BORDER_COLOR_INT_OPAQUE_BLACK"; + case VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE: return "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE"; + case VK_BORDER_COLOR_INT_OPAQUE_WHITE: return "VK_BORDER_COLOR_INT_OPAQUE_WHITE"; + case VK_BORDER_COLOR_FLOAT_CUSTOM_EXT: return "VK_BORDER_COLOR_FLOAT_CUSTOM_EXT"; + case VK_BORDER_COLOR_INT_CUSTOM_EXT: return "VK_BORDER_COLOR_INT_CUSTOM_EXT"; + case VK_BORDER_COLOR_MAX_ENUM: return "VK_BORDER_COLOR_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getFilterName (VkFilter value) + { + switch (value) + { + case VK_FILTER_NEAREST: return "VK_FILTER_NEAREST"; + case VK_FILTER_LINEAR: return "VK_FILTER_LINEAR"; + case VK_FILTER_CUBIC_IMG: return "VK_FILTER_CUBIC_IMG"; + case VK_FILTER_MAX_ENUM: return "VK_FILTER_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getSamplerAddressModeName (VkSamplerAddressMode value) + { + switch (value) + { + case VK_SAMPLER_ADDRESS_MODE_REPEAT: return "VK_SAMPLER_ADDRESS_MODE_REPEAT"; + case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT: return "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT"; + case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE: return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE"; + case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER"; + case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE: return "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE"; + case VK_SAMPLER_ADDRESS_MODE_MAX_ENUM: return "VK_SAMPLER_ADDRESS_MODE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getSamplerMipmapModeName (VkSamplerMipmapMode value) + { + switch (value) + { + case VK_SAMPLER_MIPMAP_MODE_NEAREST: return "VK_SAMPLER_MIPMAP_MODE_NEAREST"; + case VK_SAMPLER_MIPMAP_MODE_LINEAR: return "VK_SAMPLER_MIPMAP_MODE_LINEAR"; + case VK_SAMPLER_MIPMAP_MODE_MAX_ENUM: return "VK_SAMPLER_MIPMAP_MODE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getDescriptorTypeName (VkDescriptorType value) + { + switch (value) + { + case VK_DESCRIPTOR_TYPE_SAMPLER: return "VK_DESCRIPTOR_TYPE_SAMPLER"; + case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: return "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER"; + case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE: return "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE"; + case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE: return "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE"; + case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: return "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER"; + case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: return "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER"; + case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER"; + case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER"; + case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC"; + case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC"; + case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: return "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT"; - case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT: return "VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT"; ++ case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK: return "VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK"; + case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR: return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR"; + case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV: return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV"; + case VK_DESCRIPTOR_TYPE_MUTABLE_VALVE: return "VK_DESCRIPTOR_TYPE_MUTABLE_VALVE"; + case VK_DESCRIPTOR_TYPE_MAX_ENUM: return "VK_DESCRIPTOR_TYPE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getAttachmentLoadOpName (VkAttachmentLoadOp value) + { + switch (value) + { + case VK_ATTACHMENT_LOAD_OP_LOAD: return "VK_ATTACHMENT_LOAD_OP_LOAD"; + case VK_ATTACHMENT_LOAD_OP_CLEAR: return "VK_ATTACHMENT_LOAD_OP_CLEAR"; + case VK_ATTACHMENT_LOAD_OP_DONT_CARE: return "VK_ATTACHMENT_LOAD_OP_DONT_CARE"; + case VK_ATTACHMENT_LOAD_OP_NONE_EXT: return "VK_ATTACHMENT_LOAD_OP_NONE_EXT"; + case VK_ATTACHMENT_LOAD_OP_MAX_ENUM: return "VK_ATTACHMENT_LOAD_OP_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getAttachmentStoreOpName (VkAttachmentStoreOp value) + { + switch (value) + { + case VK_ATTACHMENT_STORE_OP_STORE: return "VK_ATTACHMENT_STORE_OP_STORE"; + case VK_ATTACHMENT_STORE_OP_DONT_CARE: return "VK_ATTACHMENT_STORE_OP_DONT_CARE"; - case VK_ATTACHMENT_STORE_OP_NONE_KHR: return "VK_ATTACHMENT_STORE_OP_NONE_KHR"; ++ case VK_ATTACHMENT_STORE_OP_NONE: return "VK_ATTACHMENT_STORE_OP_NONE"; + case VK_ATTACHMENT_STORE_OP_MAX_ENUM: return "VK_ATTACHMENT_STORE_OP_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getPipelineBindPointName (VkPipelineBindPoint value) + { + switch (value) + { + case VK_PIPELINE_BIND_POINT_GRAPHICS: return "VK_PIPELINE_BIND_POINT_GRAPHICS"; + case VK_PIPELINE_BIND_POINT_COMPUTE: return "VK_PIPELINE_BIND_POINT_COMPUTE"; + case VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR: return "VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR"; + case VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI: return "VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI"; + case VK_PIPELINE_BIND_POINT_MAX_ENUM: return "VK_PIPELINE_BIND_POINT_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getCommandBufferLevelName (VkCommandBufferLevel value) + { + switch (value) + { + case VK_COMMAND_BUFFER_LEVEL_PRIMARY: return "VK_COMMAND_BUFFER_LEVEL_PRIMARY"; + case VK_COMMAND_BUFFER_LEVEL_SECONDARY: return "VK_COMMAND_BUFFER_LEVEL_SECONDARY"; + case VK_COMMAND_BUFFER_LEVEL_MAX_ENUM: return "VK_COMMAND_BUFFER_LEVEL_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getIndexTypeName (VkIndexType value) + { + switch (value) + { + case VK_INDEX_TYPE_UINT16: return "VK_INDEX_TYPE_UINT16"; + case VK_INDEX_TYPE_UINT32: return "VK_INDEX_TYPE_UINT32"; + case VK_INDEX_TYPE_NONE_KHR: return "VK_INDEX_TYPE_NONE_KHR"; + case VK_INDEX_TYPE_UINT8_EXT: return "VK_INDEX_TYPE_UINT8_EXT"; + case VK_INDEX_TYPE_MAX_ENUM: return "VK_INDEX_TYPE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getSubpassContentsName (VkSubpassContents value) + { + switch (value) + { + case VK_SUBPASS_CONTENTS_INLINE: return "VK_SUBPASS_CONTENTS_INLINE"; + case VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS: return "VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS"; + case VK_SUBPASS_CONTENTS_MAX_ENUM: return "VK_SUBPASS_CONTENTS_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getPointClippingBehaviorName (VkPointClippingBehavior value) + { + switch (value) + { + case VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES: return "VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES"; + case VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY: return "VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY"; + case VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM: return "VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getTessellationDomainOriginName (VkTessellationDomainOrigin value) + { + switch (value) + { + case VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT: return "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT"; + case VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT: return "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT"; + case VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM: return "VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getSamplerYcbcrModelConversionName (VkSamplerYcbcrModelConversion value) + { + switch (value) + { + case VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY"; + case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY"; + case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709"; + case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601"; + case VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020"; + case VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM: return "VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getSamplerYcbcrRangeName (VkSamplerYcbcrRange value) + { + switch (value) + { + case VK_SAMPLER_YCBCR_RANGE_ITU_FULL: return "VK_SAMPLER_YCBCR_RANGE_ITU_FULL"; + case VK_SAMPLER_YCBCR_RANGE_ITU_NARROW: return "VK_SAMPLER_YCBCR_RANGE_ITU_NARROW"; + case VK_SAMPLER_YCBCR_RANGE_MAX_ENUM: return "VK_SAMPLER_YCBCR_RANGE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getChromaLocationName (VkChromaLocation value) + { + switch (value) + { + case VK_CHROMA_LOCATION_COSITED_EVEN: return "VK_CHROMA_LOCATION_COSITED_EVEN"; + case VK_CHROMA_LOCATION_MIDPOINT: return "VK_CHROMA_LOCATION_MIDPOINT"; + case VK_CHROMA_LOCATION_MAX_ENUM: return "VK_CHROMA_LOCATION_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getDescriptorUpdateTemplateTypeName (VkDescriptorUpdateTemplateType value) + { + switch (value) + { + case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET: return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET"; + case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR: return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR"; + case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM: return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getDriverIdName (VkDriverId value) + { + switch (value) + { + case VK_DRIVER_ID_AMD_PROPRIETARY: return "VK_DRIVER_ID_AMD_PROPRIETARY"; + case VK_DRIVER_ID_AMD_OPEN_SOURCE: return "VK_DRIVER_ID_AMD_OPEN_SOURCE"; + case VK_DRIVER_ID_MESA_RADV: return "VK_DRIVER_ID_MESA_RADV"; + case VK_DRIVER_ID_NVIDIA_PROPRIETARY: return "VK_DRIVER_ID_NVIDIA_PROPRIETARY"; + case VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS: return "VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS"; + case VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA: return "VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA"; + case VK_DRIVER_ID_IMAGINATION_PROPRIETARY: return "VK_DRIVER_ID_IMAGINATION_PROPRIETARY"; + case VK_DRIVER_ID_QUALCOMM_PROPRIETARY: return "VK_DRIVER_ID_QUALCOMM_PROPRIETARY"; + case VK_DRIVER_ID_ARM_PROPRIETARY: return "VK_DRIVER_ID_ARM_PROPRIETARY"; + case VK_DRIVER_ID_GOOGLE_SWIFTSHADER: return "VK_DRIVER_ID_GOOGLE_SWIFTSHADER"; + case VK_DRIVER_ID_GGP_PROPRIETARY: return "VK_DRIVER_ID_GGP_PROPRIETARY"; + case VK_DRIVER_ID_BROADCOM_PROPRIETARY: return "VK_DRIVER_ID_BROADCOM_PROPRIETARY"; + case VK_DRIVER_ID_MESA_LLVMPIPE: return "VK_DRIVER_ID_MESA_LLVMPIPE"; + case VK_DRIVER_ID_MOLTENVK: return "VK_DRIVER_ID_MOLTENVK"; + case VK_DRIVER_ID_COREAVI_PROPRIETARY: return "VK_DRIVER_ID_COREAVI_PROPRIETARY"; + case VK_DRIVER_ID_JUICE_PROPRIETARY: return "VK_DRIVER_ID_JUICE_PROPRIETARY"; + case VK_DRIVER_ID_VERISILICON_PROPRIETARY: return "VK_DRIVER_ID_VERISILICON_PROPRIETARY"; + case VK_DRIVER_ID_MESA_TURNIP: return "VK_DRIVER_ID_MESA_TURNIP"; + case VK_DRIVER_ID_MESA_V3DV: return "VK_DRIVER_ID_MESA_V3DV"; + case VK_DRIVER_ID_MESA_PANVK: return "VK_DRIVER_ID_MESA_PANVK"; + case VK_DRIVER_ID_SAMSUNG_PROPRIETARY: return "VK_DRIVER_ID_SAMSUNG_PROPRIETARY"; + case VK_DRIVER_ID_MAX_ENUM: return "VK_DRIVER_ID_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getShaderFloatControlsIndependenceName (VkShaderFloatControlsIndependence value) + { + switch (value) + { + case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY: return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY"; + case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL: return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL"; + case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE: return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE"; + case VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM: return "VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getSamplerReductionModeName (VkSamplerReductionMode value) + { + switch (value) + { + case VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE: return "VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE"; + case VK_SAMPLER_REDUCTION_MODE_MIN: return "VK_SAMPLER_REDUCTION_MODE_MIN"; + case VK_SAMPLER_REDUCTION_MODE_MAX: return "VK_SAMPLER_REDUCTION_MODE_MAX"; + case VK_SAMPLER_REDUCTION_MODE_MAX_ENUM: return "VK_SAMPLER_REDUCTION_MODE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getSemaphoreTypeName (VkSemaphoreType value) + { + switch (value) + { + case VK_SEMAPHORE_TYPE_BINARY: return "VK_SEMAPHORE_TYPE_BINARY"; + case VK_SEMAPHORE_TYPE_TIMELINE: return "VK_SEMAPHORE_TYPE_TIMELINE"; + case VK_SEMAPHORE_TYPE_MAX_ENUM: return "VK_SEMAPHORE_TYPE_MAX_ENUM"; + default: return DE_NULL; + } + } + + const char* getPresentModeKHRName (VkPresentModeKHR value) + { + switch (value) + { + case VK_PRESENT_MODE_IMMEDIATE_KHR: return "VK_PRESENT_MODE_IMMEDIATE_KHR"; + case VK_PRESENT_MODE_MAILBOX_KHR: return "VK_PRESENT_MODE_MAILBOX_KHR"; + case VK_PRESENT_MODE_FIFO_KHR: return "VK_PRESENT_MODE_FIFO_KHR"; + case VK_PRESENT_MODE_FIFO_RELAXED_KHR: return "VK_PRESENT_MODE_FIFO_RELAXED_KHR"; + case VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR: return "VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR"; + case VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR: return "VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR"; + case VK_PRESENT_MODE_MAX_ENUM_KHR: return "VK_PRESENT_MODE_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getColorSpaceKHRName (VkColorSpaceKHR value) + { + switch (value) + { + case VK_COLOR_SPACE_SRGB_NONLINEAR_KHR: return "VK_COLOR_SPACE_SRGB_NONLINEAR_KHR"; + case VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT: return "VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT"; + case VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT: return "VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT"; + case VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT: return "VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT"; + case VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT: return "VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT"; + case VK_COLOR_SPACE_BT709_LINEAR_EXT: return "VK_COLOR_SPACE_BT709_LINEAR_EXT"; + case VK_COLOR_SPACE_BT709_NONLINEAR_EXT: return "VK_COLOR_SPACE_BT709_NONLINEAR_EXT"; + case VK_COLOR_SPACE_BT2020_LINEAR_EXT: return "VK_COLOR_SPACE_BT2020_LINEAR_EXT"; + case VK_COLOR_SPACE_HDR10_ST2084_EXT: return "VK_COLOR_SPACE_HDR10_ST2084_EXT"; + case VK_COLOR_SPACE_DOLBYVISION_EXT: return "VK_COLOR_SPACE_DOLBYVISION_EXT"; + case VK_COLOR_SPACE_HDR10_HLG_EXT: return "VK_COLOR_SPACE_HDR10_HLG_EXT"; + case VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT: return "VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT"; + case VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT: return "VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT"; + case VK_COLOR_SPACE_PASS_THROUGH_EXT: return "VK_COLOR_SPACE_PASS_THROUGH_EXT"; + case VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT: return "VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT"; + case VK_COLOR_SPACE_DISPLAY_NATIVE_AMD: return "VK_COLOR_SPACE_DISPLAY_NATIVE_AMD"; + case VK_COLOR_SPACE_MAX_ENUM_KHR: return "VK_COLOR_SPACE_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getPerformanceCounterUnitKHRName (VkPerformanceCounterUnitKHR value) + { + switch (value) + { + case VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR"; + case VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR"; + case VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR"; + case VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR"; + case VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR"; + case VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR"; + case VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR"; + case VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR"; + case VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR"; + case VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR"; + case VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR"; + case VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR: return "VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getPerformanceCounterScopeKHRName (VkPerformanceCounterScopeKHR value) + { + switch (value) + { + case VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR: return "VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR"; + case VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR: return "VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR"; + case VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR: return "VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR"; + case VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR: return "VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getPerformanceCounterStorageKHRName (VkPerformanceCounterStorageKHR value) + { + switch (value) + { + case VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR"; + case VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR"; + case VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR"; + case VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR"; + case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR"; + case VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR"; + case VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR: return "VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getFragmentShadingRateCombinerOpKHRName (VkFragmentShadingRateCombinerOpKHR value) + { + switch (value) + { + case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR"; + case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR"; + case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR"; + case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR"; + case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR"; + case VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR: return "VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getPipelineExecutableStatisticFormatKHRName (VkPipelineExecutableStatisticFormatKHR value) + { + switch (value) + { + case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR: return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR"; + case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR: return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR"; + case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR: return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR"; + case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR: return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR"; + case VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR: return "VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getDebugReportObjectTypeEXTName (VkDebugReportObjectTypeEXT value) + { + switch (value) + { + case VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT"; + case VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT: return "VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getRasterizationOrderAMDName (VkRasterizationOrderAMD value) + { + switch (value) + { + case VK_RASTERIZATION_ORDER_STRICT_AMD: return "VK_RASTERIZATION_ORDER_STRICT_AMD"; + case VK_RASTERIZATION_ORDER_RELAXED_AMD: return "VK_RASTERIZATION_ORDER_RELAXED_AMD"; + case VK_RASTERIZATION_ORDER_MAX_ENUM_AMD: return "VK_RASTERIZATION_ORDER_MAX_ENUM_AMD"; + default: return DE_NULL; + } + } + + const char* getShaderInfoTypeAMDName (VkShaderInfoTypeAMD value) + { + switch (value) + { + case VK_SHADER_INFO_TYPE_STATISTICS_AMD: return "VK_SHADER_INFO_TYPE_STATISTICS_AMD"; + case VK_SHADER_INFO_TYPE_BINARY_AMD: return "VK_SHADER_INFO_TYPE_BINARY_AMD"; + case VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD: return "VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD"; + case VK_SHADER_INFO_TYPE_MAX_ENUM_AMD: return "VK_SHADER_INFO_TYPE_MAX_ENUM_AMD"; + default: return DE_NULL; + } + } + + const char* getValidationCheckEXTName (VkValidationCheckEXT value) + { + switch (value) + { + case VK_VALIDATION_CHECK_ALL_EXT: return "VK_VALIDATION_CHECK_ALL_EXT"; + case VK_VALIDATION_CHECK_SHADERS_EXT: return "VK_VALIDATION_CHECK_SHADERS_EXT"; + case VK_VALIDATION_CHECK_MAX_ENUM_EXT: return "VK_VALIDATION_CHECK_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getDisplayPowerStateEXTName (VkDisplayPowerStateEXT value) + { + switch (value) + { + case VK_DISPLAY_POWER_STATE_OFF_EXT: return "VK_DISPLAY_POWER_STATE_OFF_EXT"; + case VK_DISPLAY_POWER_STATE_SUSPEND_EXT: return "VK_DISPLAY_POWER_STATE_SUSPEND_EXT"; + case VK_DISPLAY_POWER_STATE_ON_EXT: return "VK_DISPLAY_POWER_STATE_ON_EXT"; + case VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT: return "VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getDeviceEventTypeEXTName (VkDeviceEventTypeEXT value) + { + switch (value) + { + case VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT: return "VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT"; + case VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT: return "VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getDisplayEventTypeEXTName (VkDisplayEventTypeEXT value) + { + switch (value) + { + case VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT: return "VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT"; + case VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT: return "VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getViewportCoordinateSwizzleNVName (VkViewportCoordinateSwizzleNV value) + { + switch (value) + { + case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV"; + case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV"; + case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV"; + case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV"; + case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV"; + case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV"; + case VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV"; + case VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV"; + case VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV: return "VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV"; + default: return DE_NULL; + } + } + + const char* getDiscardRectangleModeEXTName (VkDiscardRectangleModeEXT value) + { + switch (value) + { + case VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT: return "VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT"; + case VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT: return "VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT"; + case VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT: return "VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getConservativeRasterizationModeEXTName (VkConservativeRasterizationModeEXT value) + { + switch (value) + { + case VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT: return "VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT"; + case VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT: return "VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT"; + case VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT: return "VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT"; + case VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT: return "VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getBlendOverlapEXTName (VkBlendOverlapEXT value) + { + switch (value) + { + case VK_BLEND_OVERLAP_UNCORRELATED_EXT: return "VK_BLEND_OVERLAP_UNCORRELATED_EXT"; + case VK_BLEND_OVERLAP_DISJOINT_EXT: return "VK_BLEND_OVERLAP_DISJOINT_EXT"; + case VK_BLEND_OVERLAP_CONJOINT_EXT: return "VK_BLEND_OVERLAP_CONJOINT_EXT"; + case VK_BLEND_OVERLAP_MAX_ENUM_EXT: return "VK_BLEND_OVERLAP_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getCoverageModulationModeNVName (VkCoverageModulationModeNV value) + { + switch (value) + { + case VK_COVERAGE_MODULATION_MODE_NONE_NV: return "VK_COVERAGE_MODULATION_MODE_NONE_NV"; + case VK_COVERAGE_MODULATION_MODE_RGB_NV: return "VK_COVERAGE_MODULATION_MODE_RGB_NV"; + case VK_COVERAGE_MODULATION_MODE_ALPHA_NV: return "VK_COVERAGE_MODULATION_MODE_ALPHA_NV"; + case VK_COVERAGE_MODULATION_MODE_RGBA_NV: return "VK_COVERAGE_MODULATION_MODE_RGBA_NV"; + case VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV: return "VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV"; + default: return DE_NULL; + } + } + + const char* getValidationCacheHeaderVersionEXTName (VkValidationCacheHeaderVersionEXT value) + { + switch (value) + { + case VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT: return "VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT"; + case VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT: return "VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getShadingRatePaletteEntryNVName (VkShadingRatePaletteEntryNV value) + { + switch (value) + { + case VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV"; + case VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV"; + case VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV"; + case VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV"; + case VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV"; + case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV"; + case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV"; + case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV"; + case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV"; + case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV"; + case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV"; + case VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV"; + case VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV: return "VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV"; + default: return DE_NULL; + } + } + + const char* getCoarseSampleOrderTypeNVName (VkCoarseSampleOrderTypeNV value) + { + switch (value) + { + case VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV: return "VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV"; + case VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV: return "VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV"; + case VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV: return "VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV"; + case VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV: return "VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV"; + case VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV: return "VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV"; + default: return DE_NULL; + } + } + + const char* getRayTracingShaderGroupTypeKHRName (VkRayTracingShaderGroupTypeKHR value) + { + switch (value) + { + case VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR: return "VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR"; + case VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR: return "VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR"; + case VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR: return "VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR"; + case VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR: return "VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getGeometryTypeKHRName (VkGeometryTypeKHR value) + { + switch (value) + { + case VK_GEOMETRY_TYPE_TRIANGLES_KHR: return "VK_GEOMETRY_TYPE_TRIANGLES_KHR"; + case VK_GEOMETRY_TYPE_AABBS_KHR: return "VK_GEOMETRY_TYPE_AABBS_KHR"; + case VK_GEOMETRY_TYPE_INSTANCES_KHR: return "VK_GEOMETRY_TYPE_INSTANCES_KHR"; + case VK_GEOMETRY_TYPE_MAX_ENUM_KHR: return "VK_GEOMETRY_TYPE_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getAccelerationStructureTypeKHRName (VkAccelerationStructureTypeKHR value) + { + switch (value) + { + case VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR: return "VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR"; + case VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR: return "VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR"; + case VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR: return "VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR"; + case VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR: return "VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getCopyAccelerationStructureModeKHRName (VkCopyAccelerationStructureModeKHR value) + { + switch (value) + { + case VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR: return "VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR"; + case VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR: return "VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR"; + case VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR: return "VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR"; + case VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR: return "VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR"; + case VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR: return "VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getAccelerationStructureMemoryRequirementsTypeNVName (VkAccelerationStructureMemoryRequirementsTypeNV value) + { + switch (value) + { + case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV: return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV"; + case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV: return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV"; + case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV: return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV"; + case VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV: return "VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV"; + default: return DE_NULL; + } + } + + const char* getQueueGlobalPriorityEXTName (VkQueueGlobalPriorityEXT value) + { + switch (value) + { + case VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT: return "VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT"; + case VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT: return "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT"; + case VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT: return "VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT"; + case VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT: return "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT"; + case VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT: return "VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getTimeDomainEXTName (VkTimeDomainEXT value) + { + switch (value) + { + case VK_TIME_DOMAIN_DEVICE_EXT: return "VK_TIME_DOMAIN_DEVICE_EXT"; + case VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT: return "VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT"; + case VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT: return "VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT"; + case VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT: return "VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT"; + case VK_TIME_DOMAIN_MAX_ENUM_EXT: return "VK_TIME_DOMAIN_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getMemoryOverallocationBehaviorAMDName (VkMemoryOverallocationBehaviorAMD value) + { + switch (value) + { + case VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD: return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD"; + case VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD: return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD"; + case VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD: return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD"; + case VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD: return "VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD"; + default: return DE_NULL; + } + } + + const char* getPerformanceConfigurationTypeINTELName (VkPerformanceConfigurationTypeINTEL value) + { + switch (value) + { + case VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL: return "VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL"; + case VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL: return "VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL"; + default: return DE_NULL; + } + } + + const char* getQueryPoolSamplingModeINTELName (VkQueryPoolSamplingModeINTEL value) + { + switch (value) + { + case VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL: return "VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL"; + case VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL: return "VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL"; + default: return DE_NULL; + } + } + + const char* getPerformanceOverrideTypeINTELName (VkPerformanceOverrideTypeINTEL value) + { + switch (value) + { + case VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL: return "VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL"; + case VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL: return "VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL"; + case VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL: return "VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL"; + default: return DE_NULL; + } + } + + const char* getPerformanceParameterTypeINTELName (VkPerformanceParameterTypeINTEL value) + { + switch (value) + { + case VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL: return "VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL"; + case VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL: return "VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL"; + case VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL: return "VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL"; + default: return DE_NULL; + } + } + + const char* getPerformanceValueTypeINTELName (VkPerformanceValueTypeINTEL value) + { + switch (value) + { + case VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL: return "VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL"; + case VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL: return "VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL"; + case VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL: return "VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL"; + case VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL: return "VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL"; + case VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL: return "VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL"; + case VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL: return "VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL"; + default: return DE_NULL; + } + } + + const char* getValidationFeatureEnableEXTName (VkValidationFeatureEnableEXT value) + { + switch (value) + { + case VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT: return "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT"; + case VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT: return "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT"; + case VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT: return "VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT"; + case VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT: return "VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT"; + case VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT: return "VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT"; + case VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT: return "VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getValidationFeatureDisableEXTName (VkValidationFeatureDisableEXT value) + { + switch (value) + { + case VK_VALIDATION_FEATURE_DISABLE_ALL_EXT: return "VK_VALIDATION_FEATURE_DISABLE_ALL_EXT"; + case VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT: return "VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT"; + case VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT: return "VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT"; + case VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT: return "VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT"; + case VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT: return "VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT"; + case VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT: return "VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT"; + case VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT: return "VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT"; + case VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT: return "VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT"; + case VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT: return "VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getComponentTypeNVName (VkComponentTypeNV value) + { + switch (value) + { + case VK_COMPONENT_TYPE_FLOAT16_NV: return "VK_COMPONENT_TYPE_FLOAT16_NV"; + case VK_COMPONENT_TYPE_FLOAT32_NV: return "VK_COMPONENT_TYPE_FLOAT32_NV"; + case VK_COMPONENT_TYPE_FLOAT64_NV: return "VK_COMPONENT_TYPE_FLOAT64_NV"; + case VK_COMPONENT_TYPE_SINT8_NV: return "VK_COMPONENT_TYPE_SINT8_NV"; + case VK_COMPONENT_TYPE_SINT16_NV: return "VK_COMPONENT_TYPE_SINT16_NV"; + case VK_COMPONENT_TYPE_SINT32_NV: return "VK_COMPONENT_TYPE_SINT32_NV"; + case VK_COMPONENT_TYPE_SINT64_NV: return "VK_COMPONENT_TYPE_SINT64_NV"; + case VK_COMPONENT_TYPE_UINT8_NV: return "VK_COMPONENT_TYPE_UINT8_NV"; + case VK_COMPONENT_TYPE_UINT16_NV: return "VK_COMPONENT_TYPE_UINT16_NV"; + case VK_COMPONENT_TYPE_UINT32_NV: return "VK_COMPONENT_TYPE_UINT32_NV"; + case VK_COMPONENT_TYPE_UINT64_NV: return "VK_COMPONENT_TYPE_UINT64_NV"; + case VK_COMPONENT_TYPE_MAX_ENUM_NV: return "VK_COMPONENT_TYPE_MAX_ENUM_NV"; + default: return DE_NULL; + } + } + + const char* getScopeNVName (VkScopeNV value) + { + switch (value) + { + case VK_SCOPE_DEVICE_NV: return "VK_SCOPE_DEVICE_NV"; + case VK_SCOPE_WORKGROUP_NV: return "VK_SCOPE_WORKGROUP_NV"; + case VK_SCOPE_SUBGROUP_NV: return "VK_SCOPE_SUBGROUP_NV"; + case VK_SCOPE_QUEUE_FAMILY_NV: return "VK_SCOPE_QUEUE_FAMILY_NV"; + case VK_SCOPE_MAX_ENUM_NV: return "VK_SCOPE_MAX_ENUM_NV"; + default: return DE_NULL; + } + } + + const char* getCoverageReductionModeNVName (VkCoverageReductionModeNV value) + { + switch (value) + { + case VK_COVERAGE_REDUCTION_MODE_MERGE_NV: return "VK_COVERAGE_REDUCTION_MODE_MERGE_NV"; + case VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV: return "VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV"; + case VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV: return "VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV"; + default: return DE_NULL; + } + } + + const char* getProvokingVertexModeEXTName (VkProvokingVertexModeEXT value) + { + switch (value) + { + case VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT: return "VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT"; + case VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT: return "VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT"; + case VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT: return "VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getLineRasterizationModeEXTName (VkLineRasterizationModeEXT value) + { + switch (value) + { + case VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT: return "VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT"; + case VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT: return "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT"; + case VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT: return "VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT"; + case VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT: return "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT"; + case VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT: return "VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getIndirectCommandsTokenTypeNVName (VkIndirectCommandsTokenTypeNV value) + { + switch (value) + { + case VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV"; + case VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV"; + case VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV"; + case VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV"; + case VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV"; + case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV"; + case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV"; + case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV"; + case VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV"; + default: return DE_NULL; + } + } + + const char* getDeviceMemoryReportEventTypeEXTName (VkDeviceMemoryReportEventTypeEXT value) + { + switch (value) + { + case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT: return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT"; + case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT: return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT"; + case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT: return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT"; + case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT: return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT"; + case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT: return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT"; + case VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT: return "VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + const char* getFragmentShadingRateTypeNVName (VkFragmentShadingRateTypeNV value) + { + switch (value) + { + case VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV: return "VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV"; + case VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV: return "VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV"; + case VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV: return "VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV"; + default: return DE_NULL; + } + } + + const char* getFragmentShadingRateNVName (VkFragmentShadingRateNV value) + { + switch (value) + { + case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV"; + case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV"; + case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV"; + case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV"; + case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV"; + case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV"; + case VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV: return "VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV"; + case VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV: return "VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV"; + case VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV: return "VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV"; + case VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV: return "VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV"; + case VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV: return "VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV"; + case VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV: return "VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV"; + case VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV: return "VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV"; + default: return DE_NULL; + } + } + + const char* getAccelerationStructureMotionInstanceTypeNVName (VkAccelerationStructureMotionInstanceTypeNV value) + { + switch (value) + { + case VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV: return "VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV"; + case VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV: return "VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV"; + case VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV: return "VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV"; + case VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV: return "VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV"; + default: return DE_NULL; + } + } + + const char* getBuildAccelerationStructureModeKHRName (VkBuildAccelerationStructureModeKHR value) + { + switch (value) + { + case VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR: return "VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR"; + case VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR: return "VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR"; + case VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR: return "VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getAccelerationStructureBuildTypeKHRName (VkAccelerationStructureBuildTypeKHR value) + { + switch (value) + { + case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR: return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR"; + case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR: return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR"; + case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR: return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR"; + case VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR: return "VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getAccelerationStructureCompatibilityKHRName (VkAccelerationStructureCompatibilityKHR value) + { + switch (value) + { + case VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR: return "VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR"; + case VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR: return "VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR"; + case VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR: return "VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getShaderGroupShaderKHRName (VkShaderGroupShaderKHR value) + { + switch (value) + { + case VK_SHADER_GROUP_SHADER_GENERAL_KHR: return "VK_SHADER_GROUP_SHADER_GENERAL_KHR"; + case VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR: return "VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR"; + case VK_SHADER_GROUP_SHADER_ANY_HIT_KHR: return "VK_SHADER_GROUP_SHADER_ANY_HIT_KHR"; + case VK_SHADER_GROUP_SHADER_INTERSECTION_KHR: return "VK_SHADER_GROUP_SHADER_INTERSECTION_KHR"; + case VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR: return "VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getQueryResultStatusKHRName (VkQueryResultStatusKHR value) + { + switch (value) + { + case VK_QUERY_RESULT_STATUS_ERROR_KHR: return "VK_QUERY_RESULT_STATUS_ERROR_KHR"; + case VK_QUERY_RESULT_STATUS_NOT_READY_KHR: return "VK_QUERY_RESULT_STATUS_NOT_READY_KHR"; + case VK_QUERY_RESULT_STATUS_COMPLETE_KHR: return "VK_QUERY_RESULT_STATUS_COMPLETE_KHR"; + case VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR: return "VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR"; + default: return DE_NULL; + } + } + + const char* getdVideoH264ChromaFormatIdcName (StdVideoH264ChromaFormatIdc value) + { + switch (value) + { + case STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME: return "STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME"; + case STD_VIDEO_H264_CHROMA_FORMAT_IDC_420: return "STD_VIDEO_H264_CHROMA_FORMAT_IDC_420"; + case STD_VIDEO_H264_CHROMA_FORMAT_IDC_422: return "STD_VIDEO_H264_CHROMA_FORMAT_IDC_422"; + case STD_VIDEO_H264_CHROMA_FORMAT_IDC_444: return "STD_VIDEO_H264_CHROMA_FORMAT_IDC_444"; + case STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID: return "STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH264ProfileIdcName (StdVideoH264ProfileIdc value) + { + switch (value) + { + case STD_VIDEO_H264_PROFILE_IDC_BASELINE: return "STD_VIDEO_H264_PROFILE_IDC_BASELINE"; + case STD_VIDEO_H264_PROFILE_IDC_MAIN: return "STD_VIDEO_H264_PROFILE_IDC_MAIN"; + case STD_VIDEO_H264_PROFILE_IDC_HIGH: return "STD_VIDEO_H264_PROFILE_IDC_HIGH"; + case STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE: return "STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE"; + case STD_VIDEO_H264_PROFILE_IDC_INVALID: return "STD_VIDEO_H264_PROFILE_IDC_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH264LevelName (StdVideoH264Level value) + { + switch (value) + { + case STD_VIDEO_H264_LEVEL_1_0: return "STD_VIDEO_H264_LEVEL_1_0"; + case STD_VIDEO_H264_LEVEL_1_1: return "STD_VIDEO_H264_LEVEL_1_1"; + case STD_VIDEO_H264_LEVEL_1_2: return "STD_VIDEO_H264_LEVEL_1_2"; + case STD_VIDEO_H264_LEVEL_1_3: return "STD_VIDEO_H264_LEVEL_1_3"; + case STD_VIDEO_H264_LEVEL_2_0: return "STD_VIDEO_H264_LEVEL_2_0"; + case STD_VIDEO_H264_LEVEL_2_1: return "STD_VIDEO_H264_LEVEL_2_1"; + case STD_VIDEO_H264_LEVEL_2_2: return "STD_VIDEO_H264_LEVEL_2_2"; + case STD_VIDEO_H264_LEVEL_3_0: return "STD_VIDEO_H264_LEVEL_3_0"; + case STD_VIDEO_H264_LEVEL_3_1: return "STD_VIDEO_H264_LEVEL_3_1"; + case STD_VIDEO_H264_LEVEL_3_2: return "STD_VIDEO_H264_LEVEL_3_2"; + case STD_VIDEO_H264_LEVEL_4_0: return "STD_VIDEO_H264_LEVEL_4_0"; + case STD_VIDEO_H264_LEVEL_4_1: return "STD_VIDEO_H264_LEVEL_4_1"; + case STD_VIDEO_H264_LEVEL_4_2: return "STD_VIDEO_H264_LEVEL_4_2"; + case STD_VIDEO_H264_LEVEL_5_0: return "STD_VIDEO_H264_LEVEL_5_0"; + case STD_VIDEO_H264_LEVEL_5_1: return "STD_VIDEO_H264_LEVEL_5_1"; + case STD_VIDEO_H264_LEVEL_5_2: return "STD_VIDEO_H264_LEVEL_5_2"; + case STD_VIDEO_H264_LEVEL_6_0: return "STD_VIDEO_H264_LEVEL_6_0"; + case STD_VIDEO_H264_LEVEL_6_1: return "STD_VIDEO_H264_LEVEL_6_1"; + case STD_VIDEO_H264_LEVEL_6_2: return "STD_VIDEO_H264_LEVEL_6_2"; + case STD_VIDEO_H264_LEVEL_INVALID: return "STD_VIDEO_H264_LEVEL_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH264PocTypeName (StdVideoH264PocType value) + { + switch (value) + { + case STD_VIDEO_H264_POC_TYPE_0: return "STD_VIDEO_H264_POC_TYPE_0"; + case STD_VIDEO_H264_POC_TYPE_1: return "STD_VIDEO_H264_POC_TYPE_1"; + case STD_VIDEO_H264_POC_TYPE_2: return "STD_VIDEO_H264_POC_TYPE_2"; + case STD_VIDEO_H264_POC_TYPE_INVALID: return "STD_VIDEO_H264_POC_TYPE_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH264AspectRatioIdcName (StdVideoH264AspectRatioIdc value) + { + switch (value) + { + case STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR"; + case STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID: return "STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH264WeightedBipredIdcName (StdVideoH264WeightedBipredIdc value) + { + switch (value) + { + case STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT: return "STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT"; + case STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT: return "STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT"; + case STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT: return "STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT"; + case STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID: return "STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH264ModificationOfPicNumsIdcName (StdVideoH264ModificationOfPicNumsIdc value) + { + switch (value) + { + case STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT: return "STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT"; + case STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD: return "STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD"; + case STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM: return "STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM"; + case STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END: return "STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END"; + case STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID: return "STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH264MemMgmtControlOpName (StdVideoH264MemMgmtControlOp value) + { + switch (value) + { + case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END"; + case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM"; + case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM"; + case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM"; + case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX"; + case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL"; + case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM"; + case STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID: return "STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH264CabacInitIdcName (StdVideoH264CabacInitIdc value) + { + switch (value) + { + case STD_VIDEO_H264_CABAC_INIT_IDC_0: return "STD_VIDEO_H264_CABAC_INIT_IDC_0"; + case STD_VIDEO_H264_CABAC_INIT_IDC_1: return "STD_VIDEO_H264_CABAC_INIT_IDC_1"; + case STD_VIDEO_H264_CABAC_INIT_IDC_2: return "STD_VIDEO_H264_CABAC_INIT_IDC_2"; + case STD_VIDEO_H264_CABAC_INIT_IDC_INVALID: return "STD_VIDEO_H264_CABAC_INIT_IDC_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH264DisableDeblockingFilterIdcName (StdVideoH264DisableDeblockingFilterIdc value) + { + switch (value) + { + case STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED: return "STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED"; + case STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED: return "STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED"; + case STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL: return "STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL"; + case STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID: return "STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH264SliceTypeName (StdVideoH264SliceType value) + { + switch (value) + { + case STD_VIDEO_H264_SLICE_TYPE_P: return "STD_VIDEO_H264_SLICE_TYPE_P"; + case STD_VIDEO_H264_SLICE_TYPE_B: return "STD_VIDEO_H264_SLICE_TYPE_B"; + case STD_VIDEO_H264_SLICE_TYPE_I: return "STD_VIDEO_H264_SLICE_TYPE_I"; + case STD_VIDEO_H264_SLICE_TYPE_INVALID: return "STD_VIDEO_H264_SLICE_TYPE_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH264PictureTypeName (StdVideoH264PictureType value) + { + switch (value) + { + case STD_VIDEO_H264_PICTURE_TYPE_P: return "STD_VIDEO_H264_PICTURE_TYPE_P"; + case STD_VIDEO_H264_PICTURE_TYPE_B: return "STD_VIDEO_H264_PICTURE_TYPE_B"; + case STD_VIDEO_H264_PICTURE_TYPE_I: return "STD_VIDEO_H264_PICTURE_TYPE_I"; + case STD_VIDEO_H264_PICTURE_TYPE_IDR: return "STD_VIDEO_H264_PICTURE_TYPE_IDR"; + case STD_VIDEO_H264_PICTURE_TYPE_INVALID: return "STD_VIDEO_H264_PICTURE_TYPE_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH264NonVclNaluTypeName (StdVideoH264NonVclNaluType value) + { + switch (value) + { + case STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS"; + case STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS"; + case STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD"; + case STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX"; + case STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE"; + case STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM"; + case STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED"; + case STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID: return "STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH265ChromaFormatIdcName (StdVideoH265ChromaFormatIdc value) + { + switch (value) + { + case STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME: return "STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME"; + case STD_VIDEO_H265_CHROMA_FORMAT_IDC_420: return "STD_VIDEO_H265_CHROMA_FORMAT_IDC_420"; + case STD_VIDEO_H265_CHROMA_FORMAT_IDC_422: return "STD_VIDEO_H265_CHROMA_FORMAT_IDC_422"; + case STD_VIDEO_H265_CHROMA_FORMAT_IDC_444: return "STD_VIDEO_H265_CHROMA_FORMAT_IDC_444"; + case STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID: return "STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH265ProfileIdcName (StdVideoH265ProfileIdc value) + { + switch (value) + { + case STD_VIDEO_H265_PROFILE_IDC_MAIN: return "STD_VIDEO_H265_PROFILE_IDC_MAIN"; + case STD_VIDEO_H265_PROFILE_IDC_MAIN_10: return "STD_VIDEO_H265_PROFILE_IDC_MAIN_10"; + case STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE: return "STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE"; + case STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS: return "STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS"; + case STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS: return "STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS"; + case STD_VIDEO_H265_PROFILE_IDC_INVALID: return "STD_VIDEO_H265_PROFILE_IDC_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH265LevelName (StdVideoH265Level value) + { + switch (value) + { + case STD_VIDEO_H265_LEVEL_1_0: return "STD_VIDEO_H265_LEVEL_1_0"; + case STD_VIDEO_H265_LEVEL_2_0: return "STD_VIDEO_H265_LEVEL_2_0"; + case STD_VIDEO_H265_LEVEL_2_1: return "STD_VIDEO_H265_LEVEL_2_1"; + case STD_VIDEO_H265_LEVEL_3_0: return "STD_VIDEO_H265_LEVEL_3_0"; + case STD_VIDEO_H265_LEVEL_3_1: return "STD_VIDEO_H265_LEVEL_3_1"; + case STD_VIDEO_H265_LEVEL_4_0: return "STD_VIDEO_H265_LEVEL_4_0"; + case STD_VIDEO_H265_LEVEL_4_1: return "STD_VIDEO_H265_LEVEL_4_1"; + case STD_VIDEO_H265_LEVEL_5_0: return "STD_VIDEO_H265_LEVEL_5_0"; + case STD_VIDEO_H265_LEVEL_5_1: return "STD_VIDEO_H265_LEVEL_5_1"; + case STD_VIDEO_H265_LEVEL_5_2: return "STD_VIDEO_H265_LEVEL_5_2"; + case STD_VIDEO_H265_LEVEL_6_0: return "STD_VIDEO_H265_LEVEL_6_0"; + case STD_VIDEO_H265_LEVEL_6_1: return "STD_VIDEO_H265_LEVEL_6_1"; + case STD_VIDEO_H265_LEVEL_6_2: return "STD_VIDEO_H265_LEVEL_6_2"; + case STD_VIDEO_H265_LEVEL_INVALID: return "STD_VIDEO_H265_LEVEL_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH265SliceTypeName (StdVideoH265SliceType value) + { + switch (value) + { + case STD_VIDEO_H265_SLICE_TYPE_B: return "STD_VIDEO_H265_SLICE_TYPE_B"; + case STD_VIDEO_H265_SLICE_TYPE_P: return "STD_VIDEO_H265_SLICE_TYPE_P"; + case STD_VIDEO_H265_SLICE_TYPE_I: return "STD_VIDEO_H265_SLICE_TYPE_I"; + case STD_VIDEO_H265_SLICE_TYPE_INVALID: return "STD_VIDEO_H265_SLICE_TYPE_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoH265PictureTypeName (StdVideoH265PictureType value) + { + switch (value) + { + case STD_VIDEO_H265_PICTURE_TYPE_P: return "STD_VIDEO_H265_PICTURE_TYPE_P"; + case STD_VIDEO_H265_PICTURE_TYPE_B: return "STD_VIDEO_H265_PICTURE_TYPE_B"; + case STD_VIDEO_H265_PICTURE_TYPE_I: return "STD_VIDEO_H265_PICTURE_TYPE_I"; + case STD_VIDEO_H265_PICTURE_TYPE_IDR: return "STD_VIDEO_H265_PICTURE_TYPE_IDR"; + case STD_VIDEO_H265_PICTURE_TYPE_INVALID: return "STD_VIDEO_H265_PICTURE_TYPE_INVALID"; + default: return DE_NULL; + } + } + + const char* getdVideoDecodeH264FieldOrderCntName (StdVideoDecodeH264FieldOrderCnt value) + { + switch (value) + { + case STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP: return "STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP"; + case STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM: return "STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM"; + case STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE: return "STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE"; + case STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID: return "STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID"; + default: return DE_NULL; + } + } + + const char* getFullScreenExclusiveEXTName (VkFullScreenExclusiveEXT value) + { + switch (value) + { + case VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT: return "VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT"; + case VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT: return "VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT"; + case VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT: return "VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT"; + case VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT: return "VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT"; + case VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT: return "VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT"; + default: return DE_NULL; + } + } + + tcu::Format::Bitfield<32> getAccessFlagsStr (VkAccessFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_ACCESS_INDIRECT_COMMAND_READ_BIT, "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"), + tcu::Format::BitDesc(VK_ACCESS_INDEX_READ_BIT, "VK_ACCESS_INDEX_READ_BIT"), + tcu::Format::BitDesc(VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"), + tcu::Format::BitDesc(VK_ACCESS_UNIFORM_READ_BIT, "VK_ACCESS_UNIFORM_READ_BIT"), + tcu::Format::BitDesc(VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"), + tcu::Format::BitDesc(VK_ACCESS_SHADER_READ_BIT, "VK_ACCESS_SHADER_READ_BIT"), + tcu::Format::BitDesc(VK_ACCESS_SHADER_WRITE_BIT, "VK_ACCESS_SHADER_WRITE_BIT"), + tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"), + tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"), + tcu::Format::BitDesc(VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT, "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"), + tcu::Format::BitDesc(VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"), + tcu::Format::BitDesc(VK_ACCESS_TRANSFER_READ_BIT, "VK_ACCESS_TRANSFER_READ_BIT"), + tcu::Format::BitDesc(VK_ACCESS_TRANSFER_WRITE_BIT, "VK_ACCESS_TRANSFER_WRITE_BIT"), + tcu::Format::BitDesc(VK_ACCESS_HOST_READ_BIT, "VK_ACCESS_HOST_READ_BIT"), + tcu::Format::BitDesc(VK_ACCESS_HOST_WRITE_BIT, "VK_ACCESS_HOST_WRITE_BIT"), + tcu::Format::BitDesc(VK_ACCESS_MEMORY_READ_BIT, "VK_ACCESS_MEMORY_READ_BIT"), + tcu::Format::BitDesc(VK_ACCESS_MEMORY_WRITE_BIT, "VK_ACCESS_MEMORY_WRITE_BIT"), ++ tcu::Format::BitDesc(VK_ACCESS_NONE, "VK_ACCESS_NONE"), + tcu::Format::BitDesc(VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT, "VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT"), + tcu::Format::BitDesc(VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT, "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT"), + tcu::Format::BitDesc(VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT, "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT"), + tcu::Format::BitDesc(VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT, "VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT"), + tcu::Format::BitDesc(VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT, "VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"), + tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, "VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR"), + tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, "VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"), + tcu::Format::BitDesc(VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT, "VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT"), + tcu::Format::BitDesc(VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, "VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"), + tcu::Format::BitDesc(VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV, "VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV"), + tcu::Format::BitDesc(VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV, "VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV"), - tcu::Format::BitDesc(VK_ACCESS_NONE_KHR, "VK_ACCESS_NONE_KHR"), + tcu::Format::BitDesc(VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV, "VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV"), + tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV, "VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV"), + tcu::Format::BitDesc(VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV, "VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV"), ++ tcu::Format::BitDesc(VK_ACCESS_NONE_KHR, "VK_ACCESS_NONE_KHR"), + tcu::Format::BitDesc(VK_ACCESS_FLAG_BITS_MAX_ENUM, "VK_ACCESS_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getImageAspectFlagsStr (VkImageAspectFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_IMAGE_ASPECT_COLOR_BIT, "VK_IMAGE_ASPECT_COLOR_BIT"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_DEPTH_BIT, "VK_IMAGE_ASPECT_DEPTH_BIT"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_STENCIL_BIT, "VK_IMAGE_ASPECT_STENCIL_BIT"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_METADATA_BIT, "VK_IMAGE_ASPECT_METADATA_BIT"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_0_BIT, "VK_IMAGE_ASPECT_PLANE_0_BIT"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_1_BIT, "VK_IMAGE_ASPECT_PLANE_1_BIT"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_2_BIT, "VK_IMAGE_ASPECT_PLANE_2_BIT"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT, "VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_0_BIT_KHR, "VK_IMAGE_ASPECT_PLANE_0_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_1_BIT_KHR, "VK_IMAGE_ASPECT_PLANE_1_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_PLANE_2_BIT_KHR, "VK_IMAGE_ASPECT_PLANE_2_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM, "VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getFormatFeatureFlagsStr (VkFormatFeatureFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT, "VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT, "VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT, "VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT, "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT, "VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT, "VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT, "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, "VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT, "VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_BLIT_SRC_BIT, "VK_FORMAT_FEATURE_BLIT_SRC_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_BLIT_DST_BIT, "VK_FORMAT_FEATURE_BLIT_DST_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, "VK_FORMAT_FEATURE_TRANSFER_SRC_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_TRANSFER_DST_BIT, "VK_FORMAT_FEATURE_TRANSFER_DST_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, "VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_DISJOINT_BIT, "VK_FORMAT_FEATURE_DISJOINT_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, "VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR, "VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR, "VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR, "VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT, "VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR, "VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR, "VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR, "VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR, "VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR, "VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_DISJOINT_BIT_KHR, "VK_FORMAT_FEATURE_DISJOINT_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR, "VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, "VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT"), + tcu::Format::BitDesc(VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM, "VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getImageCreateFlagsStr (VkImageCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_IMAGE_CREATE_SPARSE_BINDING_BIT, "VK_IMAGE_CREATE_SPARSE_BINDING_BIT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT, "VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_SPARSE_ALIASED_BIT, "VK_IMAGE_CREATE_SPARSE_ALIASED_BIT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT, "VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT, "VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_ALIAS_BIT, "VK_IMAGE_CREATE_ALIAS_BIT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, "VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, "VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, "VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, "VK_IMAGE_CREATE_EXTENDED_USAGE_BIT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_PROTECTED_BIT, "VK_IMAGE_CREATE_PROTECTED_BIT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_DISJOINT_BIT, "VK_IMAGE_CREATE_DISJOINT_BIT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV, "VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT, "VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT, "VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR, "VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR, "VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR, "VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR, "VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_DISJOINT_BIT_KHR, "VK_IMAGE_CREATE_DISJOINT_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_ALIAS_BIT_KHR, "VK_IMAGE_CREATE_ALIAS_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM, "VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getSampleCountFlagsStr (VkSampleCountFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_SAMPLE_COUNT_1_BIT, "VK_SAMPLE_COUNT_1_BIT"), + tcu::Format::BitDesc(VK_SAMPLE_COUNT_2_BIT, "VK_SAMPLE_COUNT_2_BIT"), + tcu::Format::BitDesc(VK_SAMPLE_COUNT_4_BIT, "VK_SAMPLE_COUNT_4_BIT"), + tcu::Format::BitDesc(VK_SAMPLE_COUNT_8_BIT, "VK_SAMPLE_COUNT_8_BIT"), + tcu::Format::BitDesc(VK_SAMPLE_COUNT_16_BIT, "VK_SAMPLE_COUNT_16_BIT"), + tcu::Format::BitDesc(VK_SAMPLE_COUNT_32_BIT, "VK_SAMPLE_COUNT_32_BIT"), + tcu::Format::BitDesc(VK_SAMPLE_COUNT_64_BIT, "VK_SAMPLE_COUNT_64_BIT"), + tcu::Format::BitDesc(VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM, "VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getImageUsageFlagsStr (VkImageUsageFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSFER_SRC_BIT, "VK_IMAGE_USAGE_TRANSFER_SRC_BIT"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSFER_DST_BIT, "VK_IMAGE_USAGE_TRANSFER_DST_BIT"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_SAMPLED_BIT, "VK_IMAGE_USAGE_SAMPLED_BIT"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_STORAGE_BIT, "VK_IMAGE_USAGE_STORAGE_BIT"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, "VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, "VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, "VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, "VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR, "VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR, "VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR, "VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT, "VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR, "VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR, "VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR, "VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI, "VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV, "VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV"), + tcu::Format::BitDesc(VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM, "VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getMemoryHeapFlagsStr (VkMemoryHeapFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_MEMORY_HEAP_DEVICE_LOCAL_BIT, "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"), + tcu::Format::BitDesc(VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, "VK_MEMORY_HEAP_MULTI_INSTANCE_BIT"), + tcu::Format::BitDesc(VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR, "VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR"), + tcu::Format::BitDesc(VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM, "VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getMemoryPropertyFlagsStr (VkMemoryPropertyFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, "VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT"), + tcu::Format::BitDesc(VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT, "VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT"), + tcu::Format::BitDesc(VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, "VK_MEMORY_PROPERTY_HOST_COHERENT_BIT"), + tcu::Format::BitDesc(VK_MEMORY_PROPERTY_HOST_CACHED_BIT, "VK_MEMORY_PROPERTY_HOST_CACHED_BIT"), + tcu::Format::BitDesc(VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT, "VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT"), + tcu::Format::BitDesc(VK_MEMORY_PROPERTY_PROTECTED_BIT, "VK_MEMORY_PROPERTY_PROTECTED_BIT"), + tcu::Format::BitDesc(VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD, "VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD"), + tcu::Format::BitDesc(VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD, "VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD"), + tcu::Format::BitDesc(VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV, "VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV"), + tcu::Format::BitDesc(VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM, "VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getQueueFlagsStr (VkQueueFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_QUEUE_GRAPHICS_BIT, "VK_QUEUE_GRAPHICS_BIT"), + tcu::Format::BitDesc(VK_QUEUE_COMPUTE_BIT, "VK_QUEUE_COMPUTE_BIT"), + tcu::Format::BitDesc(VK_QUEUE_TRANSFER_BIT, "VK_QUEUE_TRANSFER_BIT"), + tcu::Format::BitDesc(VK_QUEUE_SPARSE_BINDING_BIT, "VK_QUEUE_SPARSE_BINDING_BIT"), + tcu::Format::BitDesc(VK_QUEUE_PROTECTED_BIT, "VK_QUEUE_PROTECTED_BIT"), + tcu::Format::BitDesc(VK_QUEUE_VIDEO_DECODE_BIT_KHR, "VK_QUEUE_VIDEO_DECODE_BIT_KHR"), + tcu::Format::BitDesc(VK_QUEUE_VIDEO_ENCODE_BIT_KHR, "VK_QUEUE_VIDEO_ENCODE_BIT_KHR"), + tcu::Format::BitDesc(VK_QUEUE_FLAG_BITS_MAX_ENUM, "VK_QUEUE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getDeviceQueueCreateFlagsStr (VkDeviceQueueCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT, "VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT"), + tcu::Format::BitDesc(VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM, "VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getPipelineStageFlagsStr (VkPipelineStageFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, "VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT, "VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_VERTEX_INPUT_BIT, "VK_PIPELINE_STAGE_VERTEX_INPUT_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, "VK_PIPELINE_STAGE_VERTEX_SHADER_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT, "VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT, "VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT, "VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, "VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT, "VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, "VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, "VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, "VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_TRANSFER_BIT, "VK_PIPELINE_STAGE_TRANSFER_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, "VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_HOST_BIT, "VK_PIPELINE_STAGE_HOST_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, "VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, "VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"), ++ tcu::Format::BitDesc(VK_PIPELINE_STAGE_NONE, "VK_PIPELINE_STAGE_NONE"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT, "VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT, "VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, "VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, "VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV, "VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV, "VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT, "VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV, "VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV"), - tcu::Format::BitDesc(VK_PIPELINE_STAGE_NONE_KHR, "VK_PIPELINE_STAGE_NONE_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV, "VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV, "VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV, "VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV"), ++ tcu::Format::BitDesc(VK_PIPELINE_STAGE_NONE_KHR, "VK_PIPELINE_STAGE_NONE_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getSparseMemoryBindFlagsStr (VkSparseMemoryBindFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_SPARSE_MEMORY_BIND_METADATA_BIT, "VK_SPARSE_MEMORY_BIND_METADATA_BIT"), + tcu::Format::BitDesc(VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM, "VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getSparseImageFormatFlagsStr (VkSparseImageFormatFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT, "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT"), + tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT, "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT"), + tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT, "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT"), + tcu::Format::BitDesc(VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM, "VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getFenceCreateFlagsStr (VkFenceCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_FENCE_CREATE_SIGNALED_BIT, "VK_FENCE_CREATE_SIGNALED_BIT"), + tcu::Format::BitDesc(VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM, "VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getEventCreateFlagsStr (VkEventCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { ++ tcu::Format::BitDesc(VK_EVENT_CREATE_DEVICE_ONLY_BIT, "VK_EVENT_CREATE_DEVICE_ONLY_BIT"), + tcu::Format::BitDesc(VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR, "VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR"), + tcu::Format::BitDesc(VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM, "VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getQueryPipelineStatisticFlagsStr (VkQueryPipelineStatisticFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT, "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT"), + tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT, "VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT"), + tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT"), + tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT"), + tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT, "VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT"), + tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT"), + tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT, "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT"), + tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT"), + tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT, "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT"), + tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT"), + tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT, "VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT"), + tcu::Format::BitDesc(VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM, "VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getQueryResultFlagsStr (VkQueryResultFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_QUERY_RESULT_64_BIT, "VK_QUERY_RESULT_64_BIT"), + tcu::Format::BitDesc(VK_QUERY_RESULT_WAIT_BIT, "VK_QUERY_RESULT_WAIT_BIT"), + tcu::Format::BitDesc(VK_QUERY_RESULT_WITH_AVAILABILITY_BIT, "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT"), + tcu::Format::BitDesc(VK_QUERY_RESULT_PARTIAL_BIT, "VK_QUERY_RESULT_PARTIAL_BIT"), + tcu::Format::BitDesc(VK_QUERY_RESULT_WITH_STATUS_BIT_KHR, "VK_QUERY_RESULT_WITH_STATUS_BIT_KHR"), + tcu::Format::BitDesc(VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM, "VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getBufferCreateFlagsStr (VkBufferCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_BUFFER_CREATE_SPARSE_BINDING_BIT, "VK_BUFFER_CREATE_SPARSE_BINDING_BIT"), + tcu::Format::BitDesc(VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT"), + tcu::Format::BitDesc(VK_BUFFER_CREATE_SPARSE_ALIASED_BIT, "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT"), + tcu::Format::BitDesc(VK_BUFFER_CREATE_PROTECTED_BIT, "VK_BUFFER_CREATE_PROTECTED_BIT"), + tcu::Format::BitDesc(VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, "VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT"), + tcu::Format::BitDesc(VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT, "VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT"), + tcu::Format::BitDesc(VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR, "VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR"), + tcu::Format::BitDesc(VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM, "VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getBufferUsageFlagsStr (VkBufferUsageFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFER_SRC_BIT, "VK_BUFFER_USAGE_TRANSFER_SRC_BIT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFER_DST_BIT, "VK_BUFFER_USAGE_TRANSFER_DST_BIT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT, "VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, "VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, "VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, "VK_BUFFER_USAGE_STORAGE_BUFFER_BIT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_INDEX_BUFFER_BIT, "VK_BUFFER_USAGE_INDEX_BUFFER_BIT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, "VK_BUFFER_USAGE_VERTEX_BUFFER_BIT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT, "VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR, "VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR, "VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT, "VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT, "VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT, "VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR, "VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR, "VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, "VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR, "VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR, "VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_RAY_TRACING_BIT_NV, "VK_BUFFER_USAGE_RAY_TRACING_BIT_NV"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT, "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR, "VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR"), + tcu::Format::BitDesc(VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM, "VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getImageViewCreateFlagsStr (VkImageViewCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT, "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT"), + tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT, "VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT"), + tcu::Format::BitDesc(VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM, "VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getPipelineCacheCreateFlagsStr (VkPipelineCacheCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { ++ tcu::Format::BitDesc(VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, "VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT, "VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT"), + tcu::Format::BitDesc(VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getColorComponentFlagsStr (VkColorComponentFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_COLOR_COMPONENT_R_BIT, "VK_COLOR_COMPONENT_R_BIT"), + tcu::Format::BitDesc(VK_COLOR_COMPONENT_G_BIT, "VK_COLOR_COMPONENT_G_BIT"), + tcu::Format::BitDesc(VK_COLOR_COMPONENT_B_BIT, "VK_COLOR_COMPONENT_B_BIT"), + tcu::Format::BitDesc(VK_COLOR_COMPONENT_A_BIT, "VK_COLOR_COMPONENT_A_BIT"), + tcu::Format::BitDesc(VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM, "VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getPipelineCreateFlagsStr (VkPipelineCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT, "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT, "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_DERIVATIVE_BIT, "VK_PIPELINE_CREATE_DERIVATIVE_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, "VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, "VK_PIPELINE_CREATE_DISPATCH_BASE_BIT"), ++ tcu::Format::BitDesc(VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, "VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT"), ++ tcu::Format::BitDesc(VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, "VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR, "VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV, "VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR, "VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR, "VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV, "VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_LIBRARY_BIT_KHR, "VK_PIPELINE_CREATE_LIBRARY_BIT_KHR"), - tcu::Format::BitDesc(VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT, "VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT"), - tcu::Format::BitDesc(VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT, "VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV, "VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_DISPATCH_BASE, "VK_PIPELINE_CREATE_DISPATCH_BASE"), + tcu::Format::BitDesc(VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, "VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR, "VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_DISPATCH_BASE_KHR, "VK_PIPELINE_CREATE_DISPATCH_BASE_KHR"), ++ tcu::Format::BitDesc(VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT, "VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT"), ++ tcu::Format::BitDesc(VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT, "VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT"), + tcu::Format::BitDesc(VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getPipelineShaderStageCreateFlagsStr (VkPipelineShaderStageCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { ++ tcu::Format::BitDesc(VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, "VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT"), ++ tcu::Format::BitDesc(VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, "VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT"), + tcu::Format::BitDesc(VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT, "VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT"), + tcu::Format::BitDesc(VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT, "VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT"), + tcu::Format::BitDesc(VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getShaderStageFlagsStr (VkShaderStageFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_SHADER_STAGE_VERTEX_BIT, "VK_SHADER_STAGE_VERTEX_BIT"), + tcu::Format::BitDesc(VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"), + tcu::Format::BitDesc(VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"), + tcu::Format::BitDesc(VK_SHADER_STAGE_GEOMETRY_BIT, "VK_SHADER_STAGE_GEOMETRY_BIT"), + tcu::Format::BitDesc(VK_SHADER_STAGE_FRAGMENT_BIT, "VK_SHADER_STAGE_FRAGMENT_BIT"), + tcu::Format::BitDesc(VK_SHADER_STAGE_COMPUTE_BIT, "VK_SHADER_STAGE_COMPUTE_BIT"), + tcu::Format::BitDesc(VK_SHADER_STAGE_ALL_GRAPHICS, "VK_SHADER_STAGE_ALL_GRAPHICS"), + tcu::Format::BitDesc(VK_SHADER_STAGE_ALL, "VK_SHADER_STAGE_ALL"), + tcu::Format::BitDesc(VK_SHADER_STAGE_RAYGEN_BIT_KHR, "VK_SHADER_STAGE_RAYGEN_BIT_KHR"), + tcu::Format::BitDesc(VK_SHADER_STAGE_ANY_HIT_BIT_KHR, "VK_SHADER_STAGE_ANY_HIT_BIT_KHR"), + tcu::Format::BitDesc(VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, "VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR"), + tcu::Format::BitDesc(VK_SHADER_STAGE_MISS_BIT_KHR, "VK_SHADER_STAGE_MISS_BIT_KHR"), + tcu::Format::BitDesc(VK_SHADER_STAGE_INTERSECTION_BIT_KHR, "VK_SHADER_STAGE_INTERSECTION_BIT_KHR"), + tcu::Format::BitDesc(VK_SHADER_STAGE_CALLABLE_BIT_KHR, "VK_SHADER_STAGE_CALLABLE_BIT_KHR"), + tcu::Format::BitDesc(VK_SHADER_STAGE_TASK_BIT_NV, "VK_SHADER_STAGE_TASK_BIT_NV"), + tcu::Format::BitDesc(VK_SHADER_STAGE_MESH_BIT_NV, "VK_SHADER_STAGE_MESH_BIT_NV"), + tcu::Format::BitDesc(VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI, "VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI"), + tcu::Format::BitDesc(VK_SHADER_STAGE_RAYGEN_BIT_NV, "VK_SHADER_STAGE_RAYGEN_BIT_NV"), + tcu::Format::BitDesc(VK_SHADER_STAGE_ANY_HIT_BIT_NV, "VK_SHADER_STAGE_ANY_HIT_BIT_NV"), + tcu::Format::BitDesc(VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV, "VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV"), + tcu::Format::BitDesc(VK_SHADER_STAGE_MISS_BIT_NV, "VK_SHADER_STAGE_MISS_BIT_NV"), + tcu::Format::BitDesc(VK_SHADER_STAGE_INTERSECTION_BIT_NV, "VK_SHADER_STAGE_INTERSECTION_BIT_NV"), + tcu::Format::BitDesc(VK_SHADER_STAGE_CALLABLE_BIT_NV, "VK_SHADER_STAGE_CALLABLE_BIT_NV"), + tcu::Format::BitDesc(VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM, "VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getCullModeFlagsStr (VkCullModeFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_CULL_MODE_NONE, "VK_CULL_MODE_NONE"), + tcu::Format::BitDesc(VK_CULL_MODE_FRONT_BIT, "VK_CULL_MODE_FRONT_BIT"), + tcu::Format::BitDesc(VK_CULL_MODE_BACK_BIT, "VK_CULL_MODE_BACK_BIT"), + tcu::Format::BitDesc(VK_CULL_MODE_FRONT_AND_BACK, "VK_CULL_MODE_FRONT_AND_BACK"), + tcu::Format::BitDesc(VK_CULL_MODE_FLAG_BITS_MAX_ENUM, "VK_CULL_MODE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getPipelineDepthStencilStateCreateFlagsStr (VkPipelineDepthStencilStateCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM, "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM"), + tcu::Format::BitDesc(VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM, "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM"), + tcu::Format::BitDesc(VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getPipelineColorBlendStateCreateFlagsStr (VkPipelineColorBlendStateCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM, "VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM"), + tcu::Format::BitDesc(VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getSamplerCreateFlagsStr (VkSamplerCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT, "VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT"), + tcu::Format::BitDesc(VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT, "VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT"), + tcu::Format::BitDesc(VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM, "VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getDescriptorPoolCreateFlagsStr (VkDescriptorPoolCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, "VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT"), + tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT"), + tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE, "VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE"), + tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT, "VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT"), + tcu::Format::BitDesc(VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM, "VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getDescriptorSetLayoutCreateFlagsStr (VkDescriptorSetLayoutCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT"), + tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR"), + tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE"), + tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT"), + tcu::Format::BitDesc(VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM, "VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getAttachmentDescriptionFlagsStr (VkAttachmentDescriptionFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT, "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"), + tcu::Format::BitDesc(VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM, "VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getDependencyFlagsStr (VkDependencyFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_DEPENDENCY_BY_REGION_BIT, "VK_DEPENDENCY_BY_REGION_BIT"), + tcu::Format::BitDesc(VK_DEPENDENCY_DEVICE_GROUP_BIT, "VK_DEPENDENCY_DEVICE_GROUP_BIT"), + tcu::Format::BitDesc(VK_DEPENDENCY_VIEW_LOCAL_BIT, "VK_DEPENDENCY_VIEW_LOCAL_BIT"), + tcu::Format::BitDesc(VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR, "VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR"), + tcu::Format::BitDesc(VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR, "VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR"), + tcu::Format::BitDesc(VK_DEPENDENCY_FLAG_BITS_MAX_ENUM, "VK_DEPENDENCY_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getFramebufferCreateFlagsStr (VkFramebufferCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, "VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT"), + tcu::Format::BitDesc(VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR, "VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR"), + tcu::Format::BitDesc(VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM, "VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getRenderPassCreateFlagsStr (VkRenderPassCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM, "VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM"), + tcu::Format::BitDesc(VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM, "VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getSubpassDescriptionFlagsStr (VkSubpassDescriptionFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX, "VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX"), + tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX, "VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX"), + tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, "VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM"), + tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, "VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM"), + tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM, "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM"), + tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM, "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM"), + tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM, "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM"), + tcu::Format::BitDesc(VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM, "VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getCommandPoolCreateFlagsStr (VkCommandPoolCreateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT"), + tcu::Format::BitDesc(VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT"), + tcu::Format::BitDesc(VK_COMMAND_POOL_CREATE_PROTECTED_BIT, "VK_COMMAND_POOL_CREATE_PROTECTED_BIT"), + tcu::Format::BitDesc(VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM, "VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getCommandPoolResetFlagsStr (VkCommandPoolResetFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"), + tcu::Format::BitDesc(VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM, "VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getCommandBufferUsageFlagsStr (VkCommandBufferUsageFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT, "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"), + tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"), + tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"), + tcu::Format::BitDesc(VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM, "VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getQueryControlFlagsStr (VkQueryControlFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_QUERY_CONTROL_PRECISE_BIT, "VK_QUERY_CONTROL_PRECISE_BIT"), + tcu::Format::BitDesc(VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM, "VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getCommandBufferResetFlagsStr (VkCommandBufferResetFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT, "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT"), + tcu::Format::BitDesc(VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM, "VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getStencilFaceFlagsStr (VkStencilFaceFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_STENCIL_FACE_FRONT_BIT, "VK_STENCIL_FACE_FRONT_BIT"), + tcu::Format::BitDesc(VK_STENCIL_FACE_BACK_BIT, "VK_STENCIL_FACE_BACK_BIT"), + tcu::Format::BitDesc(VK_STENCIL_FACE_FRONT_AND_BACK, "VK_STENCIL_FACE_FRONT_AND_BACK"), + tcu::Format::BitDesc(VK_STENCIL_FRONT_AND_BACK, "VK_STENCIL_FRONT_AND_BACK"), + tcu::Format::BitDesc(VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM, "VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getSubgroupFeatureFlagsStr (VkSubgroupFeatureFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_BASIC_BIT, "VK_SUBGROUP_FEATURE_BASIC_BIT"), + tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_VOTE_BIT, "VK_SUBGROUP_FEATURE_VOTE_BIT"), + tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_ARITHMETIC_BIT, "VK_SUBGROUP_FEATURE_ARITHMETIC_BIT"), + tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_BALLOT_BIT, "VK_SUBGROUP_FEATURE_BALLOT_BIT"), + tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_SHUFFLE_BIT, "VK_SUBGROUP_FEATURE_SHUFFLE_BIT"), + tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT, "VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT"), + tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_CLUSTERED_BIT, "VK_SUBGROUP_FEATURE_CLUSTERED_BIT"), + tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_QUAD_BIT, "VK_SUBGROUP_FEATURE_QUAD_BIT"), + tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV, "VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV"), + tcu::Format::BitDesc(VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM, "VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getPeerMemoryFeatureFlagsStr (VkPeerMemoryFeatureFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT"), + tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT"), + tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT"), + tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT"), + tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR, "VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR"), + tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR, "VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR"), + tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR, "VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR"), + tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR, "VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR"), + tcu::Format::BitDesc(VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM, "VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getMemoryAllocateFlagsStr (VkMemoryAllocateFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT"), + tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT"), + tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT"), + tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR, "VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR"), + tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR, "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR"), + tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR, "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR"), + tcu::Format::BitDesc(VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM, "VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getExternalMemoryHandleTypeFlagsStr (VkExternalMemoryHandleTypeFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getExternalMemoryFeatureFlagsStr (VkExternalMemoryFeatureFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR, "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR, "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR, "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM, "VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getExternalFenceHandleTypeFlagsStr (VkExternalFenceHandleTypeFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR, "VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR, "VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM, "VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getExternalFenceFeatureFlagsStr (VkExternalFenceFeatureFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR, "VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR, "VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM, "VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getFenceImportFlagsStr (VkFenceImportFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_FENCE_IMPORT_TEMPORARY_BIT, "VK_FENCE_IMPORT_TEMPORARY_BIT"), + tcu::Format::BitDesc(VK_FENCE_IMPORT_TEMPORARY_BIT_KHR, "VK_FENCE_IMPORT_TEMPORARY_BIT_KHR"), + tcu::Format::BitDesc(VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM, "VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getSemaphoreImportFlagsStr (VkSemaphoreImportFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT"), + tcu::Format::BitDesc(VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR, "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR"), + tcu::Format::BitDesc(VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM, "VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getExternalSemaphoreHandleTypeFlagsStr (VkExternalSemaphoreHandleTypeFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM, "VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getExternalSemaphoreFeatureFlagsStr (VkExternalSemaphoreFeatureFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR, "VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR"), + tcu::Format::BitDesc(VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM, "VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getResolveModeFlagsStr (VkResolveModeFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_RESOLVE_MODE_NONE, "VK_RESOLVE_MODE_NONE"), + tcu::Format::BitDesc(VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, "VK_RESOLVE_MODE_SAMPLE_ZERO_BIT"), + tcu::Format::BitDesc(VK_RESOLVE_MODE_AVERAGE_BIT, "VK_RESOLVE_MODE_AVERAGE_BIT"), + tcu::Format::BitDesc(VK_RESOLVE_MODE_MIN_BIT, "VK_RESOLVE_MODE_MIN_BIT"), + tcu::Format::BitDesc(VK_RESOLVE_MODE_MAX_BIT, "VK_RESOLVE_MODE_MAX_BIT"), + tcu::Format::BitDesc(VK_RESOLVE_MODE_NONE_KHR, "VK_RESOLVE_MODE_NONE_KHR"), + tcu::Format::BitDesc(VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR, "VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR"), + tcu::Format::BitDesc(VK_RESOLVE_MODE_AVERAGE_BIT_KHR, "VK_RESOLVE_MODE_AVERAGE_BIT_KHR"), + tcu::Format::BitDesc(VK_RESOLVE_MODE_MIN_BIT_KHR, "VK_RESOLVE_MODE_MIN_BIT_KHR"), + tcu::Format::BitDesc(VK_RESOLVE_MODE_MAX_BIT_KHR, "VK_RESOLVE_MODE_MAX_BIT_KHR"), + tcu::Format::BitDesc(VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM, "VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getDescriptorBindingFlagsStr (VkDescriptorBindingFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT"), + tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT"), + tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT"), + tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT"), + tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT, "VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT"), + tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT, "VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT"), + tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT, "VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT"), + tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT, "VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT"), + tcu::Format::BitDesc(VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM, "VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getSemaphoreWaitFlagsStr (VkSemaphoreWaitFlags value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_SEMAPHORE_WAIT_ANY_BIT, "VK_SEMAPHORE_WAIT_ANY_BIT"), + tcu::Format::BitDesc(VK_SEMAPHORE_WAIT_ANY_BIT_KHR, "VK_SEMAPHORE_WAIT_ANY_BIT_KHR"), + tcu::Format::BitDesc(VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM, "VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + ++tcu::Format::Bitfield<32> getPipelineCreationFeedbackFlagsStr (VkPipelineCreationFeedbackFlags value) ++{ ++ static const tcu::Format::BitDesc s_desc[] = ++ { ++ tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, "VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT"), ++ tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, "VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT"), ++ tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, "VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT"), ++ tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT, "VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT"), ++ tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT, "VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT"), ++ tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT, "VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT"), ++ tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM, "VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM"), ++ }; ++ return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); ++} ++ ++tcu::Format::Bitfield<32> getToolPurposeFlagsStr (VkToolPurposeFlags value) ++{ ++ static const tcu::Format::BitDesc s_desc[] = ++ { ++ tcu::Format::BitDesc(VK_TOOL_PURPOSE_VALIDATION_BIT, "VK_TOOL_PURPOSE_VALIDATION_BIT"), ++ tcu::Format::BitDesc(VK_TOOL_PURPOSE_PROFILING_BIT, "VK_TOOL_PURPOSE_PROFILING_BIT"), ++ tcu::Format::BitDesc(VK_TOOL_PURPOSE_TRACING_BIT, "VK_TOOL_PURPOSE_TRACING_BIT"), ++ tcu::Format::BitDesc(VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, "VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT"), ++ tcu::Format::BitDesc(VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, "VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT"), ++ tcu::Format::BitDesc(VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT, "VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT"), ++ tcu::Format::BitDesc(VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT, "VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT"), ++ tcu::Format::BitDesc(VK_TOOL_PURPOSE_VALIDATION_BIT_EXT, "VK_TOOL_PURPOSE_VALIDATION_BIT_EXT"), ++ tcu::Format::BitDesc(VK_TOOL_PURPOSE_PROFILING_BIT_EXT, "VK_TOOL_PURPOSE_PROFILING_BIT_EXT"), ++ tcu::Format::BitDesc(VK_TOOL_PURPOSE_TRACING_BIT_EXT, "VK_TOOL_PURPOSE_TRACING_BIT_EXT"), ++ tcu::Format::BitDesc(VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT, "VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT"), ++ tcu::Format::BitDesc(VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT, "VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT"), ++ tcu::Format::BitDesc(VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM, "VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM"), ++ }; ++ return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); ++} ++ ++tcu::Format::Bitfield<32> getPrivateDataSlotCreateFlagsStr (VkPrivateDataSlotCreateFlags value) ++{ ++ static const tcu::Format::BitDesc s_desc[] = ++ { ++ tcu::Format::BitDesc(VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM, "VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM"), ++ }; ++ return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); ++} ++ ++tcu::Format::Bitfield<32> getSubmitFlagsStr (VkSubmitFlags value) ++{ ++ static const tcu::Format::BitDesc s_desc[] = ++ { ++ tcu::Format::BitDesc(VK_SUBMIT_PROTECTED_BIT, "VK_SUBMIT_PROTECTED_BIT"), ++ tcu::Format::BitDesc(VK_SUBMIT_PROTECTED_BIT_KHR, "VK_SUBMIT_PROTECTED_BIT_KHR"), ++ tcu::Format::BitDesc(VK_SUBMIT_FLAG_BITS_MAX_ENUM, "VK_SUBMIT_FLAG_BITS_MAX_ENUM"), ++ }; ++ return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); ++} ++ ++tcu::Format::Bitfield<32> getRenderingFlagsStr (VkRenderingFlags value) ++{ ++ static const tcu::Format::BitDesc s_desc[] = ++ { ++ tcu::Format::BitDesc(VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, "VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT"), ++ tcu::Format::BitDesc(VK_RENDERING_SUSPENDING_BIT, "VK_RENDERING_SUSPENDING_BIT"), ++ tcu::Format::BitDesc(VK_RENDERING_RESUMING_BIT, "VK_RENDERING_RESUMING_BIT"), ++ tcu::Format::BitDesc(VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR, "VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR"), ++ tcu::Format::BitDesc(VK_RENDERING_SUSPENDING_BIT_KHR, "VK_RENDERING_SUSPENDING_BIT_KHR"), ++ tcu::Format::BitDesc(VK_RENDERING_RESUMING_BIT_KHR, "VK_RENDERING_RESUMING_BIT_KHR"), ++ tcu::Format::BitDesc(VK_RENDERING_FLAG_BITS_MAX_ENUM, "VK_RENDERING_FLAG_BITS_MAX_ENUM"), ++ }; ++ return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); ++} ++ + tcu::Format::Bitfield<32> getSurfaceTransformFlagsKHRStr (VkSurfaceTransformFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR, "VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR"), + tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR, "VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR"), + tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR, "VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR"), + tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR, "VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR"), + tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR"), + tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR"), + tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR"), + tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR, "VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR"), + tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR, "VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR"), + tcu::Format::BitDesc(VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR, "VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getCompositeAlphaFlagsKHRStr (VkCompositeAlphaFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR, "VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR"), + tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR, "VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR"), + tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR, "VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR"), + tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR, "VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR"), + tcu::Format::BitDesc(VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR, "VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getSwapchainCreateFlagsKHRStr (VkSwapchainCreateFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR, "VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR"), + tcu::Format::BitDesc(VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR, "VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR"), + tcu::Format::BitDesc(VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR, "VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR"), + tcu::Format::BitDesc(VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR, "VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getDeviceGroupPresentModeFlagsKHRStr (VkDeviceGroupPresentModeFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR"), + tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR"), + tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR"), + tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR"), + tcu::Format::BitDesc(VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR, "VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getDisplayPlaneAlphaFlagsKHRStr (VkDisplayPlaneAlphaFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR"), + tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR"), + tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR"), + tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR, "VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR"), + tcu::Format::BitDesc(VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR, "VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + -tcu::Format::Bitfield<32> getRenderingFlagsKHRStr (VkRenderingFlagsKHR value) -{ - static const tcu::Format::BitDesc s_desc[] = - { - tcu::Format::BitDesc(VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR, "VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR"), - tcu::Format::BitDesc(VK_RENDERING_SUSPENDING_BIT_KHR, "VK_RENDERING_SUSPENDING_BIT_KHR"), - tcu::Format::BitDesc(VK_RENDERING_RESUMING_BIT_KHR, "VK_RENDERING_RESUMING_BIT_KHR"), - tcu::Format::BitDesc(VK_RENDERING_FLAG_BITS_MAX_ENUM_KHR, "VK_RENDERING_FLAG_BITS_MAX_ENUM_KHR"), - }; - return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); -} - + tcu::Format::Bitfield<32> getPerformanceCounterDescriptionFlagsKHRStr (VkPerformanceCounterDescriptionFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, "VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR"), + tcu::Format::BitDesc(VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, "VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR"), + tcu::Format::BitDesc(VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR, "VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR"), + tcu::Format::BitDesc(VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR, "VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR"), + tcu::Format::BitDesc(VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR, "VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getAcquireProfilingLockFlagsKHRStr (VkAcquireProfilingLockFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR, "VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + -tcu::Format::Bitfield<32> getSubmitFlagsKHRStr (VkSubmitFlagsKHR value) -{ - static const tcu::Format::BitDesc s_desc[] = - { - tcu::Format::BitDesc(VK_SUBMIT_PROTECTED_BIT_KHR, "VK_SUBMIT_PROTECTED_BIT_KHR"), - tcu::Format::BitDesc(VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR, "VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR"), - }; - return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); -} - + tcu::Format::Bitfield<32> getDebugReportFlagsEXTStr (VkDebugReportFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_DEBUG_REPORT_INFORMATION_BIT_EXT, "VK_DEBUG_REPORT_INFORMATION_BIT_EXT"), + tcu::Format::BitDesc(VK_DEBUG_REPORT_WARNING_BIT_EXT, "VK_DEBUG_REPORT_WARNING_BIT_EXT"), + tcu::Format::BitDesc(VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT, "VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT"), + tcu::Format::BitDesc(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VK_DEBUG_REPORT_ERROR_BIT_EXT"), + tcu::Format::BitDesc(VK_DEBUG_REPORT_DEBUG_BIT_EXT, "VK_DEBUG_REPORT_DEBUG_BIT_EXT"), + tcu::Format::BitDesc(VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT, "VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getExternalMemoryHandleTypeFlagsNVStr (VkExternalMemoryHandleTypeFlagsNV value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV, "VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getExternalMemoryFeatureFlagsNVStr (VkExternalMemoryFeatureFlagsNV value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV, "VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV, "VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV, "VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV"), + tcu::Format::BitDesc(VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV, "VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getConditionalRenderingFlagsEXTStr (VkConditionalRenderingFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT, "VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT"), + tcu::Format::BitDesc(VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT, "VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getSurfaceCounterFlagsEXTStr (VkSurfaceCounterFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_SURFACE_COUNTER_VBLANK_BIT_EXT, "VK_SURFACE_COUNTER_VBLANK_BIT_EXT"), + tcu::Format::BitDesc(VK_SURFACE_COUNTER_VBLANK_EXT, "VK_SURFACE_COUNTER_VBLANK_EXT"), + tcu::Format::BitDesc(VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT, "VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getDebugUtilsMessageSeverityFlagsEXTStr (VkDebugUtilsMessageSeverityFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT"), + tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT"), + tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT"), + tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT"), + tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT, "VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getDebugUtilsMessageTypeFlagsEXTStr (VkDebugUtilsMessageTypeFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT"), + tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT"), + tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT, "VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT"), + tcu::Format::BitDesc(VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT, "VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getGeometryFlagsKHRStr (VkGeometryFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_GEOMETRY_OPAQUE_BIT_KHR, "VK_GEOMETRY_OPAQUE_BIT_KHR"), + tcu::Format::BitDesc(VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, "VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR"), + tcu::Format::BitDesc(VK_GEOMETRY_OPAQUE_BIT_NV, "VK_GEOMETRY_OPAQUE_BIT_NV"), + tcu::Format::BitDesc(VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV, "VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV"), + tcu::Format::BitDesc(VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR, "VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getGeometryInstanceFlagsKHRStr (VkGeometryInstanceFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, "VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR"), + tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, "VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR"), + tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, "VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR"), + tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, "VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR"), + tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, "VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR"), + tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV, "VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV"), + tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV, "VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV"), + tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV, "VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV"), + tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV, "VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV"), + tcu::Format::BitDesc(VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR, "VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getBuildAccelerationStructureFlagsKHRStr (VkBuildAccelerationStructureFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getPipelineCompilerControlFlagsAMDStr (VkPipelineCompilerControlFlagsAMD value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD, "VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + -tcu::Format::Bitfield<32> getPipelineCreationFeedbackFlagsEXTStr (VkPipelineCreationFeedbackFlagsEXT value) -{ - static const tcu::Format::BitDesc s_desc[] = - { - tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT, "VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT"), - tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT, "VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT"), - tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT, "VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT"), - tcu::Format::BitDesc(VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT, "VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT"), - }; - return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); -} - + tcu::Format::Bitfield<32> getShaderCorePropertiesFlagsAMDStr (VkShaderCorePropertiesFlagsAMD value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD, "VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + -tcu::Format::Bitfield<32> getToolPurposeFlagsEXTStr (VkToolPurposeFlagsEXT value) -{ - static const tcu::Format::BitDesc s_desc[] = - { - tcu::Format::BitDesc(VK_TOOL_PURPOSE_VALIDATION_BIT_EXT, "VK_TOOL_PURPOSE_VALIDATION_BIT_EXT"), - tcu::Format::BitDesc(VK_TOOL_PURPOSE_PROFILING_BIT_EXT, "VK_TOOL_PURPOSE_PROFILING_BIT_EXT"), - tcu::Format::BitDesc(VK_TOOL_PURPOSE_TRACING_BIT_EXT, "VK_TOOL_PURPOSE_TRACING_BIT_EXT"), - tcu::Format::BitDesc(VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT, "VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT"), - tcu::Format::BitDesc(VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT, "VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT"), - tcu::Format::BitDesc(VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT, "VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT"), - tcu::Format::BitDesc(VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT, "VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT"), - tcu::Format::BitDesc(VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT, "VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT"), - }; - return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); -} - + tcu::Format::Bitfield<32> getIndirectStateFlagsNVStr (VkIndirectStateFlagsNV value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV, "VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV"), + tcu::Format::BitDesc(VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV, "VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getIndirectCommandsLayoutUsageFlagsNVStr (VkIndirectCommandsLayoutUsageFlagsNV value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV, "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV"), + tcu::Format::BitDesc(VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV, "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV"), + tcu::Format::BitDesc(VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV, "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV"), + tcu::Format::BitDesc(VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV, "VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + -tcu::Format::Bitfield<32> getPrivateDataSlotCreateFlagsEXTStr (VkPrivateDataSlotCreateFlagsEXT value) -{ - static const tcu::Format::BitDesc s_desc[] = - { - tcu::Format::BitDesc(VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT, "VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT"), - }; - return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); -} - + tcu::Format::Bitfield<32> getDeviceDiagnosticsConfigFlagsNVStr (VkDeviceDiagnosticsConfigFlagsNV value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV"), + tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV"), + tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV"), + tcu::Format::BitDesc(VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV, "VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getAccelerationStructureCreateFlagsKHRStr (VkAccelerationStructureCreateFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR, "VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR"), + tcu::Format::BitDesc(VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV, "VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV"), + tcu::Format::BitDesc(VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR, "VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoCodecOperationFlagsKHRStr (VkVideoCodecOperationFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_CODEC_OPERATION_INVALID_BIT_KHR, "VK_VIDEO_CODEC_OPERATION_INVALID_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT, "VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT, "VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT, "VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT, "VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoChromaSubsamplingFlagsKHRStr (VkVideoChromaSubsamplingFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_BIT_KHR, "VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR, "VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR, "VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR, "VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR, "VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoComponentBitDepthFlagsKHRStr (VkVideoComponentBitDepthFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR, "VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR"), + tcu::Format::BitDesc(VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR, "VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR, "VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR, "VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoCapabilityFlagsKHRStr (VkVideoCapabilityFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR, "VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR, "VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoSessionCreateFlagsKHRStr (VkVideoSessionCreateFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_SESSION_CREATE_DEFAULT_KHR, "VK_VIDEO_SESSION_CREATE_DEFAULT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR, "VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoCodingControlFlagsKHRStr (VkVideoCodingControlFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_CODING_CONTROL_DEFAULT_KHR, "VK_VIDEO_CODING_CONTROL_DEFAULT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR, "VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoCodingQualityPresetFlagsKHRStr (VkVideoCodingQualityPresetFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_CODING_QUALITY_PRESET_NORMAL_BIT_KHR, "VK_VIDEO_CODING_QUALITY_PRESET_NORMAL_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_CODING_QUALITY_PRESET_POWER_BIT_KHR, "VK_VIDEO_CODING_QUALITY_PRESET_POWER_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_CODING_QUALITY_PRESET_QUALITY_BIT_KHR, "VK_VIDEO_CODING_QUALITY_PRESET_QUALITY_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_CODING_QUALITY_PRESET_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_CODING_QUALITY_PRESET_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoDecodeFlagsKHRStr (VkVideoDecodeFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_DECODE_DEFAULT_KHR, "VK_VIDEO_DECODE_DEFAULT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_DECODE_RESERVED_0_BIT_KHR, "VK_VIDEO_DECODE_RESERVED_0_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_DECODE_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_DECODE_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoEncodeFlagsKHRStr (VkVideoEncodeFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_ENCODE_DEFAULT_KHR, "VK_VIDEO_ENCODE_DEFAULT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_RESERVED_0_BIT_KHR, "VK_VIDEO_ENCODE_RESERVED_0_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoEncodeRateControlFlagsKHRStr (VkVideoEncodeRateControlFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoEncodeRateControlModeFlagsKHRStr (VkVideoEncodeRateControlModeFlagsKHR value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR, "VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoEncodeH264CapabilityFlagsEXTStr (VkVideoEncodeH264CapabilityFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_OPTIONAL_RC_EXTENSION_STRUCT_BIT_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_OPTIONAL_RC_EXTENSION_STRUCT_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoEncodeH264InputModeFlagsEXTStr (VkVideoEncodeH264InputModeFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT, "VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT, "VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT, "VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H264_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoEncodeH264OutputModeFlagsEXTStr (VkVideoEncodeH264OutputModeFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT, "VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT, "VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT, "VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoEncodeH264CreateFlagsEXTStr (VkVideoEncodeH264CreateFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CREATE_DEFAULT_EXT, "VK_VIDEO_ENCODE_H264_CREATE_DEFAULT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CREATE_RESERVED_0_BIT_EXT, "VK_VIDEO_ENCODE_H264_CREATE_RESERVED_0_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_CREATE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H264_CREATE_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoEncodeH264RateControlStructureFlagsEXTStr (VkVideoEncodeH264RateControlStructureFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT, "VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT, "VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT, "VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoEncodeH265InputModeFlagsEXTStr (VkVideoEncodeH265InputModeFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT, "VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_BIT_EXT, "VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT, "VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H265_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoEncodeH265OutputModeFlagsEXTStr (VkVideoEncodeH265OutputModeFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT, "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_BIT_EXT, "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT, "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoEncodeH265CtbSizeFlagsEXTStr (VkVideoEncodeH265CtbSizeFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT, "VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT, "VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT, "VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT, "VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoEncodeH265RateControlStructureFlagsEXTStr (VkVideoEncodeH265RateControlStructureFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT, "VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT, "VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT, "VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getVideoDecodeH264PictureLayoutFlagsEXTStr (VkVideoDecodeH264PictureLayoutFlagsEXT value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_EXT, "VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_EXT"), + tcu::Format::BitDesc(VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_EXT, "VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_EXT, "VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_EXT"), + tcu::Format::BitDesc(VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_EXT, "VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_EXT"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getImageConstraintsInfoFlagsFUCHSIAStr (VkImageConstraintsInfoFlagsFUCHSIA value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA, "VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA"), + tcu::Format::BitDesc(VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA, "VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA"), + tcu::Format::BitDesc(VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA, "VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA"), + tcu::Format::BitDesc(VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA, "VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA"), + tcu::Format::BitDesc(VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA, "VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA"), + tcu::Format::BitDesc(VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIA, "VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIA"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + tcu::Format::Bitfield<32> getInstanceCreateFlagsStr (VkInstanceCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getDeviceCreateFlagsStr (VkDeviceCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getMemoryMapFlagsStr (VkMemoryMapFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getSemaphoreCreateFlagsStr (VkSemaphoreCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getQueryPoolCreateFlagsStr (VkQueryPoolCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getBufferViewCreateFlagsStr (VkBufferViewCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getShaderModuleCreateFlagsStr (VkShaderModuleCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineVertexInputStateCreateFlagsStr (VkPipelineVertexInputStateCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineInputAssemblyStateCreateFlagsStr (VkPipelineInputAssemblyStateCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineTessellationStateCreateFlagsStr (VkPipelineTessellationStateCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineViewportStateCreateFlagsStr (VkPipelineViewportStateCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineRasterizationStateCreateFlagsStr (VkPipelineRasterizationStateCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineMultisampleStateCreateFlagsStr (VkPipelineMultisampleStateCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineDynamicStateCreateFlagsStr (VkPipelineDynamicStateCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineLayoutCreateFlagsStr (VkPipelineLayoutCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getDescriptorPoolResetFlagsStr (VkDescriptorPoolResetFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getCommandPoolTrimFlagsStr (VkCommandPoolTrimFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getDescriptorUpdateTemplateCreateFlagsStr (VkDescriptorUpdateTemplateCreateFlags value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getDisplayModeCreateFlagsKHRStr (VkDisplayModeCreateFlagsKHR value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getDisplaySurfaceCreateFlagsKHRStr (VkDisplaySurfaceCreateFlagsKHR value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineRasterizationStateStreamCreateFlagsEXTStr (VkPipelineRasterizationStateStreamCreateFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineViewportSwizzleStateCreateFlagsNVStr (VkPipelineViewportSwizzleStateCreateFlagsNV value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineDiscardRectangleStateCreateFlagsEXTStr (VkPipelineDiscardRectangleStateCreateFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineRasterizationConservativeStateCreateFlagsEXTStr (VkPipelineRasterizationConservativeStateCreateFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineRasterizationDepthClipStateCreateFlagsEXTStr (VkPipelineRasterizationDepthClipStateCreateFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getDebugUtilsMessengerCallbackDataFlagsEXTStr (VkDebugUtilsMessengerCallbackDataFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getDebugUtilsMessengerCreateFlagsEXTStr (VkDebugUtilsMessengerCreateFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineCoverageToColorStateCreateFlagsNVStr (VkPipelineCoverageToColorStateCreateFlagsNV value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineCoverageModulationStateCreateFlagsNVStr (VkPipelineCoverageModulationStateCreateFlagsNV value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getValidationCacheCreateFlagsEXTStr (VkValidationCacheCreateFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getPipelineCoverageReductionStateCreateFlagsNVStr (VkPipelineCoverageReductionStateCreateFlagsNV value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getHeadlessSurfaceCreateFlagsEXTStr (VkHeadlessSurfaceCreateFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getDeviceMemoryReportFlagsEXTStr (VkDeviceMemoryReportFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getAccelerationStructureMotionInfoFlagsNVStr (VkAccelerationStructureMotionInfoFlagsNV value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getAccelerationStructureMotionInstanceFlagsNVStr (VkAccelerationStructureMotionInstanceFlagsNV value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getAndroidSurfaceCreateFlagsKHRStr (VkAndroidSurfaceCreateFlagsKHR value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getVideoBeginCodingFlagsKHRStr (VkVideoBeginCodingFlagsKHR value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getVideoEndCodingFlagsKHRStr (VkVideoEndCodingFlagsKHR value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getVideoEncodeH265CapabilityFlagsEXTStr (VkVideoEncodeH265CapabilityFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getVideoEncodeH265CreateFlagsEXTStr (VkVideoEncodeH265CreateFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getVideoDecodeH264CreateFlagsEXTStr (VkVideoDecodeH264CreateFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getVideoDecodeH265CreateFlagsEXTStr (VkVideoDecodeH265CreateFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getImagePipeSurfaceCreateFlagsFUCHSIAStr (VkImagePipeSurfaceCreateFlagsFUCHSIA value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getImageFormatConstraintsFlagsFUCHSIAStr (VkImageFormatConstraintsFlagsFUCHSIA value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getStreamDescriptorSurfaceCreateFlagsGGPStr (VkStreamDescriptorSurfaceCreateFlagsGGP value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getIOSSurfaceCreateFlagsMVKStr (VkIOSSurfaceCreateFlagsMVK value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getMacOSSurfaceCreateFlagsMVKStr (VkMacOSSurfaceCreateFlagsMVK value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getMetalSurfaceCreateFlagsEXTStr (VkMetalSurfaceCreateFlagsEXT value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getViSurfaceCreateFlagsNNStr (VkViSurfaceCreateFlagsNN value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getWaylandSurfaceCreateFlagsKHRStr (VkWaylandSurfaceCreateFlagsKHR value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getWin32SurfaceCreateFlagsKHRStr (VkWin32SurfaceCreateFlagsKHR value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getXcbSurfaceCreateFlagsKHRStr (VkXcbSurfaceCreateFlagsKHR value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getXlibSurfaceCreateFlagsKHRStr (VkXlibSurfaceCreateFlagsKHR value) + { + return tcu::Format::Bitfield<32>(value, DE_NULL, DE_NULL); + } + + tcu::Format::Bitfield<32> getBuildAccelerationStructureFlagsNVStr (VkBuildAccelerationStructureFlagsNV value) + { + static const tcu::Format::BitDesc s_desc[] = + { + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV, "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV"), + tcu::Format::BitDesc(VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR, "VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR"), + }; + return tcu::Format::Bitfield<32>(value, DE_ARRAY_BEGIN(s_desc), DE_ARRAY_END(s_desc)); + } + + std::ostream& operator<< (std::ostream& s, const VkExtent2D& value) + { + s << "VkExtent2D = {\n"; + s << "\twidth = " << value.width << '\n'; + s << "\theight = " << value.height << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExtent3D& value) + { + s << "VkExtent3D = {\n"; + s << "\twidth = " << value.width << '\n'; + s << "\theight = " << value.height << '\n'; + s << "\tdepth = " << value.depth << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkOffset2D& value) + { + s << "VkOffset2D = {\n"; + s << "\tx = " << value.x << '\n'; + s << "\ty = " << value.y << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkOffset3D& value) + { + s << "VkOffset3D = {\n"; + s << "\tx = " << value.x << '\n'; + s << "\ty = " << value.y << '\n'; + s << "\tz = " << value.z << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRect2D& value) + { + s << "VkRect2D = {\n"; + s << "\toffset = " << value.offset << '\n'; + s << "\textent = " << value.extent << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBaseInStructure& value) + { + s << "VkBaseInStructure = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBaseOutStructure& value) + { + s << "VkBaseOutStructure = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferMemoryBarrier& value) + { + s << "VkBufferMemoryBarrier = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; + s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; + s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n'; + s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n'; + s << "\tbuffer = " << value.buffer << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << "\tsize = " << value.size << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDispatchIndirectCommand& value) + { + s << "VkDispatchIndirectCommand = {\n"; + s << "\tx = " << value.x << '\n'; + s << "\ty = " << value.y << '\n'; + s << "\tz = " << value.z << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDrawIndexedIndirectCommand& value) + { + s << "VkDrawIndexedIndirectCommand = {\n"; + s << "\tindexCount = " << value.indexCount << '\n'; + s << "\tinstanceCount = " << value.instanceCount << '\n'; + s << "\tfirstIndex = " << value.firstIndex << '\n'; + s << "\tvertexOffset = " << value.vertexOffset << '\n'; + s << "\tfirstInstance = " << value.firstInstance << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDrawIndirectCommand& value) + { + s << "VkDrawIndirectCommand = {\n"; + s << "\tvertexCount = " << value.vertexCount << '\n'; + s << "\tinstanceCount = " << value.instanceCount << '\n'; + s << "\tfirstVertex = " << value.firstVertex << '\n'; + s << "\tfirstInstance = " << value.firstInstance << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageSubresourceRange& value) + { + s << "VkImageSubresourceRange = {\n"; + s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; + s << "\tbaseMipLevel = " << value.baseMipLevel << '\n'; + s << "\tlevelCount = " << value.levelCount << '\n'; + s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n'; + s << "\tlayerCount = " << value.layerCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageMemoryBarrier& value) + { + s << "VkImageMemoryBarrier = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; + s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; + s << "\toldLayout = " << value.oldLayout << '\n'; + s << "\tnewLayout = " << value.newLayout << '\n'; + s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n'; + s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n'; + s << "\timage = " << value.image << '\n'; + s << "\tsubresourceRange = " << value.subresourceRange << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryBarrier& value) + { + s << "VkMemoryBarrier = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; + s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineCacheHeaderVersionOne& value) + { + s << "VkPipelineCacheHeaderVersionOne = {\n"; + s << "\theaderSize = " << value.headerSize << '\n'; + s << "\theaderVersion = " << value.headerVersion << '\n'; + s << "\tvendorID = " << value.vendorID << '\n'; + s << "\tdeviceID = " << value.deviceID << '\n'; + s << "\tpipelineCacheUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.pipelineCacheUUID)), tcu::Format::HexIterator(DE_ARRAY_END(value.pipelineCacheUUID))) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAllocationCallbacks& value) + { + s << "VkAllocationCallbacks = {\n"; + s << "\tpUserData = " << value.pUserData << '\n'; + s << "\tpfnAllocation = " << value.pfnAllocation << '\n'; + s << "\tpfnReallocation = " << value.pfnReallocation << '\n'; + s << "\tpfnFree = " << value.pfnFree << '\n'; + s << "\tpfnInternalAllocation = " << value.pfnInternalAllocation << '\n'; + s << "\tpfnInternalFree = " << value.pfnInternalFree << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkApplicationInfo& value) + { + s << "VkApplicationInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpApplicationName = " << getCharPtrStr(value.pApplicationName) << '\n'; + s << "\tapplicationVersion = " << value.applicationVersion << '\n'; + s << "\tpEngineName = " << getCharPtrStr(value.pEngineName) << '\n'; + s << "\tengineVersion = " << value.engineVersion << '\n'; + s << "\tapiVersion = " << value.apiVersion << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkFormatProperties& value) + { + s << "VkFormatProperties = {\n"; + s << "\tlinearTilingFeatures = " << getFormatFeatureFlagsStr(value.linearTilingFeatures) << '\n'; + s << "\toptimalTilingFeatures = " << getFormatFeatureFlagsStr(value.optimalTilingFeatures) << '\n'; + s << "\tbufferFeatures = " << getFormatFeatureFlagsStr(value.bufferFeatures) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageFormatProperties& value) + { + s << "VkImageFormatProperties = {\n"; + s << "\tmaxExtent = " << value.maxExtent << '\n'; + s << "\tmaxMipLevels = " << value.maxMipLevels << '\n'; + s << "\tmaxArrayLayers = " << value.maxArrayLayers << '\n'; + s << "\tsampleCounts = " << getSampleCountFlagsStr(value.sampleCounts) << '\n'; + s << "\tmaxResourceSize = " << value.maxResourceSize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkInstanceCreateInfo& value) + { + s << "VkInstanceCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getInstanceCreateFlagsStr(value.flags) << '\n'; + s << "\tpApplicationInfo = " << value.pApplicationInfo << '\n'; + s << "\tenabledLayerCount = " << value.enabledLayerCount << '\n'; + s << "\tppEnabledLayerNames = " << value.ppEnabledLayerNames << '\n'; + s << "\tenabledExtensionCount = " << value.enabledExtensionCount << '\n'; + s << "\tppEnabledExtensionNames = " << value.ppEnabledExtensionNames << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryHeap& value) + { + s << "VkMemoryHeap = {\n"; + s << "\tsize = " << value.size << '\n'; + s << "\tflags = " << getMemoryHeapFlagsStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryType& value) + { + s << "VkMemoryType = {\n"; + s << "\tpropertyFlags = " << getMemoryPropertyFlagsStr(value.propertyFlags) << '\n'; + s << "\theapIndex = " << value.heapIndex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFeatures& value) + { + s << "VkPhysicalDeviceFeatures = {\n"; + s << "\trobustBufferAccess = " << value.robustBufferAccess << '\n'; + s << "\tfullDrawIndexUint32 = " << value.fullDrawIndexUint32 << '\n'; + s << "\timageCubeArray = " << value.imageCubeArray << '\n'; + s << "\tindependentBlend = " << value.independentBlend << '\n'; + s << "\tgeometryShader = " << value.geometryShader << '\n'; + s << "\ttessellationShader = " << value.tessellationShader << '\n'; + s << "\tsampleRateShading = " << value.sampleRateShading << '\n'; + s << "\tdualSrcBlend = " << value.dualSrcBlend << '\n'; + s << "\tlogicOp = " << value.logicOp << '\n'; + s << "\tmultiDrawIndirect = " << value.multiDrawIndirect << '\n'; + s << "\tdrawIndirectFirstInstance = " << value.drawIndirectFirstInstance << '\n'; + s << "\tdepthClamp = " << value.depthClamp << '\n'; + s << "\tdepthBiasClamp = " << value.depthBiasClamp << '\n'; + s << "\tfillModeNonSolid = " << value.fillModeNonSolid << '\n'; + s << "\tdepthBounds = " << value.depthBounds << '\n'; + s << "\twideLines = " << value.wideLines << '\n'; + s << "\tlargePoints = " << value.largePoints << '\n'; + s << "\talphaToOne = " << value.alphaToOne << '\n'; + s << "\tmultiViewport = " << value.multiViewport << '\n'; + s << "\tsamplerAnisotropy = " << value.samplerAnisotropy << '\n'; + s << "\ttextureCompressionETC2 = " << value.textureCompressionETC2 << '\n'; + s << "\ttextureCompressionASTC_LDR = " << value.textureCompressionASTC_LDR << '\n'; + s << "\ttextureCompressionBC = " << value.textureCompressionBC << '\n'; + s << "\tocclusionQueryPrecise = " << value.occlusionQueryPrecise << '\n'; + s << "\tpipelineStatisticsQuery = " << value.pipelineStatisticsQuery << '\n'; + s << "\tvertexPipelineStoresAndAtomics = " << value.vertexPipelineStoresAndAtomics << '\n'; + s << "\tfragmentStoresAndAtomics = " << value.fragmentStoresAndAtomics << '\n'; + s << "\tshaderTessellationAndGeometryPointSize = " << value.shaderTessellationAndGeometryPointSize << '\n'; + s << "\tshaderImageGatherExtended = " << value.shaderImageGatherExtended << '\n'; + s << "\tshaderStorageImageExtendedFormats = " << value.shaderStorageImageExtendedFormats << '\n'; + s << "\tshaderStorageImageMultisample = " << value.shaderStorageImageMultisample << '\n'; + s << "\tshaderStorageImageReadWithoutFormat = " << value.shaderStorageImageReadWithoutFormat << '\n'; + s << "\tshaderStorageImageWriteWithoutFormat = " << value.shaderStorageImageWriteWithoutFormat << '\n'; + s << "\tshaderUniformBufferArrayDynamicIndexing = " << value.shaderUniformBufferArrayDynamicIndexing << '\n'; + s << "\tshaderSampledImageArrayDynamicIndexing = " << value.shaderSampledImageArrayDynamicIndexing << '\n'; + s << "\tshaderStorageBufferArrayDynamicIndexing = " << value.shaderStorageBufferArrayDynamicIndexing << '\n'; + s << "\tshaderStorageImageArrayDynamicIndexing = " << value.shaderStorageImageArrayDynamicIndexing << '\n'; + s << "\tshaderClipDistance = " << value.shaderClipDistance << '\n'; + s << "\tshaderCullDistance = " << value.shaderCullDistance << '\n'; + s << "\tshaderFloat64 = " << value.shaderFloat64 << '\n'; + s << "\tshaderInt64 = " << value.shaderInt64 << '\n'; + s << "\tshaderInt16 = " << value.shaderInt16 << '\n'; + s << "\tshaderResourceResidency = " << value.shaderResourceResidency << '\n'; + s << "\tshaderResourceMinLod = " << value.shaderResourceMinLod << '\n'; + s << "\tsparseBinding = " << value.sparseBinding << '\n'; + s << "\tsparseResidencyBuffer = " << value.sparseResidencyBuffer << '\n'; + s << "\tsparseResidencyImage2D = " << value.sparseResidencyImage2D << '\n'; + s << "\tsparseResidencyImage3D = " << value.sparseResidencyImage3D << '\n'; + s << "\tsparseResidency2Samples = " << value.sparseResidency2Samples << '\n'; + s << "\tsparseResidency4Samples = " << value.sparseResidency4Samples << '\n'; + s << "\tsparseResidency8Samples = " << value.sparseResidency8Samples << '\n'; + s << "\tsparseResidency16Samples = " << value.sparseResidency16Samples << '\n'; + s << "\tsparseResidencyAliased = " << value.sparseResidencyAliased << '\n'; + s << "\tvariableMultisampleRate = " << value.variableMultisampleRate << '\n'; + s << "\tinheritedQueries = " << value.inheritedQueries << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLimits& value) + { + s << "VkPhysicalDeviceLimits = {\n"; + s << "\tmaxImageDimension1D = " << value.maxImageDimension1D << '\n'; + s << "\tmaxImageDimension2D = " << value.maxImageDimension2D << '\n'; + s << "\tmaxImageDimension3D = " << value.maxImageDimension3D << '\n'; + s << "\tmaxImageDimensionCube = " << value.maxImageDimensionCube << '\n'; + s << "\tmaxImageArrayLayers = " << value.maxImageArrayLayers << '\n'; + s << "\tmaxTexelBufferElements = " << value.maxTexelBufferElements << '\n'; + s << "\tmaxUniformBufferRange = " << value.maxUniformBufferRange << '\n'; + s << "\tmaxStorageBufferRange = " << value.maxStorageBufferRange << '\n'; + s << "\tmaxPushConstantsSize = " << value.maxPushConstantsSize << '\n'; + s << "\tmaxMemoryAllocationCount = " << value.maxMemoryAllocationCount << '\n'; + s << "\tmaxSamplerAllocationCount = " << value.maxSamplerAllocationCount << '\n'; + s << "\tbufferImageGranularity = " << value.bufferImageGranularity << '\n'; + s << "\tsparseAddressSpaceSize = " << value.sparseAddressSpaceSize << '\n'; + s << "\tmaxBoundDescriptorSets = " << value.maxBoundDescriptorSets << '\n'; + s << "\tmaxPerStageDescriptorSamplers = " << value.maxPerStageDescriptorSamplers << '\n'; + s << "\tmaxPerStageDescriptorUniformBuffers = " << value.maxPerStageDescriptorUniformBuffers << '\n'; + s << "\tmaxPerStageDescriptorStorageBuffers = " << value.maxPerStageDescriptorStorageBuffers << '\n'; + s << "\tmaxPerStageDescriptorSampledImages = " << value.maxPerStageDescriptorSampledImages << '\n'; + s << "\tmaxPerStageDescriptorStorageImages = " << value.maxPerStageDescriptorStorageImages << '\n'; + s << "\tmaxPerStageDescriptorInputAttachments = " << value.maxPerStageDescriptorInputAttachments << '\n'; + s << "\tmaxPerStageResources = " << value.maxPerStageResources << '\n'; + s << "\tmaxDescriptorSetSamplers = " << value.maxDescriptorSetSamplers << '\n'; + s << "\tmaxDescriptorSetUniformBuffers = " << value.maxDescriptorSetUniformBuffers << '\n'; + s << "\tmaxDescriptorSetUniformBuffersDynamic = " << value.maxDescriptorSetUniformBuffersDynamic << '\n'; + s << "\tmaxDescriptorSetStorageBuffers = " << value.maxDescriptorSetStorageBuffers << '\n'; + s << "\tmaxDescriptorSetStorageBuffersDynamic = " << value.maxDescriptorSetStorageBuffersDynamic << '\n'; + s << "\tmaxDescriptorSetSampledImages = " << value.maxDescriptorSetSampledImages << '\n'; + s << "\tmaxDescriptorSetStorageImages = " << value.maxDescriptorSetStorageImages << '\n'; + s << "\tmaxDescriptorSetInputAttachments = " << value.maxDescriptorSetInputAttachments << '\n'; + s << "\tmaxVertexInputAttributes = " << value.maxVertexInputAttributes << '\n'; + s << "\tmaxVertexInputBindings = " << value.maxVertexInputBindings << '\n'; + s << "\tmaxVertexInputAttributeOffset = " << value.maxVertexInputAttributeOffset << '\n'; + s << "\tmaxVertexInputBindingStride = " << value.maxVertexInputBindingStride << '\n'; + s << "\tmaxVertexOutputComponents = " << value.maxVertexOutputComponents << '\n'; + s << "\tmaxTessellationGenerationLevel = " << value.maxTessellationGenerationLevel << '\n'; + s << "\tmaxTessellationPatchSize = " << value.maxTessellationPatchSize << '\n'; + s << "\tmaxTessellationControlPerVertexInputComponents = " << value.maxTessellationControlPerVertexInputComponents << '\n'; + s << "\tmaxTessellationControlPerVertexOutputComponents = " << value.maxTessellationControlPerVertexOutputComponents << '\n'; + s << "\tmaxTessellationControlPerPatchOutputComponents = " << value.maxTessellationControlPerPatchOutputComponents << '\n'; + s << "\tmaxTessellationControlTotalOutputComponents = " << value.maxTessellationControlTotalOutputComponents << '\n'; + s << "\tmaxTessellationEvaluationInputComponents = " << value.maxTessellationEvaluationInputComponents << '\n'; + s << "\tmaxTessellationEvaluationOutputComponents = " << value.maxTessellationEvaluationOutputComponents << '\n'; + s << "\tmaxGeometryShaderInvocations = " << value.maxGeometryShaderInvocations << '\n'; + s << "\tmaxGeometryInputComponents = " << value.maxGeometryInputComponents << '\n'; + s << "\tmaxGeometryOutputComponents = " << value.maxGeometryOutputComponents << '\n'; + s << "\tmaxGeometryOutputVertices = " << value.maxGeometryOutputVertices << '\n'; + s << "\tmaxGeometryTotalOutputComponents = " << value.maxGeometryTotalOutputComponents << '\n'; + s << "\tmaxFragmentInputComponents = " << value.maxFragmentInputComponents << '\n'; + s << "\tmaxFragmentOutputAttachments = " << value.maxFragmentOutputAttachments << '\n'; + s << "\tmaxFragmentDualSrcAttachments = " << value.maxFragmentDualSrcAttachments << '\n'; + s << "\tmaxFragmentCombinedOutputResources = " << value.maxFragmentCombinedOutputResources << '\n'; + s << "\tmaxComputeSharedMemorySize = " << value.maxComputeSharedMemorySize << '\n'; + s << "\tmaxComputeWorkGroupCount = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxComputeWorkGroupCount), DE_ARRAY_END(value.maxComputeWorkGroupCount)) << '\n'; + s << "\tmaxComputeWorkGroupInvocations = " << value.maxComputeWorkGroupInvocations << '\n'; + s << "\tmaxComputeWorkGroupSize = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxComputeWorkGroupSize), DE_ARRAY_END(value.maxComputeWorkGroupSize)) << '\n'; + s << "\tsubPixelPrecisionBits = " << value.subPixelPrecisionBits << '\n'; + s << "\tsubTexelPrecisionBits = " << value.subTexelPrecisionBits << '\n'; + s << "\tmipmapPrecisionBits = " << value.mipmapPrecisionBits << '\n'; + s << "\tmaxDrawIndexedIndexValue = " << value.maxDrawIndexedIndexValue << '\n'; + s << "\tmaxDrawIndirectCount = " << value.maxDrawIndirectCount << '\n'; + s << "\tmaxSamplerLodBias = " << value.maxSamplerLodBias << '\n'; + s << "\tmaxSamplerAnisotropy = " << value.maxSamplerAnisotropy << '\n'; + s << "\tmaxViewports = " << value.maxViewports << '\n'; + s << "\tmaxViewportDimensions = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxViewportDimensions), DE_ARRAY_END(value.maxViewportDimensions)) << '\n'; + s << "\tviewportBoundsRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewportBoundsRange), DE_ARRAY_END(value.viewportBoundsRange)) << '\n'; + s << "\tviewportSubPixelBits = " << value.viewportSubPixelBits << '\n'; + s << "\tminMemoryMapAlignment = " << value.minMemoryMapAlignment << '\n'; + s << "\tminTexelBufferOffsetAlignment = " << value.minTexelBufferOffsetAlignment << '\n'; + s << "\tminUniformBufferOffsetAlignment = " << value.minUniformBufferOffsetAlignment << '\n'; + s << "\tminStorageBufferOffsetAlignment = " << value.minStorageBufferOffsetAlignment << '\n'; + s << "\tminTexelOffset = " << value.minTexelOffset << '\n'; + s << "\tmaxTexelOffset = " << value.maxTexelOffset << '\n'; + s << "\tminTexelGatherOffset = " << value.minTexelGatherOffset << '\n'; + s << "\tmaxTexelGatherOffset = " << value.maxTexelGatherOffset << '\n'; + s << "\tminInterpolationOffset = " << value.minInterpolationOffset << '\n'; + s << "\tmaxInterpolationOffset = " << value.maxInterpolationOffset << '\n'; + s << "\tsubPixelInterpolationOffsetBits = " << value.subPixelInterpolationOffsetBits << '\n'; + s << "\tmaxFramebufferWidth = " << value.maxFramebufferWidth << '\n'; + s << "\tmaxFramebufferHeight = " << value.maxFramebufferHeight << '\n'; + s << "\tmaxFramebufferLayers = " << value.maxFramebufferLayers << '\n'; + s << "\tframebufferColorSampleCounts = " << getSampleCountFlagsStr(value.framebufferColorSampleCounts) << '\n'; + s << "\tframebufferDepthSampleCounts = " << getSampleCountFlagsStr(value.framebufferDepthSampleCounts) << '\n'; + s << "\tframebufferStencilSampleCounts = " << getSampleCountFlagsStr(value.framebufferStencilSampleCounts) << '\n'; + s << "\tframebufferNoAttachmentsSampleCounts = " << getSampleCountFlagsStr(value.framebufferNoAttachmentsSampleCounts) << '\n'; + s << "\tmaxColorAttachments = " << value.maxColorAttachments << '\n'; + s << "\tsampledImageColorSampleCounts = " << getSampleCountFlagsStr(value.sampledImageColorSampleCounts) << '\n'; + s << "\tsampledImageIntegerSampleCounts = " << getSampleCountFlagsStr(value.sampledImageIntegerSampleCounts) << '\n'; + s << "\tsampledImageDepthSampleCounts = " << getSampleCountFlagsStr(value.sampledImageDepthSampleCounts) << '\n'; + s << "\tsampledImageStencilSampleCounts = " << getSampleCountFlagsStr(value.sampledImageStencilSampleCounts) << '\n'; + s << "\tstorageImageSampleCounts = " << getSampleCountFlagsStr(value.storageImageSampleCounts) << '\n'; + s << "\tmaxSampleMaskWords = " << value.maxSampleMaskWords << '\n'; + s << "\ttimestampComputeAndGraphics = " << value.timestampComputeAndGraphics << '\n'; + s << "\ttimestampPeriod = " << value.timestampPeriod << '\n'; + s << "\tmaxClipDistances = " << value.maxClipDistances << '\n'; + s << "\tmaxCullDistances = " << value.maxCullDistances << '\n'; + s << "\tmaxCombinedClipAndCullDistances = " << value.maxCombinedClipAndCullDistances << '\n'; + s << "\tdiscreteQueuePriorities = " << value.discreteQueuePriorities << '\n'; + s << "\tpointSizeRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.pointSizeRange), DE_ARRAY_END(value.pointSizeRange)) << '\n'; + s << "\tlineWidthRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.lineWidthRange), DE_ARRAY_END(value.lineWidthRange)) << '\n'; + s << "\tpointSizeGranularity = " << value.pointSizeGranularity << '\n'; + s << "\tlineWidthGranularity = " << value.lineWidthGranularity << '\n'; + s << "\tstrictLines = " << value.strictLines << '\n'; + s << "\tstandardSampleLocations = " << value.standardSampleLocations << '\n'; + s << "\toptimalBufferCopyOffsetAlignment = " << value.optimalBufferCopyOffsetAlignment << '\n'; + s << "\toptimalBufferCopyRowPitchAlignment = " << value.optimalBufferCopyRowPitchAlignment << '\n'; + s << "\tnonCoherentAtomSize = " << value.nonCoherentAtomSize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryProperties& value) + { + s << "VkPhysicalDeviceMemoryProperties = {\n"; + s << "\tmemoryTypeCount = " << value.memoryTypeCount << '\n'; + s << "\tmemoryTypes = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.memoryTypes), DE_ARRAY_BEGIN(value.memoryTypes) + value.memoryTypeCount) << '\n'; + s << "\tmemoryHeapCount = " << value.memoryHeapCount << '\n'; + s << "\tmemoryHeaps = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.memoryHeaps), DE_ARRAY_BEGIN(value.memoryHeaps) + value.memoryHeapCount) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSparseProperties& value) + { + s << "VkPhysicalDeviceSparseProperties = {\n"; + s << "\tresidencyStandard2DBlockShape = " << value.residencyStandard2DBlockShape << '\n'; + s << "\tresidencyStandard2DMultisampleBlockShape = " << value.residencyStandard2DMultisampleBlockShape << '\n'; + s << "\tresidencyStandard3DBlockShape = " << value.residencyStandard3DBlockShape << '\n'; + s << "\tresidencyAlignedMipSize = " << value.residencyAlignedMipSize << '\n'; + s << "\tresidencyNonResidentStrict = " << value.residencyNonResidentStrict << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProperties& value) + { + s << "VkPhysicalDeviceProperties = {\n"; + s << "\tapiVersion = " << value.apiVersion << '\n'; + s << "\tdriverVersion = " << value.driverVersion << '\n'; + s << "\tvendorID = " << value.vendorID << '\n'; + s << "\tdeviceID = " << value.deviceID << '\n'; + s << "\tdeviceType = " << value.deviceType << '\n'; + s << "\tdeviceName = " << (const char*)value.deviceName << '\n'; + s << "\tpipelineCacheUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.pipelineCacheUUID)), tcu::Format::HexIterator(DE_ARRAY_END(value.pipelineCacheUUID))) << '\n'; + s << "\tlimits = " << value.limits << '\n'; + s << "\tsparseProperties = " << value.sparseProperties << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkQueueFamilyProperties& value) + { + s << "VkQueueFamilyProperties = {\n"; + s << "\tqueueFlags = " << getQueueFlagsStr(value.queueFlags) << '\n'; + s << "\tqueueCount = " << value.queueCount << '\n'; + s << "\ttimestampValidBits = " << value.timestampValidBits << '\n'; + s << "\tminImageTransferGranularity = " << value.minImageTransferGranularity << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceQueueCreateInfo& value) + { + s << "VkDeviceQueueCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getDeviceQueueCreateFlagsStr(value.flags) << '\n'; + s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n'; + s << "\tqueueCount = " << value.queueCount << '\n'; + s << "\tpQueuePriorities = " << value.pQueuePriorities << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceCreateInfo& value) + { + s << "VkDeviceCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getDeviceCreateFlagsStr(value.flags) << '\n'; + s << "\tqueueCreateInfoCount = " << value.queueCreateInfoCount << '\n'; + s << "\tpQueueCreateInfos = " << value.pQueueCreateInfos << '\n'; + s << "\tenabledLayerCount = " << value.enabledLayerCount << '\n'; + s << "\tppEnabledLayerNames = " << value.ppEnabledLayerNames << '\n'; + s << "\tenabledExtensionCount = " << value.enabledExtensionCount << '\n'; + s << "\tppEnabledExtensionNames = " << value.ppEnabledExtensionNames << '\n'; + s << "\tpEnabledFeatures = " << value.pEnabledFeatures << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExtensionProperties& value) + { + s << "VkExtensionProperties = {\n"; + s << "\textensionName = " << (const char*)value.extensionName << '\n'; + s << "\tspecVersion = " << value.specVersion << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkLayerProperties& value) + { + s << "VkLayerProperties = {\n"; + s << "\tlayerName = " << (const char*)value.layerName << '\n'; + s << "\tspecVersion = " << value.specVersion << '\n'; + s << "\timplementationVersion = " << value.implementationVersion << '\n'; + s << "\tdescription = " << (const char*)value.description << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSubmitInfo& value) + { + s << "VkSubmitInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n'; + s << "\tpWaitSemaphores = " << value.pWaitSemaphores << '\n'; + s << "\tpWaitDstStageMask = " << value.pWaitDstStageMask << '\n'; + s << "\tcommandBufferCount = " << value.commandBufferCount << '\n'; + s << "\tpCommandBuffers = " << value.pCommandBuffers << '\n'; + s << "\tsignalSemaphoreCount = " << value.signalSemaphoreCount << '\n'; + s << "\tpSignalSemaphores = " << value.pSignalSemaphores << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMappedMemoryRange& value) + { + s << "VkMappedMemoryRange = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemory = " << value.memory << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << "\tsize = " << value.size << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryAllocateInfo& value) + { + s << "VkMemoryAllocateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tallocationSize = " << value.allocationSize << '\n'; + s << "\tmemoryTypeIndex = " << value.memoryTypeIndex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryRequirements& value) + { + s << "VkMemoryRequirements = {\n"; + s << "\tsize = " << value.size << '\n'; + s << "\talignment = " << value.alignment << '\n'; + s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSparseMemoryBind& value) + { + s << "VkSparseMemoryBind = {\n"; + s << "\tresourceOffset = " << value.resourceOffset << '\n'; + s << "\tsize = " << value.size << '\n'; + s << "\tmemory = " << value.memory << '\n'; + s << "\tmemoryOffset = " << value.memoryOffset << '\n'; + s << "\tflags = " << getSparseMemoryBindFlagsStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSparseBufferMemoryBindInfo& value) + { + s << "VkSparseBufferMemoryBindInfo = {\n"; + s << "\tbuffer = " << value.buffer << '\n'; + s << "\tbindCount = " << value.bindCount << '\n'; + s << "\tpBinds = " << value.pBinds << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSparseImageOpaqueMemoryBindInfo& value) + { + s << "VkSparseImageOpaqueMemoryBindInfo = {\n"; + s << "\timage = " << value.image << '\n'; + s << "\tbindCount = " << value.bindCount << '\n'; + s << "\tpBinds = " << value.pBinds << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageSubresource& value) + { + s << "VkImageSubresource = {\n"; + s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; + s << "\tmipLevel = " << value.mipLevel << '\n'; + s << "\tarrayLayer = " << value.arrayLayer << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryBind& value) + { + s << "VkSparseImageMemoryBind = {\n"; + s << "\tsubresource = " << value.subresource << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << "\textent = " << value.extent << '\n'; + s << "\tmemory = " << value.memory << '\n'; + s << "\tmemoryOffset = " << value.memoryOffset << '\n'; + s << "\tflags = " << getSparseMemoryBindFlagsStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryBindInfo& value) + { + s << "VkSparseImageMemoryBindInfo = {\n"; + s << "\timage = " << value.image << '\n'; + s << "\tbindCount = " << value.bindCount << '\n'; + s << "\tpBinds = " << value.pBinds << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBindSparseInfo& value) + { + s << "VkBindSparseInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n'; + s << "\tpWaitSemaphores = " << value.pWaitSemaphores << '\n'; + s << "\tbufferBindCount = " << value.bufferBindCount << '\n'; + s << "\tpBufferBinds = " << value.pBufferBinds << '\n'; + s << "\timageOpaqueBindCount = " << value.imageOpaqueBindCount << '\n'; + s << "\tpImageOpaqueBinds = " << value.pImageOpaqueBinds << '\n'; + s << "\timageBindCount = " << value.imageBindCount << '\n'; + s << "\tpImageBinds = " << value.pImageBinds << '\n'; + s << "\tsignalSemaphoreCount = " << value.signalSemaphoreCount << '\n'; + s << "\tpSignalSemaphores = " << value.pSignalSemaphores << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSparseImageFormatProperties& value) + { + s << "VkSparseImageFormatProperties = {\n"; + s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; + s << "\timageGranularity = " << value.imageGranularity << '\n'; + s << "\tflags = " << getSparseImageFormatFlagsStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryRequirements& value) + { + s << "VkSparseImageMemoryRequirements = {\n"; + s << "\tformatProperties = " << value.formatProperties << '\n'; + s << "\timageMipTailFirstLod = " << value.imageMipTailFirstLod << '\n'; + s << "\timageMipTailSize = " << value.imageMipTailSize << '\n'; + s << "\timageMipTailOffset = " << value.imageMipTailOffset << '\n'; + s << "\timageMipTailStride = " << value.imageMipTailStride << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkFenceCreateInfo& value) + { + s << "VkFenceCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getFenceCreateFlagsStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSemaphoreCreateInfo& value) + { + s << "VkSemaphoreCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getSemaphoreCreateFlagsStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkEventCreateInfo& value) + { + s << "VkEventCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getEventCreateFlagsStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkQueryPoolCreateInfo& value) + { + s << "VkQueryPoolCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getQueryPoolCreateFlagsStr(value.flags) << '\n'; + s << "\tqueryType = " << value.queryType << '\n'; + s << "\tqueryCount = " << value.queryCount << '\n'; + s << "\tpipelineStatistics = " << getQueryPipelineStatisticFlagsStr(value.pipelineStatistics) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferCreateInfo& value) + { + s << "VkBufferCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getBufferCreateFlagsStr(value.flags) << '\n'; + s << "\tsize = " << value.size << '\n'; + s << "\tusage = " << getBufferUsageFlagsStr(value.usage) << '\n'; + s << "\tsharingMode = " << value.sharingMode << '\n'; + s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n'; + s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferViewCreateInfo& value) + { + s << "VkBufferViewCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getBufferViewCreateFlagsStr(value.flags) << '\n'; + s << "\tbuffer = " << value.buffer << '\n'; + s << "\tformat = " << value.format << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << "\trange = " << value.range << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageCreateInfo& value) + { + s << "VkImageCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getImageCreateFlagsStr(value.flags) << '\n'; + s << "\timageType = " << value.imageType << '\n'; + s << "\tformat = " << value.format << '\n'; + s << "\textent = " << value.extent << '\n'; + s << "\tmipLevels = " << value.mipLevels << '\n'; + s << "\tarrayLayers = " << value.arrayLayers << '\n'; + s << "\tsamples = " << value.samples << '\n'; + s << "\ttiling = " << value.tiling << '\n'; + s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n'; + s << "\tsharingMode = " << value.sharingMode << '\n'; + s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n'; + s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n'; + s << "\tinitialLayout = " << value.initialLayout << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSubresourceLayout& value) + { + s << "VkSubresourceLayout = {\n"; + s << "\toffset = " << value.offset << '\n'; + s << "\tsize = " << value.size << '\n'; + s << "\trowPitch = " << value.rowPitch << '\n'; + s << "\tarrayPitch = " << value.arrayPitch << '\n'; + s << "\tdepthPitch = " << value.depthPitch << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkComponentMapping& value) + { + s << "VkComponentMapping = {\n"; + s << "\tr = " << value.r << '\n'; + s << "\tg = " << value.g << '\n'; + s << "\tb = " << value.b << '\n'; + s << "\ta = " << value.a << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageViewCreateInfo& value) + { + s << "VkImageViewCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getImageViewCreateFlagsStr(value.flags) << '\n'; + s << "\timage = " << value.image << '\n'; + s << "\tviewType = " << value.viewType << '\n'; + s << "\tformat = " << value.format << '\n'; + s << "\tcomponents = " << value.components << '\n'; + s << "\tsubresourceRange = " << value.subresourceRange << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkShaderModuleCreateInfo& value) + { + s << "VkShaderModuleCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getShaderModuleCreateFlagsStr(value.flags) << '\n'; + s << "\tcodeSize = " << value.codeSize << '\n'; + s << "\tpCode = " << value.pCode << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineCacheCreateInfo& value) + { + s << "VkPipelineCacheCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineCacheCreateFlagsStr(value.flags) << '\n'; + s << "\tinitialDataSize = " << value.initialDataSize << '\n'; + s << "\tpInitialData = " << value.pInitialData << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSpecializationMapEntry& value) + { + s << "VkSpecializationMapEntry = {\n"; + s << "\tconstantID = " << value.constantID << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << "\tsize = " << value.size << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSpecializationInfo& value) + { + s << "VkSpecializationInfo = {\n"; + s << "\tmapEntryCount = " << value.mapEntryCount << '\n'; + s << "\tpMapEntries = " << value.pMapEntries << '\n'; + s << "\tdataSize = " << value.dataSize << '\n'; + s << "\tpData = " << value.pData << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineShaderStageCreateInfo& value) + { + s << "VkPipelineShaderStageCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineShaderStageCreateFlagsStr(value.flags) << '\n'; + s << "\tstage = " << value.stage << '\n'; + s << "\tmodule = " << value.module << '\n'; + s << "\tpName = " << getCharPtrStr(value.pName) << '\n'; + s << "\tpSpecializationInfo = " << value.pSpecializationInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkComputePipelineCreateInfo& value) + { + s << "VkComputePipelineCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n'; + s << "\tstage = " << value.stage << '\n'; + s << "\tlayout = " << value.layout << '\n'; + s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n'; + s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDescription& value) + { + s << "VkVertexInputBindingDescription = {\n"; + s << "\tbinding = " << value.binding << '\n'; + s << "\tstride = " << value.stride << '\n'; + s << "\tinputRate = " << value.inputRate << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVertexInputAttributeDescription& value) + { + s << "VkVertexInputAttributeDescription = {\n"; + s << "\tlocation = " << value.location << '\n'; + s << "\tbinding = " << value.binding << '\n'; + s << "\tformat = " << value.format << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineVertexInputStateCreateInfo& value) + { + s << "VkPipelineVertexInputStateCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineVertexInputStateCreateFlagsStr(value.flags) << '\n'; + s << "\tvertexBindingDescriptionCount = " << value.vertexBindingDescriptionCount << '\n'; + s << "\tpVertexBindingDescriptions = " << value.pVertexBindingDescriptions << '\n'; + s << "\tvertexAttributeDescriptionCount = " << value.vertexAttributeDescriptionCount << '\n'; + s << "\tpVertexAttributeDescriptions = " << value.pVertexAttributeDescriptions << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineInputAssemblyStateCreateInfo& value) + { + s << "VkPipelineInputAssemblyStateCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineInputAssemblyStateCreateFlagsStr(value.flags) << '\n'; + s << "\ttopology = " << value.topology << '\n'; + s << "\tprimitiveRestartEnable = " << value.primitiveRestartEnable << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineTessellationStateCreateInfo& value) + { + s << "VkPipelineTessellationStateCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineTessellationStateCreateFlagsStr(value.flags) << '\n'; + s << "\tpatchControlPoints = " << value.patchControlPoints << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkViewport& value) + { + s << "VkViewport = {\n"; + s << "\tx = " << value.x << '\n'; + s << "\ty = " << value.y << '\n'; + s << "\twidth = " << value.width << '\n'; + s << "\theight = " << value.height << '\n'; + s << "\tminDepth = " << value.minDepth << '\n'; + s << "\tmaxDepth = " << value.maxDepth << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportStateCreateInfo& value) + { + s << "VkPipelineViewportStateCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineViewportStateCreateFlagsStr(value.flags) << '\n'; + s << "\tviewportCount = " << value.viewportCount << '\n'; + s << "\tpViewports = " << value.pViewports << '\n'; + s << "\tscissorCount = " << value.scissorCount << '\n'; + s << "\tpScissors = " << value.pScissors << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationStateCreateInfo& value) + { + s << "VkPipelineRasterizationStateCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineRasterizationStateCreateFlagsStr(value.flags) << '\n'; + s << "\tdepthClampEnable = " << value.depthClampEnable << '\n'; + s << "\trasterizerDiscardEnable = " << value.rasterizerDiscardEnable << '\n'; + s << "\tpolygonMode = " << value.polygonMode << '\n'; + s << "\tcullMode = " << getCullModeFlagsStr(value.cullMode) << '\n'; + s << "\tfrontFace = " << value.frontFace << '\n'; + s << "\tdepthBiasEnable = " << value.depthBiasEnable << '\n'; + s << "\tdepthBiasConstantFactor = " << value.depthBiasConstantFactor << '\n'; + s << "\tdepthBiasClamp = " << value.depthBiasClamp << '\n'; + s << "\tdepthBiasSlopeFactor = " << value.depthBiasSlopeFactor << '\n'; + s << "\tlineWidth = " << value.lineWidth << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineMultisampleStateCreateInfo& value) + { + s << "VkPipelineMultisampleStateCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineMultisampleStateCreateFlagsStr(value.flags) << '\n'; + s << "\trasterizationSamples = " << value.rasterizationSamples << '\n'; + s << "\tsampleShadingEnable = " << value.sampleShadingEnable << '\n'; + s << "\tminSampleShading = " << value.minSampleShading << '\n'; + s << "\tpSampleMask = " << value.pSampleMask << '\n'; + s << "\talphaToCoverageEnable = " << value.alphaToCoverageEnable << '\n'; + s << "\talphaToOneEnable = " << value.alphaToOneEnable << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkStencilOpState& value) + { + s << "VkStencilOpState = {\n"; + s << "\tfailOp = " << value.failOp << '\n'; + s << "\tpassOp = " << value.passOp << '\n'; + s << "\tdepthFailOp = " << value.depthFailOp << '\n'; + s << "\tcompareOp = " << value.compareOp << '\n'; + s << "\tcompareMask = " << value.compareMask << '\n'; + s << "\twriteMask = " << value.writeMask << '\n'; + s << "\treference = " << value.reference << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineDepthStencilStateCreateInfo& value) + { + s << "VkPipelineDepthStencilStateCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineDepthStencilStateCreateFlagsStr(value.flags) << '\n'; + s << "\tdepthTestEnable = " << value.depthTestEnable << '\n'; + s << "\tdepthWriteEnable = " << value.depthWriteEnable << '\n'; + s << "\tdepthCompareOp = " << value.depthCompareOp << '\n'; + s << "\tdepthBoundsTestEnable = " << value.depthBoundsTestEnable << '\n'; + s << "\tstencilTestEnable = " << value.stencilTestEnable << '\n'; + s << "\tfront = " << value.front << '\n'; + s << "\tback = " << value.back << '\n'; + s << "\tminDepthBounds = " << value.minDepthBounds << '\n'; + s << "\tmaxDepthBounds = " << value.maxDepthBounds << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendAttachmentState& value) + { + s << "VkPipelineColorBlendAttachmentState = {\n"; + s << "\tblendEnable = " << value.blendEnable << '\n'; + s << "\tsrcColorBlendFactor = " << value.srcColorBlendFactor << '\n'; + s << "\tdstColorBlendFactor = " << value.dstColorBlendFactor << '\n'; + s << "\tcolorBlendOp = " << value.colorBlendOp << '\n'; + s << "\tsrcAlphaBlendFactor = " << value.srcAlphaBlendFactor << '\n'; + s << "\tdstAlphaBlendFactor = " << value.dstAlphaBlendFactor << '\n'; + s << "\talphaBlendOp = " << value.alphaBlendOp << '\n'; + s << "\tcolorWriteMask = " << getColorComponentFlagsStr(value.colorWriteMask) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendStateCreateInfo& value) + { + s << "VkPipelineColorBlendStateCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineColorBlendStateCreateFlagsStr(value.flags) << '\n'; + s << "\tlogicOpEnable = " << value.logicOpEnable << '\n'; + s << "\tlogicOp = " << value.logicOp << '\n'; + s << "\tattachmentCount = " << value.attachmentCount << '\n'; + s << "\tpAttachments = " << value.pAttachments << '\n'; + s << "\tblendConstants = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.blendConstants), DE_ARRAY_END(value.blendConstants)) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineDynamicStateCreateInfo& value) + { + s << "VkPipelineDynamicStateCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineDynamicStateCreateFlagsStr(value.flags) << '\n'; + s << "\tdynamicStateCount = " << value.dynamicStateCount << '\n'; + s << "\tpDynamicStates = " << value.pDynamicStates << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkGraphicsPipelineCreateInfo& value) + { + s << "VkGraphicsPipelineCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n'; + s << "\tstageCount = " << value.stageCount << '\n'; + s << "\tpStages = " << value.pStages << '\n'; + s << "\tpVertexInputState = " << value.pVertexInputState << '\n'; + s << "\tpInputAssemblyState = " << value.pInputAssemblyState << '\n'; + s << "\tpTessellationState = " << value.pTessellationState << '\n'; + s << "\tpViewportState = " << value.pViewportState << '\n'; + s << "\tpRasterizationState = " << value.pRasterizationState << '\n'; + s << "\tpMultisampleState = " << value.pMultisampleState << '\n'; + s << "\tpDepthStencilState = " << value.pDepthStencilState << '\n'; + s << "\tpColorBlendState = " << value.pColorBlendState << '\n'; + s << "\tpDynamicState = " << value.pDynamicState << '\n'; + s << "\tlayout = " << value.layout << '\n'; + s << "\trenderPass = " << value.renderPass << '\n'; + s << "\tsubpass = " << value.subpass << '\n'; + s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n'; + s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPushConstantRange& value) + { + s << "VkPushConstantRange = {\n"; + s << "\tstageFlags = " << getShaderStageFlagsStr(value.stageFlags) << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << "\tsize = " << value.size << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineLayoutCreateInfo& value) + { + s << "VkPipelineLayoutCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineLayoutCreateFlagsStr(value.flags) << '\n'; + s << "\tsetLayoutCount = " << value.setLayoutCount << '\n'; + s << "\tpSetLayouts = " << value.pSetLayouts << '\n'; + s << "\tpushConstantRangeCount = " << value.pushConstantRangeCount << '\n'; + s << "\tpPushConstantRanges = " << value.pPushConstantRanges << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSamplerCreateInfo& value) + { + s << "VkSamplerCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getSamplerCreateFlagsStr(value.flags) << '\n'; + s << "\tmagFilter = " << value.magFilter << '\n'; + s << "\tminFilter = " << value.minFilter << '\n'; + s << "\tmipmapMode = " << value.mipmapMode << '\n'; + s << "\taddressModeU = " << value.addressModeU << '\n'; + s << "\taddressModeV = " << value.addressModeV << '\n'; + s << "\taddressModeW = " << value.addressModeW << '\n'; + s << "\tmipLodBias = " << value.mipLodBias << '\n'; + s << "\tanisotropyEnable = " << value.anisotropyEnable << '\n'; + s << "\tmaxAnisotropy = " << value.maxAnisotropy << '\n'; + s << "\tcompareEnable = " << value.compareEnable << '\n'; + s << "\tcompareOp = " << value.compareOp << '\n'; + s << "\tminLod = " << value.minLod << '\n'; + s << "\tmaxLod = " << value.maxLod << '\n'; + s << "\tborderColor = " << value.borderColor << '\n'; + s << "\tunnormalizedCoordinates = " << value.unnormalizedCoordinates << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCopyDescriptorSet& value) + { + s << "VkCopyDescriptorSet = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsrcSet = " << value.srcSet << '\n'; + s << "\tsrcBinding = " << value.srcBinding << '\n'; + s << "\tsrcArrayElement = " << value.srcArrayElement << '\n'; + s << "\tdstSet = " << value.dstSet << '\n'; + s << "\tdstBinding = " << value.dstBinding << '\n'; + s << "\tdstArrayElement = " << value.dstArrayElement << '\n'; + s << "\tdescriptorCount = " << value.descriptorCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDescriptorBufferInfo& value) + { + s << "VkDescriptorBufferInfo = {\n"; + s << "\tbuffer = " << value.buffer << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << "\trange = " << value.range << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDescriptorImageInfo& value) + { + s << "VkDescriptorImageInfo = {\n"; + s << "\tsampler = " << value.sampler << '\n'; + s << "\timageView = " << value.imageView << '\n'; + s << "\timageLayout = " << value.imageLayout << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolSize& value) + { + s << "VkDescriptorPoolSize = {\n"; + s << "\ttype = " << value.type << '\n'; + s << "\tdescriptorCount = " << value.descriptorCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolCreateInfo& value) + { + s << "VkDescriptorPoolCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getDescriptorPoolCreateFlagsStr(value.flags) << '\n'; + s << "\tmaxSets = " << value.maxSets << '\n'; + s << "\tpoolSizeCount = " << value.poolSizeCount << '\n'; + s << "\tpPoolSizes = " << value.pPoolSizes << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetAllocateInfo& value) + { + s << "VkDescriptorSetAllocateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdescriptorPool = " << value.descriptorPool << '\n'; + s << "\tdescriptorSetCount = " << value.descriptorSetCount << '\n'; + s << "\tpSetLayouts = " << value.pSetLayouts << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutBinding& value) + { + s << "VkDescriptorSetLayoutBinding = {\n"; + s << "\tbinding = " << value.binding << '\n'; + s << "\tdescriptorType = " << value.descriptorType << '\n'; + s << "\tdescriptorCount = " << value.descriptorCount << '\n'; + s << "\tstageFlags = " << getShaderStageFlagsStr(value.stageFlags) << '\n'; + s << "\tpImmutableSamplers = " << value.pImmutableSamplers << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutCreateInfo& value) + { + s << "VkDescriptorSetLayoutCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getDescriptorSetLayoutCreateFlagsStr(value.flags) << '\n'; + s << "\tbindingCount = " << value.bindingCount << '\n'; + s << "\tpBindings = " << value.pBindings << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSet& value) + { + s << "VkWriteDescriptorSet = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdstSet = " << value.dstSet << '\n'; + s << "\tdstBinding = " << value.dstBinding << '\n'; + s << "\tdstArrayElement = " << value.dstArrayElement << '\n'; + s << "\tdescriptorCount = " << value.descriptorCount << '\n'; + s << "\tdescriptorType = " << value.descriptorType << '\n'; + s << "\tpImageInfo = " << value.pImageInfo << '\n'; + s << "\tpBufferInfo = " << value.pBufferInfo << '\n'; + s << "\tpTexelBufferView = " << value.pTexelBufferView << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAttachmentDescription& value) + { + s << "VkAttachmentDescription = {\n"; + s << "\tflags = " << getAttachmentDescriptionFlagsStr(value.flags) << '\n'; + s << "\tformat = " << value.format << '\n'; + s << "\tsamples = " << value.samples << '\n'; + s << "\tloadOp = " << value.loadOp << '\n'; + s << "\tstoreOp = " << value.storeOp << '\n'; + s << "\tstencilLoadOp = " << value.stencilLoadOp << '\n'; + s << "\tstencilStoreOp = " << value.stencilStoreOp << '\n'; + s << "\tinitialLayout = " << value.initialLayout << '\n'; + s << "\tfinalLayout = " << value.finalLayout << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAttachmentReference& value) + { + s << "VkAttachmentReference = {\n"; + s << "\tattachment = " << value.attachment << '\n'; + s << "\tlayout = " << value.layout << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkFramebufferCreateInfo& value) + { + s << "VkFramebufferCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getFramebufferCreateFlagsStr(value.flags) << '\n'; + s << "\trenderPass = " << value.renderPass << '\n'; + s << "\tattachmentCount = " << value.attachmentCount << '\n'; + s << "\tpAttachments = " << value.pAttachments << '\n'; + s << "\twidth = " << value.width << '\n'; + s << "\theight = " << value.height << '\n'; + s << "\tlayers = " << value.layers << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSubpassDescription& value) + { + s << "VkSubpassDescription = {\n"; + s << "\tflags = " << getSubpassDescriptionFlagsStr(value.flags) << '\n'; + s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n'; + s << "\tinputAttachmentCount = " << value.inputAttachmentCount << '\n'; + s << "\tpInputAttachments = " << value.pInputAttachments << '\n'; + s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n'; + s << "\tpColorAttachments = " << value.pColorAttachments << '\n'; + s << "\tpResolveAttachments = " << value.pResolveAttachments << '\n'; + s << "\tpDepthStencilAttachment = " << value.pDepthStencilAttachment << '\n'; + s << "\tpreserveAttachmentCount = " << value.preserveAttachmentCount << '\n'; + s << "\tpPreserveAttachments = " << value.pPreserveAttachments << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSubpassDependency& value) + { + s << "VkSubpassDependency = {\n"; + s << "\tsrcSubpass = " << value.srcSubpass << '\n'; + s << "\tdstSubpass = " << value.dstSubpass << '\n'; + s << "\tsrcStageMask = " << getPipelineStageFlagsStr(value.srcStageMask) << '\n'; + s << "\tdstStageMask = " << getPipelineStageFlagsStr(value.dstStageMask) << '\n'; + s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; + s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; + s << "\tdependencyFlags = " << getDependencyFlagsStr(value.dependencyFlags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRenderPassCreateInfo& value) + { + s << "VkRenderPassCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getRenderPassCreateFlagsStr(value.flags) << '\n'; + s << "\tattachmentCount = " << value.attachmentCount << '\n'; + s << "\tpAttachments = " << value.pAttachments << '\n'; + s << "\tsubpassCount = " << value.subpassCount << '\n'; + s << "\tpSubpasses = " << value.pSubpasses << '\n'; + s << "\tdependencyCount = " << value.dependencyCount << '\n'; + s << "\tpDependencies = " << value.pDependencies << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCommandPoolCreateInfo& value) + { + s << "VkCommandPoolCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getCommandPoolCreateFlagsStr(value.flags) << '\n'; + s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCommandBufferAllocateInfo& value) + { + s << "VkCommandBufferAllocateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcommandPool = " << value.commandPool << '\n'; + s << "\tlevel = " << value.level << '\n'; + s << "\tcommandBufferCount = " << value.commandBufferCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceInfo& value) + { + s << "VkCommandBufferInheritanceInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trenderPass = " << value.renderPass << '\n'; + s << "\tsubpass = " << value.subpass << '\n'; + s << "\tframebuffer = " << value.framebuffer << '\n'; + s << "\tocclusionQueryEnable = " << value.occlusionQueryEnable << '\n'; + s << "\tqueryFlags = " << getQueryControlFlagsStr(value.queryFlags) << '\n'; + s << "\tpipelineStatistics = " << getQueryPipelineStatisticFlagsStr(value.pipelineStatistics) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCommandBufferBeginInfo& value) + { + s << "VkCommandBufferBeginInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getCommandBufferUsageFlagsStr(value.flags) << '\n'; + s << "\tpInheritanceInfo = " << value.pInheritanceInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferCopy& value) + { + s << "VkBufferCopy = {\n"; + s << "\tsrcOffset = " << value.srcOffset << '\n'; + s << "\tdstOffset = " << value.dstOffset << '\n'; + s << "\tsize = " << value.size << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageSubresourceLayers& value) + { + s << "VkImageSubresourceLayers = {\n"; + s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; + s << "\tmipLevel = " << value.mipLevel << '\n'; + s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n'; + s << "\tlayerCount = " << value.layerCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferImageCopy& value) + { + s << "VkBufferImageCopy = {\n"; + s << "\tbufferOffset = " << value.bufferOffset << '\n'; + s << "\tbufferRowLength = " << value.bufferRowLength << '\n'; + s << "\tbufferImageHeight = " << value.bufferImageHeight << '\n'; + s << "\timageSubresource = " << value.imageSubresource << '\n'; + s << "\timageOffset = " << value.imageOffset << '\n'; + s << "\timageExtent = " << value.imageExtent << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkClearColorValue& value) + { + s << "VkClearColorValue = {\n"; + s << "\tfloat32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.float32), DE_ARRAY_END(value.float32)) << '\n'; + s << "\tint32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.int32), DE_ARRAY_END(value.int32)) << '\n'; + s << "\tuint32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.uint32), DE_ARRAY_END(value.uint32)) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkClearDepthStencilValue& value) + { + s << "VkClearDepthStencilValue = {\n"; + s << "\tdepth = " << value.depth << '\n'; + s << "\tstencil = " << value.stencil << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkClearValue& value) + { + s << "VkClearValue = {\n"; + s << "\tcolor = " << value.color << '\n'; + s << "\tdepthStencil = " << value.depthStencil << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkClearAttachment& value) + { + s << "VkClearAttachment = {\n"; + s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; + s << "\tcolorAttachment = " << value.colorAttachment << '\n'; + s << "\tclearValue = " << value.clearValue << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkClearRect& value) + { + s << "VkClearRect = {\n"; + s << "\trect = " << value.rect << '\n'; + s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n'; + s << "\tlayerCount = " << value.layerCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageBlit& value) + { + s << "VkImageBlit = {\n"; + s << "\tsrcSubresource = " << value.srcSubresource << '\n'; + s << "\tsrcOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.srcOffsets), DE_ARRAY_END(value.srcOffsets)) << '\n'; + s << "\tdstSubresource = " << value.dstSubresource << '\n'; + s << "\tdstOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.dstOffsets), DE_ARRAY_END(value.dstOffsets)) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageCopy& value) + { + s << "VkImageCopy = {\n"; + s << "\tsrcSubresource = " << value.srcSubresource << '\n'; + s << "\tsrcOffset = " << value.srcOffset << '\n'; + s << "\tdstSubresource = " << value.dstSubresource << '\n'; + s << "\tdstOffset = " << value.dstOffset << '\n'; + s << "\textent = " << value.extent << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageResolve& value) + { + s << "VkImageResolve = {\n"; + s << "\tsrcSubresource = " << value.srcSubresource << '\n'; + s << "\tsrcOffset = " << value.srcOffset << '\n'; + s << "\tdstSubresource = " << value.dstSubresource << '\n'; + s << "\tdstOffset = " << value.dstOffset << '\n'; + s << "\textent = " << value.extent << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRenderPassBeginInfo& value) + { + s << "VkRenderPassBeginInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trenderPass = " << value.renderPass << '\n'; + s << "\tframebuffer = " << value.framebuffer << '\n'; + s << "\trenderArea = " << value.renderArea << '\n'; + s << "\tclearValueCount = " << value.clearValueCount << '\n'; + s << "\tpClearValues = " << value.pClearValues << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupProperties& value) + { + s << "VkPhysicalDeviceSubgroupProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsubgroupSize = " << value.subgroupSize << '\n'; + s << "\tsupportedStages = " << getShaderStageFlagsStr(value.supportedStages) << '\n'; + s << "\tsupportedOperations = " << getSubgroupFeatureFlagsStr(value.supportedOperations) << '\n'; + s << "\tquadOperationsInAllStages = " << value.quadOperationsInAllStages << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBindBufferMemoryInfo& value) + { + s << "VkBindBufferMemoryInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tbuffer = " << value.buffer << '\n'; + s << "\tmemory = " << value.memory << '\n'; + s << "\tmemoryOffset = " << value.memoryOffset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBindImageMemoryInfo& value) + { + s << "VkBindImageMemoryInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\timage = " << value.image << '\n'; + s << "\tmemory = " << value.memory << '\n'; + s << "\tmemoryOffset = " << value.memoryOffset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice16BitStorageFeatures& value) + { + s << "VkPhysicalDevice16BitStorageFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tstorageBuffer16BitAccess = " << value.storageBuffer16BitAccess << '\n'; + s << "\tuniformAndStorageBuffer16BitAccess = " << value.uniformAndStorageBuffer16BitAccess << '\n'; + s << "\tstoragePushConstant16 = " << value.storagePushConstant16 << '\n'; + s << "\tstorageInputOutput16 = " << value.storageInputOutput16 << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryDedicatedRequirements& value) + { + s << "VkMemoryDedicatedRequirements = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tprefersDedicatedAllocation = " << value.prefersDedicatedAllocation << '\n'; + s << "\trequiresDedicatedAllocation = " << value.requiresDedicatedAllocation << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryDedicatedAllocateInfo& value) + { + s << "VkMemoryDedicatedAllocateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\timage = " << value.image << '\n'; + s << "\tbuffer = " << value.buffer << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryAllocateFlagsInfo& value) + { + s << "VkMemoryAllocateFlagsInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getMemoryAllocateFlagsStr(value.flags) << '\n'; + s << "\tdeviceMask = " << value.deviceMask << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceGroupRenderPassBeginInfo& value) + { + s << "VkDeviceGroupRenderPassBeginInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdeviceMask = " << value.deviceMask << '\n'; + s << "\tdeviceRenderAreaCount = " << value.deviceRenderAreaCount << '\n'; + s << "\tpDeviceRenderAreas = " << value.pDeviceRenderAreas << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceGroupCommandBufferBeginInfo& value) + { + s << "VkDeviceGroupCommandBufferBeginInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdeviceMask = " << value.deviceMask << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceGroupSubmitInfo& value) + { + s << "VkDeviceGroupSubmitInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n'; + s << "\tpWaitSemaphoreDeviceIndices = " << value.pWaitSemaphoreDeviceIndices << '\n'; + s << "\tcommandBufferCount = " << value.commandBufferCount << '\n'; + s << "\tpCommandBufferDeviceMasks = " << value.pCommandBufferDeviceMasks << '\n'; + s << "\tsignalSemaphoreCount = " << value.signalSemaphoreCount << '\n'; + s << "\tpSignalSemaphoreDeviceIndices = " << value.pSignalSemaphoreDeviceIndices << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceGroupBindSparseInfo& value) + { + s << "VkDeviceGroupBindSparseInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tresourceDeviceIndex = " << value.resourceDeviceIndex << '\n'; + s << "\tmemoryDeviceIndex = " << value.memoryDeviceIndex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBindBufferMemoryDeviceGroupInfo& value) + { + s << "VkBindBufferMemoryDeviceGroupInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdeviceIndexCount = " << value.deviceIndexCount << '\n'; + s << "\tpDeviceIndices = " << value.pDeviceIndices << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBindImageMemoryDeviceGroupInfo& value) + { + s << "VkBindImageMemoryDeviceGroupInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdeviceIndexCount = " << value.deviceIndexCount << '\n'; + s << "\tpDeviceIndices = " << value.pDeviceIndices << '\n'; + s << "\tsplitInstanceBindRegionCount = " << value.splitInstanceBindRegionCount << '\n'; + s << "\tpSplitInstanceBindRegions = " << value.pSplitInstanceBindRegions << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGroupProperties& value) + { + s << "VkPhysicalDeviceGroupProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tphysicalDeviceCount = " << value.physicalDeviceCount << '\n'; + s << "\tphysicalDevices = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.physicalDevices), DE_ARRAY_END(value.physicalDevices)) << '\n'; + s << "\tsubsetAllocation = " << value.subsetAllocation << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceGroupDeviceCreateInfo& value) + { + s << "VkDeviceGroupDeviceCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tphysicalDeviceCount = " << value.physicalDeviceCount << '\n'; + s << "\tpPhysicalDevices = " << value.pPhysicalDevices << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferMemoryRequirementsInfo2& value) + { + s << "VkBufferMemoryRequirementsInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tbuffer = " << value.buffer << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageMemoryRequirementsInfo2& value) + { + s << "VkImageMemoryRequirementsInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\timage = " << value.image << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageSparseMemoryRequirementsInfo2& value) + { + s << "VkImageSparseMemoryRequirementsInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\timage = " << value.image << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryRequirements2& value) + { + s << "VkMemoryRequirements2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemoryRequirements = " << value.memoryRequirements << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSparseImageMemoryRequirements2& value) + { + s << "VkSparseImageMemoryRequirements2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemoryRequirements = " << value.memoryRequirements << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFeatures2& value) + { + s << "VkPhysicalDeviceFeatures2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfeatures = " << value.features << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProperties2& value) + { + s << "VkPhysicalDeviceProperties2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tproperties = " << value.properties << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkFormatProperties2& value) + { + s << "VkFormatProperties2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tformatProperties = " << value.formatProperties << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageFormatProperties2& value) + { + s << "VkImageFormatProperties2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\timageFormatProperties = " << value.imageFormatProperties << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageFormatInfo2& value) + { + s << "VkPhysicalDeviceImageFormatInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tformat = " << value.format << '\n'; + s << "\ttype = " << value.type << '\n'; + s << "\ttiling = " << value.tiling << '\n'; + s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n'; + s << "\tflags = " << getImageCreateFlagsStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkQueueFamilyProperties2& value) + { + s << "VkQueueFamilyProperties2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tqueueFamilyProperties = " << value.queueFamilyProperties << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryProperties2& value) + { + s << "VkPhysicalDeviceMemoryProperties2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemoryProperties = " << value.memoryProperties << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSparseImageFormatProperties2& value) + { + s << "VkSparseImageFormatProperties2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tproperties = " << value.properties << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSparseImageFormatInfo2& value) + { + s << "VkPhysicalDeviceSparseImageFormatInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tformat = " << value.format << '\n'; + s << "\ttype = " << value.type << '\n'; + s << "\tsamples = " << value.samples << '\n'; + s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n'; + s << "\ttiling = " << value.tiling << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePointClippingProperties& value) + { + s << "VkPhysicalDevicePointClippingProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpointClippingBehavior = " << value.pointClippingBehavior << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkInputAttachmentAspectReference& value) + { + s << "VkInputAttachmentAspectReference = {\n"; + s << "\tsubpass = " << value.subpass << '\n'; + s << "\tinputAttachmentIndex = " << value.inputAttachmentIndex << '\n'; + s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRenderPassInputAttachmentAspectCreateInfo& value) + { + s << "VkRenderPassInputAttachmentAspectCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\taspectReferenceCount = " << value.aspectReferenceCount << '\n'; + s << "\tpAspectReferences = " << value.pAspectReferences << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageViewUsageCreateInfo& value) + { + s << "VkImageViewUsageCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineTessellationDomainOriginStateCreateInfo& value) + { + s << "VkPipelineTessellationDomainOriginStateCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdomainOrigin = " << value.domainOrigin << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRenderPassMultiviewCreateInfo& value) + { + s << "VkRenderPassMultiviewCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsubpassCount = " << value.subpassCount << '\n'; + s << "\tpViewMasks = " << value.pViewMasks << '\n'; + s << "\tdependencyCount = " << value.dependencyCount << '\n'; + s << "\tpViewOffsets = " << value.pViewOffsets << '\n'; + s << "\tcorrelationMaskCount = " << value.correlationMaskCount << '\n'; + s << "\tpCorrelationMasks = " << value.pCorrelationMasks << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiviewFeatures& value) + { + s << "VkPhysicalDeviceMultiviewFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmultiview = " << value.multiview << '\n'; + s << "\tmultiviewGeometryShader = " << value.multiviewGeometryShader << '\n'; + s << "\tmultiviewTessellationShader = " << value.multiviewTessellationShader << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiviewProperties& value) + { + s << "VkPhysicalDeviceMultiviewProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxMultiviewViewCount = " << value.maxMultiviewViewCount << '\n'; + s << "\tmaxMultiviewInstanceIndex = " << value.maxMultiviewInstanceIndex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVariablePointersFeatures& value) + { + s << "VkPhysicalDeviceVariablePointersFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvariablePointersStorageBuffer = " << value.variablePointersStorageBuffer << '\n'; + s << "\tvariablePointers = " << value.variablePointers << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProtectedMemoryFeatures& value) + { + s << "VkPhysicalDeviceProtectedMemoryFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tprotectedMemory = " << value.protectedMemory << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProtectedMemoryProperties& value) + { + s << "VkPhysicalDeviceProtectedMemoryProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tprotectedNoFault = " << value.protectedNoFault << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceQueueInfo2& value) + { + s << "VkDeviceQueueInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getDeviceQueueCreateFlagsStr(value.flags) << '\n'; + s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n'; + s << "\tqueueIndex = " << value.queueIndex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkProtectedSubmitInfo& value) + { + s << "VkProtectedSubmitInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tprotectedSubmit = " << value.protectedSubmit << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSamplerYcbcrConversionCreateInfo& value) + { + s << "VkSamplerYcbcrConversionCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tformat = " << value.format << '\n'; + s << "\tycbcrModel = " << value.ycbcrModel << '\n'; + s << "\tycbcrRange = " << value.ycbcrRange << '\n'; + s << "\tcomponents = " << value.components << '\n'; + s << "\txChromaOffset = " << value.xChromaOffset << '\n'; + s << "\tyChromaOffset = " << value.yChromaOffset << '\n'; + s << "\tchromaFilter = " << value.chromaFilter << '\n'; + s << "\tforceExplicitReconstruction = " << value.forceExplicitReconstruction << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSamplerYcbcrConversionInfo& value) + { + s << "VkSamplerYcbcrConversionInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tconversion = " << value.conversion << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBindImagePlaneMemoryInfo& value) + { + s << "VkBindImagePlaneMemoryInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tplaneAspect = " << value.planeAspect << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImagePlaneMemoryRequirementsInfo& value) + { + s << "VkImagePlaneMemoryRequirementsInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tplaneAspect = " << value.planeAspect << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSamplerYcbcrConversionFeatures& value) + { + s << "VkPhysicalDeviceSamplerYcbcrConversionFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsamplerYcbcrConversion = " << value.samplerYcbcrConversion << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSamplerYcbcrConversionImageFormatProperties& value) + { + s << "VkSamplerYcbcrConversionImageFormatProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcombinedImageSamplerDescriptorCount = " << value.combinedImageSamplerDescriptorCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDescriptorUpdateTemplateEntry& value) + { + s << "VkDescriptorUpdateTemplateEntry = {\n"; + s << "\tdstBinding = " << value.dstBinding << '\n'; + s << "\tdstArrayElement = " << value.dstArrayElement << '\n'; + s << "\tdescriptorCount = " << value.descriptorCount << '\n'; + s << "\tdescriptorType = " << value.descriptorType << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << "\tstride = " << value.stride << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDescriptorUpdateTemplateCreateInfo& value) + { + s << "VkDescriptorUpdateTemplateCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getDescriptorUpdateTemplateCreateFlagsStr(value.flags) << '\n'; + s << "\tdescriptorUpdateEntryCount = " << value.descriptorUpdateEntryCount << '\n'; + s << "\tpDescriptorUpdateEntries = " << value.pDescriptorUpdateEntries << '\n'; + s << "\ttemplateType = " << value.templateType << '\n'; + s << "\tdescriptorSetLayout = " << value.descriptorSetLayout << '\n'; + s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n'; + s << "\tpipelineLayout = " << value.pipelineLayout << '\n'; + s << "\tset = " << value.set << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExternalMemoryProperties& value) + { + s << "VkExternalMemoryProperties = {\n"; + s << "\texternalMemoryFeatures = " << getExternalMemoryFeatureFlagsStr(value.externalMemoryFeatures) << '\n'; + s << "\texportFromImportedHandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.exportFromImportedHandleTypes) << '\n'; + s << "\tcompatibleHandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.compatibleHandleTypes) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalImageFormatInfo& value) + { + s << "VkPhysicalDeviceExternalImageFormatInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExternalImageFormatProperties& value) + { + s << "VkExternalImageFormatProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\texternalMemoryProperties = " << value.externalMemoryProperties << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalBufferInfo& value) + { + s << "VkPhysicalDeviceExternalBufferInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getBufferCreateFlagsStr(value.flags) << '\n'; + s << "\tusage = " << getBufferUsageFlagsStr(value.usage) << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExternalBufferProperties& value) + { + s << "VkExternalBufferProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\texternalMemoryProperties = " << value.externalMemoryProperties << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceIDProperties& value) + { + s << "VkPhysicalDeviceIDProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdeviceUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.deviceUUID)), tcu::Format::HexIterator(DE_ARRAY_END(value.deviceUUID))) << '\n'; + s << "\tdriverUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.driverUUID)), tcu::Format::HexIterator(DE_ARRAY_END(value.driverUUID))) << '\n'; + s << "\tdeviceLUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.deviceLUID)), tcu::Format::HexIterator(DE_ARRAY_END(value.deviceLUID))) << '\n'; + s << "\tdeviceNodeMask = " << value.deviceNodeMask << '\n'; + s << "\tdeviceLUIDValid = " << value.deviceLUIDValid << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExternalMemoryImageCreateInfo& value) + { + s << "VkExternalMemoryImageCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.handleTypes) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExternalMemoryBufferCreateInfo& value) + { + s << "VkExternalMemoryBufferCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.handleTypes) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExportMemoryAllocateInfo& value) + { + s << "VkExportMemoryAllocateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsStr(value.handleTypes) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalFenceInfo& value) + { + s << "VkPhysicalDeviceExternalFenceInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExternalFenceProperties& value) + { + s << "VkExternalFenceProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\texportFromImportedHandleTypes = " << getExternalFenceHandleTypeFlagsStr(value.exportFromImportedHandleTypes) << '\n'; + s << "\tcompatibleHandleTypes = " << getExternalFenceHandleTypeFlagsStr(value.compatibleHandleTypes) << '\n'; + s << "\texternalFenceFeatures = " << getExternalFenceFeatureFlagsStr(value.externalFenceFeatures) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExportFenceCreateInfo& value) + { + s << "VkExportFenceCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleTypes = " << getExternalFenceHandleTypeFlagsStr(value.handleTypes) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExportSemaphoreCreateInfo& value) + { + s << "VkExportSemaphoreCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleTypes = " << getExternalSemaphoreHandleTypeFlagsStr(value.handleTypes) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalSemaphoreInfo& value) + { + s << "VkPhysicalDeviceExternalSemaphoreInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExternalSemaphoreProperties& value) + { + s << "VkExternalSemaphoreProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\texportFromImportedHandleTypes = " << getExternalSemaphoreHandleTypeFlagsStr(value.exportFromImportedHandleTypes) << '\n'; + s << "\tcompatibleHandleTypes = " << getExternalSemaphoreHandleTypeFlagsStr(value.compatibleHandleTypes) << '\n'; + s << "\texternalSemaphoreFeatures = " << getExternalSemaphoreFeatureFlagsStr(value.externalSemaphoreFeatures) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance3Properties& value) + { + s << "VkPhysicalDeviceMaintenance3Properties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxPerSetDescriptors = " << value.maxPerSetDescriptors << '\n'; + s << "\tmaxMemoryAllocationSize = " << value.maxMemoryAllocationSize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutSupport& value) + { + s << "VkDescriptorSetLayoutSupport = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsupported = " << value.supported << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderDrawParametersFeatures& value) + { + s << "VkPhysicalDeviceShaderDrawParametersFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderDrawParameters = " << value.shaderDrawParameters << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan11Features& value) + { + s << "VkPhysicalDeviceVulkan11Features = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tstorageBuffer16BitAccess = " << value.storageBuffer16BitAccess << '\n'; + s << "\tuniformAndStorageBuffer16BitAccess = " << value.uniformAndStorageBuffer16BitAccess << '\n'; + s << "\tstoragePushConstant16 = " << value.storagePushConstant16 << '\n'; + s << "\tstorageInputOutput16 = " << value.storageInputOutput16 << '\n'; + s << "\tmultiview = " << value.multiview << '\n'; + s << "\tmultiviewGeometryShader = " << value.multiviewGeometryShader << '\n'; + s << "\tmultiviewTessellationShader = " << value.multiviewTessellationShader << '\n'; + s << "\tvariablePointersStorageBuffer = " << value.variablePointersStorageBuffer << '\n'; + s << "\tvariablePointers = " << value.variablePointers << '\n'; + s << "\tprotectedMemory = " << value.protectedMemory << '\n'; + s << "\tsamplerYcbcrConversion = " << value.samplerYcbcrConversion << '\n'; + s << "\tshaderDrawParameters = " << value.shaderDrawParameters << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan11Properties& value) + { + s << "VkPhysicalDeviceVulkan11Properties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdeviceUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.deviceUUID)), tcu::Format::HexIterator(DE_ARRAY_END(value.deviceUUID))) << '\n'; + s << "\tdriverUUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.driverUUID)), tcu::Format::HexIterator(DE_ARRAY_END(value.driverUUID))) << '\n'; + s << "\tdeviceLUID = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.deviceLUID)), tcu::Format::HexIterator(DE_ARRAY_END(value.deviceLUID))) << '\n'; + s << "\tdeviceNodeMask = " << value.deviceNodeMask << '\n'; + s << "\tdeviceLUIDValid = " << value.deviceLUIDValid << '\n'; + s << "\tsubgroupSize = " << value.subgroupSize << '\n'; + s << "\tsubgroupSupportedStages = " << getShaderStageFlagsStr(value.subgroupSupportedStages) << '\n'; + s << "\tsubgroupSupportedOperations = " << getSubgroupFeatureFlagsStr(value.subgroupSupportedOperations) << '\n'; + s << "\tsubgroupQuadOperationsInAllStages = " << value.subgroupQuadOperationsInAllStages << '\n'; + s << "\tpointClippingBehavior = " << value.pointClippingBehavior << '\n'; + s << "\tmaxMultiviewViewCount = " << value.maxMultiviewViewCount << '\n'; + s << "\tmaxMultiviewInstanceIndex = " << value.maxMultiviewInstanceIndex << '\n'; + s << "\tprotectedNoFault = " << value.protectedNoFault << '\n'; + s << "\tmaxPerSetDescriptors = " << value.maxPerSetDescriptors << '\n'; + s << "\tmaxMemoryAllocationSize = " << value.maxMemoryAllocationSize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan12Features& value) + { + s << "VkPhysicalDeviceVulkan12Features = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsamplerMirrorClampToEdge = " << value.samplerMirrorClampToEdge << '\n'; + s << "\tdrawIndirectCount = " << value.drawIndirectCount << '\n'; + s << "\tstorageBuffer8BitAccess = " << value.storageBuffer8BitAccess << '\n'; + s << "\tuniformAndStorageBuffer8BitAccess = " << value.uniformAndStorageBuffer8BitAccess << '\n'; + s << "\tstoragePushConstant8 = " << value.storagePushConstant8 << '\n'; + s << "\tshaderBufferInt64Atomics = " << value.shaderBufferInt64Atomics << '\n'; + s << "\tshaderSharedInt64Atomics = " << value.shaderSharedInt64Atomics << '\n'; + s << "\tshaderFloat16 = " << value.shaderFloat16 << '\n'; + s << "\tshaderInt8 = " << value.shaderInt8 << '\n'; + s << "\tdescriptorIndexing = " << value.descriptorIndexing << '\n'; + s << "\tshaderInputAttachmentArrayDynamicIndexing = " << value.shaderInputAttachmentArrayDynamicIndexing << '\n'; + s << "\tshaderUniformTexelBufferArrayDynamicIndexing = " << value.shaderUniformTexelBufferArrayDynamicIndexing << '\n'; + s << "\tshaderStorageTexelBufferArrayDynamicIndexing = " << value.shaderStorageTexelBufferArrayDynamicIndexing << '\n'; + s << "\tshaderUniformBufferArrayNonUniformIndexing = " << value.shaderUniformBufferArrayNonUniformIndexing << '\n'; + s << "\tshaderSampledImageArrayNonUniformIndexing = " << value.shaderSampledImageArrayNonUniformIndexing << '\n'; + s << "\tshaderStorageBufferArrayNonUniformIndexing = " << value.shaderStorageBufferArrayNonUniformIndexing << '\n'; + s << "\tshaderStorageImageArrayNonUniformIndexing = " << value.shaderStorageImageArrayNonUniformIndexing << '\n'; + s << "\tshaderInputAttachmentArrayNonUniformIndexing = " << value.shaderInputAttachmentArrayNonUniformIndexing << '\n'; + s << "\tshaderUniformTexelBufferArrayNonUniformIndexing = " << value.shaderUniformTexelBufferArrayNonUniformIndexing << '\n'; + s << "\tshaderStorageTexelBufferArrayNonUniformIndexing = " << value.shaderStorageTexelBufferArrayNonUniformIndexing << '\n'; + s << "\tdescriptorBindingUniformBufferUpdateAfterBind = " << value.descriptorBindingUniformBufferUpdateAfterBind << '\n'; + s << "\tdescriptorBindingSampledImageUpdateAfterBind = " << value.descriptorBindingSampledImageUpdateAfterBind << '\n'; + s << "\tdescriptorBindingStorageImageUpdateAfterBind = " << value.descriptorBindingStorageImageUpdateAfterBind << '\n'; + s << "\tdescriptorBindingStorageBufferUpdateAfterBind = " << value.descriptorBindingStorageBufferUpdateAfterBind << '\n'; + s << "\tdescriptorBindingUniformTexelBufferUpdateAfterBind = " << value.descriptorBindingUniformTexelBufferUpdateAfterBind << '\n'; + s << "\tdescriptorBindingStorageTexelBufferUpdateAfterBind = " << value.descriptorBindingStorageTexelBufferUpdateAfterBind << '\n'; + s << "\tdescriptorBindingUpdateUnusedWhilePending = " << value.descriptorBindingUpdateUnusedWhilePending << '\n'; + s << "\tdescriptorBindingPartiallyBound = " << value.descriptorBindingPartiallyBound << '\n'; + s << "\tdescriptorBindingVariableDescriptorCount = " << value.descriptorBindingVariableDescriptorCount << '\n'; + s << "\truntimeDescriptorArray = " << value.runtimeDescriptorArray << '\n'; + s << "\tsamplerFilterMinmax = " << value.samplerFilterMinmax << '\n'; + s << "\tscalarBlockLayout = " << value.scalarBlockLayout << '\n'; + s << "\timagelessFramebuffer = " << value.imagelessFramebuffer << '\n'; + s << "\tuniformBufferStandardLayout = " << value.uniformBufferStandardLayout << '\n'; + s << "\tshaderSubgroupExtendedTypes = " << value.shaderSubgroupExtendedTypes << '\n'; + s << "\tseparateDepthStencilLayouts = " << value.separateDepthStencilLayouts << '\n'; + s << "\thostQueryReset = " << value.hostQueryReset << '\n'; + s << "\ttimelineSemaphore = " << value.timelineSemaphore << '\n'; + s << "\tbufferDeviceAddress = " << value.bufferDeviceAddress << '\n'; + s << "\tbufferDeviceAddressCaptureReplay = " << value.bufferDeviceAddressCaptureReplay << '\n'; + s << "\tbufferDeviceAddressMultiDevice = " << value.bufferDeviceAddressMultiDevice << '\n'; + s << "\tvulkanMemoryModel = " << value.vulkanMemoryModel << '\n'; + s << "\tvulkanMemoryModelDeviceScope = " << value.vulkanMemoryModelDeviceScope << '\n'; + s << "\tvulkanMemoryModelAvailabilityVisibilityChains = " << value.vulkanMemoryModelAvailabilityVisibilityChains << '\n'; + s << "\tshaderOutputViewportIndex = " << value.shaderOutputViewportIndex << '\n'; + s << "\tshaderOutputLayer = " << value.shaderOutputLayer << '\n'; + s << "\tsubgroupBroadcastDynamicId = " << value.subgroupBroadcastDynamicId << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkConformanceVersion& value) + { + s << "VkConformanceVersion = {\n"; + s << "\tmajor = " << value.major << '\n'; + s << "\tminor = " << value.minor << '\n'; + s << "\tsubminor = " << value.subminor << '\n'; + s << "\tpatch = " << value.patch << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan12Properties& value) + { + s << "VkPhysicalDeviceVulkan12Properties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdriverID = " << value.driverID << '\n'; + s << "\tdriverName = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.driverName)), tcu::Format::HexIterator(DE_ARRAY_END(value.driverName))) << '\n'; + s << "\tdriverInfo = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.driverInfo)), tcu::Format::HexIterator(DE_ARRAY_END(value.driverInfo))) << '\n'; + s << "\tconformanceVersion = " << value.conformanceVersion << '\n'; + s << "\tdenormBehaviorIndependence = " << value.denormBehaviorIndependence << '\n'; + s << "\troundingModeIndependence = " << value.roundingModeIndependence << '\n'; + s << "\tshaderSignedZeroInfNanPreserveFloat16 = " << value.shaderSignedZeroInfNanPreserveFloat16 << '\n'; + s << "\tshaderSignedZeroInfNanPreserveFloat32 = " << value.shaderSignedZeroInfNanPreserveFloat32 << '\n'; + s << "\tshaderSignedZeroInfNanPreserveFloat64 = " << value.shaderSignedZeroInfNanPreserveFloat64 << '\n'; + s << "\tshaderDenormPreserveFloat16 = " << value.shaderDenormPreserveFloat16 << '\n'; + s << "\tshaderDenormPreserveFloat32 = " << value.shaderDenormPreserveFloat32 << '\n'; + s << "\tshaderDenormPreserveFloat64 = " << value.shaderDenormPreserveFloat64 << '\n'; + s << "\tshaderDenormFlushToZeroFloat16 = " << value.shaderDenormFlushToZeroFloat16 << '\n'; + s << "\tshaderDenormFlushToZeroFloat32 = " << value.shaderDenormFlushToZeroFloat32 << '\n'; + s << "\tshaderDenormFlushToZeroFloat64 = " << value.shaderDenormFlushToZeroFloat64 << '\n'; + s << "\tshaderRoundingModeRTEFloat16 = " << value.shaderRoundingModeRTEFloat16 << '\n'; + s << "\tshaderRoundingModeRTEFloat32 = " << value.shaderRoundingModeRTEFloat32 << '\n'; + s << "\tshaderRoundingModeRTEFloat64 = " << value.shaderRoundingModeRTEFloat64 << '\n'; + s << "\tshaderRoundingModeRTZFloat16 = " << value.shaderRoundingModeRTZFloat16 << '\n'; + s << "\tshaderRoundingModeRTZFloat32 = " << value.shaderRoundingModeRTZFloat32 << '\n'; + s << "\tshaderRoundingModeRTZFloat64 = " << value.shaderRoundingModeRTZFloat64 << '\n'; + s << "\tmaxUpdateAfterBindDescriptorsInAllPools = " << value.maxUpdateAfterBindDescriptorsInAllPools << '\n'; + s << "\tshaderUniformBufferArrayNonUniformIndexingNative = " << value.shaderUniformBufferArrayNonUniformIndexingNative << '\n'; + s << "\tshaderSampledImageArrayNonUniformIndexingNative = " << value.shaderSampledImageArrayNonUniformIndexingNative << '\n'; + s << "\tshaderStorageBufferArrayNonUniformIndexingNative = " << value.shaderStorageBufferArrayNonUniformIndexingNative << '\n'; + s << "\tshaderStorageImageArrayNonUniformIndexingNative = " << value.shaderStorageImageArrayNonUniformIndexingNative << '\n'; + s << "\tshaderInputAttachmentArrayNonUniformIndexingNative = " << value.shaderInputAttachmentArrayNonUniformIndexingNative << '\n'; + s << "\trobustBufferAccessUpdateAfterBind = " << value.robustBufferAccessUpdateAfterBind << '\n'; + s << "\tquadDivergentImplicitLod = " << value.quadDivergentImplicitLod << '\n'; + s << "\tmaxPerStageDescriptorUpdateAfterBindSamplers = " << value.maxPerStageDescriptorUpdateAfterBindSamplers << '\n'; + s << "\tmaxPerStageDescriptorUpdateAfterBindUniformBuffers = " << value.maxPerStageDescriptorUpdateAfterBindUniformBuffers << '\n'; + s << "\tmaxPerStageDescriptorUpdateAfterBindStorageBuffers = " << value.maxPerStageDescriptorUpdateAfterBindStorageBuffers << '\n'; + s << "\tmaxPerStageDescriptorUpdateAfterBindSampledImages = " << value.maxPerStageDescriptorUpdateAfterBindSampledImages << '\n'; + s << "\tmaxPerStageDescriptorUpdateAfterBindStorageImages = " << value.maxPerStageDescriptorUpdateAfterBindStorageImages << '\n'; + s << "\tmaxPerStageDescriptorUpdateAfterBindInputAttachments = " << value.maxPerStageDescriptorUpdateAfterBindInputAttachments << '\n'; + s << "\tmaxPerStageUpdateAfterBindResources = " << value.maxPerStageUpdateAfterBindResources << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindSamplers = " << value.maxDescriptorSetUpdateAfterBindSamplers << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindUniformBuffers = " << value.maxDescriptorSetUpdateAfterBindUniformBuffers << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindUniformBuffersDynamic = " << value.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindStorageBuffers = " << value.maxDescriptorSetUpdateAfterBindStorageBuffers << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindStorageBuffersDynamic = " << value.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindSampledImages = " << value.maxDescriptorSetUpdateAfterBindSampledImages << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindStorageImages = " << value.maxDescriptorSetUpdateAfterBindStorageImages << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindInputAttachments = " << value.maxDescriptorSetUpdateAfterBindInputAttachments << '\n'; + s << "\tsupportedDepthResolveModes = " << getResolveModeFlagsStr(value.supportedDepthResolveModes) << '\n'; + s << "\tsupportedStencilResolveModes = " << getResolveModeFlagsStr(value.supportedStencilResolveModes) << '\n'; + s << "\tindependentResolveNone = " << value.independentResolveNone << '\n'; + s << "\tindependentResolve = " << value.independentResolve << '\n'; + s << "\tfilterMinmaxSingleComponentFormats = " << value.filterMinmaxSingleComponentFormats << '\n'; + s << "\tfilterMinmaxImageComponentMapping = " << value.filterMinmaxImageComponentMapping << '\n'; + s << "\tmaxTimelineSemaphoreValueDifference = " << value.maxTimelineSemaphoreValueDifference << '\n'; + s << "\tframebufferIntegerColorSampleCounts = " << getSampleCountFlagsStr(value.framebufferIntegerColorSampleCounts) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageFormatListCreateInfo& value) + { + s << "VkImageFormatListCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tviewFormatCount = " << value.viewFormatCount << '\n'; + s << "\tpViewFormats = " << value.pViewFormats << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAttachmentDescription2& value) + { + s << "VkAttachmentDescription2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getAttachmentDescriptionFlagsStr(value.flags) << '\n'; + s << "\tformat = " << value.format << '\n'; + s << "\tsamples = " << value.samples << '\n'; + s << "\tloadOp = " << value.loadOp << '\n'; + s << "\tstoreOp = " << value.storeOp << '\n'; + s << "\tstencilLoadOp = " << value.stencilLoadOp << '\n'; + s << "\tstencilStoreOp = " << value.stencilStoreOp << '\n'; + s << "\tinitialLayout = " << value.initialLayout << '\n'; + s << "\tfinalLayout = " << value.finalLayout << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAttachmentReference2& value) + { + s << "VkAttachmentReference2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tattachment = " << value.attachment << '\n'; + s << "\tlayout = " << value.layout << '\n'; + s << "\taspectMask = " << getImageAspectFlagsStr(value.aspectMask) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSubpassDescription2& value) + { + s << "VkSubpassDescription2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getSubpassDescriptionFlagsStr(value.flags) << '\n'; + s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n'; + s << "\tviewMask = " << value.viewMask << '\n'; + s << "\tinputAttachmentCount = " << value.inputAttachmentCount << '\n'; + s << "\tpInputAttachments = " << value.pInputAttachments << '\n'; + s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n'; + s << "\tpColorAttachments = " << value.pColorAttachments << '\n'; + s << "\tpResolveAttachments = " << value.pResolveAttachments << '\n'; + s << "\tpDepthStencilAttachment = " << value.pDepthStencilAttachment << '\n'; + s << "\tpreserveAttachmentCount = " << value.preserveAttachmentCount << '\n'; + s << "\tpPreserveAttachments = " << value.pPreserveAttachments << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSubpassDependency2& value) + { + s << "VkSubpassDependency2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsrcSubpass = " << value.srcSubpass << '\n'; + s << "\tdstSubpass = " << value.dstSubpass << '\n'; + s << "\tsrcStageMask = " << getPipelineStageFlagsStr(value.srcStageMask) << '\n'; + s << "\tdstStageMask = " << getPipelineStageFlagsStr(value.dstStageMask) << '\n'; + s << "\tsrcAccessMask = " << getAccessFlagsStr(value.srcAccessMask) << '\n'; + s << "\tdstAccessMask = " << getAccessFlagsStr(value.dstAccessMask) << '\n'; + s << "\tdependencyFlags = " << getDependencyFlagsStr(value.dependencyFlags) << '\n'; + s << "\tviewOffset = " << value.viewOffset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRenderPassCreateInfo2& value) + { + s << "VkRenderPassCreateInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getRenderPassCreateFlagsStr(value.flags) << '\n'; + s << "\tattachmentCount = " << value.attachmentCount << '\n'; + s << "\tpAttachments = " << value.pAttachments << '\n'; + s << "\tsubpassCount = " << value.subpassCount << '\n'; + s << "\tpSubpasses = " << value.pSubpasses << '\n'; + s << "\tdependencyCount = " << value.dependencyCount << '\n'; + s << "\tpDependencies = " << value.pDependencies << '\n'; + s << "\tcorrelatedViewMaskCount = " << value.correlatedViewMaskCount << '\n'; + s << "\tpCorrelatedViewMasks = " << value.pCorrelatedViewMasks << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSubpassBeginInfo& value) + { + s << "VkSubpassBeginInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcontents = " << value.contents << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSubpassEndInfo& value) + { + s << "VkSubpassEndInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice8BitStorageFeatures& value) + { + s << "VkPhysicalDevice8BitStorageFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tstorageBuffer8BitAccess = " << value.storageBuffer8BitAccess << '\n'; + s << "\tuniformAndStorageBuffer8BitAccess = " << value.uniformAndStorageBuffer8BitAccess << '\n'; + s << "\tstoragePushConstant8 = " << value.storagePushConstant8 << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDriverProperties& value) + { + s << "VkPhysicalDeviceDriverProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdriverID = " << value.driverID << '\n'; + s << "\tdriverName = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.driverName)), tcu::Format::HexIterator(DE_ARRAY_END(value.driverName))) << '\n'; + s << "\tdriverInfo = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.driverInfo)), tcu::Format::HexIterator(DE_ARRAY_END(value.driverInfo))) << '\n'; + s << "\tconformanceVersion = " << value.conformanceVersion << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderAtomicInt64Features& value) + { + s << "VkPhysicalDeviceShaderAtomicInt64Features = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderBufferInt64Atomics = " << value.shaderBufferInt64Atomics << '\n'; + s << "\tshaderSharedInt64Atomics = " << value.shaderSharedInt64Atomics << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderFloat16Int8Features& value) + { + s << "VkPhysicalDeviceShaderFloat16Int8Features = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderFloat16 = " << value.shaderFloat16 << '\n'; + s << "\tshaderInt8 = " << value.shaderInt8 << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFloatControlsProperties& value) + { + s << "VkPhysicalDeviceFloatControlsProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdenormBehaviorIndependence = " << value.denormBehaviorIndependence << '\n'; + s << "\troundingModeIndependence = " << value.roundingModeIndependence << '\n'; + s << "\tshaderSignedZeroInfNanPreserveFloat16 = " << value.shaderSignedZeroInfNanPreserveFloat16 << '\n'; + s << "\tshaderSignedZeroInfNanPreserveFloat32 = " << value.shaderSignedZeroInfNanPreserveFloat32 << '\n'; + s << "\tshaderSignedZeroInfNanPreserveFloat64 = " << value.shaderSignedZeroInfNanPreserveFloat64 << '\n'; + s << "\tshaderDenormPreserveFloat16 = " << value.shaderDenormPreserveFloat16 << '\n'; + s << "\tshaderDenormPreserveFloat32 = " << value.shaderDenormPreserveFloat32 << '\n'; + s << "\tshaderDenormPreserveFloat64 = " << value.shaderDenormPreserveFloat64 << '\n'; + s << "\tshaderDenormFlushToZeroFloat16 = " << value.shaderDenormFlushToZeroFloat16 << '\n'; + s << "\tshaderDenormFlushToZeroFloat32 = " << value.shaderDenormFlushToZeroFloat32 << '\n'; + s << "\tshaderDenormFlushToZeroFloat64 = " << value.shaderDenormFlushToZeroFloat64 << '\n'; + s << "\tshaderRoundingModeRTEFloat16 = " << value.shaderRoundingModeRTEFloat16 << '\n'; + s << "\tshaderRoundingModeRTEFloat32 = " << value.shaderRoundingModeRTEFloat32 << '\n'; + s << "\tshaderRoundingModeRTEFloat64 = " << value.shaderRoundingModeRTEFloat64 << '\n'; + s << "\tshaderRoundingModeRTZFloat16 = " << value.shaderRoundingModeRTZFloat16 << '\n'; + s << "\tshaderRoundingModeRTZFloat32 = " << value.shaderRoundingModeRTZFloat32 << '\n'; + s << "\tshaderRoundingModeRTZFloat64 = " << value.shaderRoundingModeRTZFloat64 << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetLayoutBindingFlagsCreateInfo& value) + { + s << "VkDescriptorSetLayoutBindingFlagsCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tbindingCount = " << value.bindingCount << '\n'; + s << "\tpBindingFlags = " << value.pBindingFlags << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDescriptorIndexingFeatures& value) + { + s << "VkPhysicalDeviceDescriptorIndexingFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderInputAttachmentArrayDynamicIndexing = " << value.shaderInputAttachmentArrayDynamicIndexing << '\n'; + s << "\tshaderUniformTexelBufferArrayDynamicIndexing = " << value.shaderUniformTexelBufferArrayDynamicIndexing << '\n'; + s << "\tshaderStorageTexelBufferArrayDynamicIndexing = " << value.shaderStorageTexelBufferArrayDynamicIndexing << '\n'; + s << "\tshaderUniformBufferArrayNonUniformIndexing = " << value.shaderUniformBufferArrayNonUniformIndexing << '\n'; + s << "\tshaderSampledImageArrayNonUniformIndexing = " << value.shaderSampledImageArrayNonUniformIndexing << '\n'; + s << "\tshaderStorageBufferArrayNonUniformIndexing = " << value.shaderStorageBufferArrayNonUniformIndexing << '\n'; + s << "\tshaderStorageImageArrayNonUniformIndexing = " << value.shaderStorageImageArrayNonUniformIndexing << '\n'; + s << "\tshaderInputAttachmentArrayNonUniformIndexing = " << value.shaderInputAttachmentArrayNonUniformIndexing << '\n'; + s << "\tshaderUniformTexelBufferArrayNonUniformIndexing = " << value.shaderUniformTexelBufferArrayNonUniformIndexing << '\n'; + s << "\tshaderStorageTexelBufferArrayNonUniformIndexing = " << value.shaderStorageTexelBufferArrayNonUniformIndexing << '\n'; + s << "\tdescriptorBindingUniformBufferUpdateAfterBind = " << value.descriptorBindingUniformBufferUpdateAfterBind << '\n'; + s << "\tdescriptorBindingSampledImageUpdateAfterBind = " << value.descriptorBindingSampledImageUpdateAfterBind << '\n'; + s << "\tdescriptorBindingStorageImageUpdateAfterBind = " << value.descriptorBindingStorageImageUpdateAfterBind << '\n'; + s << "\tdescriptorBindingStorageBufferUpdateAfterBind = " << value.descriptorBindingStorageBufferUpdateAfterBind << '\n'; + s << "\tdescriptorBindingUniformTexelBufferUpdateAfterBind = " << value.descriptorBindingUniformTexelBufferUpdateAfterBind << '\n'; + s << "\tdescriptorBindingStorageTexelBufferUpdateAfterBind = " << value.descriptorBindingStorageTexelBufferUpdateAfterBind << '\n'; + s << "\tdescriptorBindingUpdateUnusedWhilePending = " << value.descriptorBindingUpdateUnusedWhilePending << '\n'; + s << "\tdescriptorBindingPartiallyBound = " << value.descriptorBindingPartiallyBound << '\n'; + s << "\tdescriptorBindingVariableDescriptorCount = " << value.descriptorBindingVariableDescriptorCount << '\n'; + s << "\truntimeDescriptorArray = " << value.runtimeDescriptorArray << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDescriptorIndexingProperties& value) + { + s << "VkPhysicalDeviceDescriptorIndexingProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxUpdateAfterBindDescriptorsInAllPools = " << value.maxUpdateAfterBindDescriptorsInAllPools << '\n'; + s << "\tshaderUniformBufferArrayNonUniformIndexingNative = " << value.shaderUniformBufferArrayNonUniformIndexingNative << '\n'; + s << "\tshaderSampledImageArrayNonUniformIndexingNative = " << value.shaderSampledImageArrayNonUniformIndexingNative << '\n'; + s << "\tshaderStorageBufferArrayNonUniformIndexingNative = " << value.shaderStorageBufferArrayNonUniformIndexingNative << '\n'; + s << "\tshaderStorageImageArrayNonUniformIndexingNative = " << value.shaderStorageImageArrayNonUniformIndexingNative << '\n'; + s << "\tshaderInputAttachmentArrayNonUniformIndexingNative = " << value.shaderInputAttachmentArrayNonUniformIndexingNative << '\n'; + s << "\trobustBufferAccessUpdateAfterBind = " << value.robustBufferAccessUpdateAfterBind << '\n'; + s << "\tquadDivergentImplicitLod = " << value.quadDivergentImplicitLod << '\n'; + s << "\tmaxPerStageDescriptorUpdateAfterBindSamplers = " << value.maxPerStageDescriptorUpdateAfterBindSamplers << '\n'; + s << "\tmaxPerStageDescriptorUpdateAfterBindUniformBuffers = " << value.maxPerStageDescriptorUpdateAfterBindUniformBuffers << '\n'; + s << "\tmaxPerStageDescriptorUpdateAfterBindStorageBuffers = " << value.maxPerStageDescriptorUpdateAfterBindStorageBuffers << '\n'; + s << "\tmaxPerStageDescriptorUpdateAfterBindSampledImages = " << value.maxPerStageDescriptorUpdateAfterBindSampledImages << '\n'; + s << "\tmaxPerStageDescriptorUpdateAfterBindStorageImages = " << value.maxPerStageDescriptorUpdateAfterBindStorageImages << '\n'; + s << "\tmaxPerStageDescriptorUpdateAfterBindInputAttachments = " << value.maxPerStageDescriptorUpdateAfterBindInputAttachments << '\n'; + s << "\tmaxPerStageUpdateAfterBindResources = " << value.maxPerStageUpdateAfterBindResources << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindSamplers = " << value.maxDescriptorSetUpdateAfterBindSamplers << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindUniformBuffers = " << value.maxDescriptorSetUpdateAfterBindUniformBuffers << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindUniformBuffersDynamic = " << value.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindStorageBuffers = " << value.maxDescriptorSetUpdateAfterBindStorageBuffers << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindStorageBuffersDynamic = " << value.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindSampledImages = " << value.maxDescriptorSetUpdateAfterBindSampledImages << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindStorageImages = " << value.maxDescriptorSetUpdateAfterBindStorageImages << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindInputAttachments = " << value.maxDescriptorSetUpdateAfterBindInputAttachments << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetVariableDescriptorCountAllocateInfo& value) + { + s << "VkDescriptorSetVariableDescriptorCountAllocateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdescriptorSetCount = " << value.descriptorSetCount << '\n'; + s << "\tpDescriptorCounts = " << value.pDescriptorCounts << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDescriptorSetVariableDescriptorCountLayoutSupport& value) + { + s << "VkDescriptorSetVariableDescriptorCountLayoutSupport = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxVariableDescriptorCount = " << value.maxVariableDescriptorCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSubpassDescriptionDepthStencilResolve& value) + { + s << "VkSubpassDescriptionDepthStencilResolve = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdepthResolveMode = " << value.depthResolveMode << '\n'; + s << "\tstencilResolveMode = " << value.stencilResolveMode << '\n'; + s << "\tpDepthStencilResolveAttachment = " << value.pDepthStencilResolveAttachment << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDepthStencilResolveProperties& value) + { + s << "VkPhysicalDeviceDepthStencilResolveProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsupportedDepthResolveModes = " << getResolveModeFlagsStr(value.supportedDepthResolveModes) << '\n'; + s << "\tsupportedStencilResolveModes = " << getResolveModeFlagsStr(value.supportedStencilResolveModes) << '\n'; + s << "\tindependentResolveNone = " << value.independentResolveNone << '\n'; + s << "\tindependentResolve = " << value.independentResolve << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceScalarBlockLayoutFeatures& value) + { + s << "VkPhysicalDeviceScalarBlockLayoutFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tscalarBlockLayout = " << value.scalarBlockLayout << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageStencilUsageCreateInfo& value) + { + s << "VkImageStencilUsageCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tstencilUsage = " << getImageUsageFlagsStr(value.stencilUsage) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSamplerReductionModeCreateInfo& value) + { + s << "VkSamplerReductionModeCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\treductionMode = " << value.reductionMode << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSamplerFilterMinmaxProperties& value) + { + s << "VkPhysicalDeviceSamplerFilterMinmaxProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfilterMinmaxSingleComponentFormats = " << value.filterMinmaxSingleComponentFormats << '\n'; + s << "\tfilterMinmaxImageComponentMapping = " << value.filterMinmaxImageComponentMapping << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkanMemoryModelFeatures& value) + { + s << "VkPhysicalDeviceVulkanMemoryModelFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvulkanMemoryModel = " << value.vulkanMemoryModel << '\n'; + s << "\tvulkanMemoryModelDeviceScope = " << value.vulkanMemoryModelDeviceScope << '\n'; + s << "\tvulkanMemoryModelAvailabilityVisibilityChains = " << value.vulkanMemoryModelAvailabilityVisibilityChains << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImagelessFramebufferFeatures& value) + { + s << "VkPhysicalDeviceImagelessFramebufferFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\timagelessFramebuffer = " << value.imagelessFramebuffer << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkFramebufferAttachmentImageInfo& value) + { + s << "VkFramebufferAttachmentImageInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getImageCreateFlagsStr(value.flags) << '\n'; + s << "\tusage = " << getImageUsageFlagsStr(value.usage) << '\n'; + s << "\twidth = " << value.width << '\n'; + s << "\theight = " << value.height << '\n'; + s << "\tlayerCount = " << value.layerCount << '\n'; + s << "\tviewFormatCount = " << value.viewFormatCount << '\n'; + s << "\tpViewFormats = " << value.pViewFormats << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkFramebufferAttachmentsCreateInfo& value) + { + s << "VkFramebufferAttachmentsCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tattachmentImageInfoCount = " << value.attachmentImageInfoCount << '\n'; + s << "\tpAttachmentImageInfos = " << value.pAttachmentImageInfos << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRenderPassAttachmentBeginInfo& value) + { + s << "VkRenderPassAttachmentBeginInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tattachmentCount = " << value.attachmentCount << '\n'; + s << "\tpAttachments = " << value.pAttachments << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceUniformBufferStandardLayoutFeatures& value) + { + s << "VkPhysicalDeviceUniformBufferStandardLayoutFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tuniformBufferStandardLayout = " << value.uniformBufferStandardLayout << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& value) + { + s << "VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderSubgroupExtendedTypes = " << value.shaderSubgroupExtendedTypes << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& value) + { + s << "VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tseparateDepthStencilLayouts = " << value.separateDepthStencilLayouts << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAttachmentReferenceStencilLayout& value) + { + s << "VkAttachmentReferenceStencilLayout = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tstencilLayout = " << value.stencilLayout << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAttachmentDescriptionStencilLayout& value) + { + s << "VkAttachmentDescriptionStencilLayout = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tstencilInitialLayout = " << value.stencilInitialLayout << '\n'; + s << "\tstencilFinalLayout = " << value.stencilFinalLayout << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceHostQueryResetFeatures& value) + { + s << "VkPhysicalDeviceHostQueryResetFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thostQueryReset = " << value.hostQueryReset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTimelineSemaphoreFeatures& value) + { + s << "VkPhysicalDeviceTimelineSemaphoreFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttimelineSemaphore = " << value.timelineSemaphore << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTimelineSemaphoreProperties& value) + { + s << "VkPhysicalDeviceTimelineSemaphoreProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxTimelineSemaphoreValueDifference = " << value.maxTimelineSemaphoreValueDifference << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSemaphoreTypeCreateInfo& value) + { + s << "VkSemaphoreTypeCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsemaphoreType = " << value.semaphoreType << '\n'; + s << "\tinitialValue = " << value.initialValue << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkTimelineSemaphoreSubmitInfo& value) + { + s << "VkTimelineSemaphoreSubmitInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\twaitSemaphoreValueCount = " << value.waitSemaphoreValueCount << '\n'; + s << "\tpWaitSemaphoreValues = " << value.pWaitSemaphoreValues << '\n'; + s << "\tsignalSemaphoreValueCount = " << value.signalSemaphoreValueCount << '\n'; + s << "\tpSignalSemaphoreValues = " << value.pSignalSemaphoreValues << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSemaphoreWaitInfo& value) + { + s << "VkSemaphoreWaitInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getSemaphoreWaitFlagsStr(value.flags) << '\n'; + s << "\tsemaphoreCount = " << value.semaphoreCount << '\n'; + s << "\tpSemaphores = " << value.pSemaphores << '\n'; + s << "\tpValues = " << value.pValues << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSemaphoreSignalInfo& value) + { + s << "VkSemaphoreSignalInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsemaphore = " << value.semaphore << '\n'; + s << "\tvalue = " << value.value << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBufferDeviceAddressFeatures& value) + { + s << "VkPhysicalDeviceBufferDeviceAddressFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tbufferDeviceAddress = " << value.bufferDeviceAddress << '\n'; + s << "\tbufferDeviceAddressCaptureReplay = " << value.bufferDeviceAddressCaptureReplay << '\n'; + s << "\tbufferDeviceAddressMultiDevice = " << value.bufferDeviceAddressMultiDevice << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferDeviceAddressInfo& value) + { + s << "VkBufferDeviceAddressInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tbuffer = " << value.buffer << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferOpaqueCaptureAddressCreateInfo& value) + { + s << "VkBufferOpaqueCaptureAddressCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\topaqueCaptureAddress = " << value.opaqueCaptureAddress << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryOpaqueCaptureAddressAllocateInfo& value) + { + s << "VkMemoryOpaqueCaptureAddressAllocateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\topaqueCaptureAddress = " << value.opaqueCaptureAddress << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceMemoryOpaqueCaptureAddressInfo& value) + { + s << "VkDeviceMemoryOpaqueCaptureAddressInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemory = " << value.memory << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilitiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan13Features& value) + { - s << "VkSurfaceCapabilitiesKHR = {\n"; - s << "\tminImageCount = " << value.minImageCount << '\n'; - s << "\tmaxImageCount = " << value.maxImageCount << '\n'; - s << "\tcurrentExtent = " << value.currentExtent << '\n'; - s << "\tminImageExtent = " << value.minImageExtent << '\n'; - s << "\tmaxImageExtent = " << value.maxImageExtent << '\n'; - s << "\tmaxImageArrayLayers = " << value.maxImageArrayLayers << '\n'; - s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n'; - s << "\tcurrentTransform = " << value.currentTransform << '\n'; - s << "\tsupportedCompositeAlpha = " << getCompositeAlphaFlagsKHRStr(value.supportedCompositeAlpha) << '\n'; - s << "\tsupportedUsageFlags = " << getImageUsageFlagsStr(value.supportedUsageFlags) << '\n'; ++ s << "VkPhysicalDeviceVulkan13Features = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\trobustImageAccess = " << value.robustImageAccess << '\n'; ++ s << "\tinlineUniformBlock = " << value.inlineUniformBlock << '\n'; ++ s << "\tdescriptorBindingInlineUniformBlockUpdateAfterBind = " << value.descriptorBindingInlineUniformBlockUpdateAfterBind << '\n'; ++ s << "\tpipelineCreationCacheControl = " << value.pipelineCreationCacheControl << '\n'; ++ s << "\tprivateData = " << value.privateData << '\n'; ++ s << "\tshaderDemoteToHelperInvocation = " << value.shaderDemoteToHelperInvocation << '\n'; ++ s << "\tshaderTerminateInvocation = " << value.shaderTerminateInvocation << '\n'; ++ s << "\tsubgroupSizeControl = " << value.subgroupSizeControl << '\n'; ++ s << "\tcomputeFullSubgroups = " << value.computeFullSubgroups << '\n'; ++ s << "\tsynchronization2 = " << value.synchronization2 << '\n'; ++ s << "\ttextureCompressionASTC_HDR = " << value.textureCompressionASTC_HDR << '\n'; ++ s << "\tshaderZeroInitializeWorkgroupMemory = " << value.shaderZeroInitializeWorkgroupMemory << '\n'; ++ s << "\tdynamicRendering = " << value.dynamicRendering << '\n'; ++ s << "\tshaderIntegerDotProduct = " << value.shaderIntegerDotProduct << '\n'; ++ s << "\tmaintenance4 = " << value.maintenance4 << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkSurfaceFormatKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVulkan13Properties& value) + { - s << "VkSurfaceFormatKHR = {\n"; - s << "\tformat = " << value.format << '\n'; - s << "\tcolorSpace = " << value.colorSpace << '\n'; ++ s << "VkPhysicalDeviceVulkan13Properties = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tminSubgroupSize = " << value.minSubgroupSize << '\n'; ++ s << "\tmaxSubgroupSize = " << value.maxSubgroupSize << '\n'; ++ s << "\tmaxComputeWorkgroupSubgroups = " << value.maxComputeWorkgroupSubgroups << '\n'; ++ s << "\trequiredSubgroupSizeStages = " << getShaderStageFlagsStr(value.requiredSubgroupSizeStages) << '\n'; ++ s << "\tmaxInlineUniformBlockSize = " << value.maxInlineUniformBlockSize << '\n'; ++ s << "\tmaxPerStageDescriptorInlineUniformBlocks = " << value.maxPerStageDescriptorInlineUniformBlocks << '\n'; ++ s << "\tmaxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = " << value.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks << '\n'; ++ s << "\tmaxDescriptorSetInlineUniformBlocks = " << value.maxDescriptorSetInlineUniformBlocks << '\n'; ++ s << "\tmaxDescriptorSetUpdateAfterBindInlineUniformBlocks = " << value.maxDescriptorSetUpdateAfterBindInlineUniformBlocks << '\n'; ++ s << "\tmaxInlineUniformTotalSize = " << value.maxInlineUniformTotalSize << '\n'; ++ s << "\tintegerDotProduct8BitUnsignedAccelerated = " << value.integerDotProduct8BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProduct8BitSignedAccelerated = " << value.integerDotProduct8BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProduct8BitMixedSignednessAccelerated = " << value.integerDotProduct8BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProduct4x8BitPackedUnsignedAccelerated = " << value.integerDotProduct4x8BitPackedUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProduct4x8BitPackedSignedAccelerated = " << value.integerDotProduct4x8BitPackedSignedAccelerated << '\n'; ++ s << "\tintegerDotProduct4x8BitPackedMixedSignednessAccelerated = " << value.integerDotProduct4x8BitPackedMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProduct16BitUnsignedAccelerated = " << value.integerDotProduct16BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProduct16BitSignedAccelerated = " << value.integerDotProduct16BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProduct16BitMixedSignednessAccelerated = " << value.integerDotProduct16BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProduct32BitUnsignedAccelerated = " << value.integerDotProduct32BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProduct32BitSignedAccelerated = " << value.integerDotProduct32BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProduct32BitMixedSignednessAccelerated = " << value.integerDotProduct32BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProduct64BitUnsignedAccelerated = " << value.integerDotProduct64BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProduct64BitSignedAccelerated = " << value.integerDotProduct64BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProduct64BitMixedSignednessAccelerated = " << value.integerDotProduct64BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating8BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating8BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating8BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating16BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating16BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating16BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating32BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating32BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating32BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating64BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating64BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating64BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated << '\n'; ++ s << "\tstorageTexelBufferOffsetAlignmentBytes = " << value.storageTexelBufferOffsetAlignmentBytes << '\n'; ++ s << "\tstorageTexelBufferOffsetSingleTexelAlignment = " << value.storageTexelBufferOffsetSingleTexelAlignment << '\n'; ++ s << "\tuniformTexelBufferOffsetAlignmentBytes = " << value.uniformTexelBufferOffsetAlignmentBytes << '\n'; ++ s << "\tuniformTexelBufferOffsetSingleTexelAlignment = " << value.uniformTexelBufferOffsetSingleTexelAlignment << '\n'; ++ s << "\tmaxBufferSize = " << value.maxBufferSize << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkSwapchainCreateInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPipelineCreationFeedback& value) + { - s << "VkSwapchainCreateInfoKHR = {\n"; ++ s << "VkPipelineCreationFeedback = {\n"; ++ s << "\tflags = " << getPipelineCreationFeedbackFlagsStr(value.flags) << '\n'; ++ s << "\tduration = " << value.duration << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkPipelineCreationFeedbackCreateInfo& value) ++{ ++ s << "VkPipelineCreationFeedbackCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tflags = " << getSwapchainCreateFlagsKHRStr(value.flags) << '\n'; - s << "\tsurface = " << value.surface << '\n'; - s << "\tminImageCount = " << value.minImageCount << '\n'; - s << "\timageFormat = " << value.imageFormat << '\n'; - s << "\timageColorSpace = " << value.imageColorSpace << '\n'; - s << "\timageExtent = " << value.imageExtent << '\n'; - s << "\timageArrayLayers = " << value.imageArrayLayers << '\n'; - s << "\timageUsage = " << getImageUsageFlagsStr(value.imageUsage) << '\n'; - s << "\timageSharingMode = " << value.imageSharingMode << '\n'; - s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n'; - s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n'; - s << "\tpreTransform = " << value.preTransform << '\n'; - s << "\tcompositeAlpha = " << value.compositeAlpha << '\n'; - s << "\tpresentMode = " << value.presentMode << '\n'; - s << "\tclipped = " << value.clipped << '\n'; - s << "\toldSwapchain = " << value.oldSwapchain << '\n'; ++ s << "\tpPipelineCreationFeedback = " << value.pPipelineCreationFeedback << '\n'; ++ s << "\tpipelineStageCreationFeedbackCount = " << value.pipelineStageCreationFeedbackCount << '\n'; ++ s << "\tpPipelineStageCreationFeedbacks = " << value.pPipelineStageCreationFeedbacks << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPresentInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderTerminateInvocationFeatures& value) + { - s << "VkPresentInfoKHR = {\n"; ++ s << "VkPhysicalDeviceShaderTerminateInvocationFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n'; - s << "\tpWaitSemaphores = " << value.pWaitSemaphores << '\n'; - s << "\tswapchainCount = " << value.swapchainCount << '\n'; - s << "\tpSwapchains = " << value.pSwapchains << '\n'; - s << "\tpImageIndices = " << value.pImageIndices << '\n'; - s << "\tpResults = " << value.pResults << '\n'; ++ s << "\tshaderTerminateInvocation = " << value.shaderTerminateInvocation << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkImageSwapchainCreateInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceToolProperties& value) + { - s << "VkImageSwapchainCreateInfoKHR = {\n"; ++ s << "VkPhysicalDeviceToolProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tswapchain = " << value.swapchain << '\n'; ++ s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator(DE_ARRAY_END(value.name))) << '\n'; ++ s << "\tversion = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.version)), tcu::Format::HexIterator(DE_ARRAY_END(value.version))) << '\n'; ++ s << "\tpurposes = " << getToolPurposeFlagsStr(value.purposes) << '\n'; ++ s << "\tdescription = " << (const char*)value.description << '\n'; ++ s << "\tlayer = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.layer)), tcu::Format::HexIterator(DE_ARRAY_END(value.layer))) << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkBindImageMemorySwapchainInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& value) + { - s << "VkBindImageMemorySwapchainInfoKHR = {\n"; ++ s << "VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tswapchain = " << value.swapchain << '\n'; - s << "\timageIndex = " << value.imageIndex << '\n'; ++ s << "\tshaderDemoteToHelperInvocation = " << value.shaderDemoteToHelperInvocation << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkAcquireNextImageInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePrivateDataFeatures& value) + { - s << "VkAcquireNextImageInfoKHR = {\n"; ++ s << "VkPhysicalDevicePrivateDataFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tswapchain = " << value.swapchain << '\n'; - s << "\ttimeout = " << value.timeout << '\n'; - s << "\tsemaphore = " << value.semaphore << '\n'; - s << "\tfence = " << value.fence << '\n'; - s << "\tdeviceMask = " << value.deviceMask << '\n'; ++ s << "\tprivateData = " << value.privateData << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDeviceGroupPresentCapabilitiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDevicePrivateDataCreateInfo& value) + { - s << "VkDeviceGroupPresentCapabilitiesKHR = {\n"; ++ s << "VkDevicePrivateDataCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tpresentMask = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.presentMask), DE_ARRAY_END(value.presentMask)) << '\n'; - s << "\tmodes = " << getDeviceGroupPresentModeFlagsKHRStr(value.modes) << '\n'; ++ s << "\tprivateDataSlotRequestCount = " << value.privateDataSlotRequestCount << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDeviceGroupPresentInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPrivateDataSlotCreateInfo& value) + { - s << "VkDeviceGroupPresentInfoKHR = {\n"; ++ s << "VkPrivateDataSlotCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tswapchainCount = " << value.swapchainCount << '\n'; - s << "\tpDeviceMasks = " << value.pDeviceMasks << '\n'; - s << "\tmode = " << value.mode << '\n'; ++ s << "\tflags = " << getPrivateDataSlotCreateFlagsStr(value.flags) << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDeviceGroupSwapchainCreateInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePipelineCreationCacheControlFeatures& value) + { - s << "VkDeviceGroupSwapchainCreateInfoKHR = {\n"; ++ s << "VkPhysicalDevicePipelineCreationCacheControlFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tmodes = " << getDeviceGroupPresentModeFlagsKHRStr(value.modes) << '\n'; ++ s << "\tpipelineCreationCacheControl = " << value.pipelineCreationCacheControl << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDisplayModeParametersKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkMemoryBarrier2& value) + { - s << "VkDisplayModeParametersKHR = {\n"; - s << "\tvisibleRegion = " << value.visibleRegion << '\n'; - s << "\trefreshRate = " << value.refreshRate << '\n'; ++ s << "VkMemoryBarrier2 = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tsrcStageMask = " << value.srcStageMask << '\n'; ++ s << "\tsrcAccessMask = " << value.srcAccessMask << '\n'; ++ s << "\tdstStageMask = " << value.dstStageMask << '\n'; ++ s << "\tdstAccessMask = " << value.dstAccessMask << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDisplayModeCreateInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkBufferMemoryBarrier2& value) + { - s << "VkDisplayModeCreateInfoKHR = {\n"; ++ s << "VkBufferMemoryBarrier2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tflags = " << getDisplayModeCreateFlagsKHRStr(value.flags) << '\n'; - s << "\tparameters = " << value.parameters << '\n'; ++ s << "\tsrcStageMask = " << value.srcStageMask << '\n'; ++ s << "\tsrcAccessMask = " << value.srcAccessMask << '\n'; ++ s << "\tdstStageMask = " << value.dstStageMask << '\n'; ++ s << "\tdstAccessMask = " << value.dstAccessMask << '\n'; ++ s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n'; ++ s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n'; ++ s << "\tbuffer = " << value.buffer << '\n'; ++ s << "\toffset = " << value.offset << '\n'; ++ s << "\tsize = " << value.size << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDisplayModePropertiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkImageMemoryBarrier2& value) + { - s << "VkDisplayModePropertiesKHR = {\n"; - s << "\tdisplayMode = " << value.displayMode << '\n'; - s << "\tparameters = " << value.parameters << '\n'; ++ s << "VkImageMemoryBarrier2 = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tsrcStageMask = " << value.srcStageMask << '\n'; ++ s << "\tsrcAccessMask = " << value.srcAccessMask << '\n'; ++ s << "\tdstStageMask = " << value.dstStageMask << '\n'; ++ s << "\tdstAccessMask = " << value.dstAccessMask << '\n'; ++ s << "\toldLayout = " << value.oldLayout << '\n'; ++ s << "\tnewLayout = " << value.newLayout << '\n'; ++ s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n'; ++ s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n'; ++ s << "\timage = " << value.image << '\n'; ++ s << "\tsubresourceRange = " << value.subresourceRange << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneCapabilitiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDependencyInfo& value) + { - s << "VkDisplayPlaneCapabilitiesKHR = {\n"; - s << "\tsupportedAlpha = " << getDisplayPlaneAlphaFlagsKHRStr(value.supportedAlpha) << '\n'; - s << "\tminSrcPosition = " << value.minSrcPosition << '\n'; - s << "\tmaxSrcPosition = " << value.maxSrcPosition << '\n'; - s << "\tminSrcExtent = " << value.minSrcExtent << '\n'; - s << "\tmaxSrcExtent = " << value.maxSrcExtent << '\n'; - s << "\tminDstPosition = " << value.minDstPosition << '\n'; - s << "\tmaxDstPosition = " << value.maxDstPosition << '\n'; - s << "\tminDstExtent = " << value.minDstExtent << '\n'; - s << "\tmaxDstExtent = " << value.maxDstExtent << '\n'; ++ s << "VkDependencyInfo = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tdependencyFlags = " << getDependencyFlagsStr(value.dependencyFlags) << '\n'; ++ s << "\tmemoryBarrierCount = " << value.memoryBarrierCount << '\n'; ++ s << "\tpMemoryBarriers = " << value.pMemoryBarriers << '\n'; ++ s << "\tbufferMemoryBarrierCount = " << value.bufferMemoryBarrierCount << '\n'; ++ s << "\tpBufferMemoryBarriers = " << value.pBufferMemoryBarriers << '\n'; ++ s << "\timageMemoryBarrierCount = " << value.imageMemoryBarrierCount << '\n'; ++ s << "\tpImageMemoryBarriers = " << value.pImageMemoryBarriers << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDisplayPlanePropertiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkSemaphoreSubmitInfo& value) + { - s << "VkDisplayPlanePropertiesKHR = {\n"; - s << "\tcurrentDisplay = " << value.currentDisplay << '\n'; - s << "\tcurrentStackIndex = " << value.currentStackIndex << '\n'; ++ s << "VkSemaphoreSubmitInfo = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tsemaphore = " << value.semaphore << '\n'; ++ s << "\tvalue = " << value.value << '\n'; ++ s << "\tstageMask = " << value.stageMask << '\n'; ++ s << "\tdeviceIndex = " << value.deviceIndex << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDisplayPropertiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkCommandBufferSubmitInfo& value) + { - s << "VkDisplayPropertiesKHR = {\n"; - s << "\tdisplay = " << value.display << '\n'; - s << "\tdisplayName = " << getCharPtrStr(value.displayName) << '\n'; - s << "\tphysicalDimensions = " << value.physicalDimensions << '\n'; - s << "\tphysicalResolution = " << value.physicalResolution << '\n'; - s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n'; - s << "\tplaneReorderPossible = " << value.planeReorderPossible << '\n'; - s << "\tpersistentContent = " << value.persistentContent << '\n'; ++ s << "VkCommandBufferSubmitInfo = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tcommandBuffer = " << value.commandBuffer << '\n'; ++ s << "\tdeviceMask = " << value.deviceMask << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDisplaySurfaceCreateInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkSubmitInfo2& value) + { - s << "VkDisplaySurfaceCreateInfoKHR = {\n"; ++ s << "VkSubmitInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tflags = " << getDisplaySurfaceCreateFlagsKHRStr(value.flags) << '\n'; - s << "\tdisplayMode = " << value.displayMode << '\n'; - s << "\tplaneIndex = " << value.planeIndex << '\n'; - s << "\tplaneStackIndex = " << value.planeStackIndex << '\n'; - s << "\ttransform = " << value.transform << '\n'; - s << "\tglobalAlpha = " << value.globalAlpha << '\n'; - s << "\talphaMode = " << value.alphaMode << '\n'; - s << "\timageExtent = " << value.imageExtent << '\n'; ++ s << "\tflags = " << getSubmitFlagsStr(value.flags) << '\n'; ++ s << "\twaitSemaphoreInfoCount = " << value.waitSemaphoreInfoCount << '\n'; ++ s << "\tpWaitSemaphoreInfos = " << value.pWaitSemaphoreInfos << '\n'; ++ s << "\tcommandBufferInfoCount = " << value.commandBufferInfoCount << '\n'; ++ s << "\tpCommandBufferInfos = " << value.pCommandBufferInfos << '\n'; ++ s << "\tsignalSemaphoreInfoCount = " << value.signalSemaphoreInfoCount << '\n'; ++ s << "\tpSignalSemaphoreInfos = " << value.pSignalSemaphoreInfos << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDisplayPresentInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSynchronization2Features& value) + { - s << "VkDisplayPresentInfoKHR = {\n"; ++ s << "VkPhysicalDeviceSynchronization2Features = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcRect = " << value.srcRect << '\n'; - s << "\tdstRect = " << value.dstRect << '\n'; - s << "\tpersistent = " << value.persistent << '\n'; ++ s << "\tsynchronization2 = " << value.synchronization2 << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkRenderingAttachmentInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& value) + { - s << "VkRenderingAttachmentInfoKHR = {\n"; ++ s << "VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\timageView = " << value.imageView << '\n'; - s << "\timageLayout = " << value.imageLayout << '\n'; - s << "\tresolveMode = " << value.resolveMode << '\n'; - s << "\tresolveImageView = " << value.resolveImageView << '\n'; - s << "\tresolveImageLayout = " << value.resolveImageLayout << '\n'; - s << "\tloadOp = " << value.loadOp << '\n'; - s << "\tstoreOp = " << value.storeOp << '\n'; - s << "\tclearValue = " << value.clearValue << '\n'; ++ s << "\tshaderZeroInitializeWorkgroupMemory = " << value.shaderZeroInitializeWorkgroupMemory << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkRenderingInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageRobustnessFeatures& value) + { - s << "VkRenderingInfoKHR = {\n"; ++ s << "VkPhysicalDeviceImageRobustnessFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tflags = " << getRenderingFlagsKHRStr(value.flags) << '\n'; - s << "\trenderArea = " << value.renderArea << '\n'; - s << "\tlayerCount = " << value.layerCount << '\n'; - s << "\tviewMask = " << value.viewMask << '\n'; - s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n'; - s << "\tpColorAttachments = " << value.pColorAttachments << '\n'; - s << "\tpDepthAttachment = " << value.pDepthAttachment << '\n'; - s << "\tpStencilAttachment = " << value.pStencilAttachment << '\n'; ++ s << "\trobustImageAccess = " << value.robustImageAccess << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPipelineRenderingCreateInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkBufferCopy2& value) + { - s << "VkPipelineRenderingCreateInfoKHR = {\n"; ++ s << "VkBufferCopy2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tviewMask = " << value.viewMask << '\n'; - s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n'; - s << "\tpColorAttachmentFormats = " << value.pColorAttachmentFormats << '\n'; - s << "\tdepthAttachmentFormat = " << value.depthAttachmentFormat << '\n'; - s << "\tstencilAttachmentFormat = " << value.stencilAttachmentFormat << '\n'; ++ s << "\tsrcOffset = " << value.srcOffset << '\n'; ++ s << "\tdstOffset = " << value.dstOffset << '\n'; ++ s << "\tsize = " << value.size << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDynamicRenderingFeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkCopyBufferInfo2& value) + { - s << "VkPhysicalDeviceDynamicRenderingFeaturesKHR = {\n"; ++ s << "VkCopyBufferInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tdynamicRendering = " << value.dynamicRendering << '\n'; ++ s << "\tsrcBuffer = " << value.srcBuffer << '\n'; ++ s << "\tdstBuffer = " << value.dstBuffer << '\n'; ++ s << "\tregionCount = " << value.regionCount << '\n'; ++ s << "\tpRegions = " << value.pRegions << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceRenderingInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkImageCopy2& value) + { - s << "VkCommandBufferInheritanceRenderingInfoKHR = {\n"; ++ s << "VkImageCopy2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tflags = " << getRenderingFlagsKHRStr(value.flags) << '\n'; - s << "\tviewMask = " << value.viewMask << '\n'; - s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n'; - s << "\tpColorAttachmentFormats = " << value.pColorAttachmentFormats << '\n'; - s << "\tdepthAttachmentFormat = " << value.depthAttachmentFormat << '\n'; - s << "\tstencilAttachmentFormat = " << value.stencilAttachmentFormat << '\n'; - s << "\trasterizationSamples = " << value.rasterizationSamples << '\n'; ++ s << "\tsrcSubresource = " << value.srcSubresource << '\n'; ++ s << "\tsrcOffset = " << value.srcOffset << '\n'; ++ s << "\tdstSubresource = " << value.dstSubresource << '\n'; ++ s << "\tdstOffset = " << value.dstOffset << '\n'; ++ s << "\textent = " << value.extent << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkRenderingFragmentShadingRateAttachmentInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkCopyImageInfo2& value) + { - s << "VkRenderingFragmentShadingRateAttachmentInfoKHR = {\n"; ++ s << "VkCopyImageInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\timageView = " << value.imageView << '\n'; - s << "\timageLayout = " << value.imageLayout << '\n'; - s << "\tshadingRateAttachmentTexelSize = " << value.shadingRateAttachmentTexelSize << '\n'; ++ s << "\tsrcImage = " << value.srcImage << '\n'; ++ s << "\tsrcImageLayout = " << value.srcImageLayout << '\n'; ++ s << "\tdstImage = " << value.dstImage << '\n'; ++ s << "\tdstImageLayout = " << value.dstImageLayout << '\n'; ++ s << "\tregionCount = " << value.regionCount << '\n'; ++ s << "\tpRegions = " << value.pRegions << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkRenderingFragmentDensityMapAttachmentInfoEXT& value) ++std::ostream& operator<< (std::ostream& s, const VkBufferImageCopy2& value) + { - s << "VkRenderingFragmentDensityMapAttachmentInfoEXT = {\n"; ++ s << "VkBufferImageCopy2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\timageView = " << value.imageView << '\n'; - s << "\timageLayout = " << value.imageLayout << '\n'; ++ s << "\tbufferOffset = " << value.bufferOffset << '\n'; ++ s << "\tbufferRowLength = " << value.bufferRowLength << '\n'; ++ s << "\tbufferImageHeight = " << value.bufferImageHeight << '\n'; ++ s << "\timageSubresource = " << value.imageSubresource << '\n'; ++ s << "\timageOffset = " << value.imageOffset << '\n'; ++ s << "\timageExtent = " << value.imageExtent << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkAttachmentSampleCountInfoAMD& value) ++std::ostream& operator<< (std::ostream& s, const VkCopyBufferToImageInfo2& value) + { - s << "VkAttachmentSampleCountInfoAMD = {\n"; ++ s << "VkCopyBufferToImageInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n'; - s << "\tpColorAttachmentSamples = " << value.pColorAttachmentSamples << '\n'; - s << "\tdepthStencilAttachmentSamples = " << value.depthStencilAttachmentSamples << '\n'; ++ s << "\tsrcBuffer = " << value.srcBuffer << '\n'; ++ s << "\tdstImage = " << value.dstImage << '\n'; ++ s << "\tdstImageLayout = " << value.dstImageLayout << '\n'; ++ s << "\tregionCount = " << value.regionCount << '\n'; ++ s << "\tpRegions = " << value.pRegions << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkMultiviewPerViewAttributesInfoNVX& value) ++std::ostream& operator<< (std::ostream& s, const VkCopyImageToBufferInfo2& value) + { - s << "VkMultiviewPerViewAttributesInfoNVX = {\n"; ++ s << "VkCopyImageToBufferInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tperViewAttributes = " << value.perViewAttributes << '\n'; - s << "\tperViewAttributesPositionXOnly = " << value.perViewAttributesPositionXOnly << '\n'; ++ s << "\tsrcImage = " << value.srcImage << '\n'; ++ s << "\tsrcImageLayout = " << value.srcImageLayout << '\n'; ++ s << "\tdstBuffer = " << value.dstBuffer << '\n'; ++ s << "\tregionCount = " << value.regionCount << '\n'; ++ s << "\tpRegions = " << value.pRegions << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkImportMemoryFdInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkImageBlit2& value) + { - s << "VkImportMemoryFdInfoKHR = {\n"; ++ s << "VkImageBlit2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\thandleType = " << value.handleType << '\n'; - s << "\tfd = " << value.fd << '\n'; ++ s << "\tsrcSubresource = " << value.srcSubresource << '\n'; ++ s << "\tsrcOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.srcOffsets), DE_ARRAY_END(value.srcOffsets)) << '\n'; ++ s << "\tdstSubresource = " << value.dstSubresource << '\n'; ++ s << "\tdstOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.dstOffsets), DE_ARRAY_END(value.dstOffsets)) << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkMemoryFdPropertiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkBlitImageInfo2& value) + { - s << "VkMemoryFdPropertiesKHR = {\n"; ++ s << "VkBlitImageInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; ++ s << "\tsrcImage = " << value.srcImage << '\n'; ++ s << "\tsrcImageLayout = " << value.srcImageLayout << '\n'; ++ s << "\tdstImage = " << value.dstImage << '\n'; ++ s << "\tdstImageLayout = " << value.dstImageLayout << '\n'; ++ s << "\tregionCount = " << value.regionCount << '\n'; ++ s << "\tpRegions = " << value.pRegions << '\n'; ++ s << "\tfilter = " << value.filter << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkMemoryGetFdInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkImageResolve2& value) + { - s << "VkMemoryGetFdInfoKHR = {\n"; ++ s << "VkImageResolve2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tmemory = " << value.memory << '\n'; - s << "\thandleType = " << value.handleType << '\n'; ++ s << "\tsrcSubresource = " << value.srcSubresource << '\n'; ++ s << "\tsrcOffset = " << value.srcOffset << '\n'; ++ s << "\tdstSubresource = " << value.dstSubresource << '\n'; ++ s << "\tdstOffset = " << value.dstOffset << '\n'; ++ s << "\textent = " << value.extent << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkImportSemaphoreFdInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkResolveImageInfo2& value) + { - s << "VkImportSemaphoreFdInfoKHR = {\n"; ++ s << "VkResolveImageInfo2 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsemaphore = " << value.semaphore << '\n'; - s << "\tflags = " << getSemaphoreImportFlagsStr(value.flags) << '\n'; - s << "\thandleType = " << value.handleType << '\n'; - s << "\tfd = " << value.fd << '\n'; ++ s << "\tsrcImage = " << value.srcImage << '\n'; ++ s << "\tsrcImageLayout = " << value.srcImageLayout << '\n'; ++ s << "\tdstImage = " << value.dstImage << '\n'; ++ s << "\tdstImageLayout = " << value.dstImageLayout << '\n'; ++ s << "\tregionCount = " << value.regionCount << '\n'; ++ s << "\tpRegions = " << value.pRegions << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkSemaphoreGetFdInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupSizeControlFeatures& value) + { - s << "VkSemaphoreGetFdInfoKHR = {\n"; ++ s << "VkPhysicalDeviceSubgroupSizeControlFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsemaphore = " << value.semaphore << '\n'; - s << "\thandleType = " << value.handleType << '\n'; ++ s << "\tsubgroupSizeControl = " << value.subgroupSizeControl << '\n'; ++ s << "\tcomputeFullSubgroups = " << value.computeFullSubgroups << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePushDescriptorPropertiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupSizeControlProperties& value) + { - s << "VkPhysicalDevicePushDescriptorPropertiesKHR = {\n"; ++ s << "VkPhysicalDeviceSubgroupSizeControlProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tmaxPushDescriptors = " << value.maxPushDescriptors << '\n'; ++ s << "\tminSubgroupSize = " << value.minSubgroupSize << '\n'; ++ s << "\tmaxSubgroupSize = " << value.maxSubgroupSize << '\n'; ++ s << "\tmaxComputeWorkgroupSubgroups = " << value.maxComputeWorkgroupSubgroups << '\n'; ++ s << "\trequiredSubgroupSizeStages = " << getShaderStageFlagsStr(value.requiredSubgroupSizeStages) << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkRectLayerKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo& value) + { - s << "VkRectLayerKHR = {\n"; - s << "\toffset = " << value.offset << '\n'; - s << "\textent = " << value.extent << '\n'; - s << "\tlayer = " << value.layer << '\n'; ++ s << "VkPipelineShaderStageRequiredSubgroupSizeCreateInfo = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\trequiredSubgroupSize = " << value.requiredSubgroupSize << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPresentRegionKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInlineUniformBlockFeatures& value) + { - s << "VkPresentRegionKHR = {\n"; - s << "\trectangleCount = " << value.rectangleCount << '\n'; - s << "\tpRectangles = " << value.pRectangles << '\n'; ++ s << "VkPhysicalDeviceInlineUniformBlockFeatures = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tinlineUniformBlock = " << value.inlineUniformBlock << '\n'; ++ s << "\tdescriptorBindingInlineUniformBlockUpdateAfterBind = " << value.descriptorBindingInlineUniformBlockUpdateAfterBind << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPresentRegionsKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInlineUniformBlockProperties& value) + { - s << "VkPresentRegionsKHR = {\n"; ++ s << "VkPhysicalDeviceInlineUniformBlockProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tswapchainCount = " << value.swapchainCount << '\n'; - s << "\tpRegions = " << value.pRegions << '\n'; ++ s << "\tmaxInlineUniformBlockSize = " << value.maxInlineUniformBlockSize << '\n'; ++ s << "\tmaxPerStageDescriptorInlineUniformBlocks = " << value.maxPerStageDescriptorInlineUniformBlocks << '\n'; ++ s << "\tmaxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = " << value.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks << '\n'; ++ s << "\tmaxDescriptorSetInlineUniformBlocks = " << value.maxDescriptorSetInlineUniformBlocks << '\n'; ++ s << "\tmaxDescriptorSetUpdateAfterBindInlineUniformBlocks = " << value.maxDescriptorSetUpdateAfterBindInlineUniformBlocks << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkSharedPresentSurfaceCapabilitiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSetInlineUniformBlock& value) + { - s << "VkSharedPresentSurfaceCapabilitiesKHR = {\n"; ++ s << "VkWriteDescriptorSetInlineUniformBlock = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsharedPresentSupportedUsageFlags = " << getImageUsageFlagsStr(value.sharedPresentSupportedUsageFlags) << '\n'; ++ s << "\tdataSize = " << value.dataSize << '\n'; ++ s << "\tpData = " << value.pData << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkImportFenceFdInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolInlineUniformBlockCreateInfo& value) + { - s << "VkImportFenceFdInfoKHR = {\n"; ++ s << "VkDescriptorPoolInlineUniformBlockCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tfence = " << value.fence << '\n'; - s << "\tflags = " << getFenceImportFlagsStr(value.flags) << '\n'; - s << "\thandleType = " << value.handleType << '\n'; - s << "\tfd = " << value.fd << '\n'; ++ s << "\tmaxInlineUniformBlockBindings = " << value.maxInlineUniformBlockBindings << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkFenceGetFdInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTextureCompressionASTCHDRFeatures& value) + { - s << "VkFenceGetFdInfoKHR = {\n"; ++ s << "VkPhysicalDeviceTextureCompressionASTCHDRFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tfence = " << value.fence << '\n'; - s << "\thandleType = " << value.handleType << '\n'; ++ s << "\ttextureCompressionASTC_HDR = " << value.textureCompressionASTC_HDR << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePerformanceQueryFeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkRenderingAttachmentInfo& value) + { - s << "VkPhysicalDevicePerformanceQueryFeaturesKHR = {\n"; ++ s << "VkRenderingAttachmentInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tperformanceCounterQueryPools = " << value.performanceCounterQueryPools << '\n'; - s << "\tperformanceCounterMultipleQueryPools = " << value.performanceCounterMultipleQueryPools << '\n'; ++ s << "\timageView = " << value.imageView << '\n'; ++ s << "\timageLayout = " << value.imageLayout << '\n'; ++ s << "\tresolveMode = " << value.resolveMode << '\n'; ++ s << "\tresolveImageView = " << value.resolveImageView << '\n'; ++ s << "\tresolveImageLayout = " << value.resolveImageLayout << '\n'; ++ s << "\tloadOp = " << value.loadOp << '\n'; ++ s << "\tstoreOp = " << value.storeOp << '\n'; ++ s << "\tclearValue = " << value.clearValue << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePerformanceQueryPropertiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkRenderingInfo& value) + { - s << "VkPhysicalDevicePerformanceQueryPropertiesKHR = {\n"; ++ s << "VkRenderingInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tallowCommandBufferQueryCopies = " << value.allowCommandBufferQueryCopies << '\n'; ++ s << "\tflags = " << getRenderingFlagsStr(value.flags) << '\n'; ++ s << "\trenderArea = " << value.renderArea << '\n'; ++ s << "\tlayerCount = " << value.layerCount << '\n'; ++ s << "\tviewMask = " << value.viewMask << '\n'; ++ s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n'; ++ s << "\tpColorAttachments = " << value.pColorAttachments << '\n'; ++ s << "\tpDepthAttachment = " << value.pDepthAttachment << '\n'; ++ s << "\tpStencilAttachment = " << value.pStencilAttachment << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPipelineRenderingCreateInfo& value) + { - s << "VkPerformanceCounterKHR = {\n"; ++ s << "VkPipelineRenderingCreateInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tunit = " << value.unit << '\n'; - s << "\tscope = " << value.scope << '\n'; - s << "\tstorage = " << value.storage << '\n'; - s << "\tuuid = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.uuid)), tcu::Format::HexIterator(DE_ARRAY_END(value.uuid))) << '\n'; ++ s << "\tviewMask = " << value.viewMask << '\n'; ++ s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n'; ++ s << "\tpColorAttachmentFormats = " << value.pColorAttachmentFormats << '\n'; ++ s << "\tdepthAttachmentFormat = " << value.depthAttachmentFormat << '\n'; ++ s << "\tstencilAttachmentFormat = " << value.stencilAttachmentFormat << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterDescriptionKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDynamicRenderingFeatures& value) + { - s << "VkPerformanceCounterDescriptionKHR = {\n"; ++ s << "VkPhysicalDeviceDynamicRenderingFeatures = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tflags = " << getPerformanceCounterDescriptionFlagsKHRStr(value.flags) << '\n'; - s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator(DE_ARRAY_END(value.name))) << '\n'; - s << "\tcategory = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.category)), tcu::Format::HexIterator(DE_ARRAY_END(value.category))) << '\n'; - s << "\tdescription = " << (const char*)value.description << '\n'; ++ s << "\tdynamicRendering = " << value.dynamicRendering << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkQueryPoolPerformanceCreateInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceRenderingInfo& value) + { - s << "VkQueryPoolPerformanceCreateInfoKHR = {\n"; ++ s << "VkCommandBufferInheritanceRenderingInfo = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n'; - s << "\tcounterIndexCount = " << value.counterIndexCount << '\n'; - s << "\tpCounterIndices = " << value.pCounterIndices << '\n'; ++ s << "\tflags = " << getRenderingFlagsStr(value.flags) << '\n'; ++ s << "\tviewMask = " << value.viewMask << '\n'; ++ s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n'; ++ s << "\tpColorAttachmentFormats = " << value.pColorAttachmentFormats << '\n'; ++ s << "\tdepthAttachmentFormat = " << value.depthAttachmentFormat << '\n'; ++ s << "\tstencilAttachmentFormat = " << value.stencilAttachmentFormat << '\n'; ++ s << "\trasterizationSamples = " << value.rasterizationSamples << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterResultKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderIntegerDotProductFeatures& value) + { - s << "VkPerformanceCounterResultKHR = {\n"; - s << "\tint32 = " << value.int32 << '\n'; - s << "\tint64 = " << value.int64 << '\n'; - s << "\tuint32 = " << value.uint32 << '\n'; - s << "\tuint64 = " << value.uint64 << '\n'; - s << "\tfloat32 = " << value.float32 << '\n'; - s << "\tfloat64 = " << value.float64 << '\n'; ++ s << "VkPhysicalDeviceShaderIntegerDotProductFeatures = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tshaderIntegerDotProduct = " << value.shaderIntegerDotProduct << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkAcquireProfilingLockInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderIntegerDotProductProperties& value) + { - s << "VkAcquireProfilingLockInfoKHR = {\n"; ++ s << "VkPhysicalDeviceShaderIntegerDotProductProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tflags = " << getAcquireProfilingLockFlagsKHRStr(value.flags) << '\n'; - s << "\ttimeout = " << value.timeout << '\n'; ++ s << "\tintegerDotProduct8BitUnsignedAccelerated = " << value.integerDotProduct8BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProduct8BitSignedAccelerated = " << value.integerDotProduct8BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProduct8BitMixedSignednessAccelerated = " << value.integerDotProduct8BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProduct4x8BitPackedUnsignedAccelerated = " << value.integerDotProduct4x8BitPackedUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProduct4x8BitPackedSignedAccelerated = " << value.integerDotProduct4x8BitPackedSignedAccelerated << '\n'; ++ s << "\tintegerDotProduct4x8BitPackedMixedSignednessAccelerated = " << value.integerDotProduct4x8BitPackedMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProduct16BitUnsignedAccelerated = " << value.integerDotProduct16BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProduct16BitSignedAccelerated = " << value.integerDotProduct16BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProduct16BitMixedSignednessAccelerated = " << value.integerDotProduct16BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProduct32BitUnsignedAccelerated = " << value.integerDotProduct32BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProduct32BitSignedAccelerated = " << value.integerDotProduct32BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProduct32BitMixedSignednessAccelerated = " << value.integerDotProduct32BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProduct64BitUnsignedAccelerated = " << value.integerDotProduct64BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProduct64BitSignedAccelerated = " << value.integerDotProduct64BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProduct64BitMixedSignednessAccelerated = " << value.integerDotProduct64BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating8BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating8BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating8BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating16BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating16BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating16BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating32BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating32BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating32BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating64BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating64BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating64BitSignedAccelerated << '\n'; ++ s << "\tintegerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPerformanceQuerySubmitInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTexelBufferAlignmentProperties& value) + { - s << "VkPerformanceQuerySubmitInfoKHR = {\n"; ++ s << "VkPhysicalDeviceTexelBufferAlignmentProperties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tcounterPassIndex = " << value.counterPassIndex << '\n'; ++ s << "\tstorageTexelBufferOffsetAlignmentBytes = " << value.storageTexelBufferOffsetAlignmentBytes << '\n'; ++ s << "\tstorageTexelBufferOffsetSingleTexelAlignment = " << value.storageTexelBufferOffsetSingleTexelAlignment << '\n'; ++ s << "\tuniformTexelBufferOffsetAlignmentBytes = " << value.uniformTexelBufferOffsetAlignmentBytes << '\n'; ++ s << "\tuniformTexelBufferOffsetSingleTexelAlignment = " << value.uniformTexelBufferOffsetSingleTexelAlignment << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSurfaceInfo2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkFormatProperties3& value) + { - s << "VkPhysicalDeviceSurfaceInfo2KHR = {\n"; ++ s << "VkFormatProperties3 = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsurface = " << value.surface << '\n'; ++ s << "\tlinearTilingFeatures = " << value.linearTilingFeatures << '\n'; ++ s << "\toptimalTilingFeatures = " << value.optimalTilingFeatures << '\n'; ++ s << "\tbufferFeatures = " << value.bufferFeatures << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilities2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance4Features& value) + { - s << "VkSurfaceCapabilities2KHR = {\n"; ++ s << "VkPhysicalDeviceMaintenance4Features = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsurfaceCapabilities = " << value.surfaceCapabilities << '\n'; ++ s << "\tmaintenance4 = " << value.maintenance4 << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkSurfaceFormat2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance4Properties& value) + { - s << "VkSurfaceFormat2KHR = {\n"; ++ s << "VkPhysicalDeviceMaintenance4Properties = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsurfaceFormat = " << value.surfaceFormat << '\n'; ++ s << "\tmaxBufferSize = " << value.maxBufferSize << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDisplayProperties2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDeviceBufferMemoryRequirements& value) + { - s << "VkDisplayProperties2KHR = {\n"; ++ s << "VkDeviceBufferMemoryRequirements = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tdisplayProperties = " << value.displayProperties << '\n'; ++ s << "\tpCreateInfo = " << value.pCreateInfo << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneProperties2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDeviceImageMemoryRequirements& value) + { - s << "VkDisplayPlaneProperties2KHR = {\n"; ++ s << "VkDeviceImageMemoryRequirements = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tdisplayPlaneProperties = " << value.displayPlaneProperties << '\n'; ++ s << "\tpCreateInfo = " << value.pCreateInfo << '\n'; ++ s << "\tplaneAspect = " << value.planeAspect << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDisplayModeProperties2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilitiesKHR& value) + { - s << "VkDisplayModeProperties2KHR = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tdisplayModeProperties = " << value.displayModeProperties << '\n'; ++ s << "VkSurfaceCapabilitiesKHR = {\n"; ++ s << "\tminImageCount = " << value.minImageCount << '\n'; ++ s << "\tmaxImageCount = " << value.maxImageCount << '\n'; ++ s << "\tcurrentExtent = " << value.currentExtent << '\n'; ++ s << "\tminImageExtent = " << value.minImageExtent << '\n'; ++ s << "\tmaxImageExtent = " << value.maxImageExtent << '\n'; ++ s << "\tmaxImageArrayLayers = " << value.maxImageArrayLayers << '\n'; ++ s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n'; ++ s << "\tcurrentTransform = " << value.currentTransform << '\n'; ++ s << "\tsupportedCompositeAlpha = " << getCompositeAlphaFlagsKHRStr(value.supportedCompositeAlpha) << '\n'; ++ s << "\tsupportedUsageFlags = " << getImageUsageFlagsStr(value.supportedUsageFlags) << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneInfo2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkSurfaceFormatKHR& value) + { - s << "VkDisplayPlaneInfo2KHR = {\n"; ++ s << "VkSurfaceFormatKHR = {\n"; ++ s << "\tformat = " << value.format << '\n'; ++ s << "\tcolorSpace = " << value.colorSpace << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkSwapchainCreateInfoKHR& value) ++{ ++ s << "VkSwapchainCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tmode = " << value.mode << '\n'; - s << "\tplaneIndex = " << value.planeIndex << '\n'; ++ s << "\tflags = " << getSwapchainCreateFlagsKHRStr(value.flags) << '\n'; ++ s << "\tsurface = " << value.surface << '\n'; ++ s << "\tminImageCount = " << value.minImageCount << '\n'; ++ s << "\timageFormat = " << value.imageFormat << '\n'; ++ s << "\timageColorSpace = " << value.imageColorSpace << '\n'; ++ s << "\timageExtent = " << value.imageExtent << '\n'; ++ s << "\timageArrayLayers = " << value.imageArrayLayers << '\n'; ++ s << "\timageUsage = " << getImageUsageFlagsStr(value.imageUsage) << '\n'; ++ s << "\timageSharingMode = " << value.imageSharingMode << '\n'; ++ s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n'; ++ s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n'; ++ s << "\tpreTransform = " << value.preTransform << '\n'; ++ s << "\tcompositeAlpha = " << value.compositeAlpha << '\n'; ++ s << "\tpresentMode = " << value.presentMode << '\n'; ++ s << "\tclipped = " << value.clipped << '\n'; ++ s << "\toldSwapchain = " << value.oldSwapchain << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneCapabilities2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPresentInfoKHR& value) + { - s << "VkDisplayPlaneCapabilities2KHR = {\n"; ++ s << "VkPresentInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tcapabilities = " << value.capabilities << '\n'; ++ s << "\twaitSemaphoreCount = " << value.waitSemaphoreCount << '\n'; ++ s << "\tpWaitSemaphores = " << value.pWaitSemaphores << '\n'; ++ s << "\tswapchainCount = " << value.swapchainCount << '\n'; ++ s << "\tpSwapchains = " << value.pSwapchains << '\n'; ++ s << "\tpImageIndices = " << value.pImageIndices << '\n'; ++ s << "\tpResults = " << value.pResults << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderClockFeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkImageSwapchainCreateInfoKHR& value) + { - s << "VkPhysicalDeviceShaderClockFeaturesKHR = {\n"; ++ s << "VkImageSwapchainCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tshaderSubgroupClock = " << value.shaderSubgroupClock << '\n'; - s << "\tshaderDeviceClock = " << value.shaderDeviceClock << '\n'; ++ s << "\tswapchain = " << value.swapchain << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkBindImageMemorySwapchainInfoKHR& value) + { - s << "VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = {\n"; ++ s << "VkBindImageMemorySwapchainInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tshaderTerminateInvocation = " << value.shaderTerminateInvocation << '\n'; ++ s << "\tswapchain = " << value.swapchain << '\n'; ++ s << "\timageIndex = " << value.imageIndex << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkFragmentShadingRateAttachmentInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkAcquireNextImageInfoKHR& value) + { - s << "VkFragmentShadingRateAttachmentInfoKHR = {\n"; ++ s << "VkAcquireNextImageInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tpFragmentShadingRateAttachment = " << value.pFragmentShadingRateAttachment << '\n'; - s << "\tshadingRateAttachmentTexelSize = " << value.shadingRateAttachmentTexelSize << '\n'; ++ s << "\tswapchain = " << value.swapchain << '\n'; ++ s << "\ttimeout = " << value.timeout << '\n'; ++ s << "\tsemaphore = " << value.semaphore << '\n'; ++ s << "\tfence = " << value.fence << '\n'; ++ s << "\tdeviceMask = " << value.deviceMask << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPipelineFragmentShadingRateStateCreateInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDeviceGroupPresentCapabilitiesKHR& value) + { - s << "VkPipelineFragmentShadingRateStateCreateInfoKHR = {\n"; ++ s << "VkDeviceGroupPresentCapabilitiesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tfragmentSize = " << value.fragmentSize << '\n'; - s << "\tcombinerOps = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.combinerOps), DE_ARRAY_END(value.combinerOps)) << '\n'; ++ s << "\tpresentMask = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.presentMask), DE_ARRAY_END(value.presentMask)) << '\n'; ++ s << "\tmodes = " << getDeviceGroupPresentModeFlagsKHRStr(value.modes) << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateFeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDeviceGroupPresentInfoKHR& value) + { - s << "VkPhysicalDeviceFragmentShadingRateFeaturesKHR = {\n"; ++ s << "VkDeviceGroupPresentInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tpipelineFragmentShadingRate = " << value.pipelineFragmentShadingRate << '\n'; - s << "\tprimitiveFragmentShadingRate = " << value.primitiveFragmentShadingRate << '\n'; - s << "\tattachmentFragmentShadingRate = " << value.attachmentFragmentShadingRate << '\n'; ++ s << "\tswapchainCount = " << value.swapchainCount << '\n'; ++ s << "\tpDeviceMasks = " << value.pDeviceMasks << '\n'; ++ s << "\tmode = " << value.mode << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRatePropertiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDeviceGroupSwapchainCreateInfoKHR& value) + { - s << "VkPhysicalDeviceFragmentShadingRatePropertiesKHR = {\n"; ++ s << "VkDeviceGroupSwapchainCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tminFragmentShadingRateAttachmentTexelSize = " << value.minFragmentShadingRateAttachmentTexelSize << '\n'; - s << "\tmaxFragmentShadingRateAttachmentTexelSize = " << value.maxFragmentShadingRateAttachmentTexelSize << '\n'; - s << "\tmaxFragmentShadingRateAttachmentTexelSizeAspectRatio = " << value.maxFragmentShadingRateAttachmentTexelSizeAspectRatio << '\n'; - s << "\tprimitiveFragmentShadingRateWithMultipleViewports = " << value.primitiveFragmentShadingRateWithMultipleViewports << '\n'; - s << "\tlayeredShadingRateAttachments = " << value.layeredShadingRateAttachments << '\n'; - s << "\tfragmentShadingRateNonTrivialCombinerOps = " << value.fragmentShadingRateNonTrivialCombinerOps << '\n'; - s << "\tmaxFragmentSize = " << value.maxFragmentSize << '\n'; - s << "\tmaxFragmentSizeAspectRatio = " << value.maxFragmentSizeAspectRatio << '\n'; - s << "\tmaxFragmentShadingRateCoverageSamples = " << value.maxFragmentShadingRateCoverageSamples << '\n'; - s << "\tmaxFragmentShadingRateRasterizationSamples = " << value.maxFragmentShadingRateRasterizationSamples << '\n'; - s << "\tfragmentShadingRateWithShaderDepthStencilWrites = " << value.fragmentShadingRateWithShaderDepthStencilWrites << '\n'; - s << "\tfragmentShadingRateWithSampleMask = " << value.fragmentShadingRateWithSampleMask << '\n'; - s << "\tfragmentShadingRateWithShaderSampleMask = " << value.fragmentShadingRateWithShaderSampleMask << '\n'; - s << "\tfragmentShadingRateWithConservativeRasterization = " << value.fragmentShadingRateWithConservativeRasterization << '\n'; - s << "\tfragmentShadingRateWithFragmentShaderInterlock = " << value.fragmentShadingRateWithFragmentShaderInterlock << '\n'; - s << "\tfragmentShadingRateWithCustomSampleLocations = " << value.fragmentShadingRateWithCustomSampleLocations << '\n'; - s << "\tfragmentShadingRateStrictMultiplyCombiner = " << value.fragmentShadingRateStrictMultiplyCombiner << '\n'; ++ s << "\tmodes = " << getDeviceGroupPresentModeFlagsKHRStr(value.modes) << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDisplayModeParametersKHR& value) + { - s << "VkPhysicalDeviceFragmentShadingRateKHR = {\n"; ++ s << "VkDisplayModeParametersKHR = {\n"; ++ s << "\tvisibleRegion = " << value.visibleRegion << '\n'; ++ s << "\trefreshRate = " << value.refreshRate << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkDisplayModeCreateInfoKHR& value) ++{ ++ s << "VkDisplayModeCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsampleCounts = " << getSampleCountFlagsStr(value.sampleCounts) << '\n'; - s << "\tfragmentSize = " << value.fragmentSize << '\n'; ++ s << "\tflags = " << getDisplayModeCreateFlagsKHRStr(value.flags) << '\n'; ++ s << "\tparameters = " << value.parameters << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkSurfaceProtectedCapabilitiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDisplayModePropertiesKHR& value) + { - s << "VkSurfaceProtectedCapabilitiesKHR = {\n"; ++ s << "VkDisplayModePropertiesKHR = {\n"; ++ s << "\tdisplayMode = " << value.displayMode << '\n'; ++ s << "\tparameters = " << value.parameters << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneCapabilitiesKHR& value) ++{ ++ s << "VkDisplayPlaneCapabilitiesKHR = {\n"; ++ s << "\tsupportedAlpha = " << getDisplayPlaneAlphaFlagsKHRStr(value.supportedAlpha) << '\n'; ++ s << "\tminSrcPosition = " << value.minSrcPosition << '\n'; ++ s << "\tmaxSrcPosition = " << value.maxSrcPosition << '\n'; ++ s << "\tminSrcExtent = " << value.minSrcExtent << '\n'; ++ s << "\tmaxSrcExtent = " << value.maxSrcExtent << '\n'; ++ s << "\tminDstPosition = " << value.minDstPosition << '\n'; ++ s << "\tmaxDstPosition = " << value.maxDstPosition << '\n'; ++ s << "\tminDstExtent = " << value.minDstExtent << '\n'; ++ s << "\tmaxDstExtent = " << value.maxDstExtent << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkDisplayPlanePropertiesKHR& value) ++{ ++ s << "VkDisplayPlanePropertiesKHR = {\n"; ++ s << "\tcurrentDisplay = " << value.currentDisplay << '\n'; ++ s << "\tcurrentStackIndex = " << value.currentStackIndex << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkDisplayPropertiesKHR& value) ++{ ++ s << "VkDisplayPropertiesKHR = {\n"; ++ s << "\tdisplay = " << value.display << '\n'; ++ s << "\tdisplayName = " << getCharPtrStr(value.displayName) << '\n'; ++ s << "\tphysicalDimensions = " << value.physicalDimensions << '\n'; ++ s << "\tphysicalResolution = " << value.physicalResolution << '\n'; ++ s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n'; ++ s << "\tplaneReorderPossible = " << value.planeReorderPossible << '\n'; ++ s << "\tpersistentContent = " << value.persistentContent << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkDisplaySurfaceCreateInfoKHR& value) ++{ ++ s << "VkDisplaySurfaceCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsupportsProtected = " << value.supportsProtected << '\n'; ++ s << "\tflags = " << getDisplaySurfaceCreateFlagsKHRStr(value.flags) << '\n'; ++ s << "\tdisplayMode = " << value.displayMode << '\n'; ++ s << "\tplaneIndex = " << value.planeIndex << '\n'; ++ s << "\tplaneStackIndex = " << value.planeStackIndex << '\n'; ++ s << "\ttransform = " << value.transform << '\n'; ++ s << "\tglobalAlpha = " << value.globalAlpha << '\n'; ++ s << "\talphaMode = " << value.alphaMode << '\n'; ++ s << "\timageExtent = " << value.imageExtent << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePresentWaitFeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDisplayPresentInfoKHR& value) + { - s << "VkPhysicalDevicePresentWaitFeaturesKHR = {\n"; ++ s << "VkDisplayPresentInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tpresentWait = " << value.presentWait << '\n'; ++ s << "\tsrcRect = " << value.srcRect << '\n'; ++ s << "\tdstRect = " << value.dstRect << '\n'; ++ s << "\tpersistent = " << value.persistent << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkRenderingFragmentShadingRateAttachmentInfoKHR& value) + { - s << "VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = {\n"; ++ s << "VkRenderingFragmentShadingRateAttachmentInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tpipelineExecutableInfo = " << value.pipelineExecutableInfo << '\n'; ++ s << "\timageView = " << value.imageView << '\n'; ++ s << "\timageLayout = " << value.imageLayout << '\n'; ++ s << "\tshadingRateAttachmentTexelSize = " << value.shadingRateAttachmentTexelSize << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPipelineInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkRenderingFragmentDensityMapAttachmentInfoEXT& value) + { - s << "VkPipelineInfoKHR = {\n"; ++ s << "VkRenderingFragmentDensityMapAttachmentInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tpipeline = " << value.pipeline << '\n'; ++ s << "\timageView = " << value.imageView << '\n'; ++ s << "\timageLayout = " << value.imageLayout << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPipelineExecutablePropertiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkAttachmentSampleCountInfoAMD& value) + { - s << "VkPipelineExecutablePropertiesKHR = {\n"; ++ s << "VkAttachmentSampleCountInfoAMD = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tstages = " << getShaderStageFlagsStr(value.stages) << '\n'; - s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator(DE_ARRAY_END(value.name))) << '\n'; - s << "\tdescription = " << (const char*)value.description << '\n'; - s << "\tsubgroupSize = " << value.subgroupSize << '\n'; ++ s << "\tcolorAttachmentCount = " << value.colorAttachmentCount << '\n'; ++ s << "\tpColorAttachmentSamples = " << value.pColorAttachmentSamples << '\n'; ++ s << "\tdepthStencilAttachmentSamples = " << value.depthStencilAttachmentSamples << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkMultiviewPerViewAttributesInfoNVX& value) + { - s << "VkPipelineExecutableInfoKHR = {\n"; ++ s << "VkMultiviewPerViewAttributesInfoNVX = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tpipeline = " << value.pipeline << '\n'; - s << "\texecutableIndex = " << value.executableIndex << '\n'; ++ s << "\tperViewAttributes = " << value.perViewAttributes << '\n'; ++ s << "\tperViewAttributesPositionXOnly = " << value.perViewAttributesPositionXOnly << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableStatisticValueKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkImportMemoryFdInfoKHR& value) + { - s << "VkPipelineExecutableStatisticValueKHR = {\n"; - s << "\tb32 = " << value.b32 << '\n'; - s << "\ti64 = " << value.i64 << '\n'; - s << "\tu64 = " << value.u64 << '\n'; - s << "\tf64 = " << value.f64 << '\n'; ++ s << "VkImportMemoryFdInfoKHR = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\thandleType = " << value.handleType << '\n'; ++ s << "\tfd = " << value.fd << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkMemoryFdPropertiesKHR& value) ++{ ++ s << "VkMemoryFdPropertiesKHR = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkMemoryGetFdInfoKHR& value) ++{ ++ s << "VkMemoryGetFdInfoKHR = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tmemory = " << value.memory << '\n'; ++ s << "\thandleType = " << value.handleType << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkImportSemaphoreFdInfoKHR& value) ++{ ++ s << "VkImportSemaphoreFdInfoKHR = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tsemaphore = " << value.semaphore << '\n'; ++ s << "\tflags = " << getSemaphoreImportFlagsStr(value.flags) << '\n'; ++ s << "\thandleType = " << value.handleType << '\n'; ++ s << "\tfd = " << value.fd << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkSemaphoreGetFdInfoKHR& value) ++{ ++ s << "VkSemaphoreGetFdInfoKHR = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tsemaphore = " << value.semaphore << '\n'; ++ s << "\thandleType = " << value.handleType << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePushDescriptorPropertiesKHR& value) ++{ ++ s << "VkPhysicalDevicePushDescriptorPropertiesKHR = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tmaxPushDescriptors = " << value.maxPushDescriptors << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkRectLayerKHR& value) ++{ ++ s << "VkRectLayerKHR = {\n"; ++ s << "\toffset = " << value.offset << '\n'; ++ s << "\textent = " << value.extent << '\n'; ++ s << "\tlayer = " << value.layer << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkPresentRegionKHR& value) ++{ ++ s << "VkPresentRegionKHR = {\n"; ++ s << "\trectangleCount = " << value.rectangleCount << '\n'; ++ s << "\tpRectangles = " << value.pRectangles << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkPresentRegionsKHR& value) ++{ ++ s << "VkPresentRegionsKHR = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tswapchainCount = " << value.swapchainCount << '\n'; ++ s << "\tpRegions = " << value.pRegions << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkSharedPresentSurfaceCapabilitiesKHR& value) ++{ ++ s << "VkSharedPresentSurfaceCapabilitiesKHR = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tsharedPresentSupportedUsageFlags = " << getImageUsageFlagsStr(value.sharedPresentSupportedUsageFlags) << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkImportFenceFdInfoKHR& value) ++{ ++ s << "VkImportFenceFdInfoKHR = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tfence = " << value.fence << '\n'; ++ s << "\tflags = " << getFenceImportFlagsStr(value.flags) << '\n'; ++ s << "\thandleType = " << value.handleType << '\n'; ++ s << "\tfd = " << value.fd << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkFenceGetFdInfoKHR& value) ++{ ++ s << "VkFenceGetFdInfoKHR = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tfence = " << value.fence << '\n'; ++ s << "\thandleType = " << value.handleType << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePerformanceQueryFeaturesKHR& value) ++{ ++ s << "VkPhysicalDevicePerformanceQueryFeaturesKHR = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tperformanceCounterQueryPools = " << value.performanceCounterQueryPools << '\n'; ++ s << "\tperformanceCounterMultipleQueryPools = " << value.performanceCounterMultipleQueryPools << '\n'; ++ s << '}'; ++ return s; ++} ++ ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePerformanceQueryPropertiesKHR& value) ++{ ++ s << "VkPhysicalDevicePerformanceQueryPropertiesKHR = {\n"; ++ s << "\tsType = " << value.sType << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tallowCommandBufferQueryCopies = " << value.allowCommandBufferQueryCopies << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableStatisticKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterKHR& value) + { - s << "VkPipelineExecutableStatisticKHR = {\n"; ++ s << "VkPerformanceCounterKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator(DE_ARRAY_END(value.name))) << '\n'; - s << "\tdescription = " << (const char*)value.description << '\n'; - s << "\tformat = " << value.format << '\n'; - s << "\tvalue = " << value.value << '\n'; ++ s << "\tunit = " << value.unit << '\n'; ++ s << "\tscope = " << value.scope << '\n'; ++ s << "\tstorage = " << value.storage << '\n'; ++ s << "\tuuid = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.uuid)), tcu::Format::HexIterator(DE_ARRAY_END(value.uuid))) << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableInternalRepresentationKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterDescriptionKHR& value) + { - s << "VkPipelineExecutableInternalRepresentationKHR = {\n"; ++ s << "VkPerformanceCounterDescriptionKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tflags = " << getPerformanceCounterDescriptionFlagsKHRStr(value.flags) << '\n'; + s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator(DE_ARRAY_END(value.name))) << '\n'; ++ s << "\tcategory = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.category)), tcu::Format::HexIterator(DE_ARRAY_END(value.category))) << '\n'; + s << "\tdescription = " << (const char*)value.description << '\n'; - s << "\tisText = " << value.isText << '\n'; - s << "\tdataSize = " << value.dataSize << '\n'; - s << "\tpData = " << value.pData << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkQueryPoolPerformanceCreateInfoKHR& value) + { - s << "VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = {\n"; ++ s << "VkQueryPoolPerformanceCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tshaderIntegerDotProduct = " << value.shaderIntegerDotProduct << '\n'; ++ s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n'; ++ s << "\tcounterIndexCount = " << value.counterIndexCount << '\n'; ++ s << "\tpCounterIndices = " << value.pCounterIndices << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPerformanceCounterResultKHR& value) + { - s << "VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tintegerDotProduct8BitUnsignedAccelerated = " << value.integerDotProduct8BitUnsignedAccelerated << '\n'; - s << "\tintegerDotProduct8BitSignedAccelerated = " << value.integerDotProduct8BitSignedAccelerated << '\n'; - s << "\tintegerDotProduct8BitMixedSignednessAccelerated = " << value.integerDotProduct8BitMixedSignednessAccelerated << '\n'; - s << "\tintegerDotProduct4x8BitPackedUnsignedAccelerated = " << value.integerDotProduct4x8BitPackedUnsignedAccelerated << '\n'; - s << "\tintegerDotProduct4x8BitPackedSignedAccelerated = " << value.integerDotProduct4x8BitPackedSignedAccelerated << '\n'; - s << "\tintegerDotProduct4x8BitPackedMixedSignednessAccelerated = " << value.integerDotProduct4x8BitPackedMixedSignednessAccelerated << '\n'; - s << "\tintegerDotProduct16BitUnsignedAccelerated = " << value.integerDotProduct16BitUnsignedAccelerated << '\n'; - s << "\tintegerDotProduct16BitSignedAccelerated = " << value.integerDotProduct16BitSignedAccelerated << '\n'; - s << "\tintegerDotProduct16BitMixedSignednessAccelerated = " << value.integerDotProduct16BitMixedSignednessAccelerated << '\n'; - s << "\tintegerDotProduct32BitUnsignedAccelerated = " << value.integerDotProduct32BitUnsignedAccelerated << '\n'; - s << "\tintegerDotProduct32BitSignedAccelerated = " << value.integerDotProduct32BitSignedAccelerated << '\n'; - s << "\tintegerDotProduct32BitMixedSignednessAccelerated = " << value.integerDotProduct32BitMixedSignednessAccelerated << '\n'; - s << "\tintegerDotProduct64BitUnsignedAccelerated = " << value.integerDotProduct64BitUnsignedAccelerated << '\n'; - s << "\tintegerDotProduct64BitSignedAccelerated = " << value.integerDotProduct64BitSignedAccelerated << '\n'; - s << "\tintegerDotProduct64BitMixedSignednessAccelerated = " << value.integerDotProduct64BitMixedSignednessAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating8BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating8BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating8BitSignedAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating16BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating16BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating16BitSignedAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating32BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating32BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating32BitSignedAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating64BitUnsignedAccelerated = " << value.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating64BitSignedAccelerated = " << value.integerDotProductAccumulatingSaturating64BitSignedAccelerated << '\n'; - s << "\tintegerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = " << value.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated << '\n'; ++ s << "VkPerformanceCounterResultKHR = {\n"; ++ s << "\tint32 = " << value.int32 << '\n'; ++ s << "\tint64 = " << value.int64 << '\n'; ++ s << "\tuint32 = " << value.uint32 << '\n'; ++ s << "\tuint64 = " << value.uint64 << '\n'; ++ s << "\tfloat32 = " << value.float32 << '\n'; ++ s << "\tfloat64 = " << value.float64 << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPipelineLibraryCreateInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkAcquireProfilingLockInfoKHR& value) + { - s << "VkPipelineLibraryCreateInfoKHR = {\n"; ++ s << "VkAcquireProfilingLockInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tlibraryCount = " << value.libraryCount << '\n'; - s << "\tpLibraries = " << value.pLibraries << '\n'; ++ s << "\tflags = " << getAcquireProfilingLockFlagsKHRStr(value.flags) << '\n'; ++ s << "\ttimeout = " << value.timeout << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPresentIdKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPerformanceQuerySubmitInfoKHR& value) + { - s << "VkPresentIdKHR = {\n"; ++ s << "VkPerformanceQuerySubmitInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tswapchainCount = " << value.swapchainCount << '\n'; - s << "\tpPresentIds = " << value.pPresentIds << '\n'; ++ s << "\tcounterPassIndex = " << value.counterPassIndex << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePresentIdFeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSurfaceInfo2KHR& value) + { - s << "VkPhysicalDevicePresentIdFeaturesKHR = {\n"; ++ s << "VkPhysicalDeviceSurfaceInfo2KHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tpresentId = " << value.presentId << '\n'; ++ s << "\tsurface = " << value.surface << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkMemoryBarrier2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilities2KHR& value) + { - s << "VkMemoryBarrier2KHR = {\n"; ++ s << "VkSurfaceCapabilities2KHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcStageMask = " << value.srcStageMask << '\n'; - s << "\tsrcAccessMask = " << value.srcAccessMask << '\n'; - s << "\tdstStageMask = " << value.dstStageMask << '\n'; - s << "\tdstAccessMask = " << value.dstAccessMask << '\n'; ++ s << "\tsurfaceCapabilities = " << value.surfaceCapabilities << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkBufferMemoryBarrier2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkSurfaceFormat2KHR& value) + { - s << "VkBufferMemoryBarrier2KHR = {\n"; ++ s << "VkSurfaceFormat2KHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcStageMask = " << value.srcStageMask << '\n'; - s << "\tsrcAccessMask = " << value.srcAccessMask << '\n'; - s << "\tdstStageMask = " << value.dstStageMask << '\n'; - s << "\tdstAccessMask = " << value.dstAccessMask << '\n'; - s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n'; - s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n'; - s << "\tbuffer = " << value.buffer << '\n'; - s << "\toffset = " << value.offset << '\n'; - s << "\tsize = " << value.size << '\n'; ++ s << "\tsurfaceFormat = " << value.surfaceFormat << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkImageMemoryBarrier2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDisplayProperties2KHR& value) + { - s << "VkImageMemoryBarrier2KHR = {\n"; ++ s << "VkDisplayProperties2KHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcStageMask = " << value.srcStageMask << '\n'; - s << "\tsrcAccessMask = " << value.srcAccessMask << '\n'; - s << "\tdstStageMask = " << value.dstStageMask << '\n'; - s << "\tdstAccessMask = " << value.dstAccessMask << '\n'; - s << "\toldLayout = " << value.oldLayout << '\n'; - s << "\tnewLayout = " << value.newLayout << '\n'; - s << "\tsrcQueueFamilyIndex = " << value.srcQueueFamilyIndex << '\n'; - s << "\tdstQueueFamilyIndex = " << value.dstQueueFamilyIndex << '\n'; - s << "\timage = " << value.image << '\n'; - s << "\tsubresourceRange = " << value.subresourceRange << '\n'; ++ s << "\tdisplayProperties = " << value.displayProperties << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDependencyInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneProperties2KHR& value) + { - s << "VkDependencyInfoKHR = {\n"; ++ s << "VkDisplayPlaneProperties2KHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tdependencyFlags = " << getDependencyFlagsStr(value.dependencyFlags) << '\n'; - s << "\tmemoryBarrierCount = " << value.memoryBarrierCount << '\n'; - s << "\tpMemoryBarriers = " << value.pMemoryBarriers << '\n'; - s << "\tbufferMemoryBarrierCount = " << value.bufferMemoryBarrierCount << '\n'; - s << "\tpBufferMemoryBarriers = " << value.pBufferMemoryBarriers << '\n'; - s << "\timageMemoryBarrierCount = " << value.imageMemoryBarrierCount << '\n'; - s << "\tpImageMemoryBarriers = " << value.pImageMemoryBarriers << '\n'; ++ s << "\tdisplayPlaneProperties = " << value.displayPlaneProperties << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkSemaphoreSubmitInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDisplayModeProperties2KHR& value) + { - s << "VkSemaphoreSubmitInfoKHR = {\n"; ++ s << "VkDisplayModeProperties2KHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsemaphore = " << value.semaphore << '\n'; - s << "\tvalue = " << value.value << '\n'; - s << "\tstageMask = " << value.stageMask << '\n'; - s << "\tdeviceIndex = " << value.deviceIndex << '\n'; ++ s << "\tdisplayModeProperties = " << value.displayModeProperties << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkCommandBufferSubmitInfoKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneInfo2KHR& value) + { - s << "VkCommandBufferSubmitInfoKHR = {\n"; ++ s << "VkDisplayPlaneInfo2KHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tcommandBuffer = " << value.commandBuffer << '\n'; - s << "\tdeviceMask = " << value.deviceMask << '\n'; ++ s << "\tmode = " << value.mode << '\n'; ++ s << "\tplaneIndex = " << value.planeIndex << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkSubmitInfo2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkDisplayPlaneCapabilities2KHR& value) + { - s << "VkSubmitInfo2KHR = {\n"; ++ s << "VkDisplayPlaneCapabilities2KHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tflags = " << getSubmitFlagsKHRStr(value.flags) << '\n'; - s << "\twaitSemaphoreInfoCount = " << value.waitSemaphoreInfoCount << '\n'; - s << "\tpWaitSemaphoreInfos = " << value.pWaitSemaphoreInfos << '\n'; - s << "\tcommandBufferInfoCount = " << value.commandBufferInfoCount << '\n'; - s << "\tpCommandBufferInfos = " << value.pCommandBufferInfos << '\n'; - s << "\tsignalSemaphoreInfoCount = " << value.signalSemaphoreInfoCount << '\n'; - s << "\tpSignalSemaphoreInfos = " << value.pSignalSemaphoreInfos << '\n'; ++ s << "\tcapabilities = " << value.capabilities << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSynchronization2FeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderClockFeaturesKHR& value) + { - s << "VkPhysicalDeviceSynchronization2FeaturesKHR = {\n"; ++ s << "VkPhysicalDeviceShaderClockFeaturesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsynchronization2 = " << value.synchronization2 << '\n'; ++ s << "\tshaderSubgroupClock = " << value.shaderSubgroupClock << '\n'; ++ s << "\tshaderDeviceClock = " << value.shaderDeviceClock << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkQueueFamilyCheckpointProperties2NV& value) ++std::ostream& operator<< (std::ostream& s, const VkFragmentShadingRateAttachmentInfoKHR& value) + { - s << "VkQueueFamilyCheckpointProperties2NV = {\n"; ++ s << "VkFragmentShadingRateAttachmentInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tcheckpointExecutionStageMask = " << value.checkpointExecutionStageMask << '\n'; ++ s << "\tpFragmentShadingRateAttachment = " << value.pFragmentShadingRateAttachment << '\n'; ++ s << "\tshadingRateAttachmentTexelSize = " << value.shadingRateAttachmentTexelSize << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkCheckpointData2NV& value) ++std::ostream& operator<< (std::ostream& s, const VkPipelineFragmentShadingRateStateCreateInfoKHR& value) + { - s << "VkCheckpointData2NV = {\n"; ++ s << "VkPipelineFragmentShadingRateStateCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tstage = " << value.stage << '\n'; - s << "\tpCheckpointMarker = " << value.pCheckpointMarker << '\n'; ++ s << "\tfragmentSize = " << value.fragmentSize << '\n'; ++ s << "\tcombinerOps = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.combinerOps), DE_ARRAY_END(value.combinerOps)) << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateFeaturesKHR& value) + { - s << "VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR = {\n"; ++ s << "VkPhysicalDeviceFragmentShadingRateFeaturesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tshaderSubgroupUniformControlFlow = " << value.shaderSubgroupUniformControlFlow << '\n'; ++ s << "\tpipelineFragmentShadingRate = " << value.pipelineFragmentShadingRate << '\n'; ++ s << "\tprimitiveFragmentShadingRate = " << value.primitiveFragmentShadingRate << '\n'; ++ s << "\tattachmentFragmentShadingRate = " << value.attachmentFragmentShadingRate << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRatePropertiesKHR& value) + { - s << "VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = {\n"; ++ s << "VkPhysicalDeviceFragmentShadingRatePropertiesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tshaderZeroInitializeWorkgroupMemory = " << value.shaderZeroInitializeWorkgroupMemory << '\n'; ++ s << "\tminFragmentShadingRateAttachmentTexelSize = " << value.minFragmentShadingRateAttachmentTexelSize << '\n'; ++ s << "\tmaxFragmentShadingRateAttachmentTexelSize = " << value.maxFragmentShadingRateAttachmentTexelSize << '\n'; ++ s << "\tmaxFragmentShadingRateAttachmentTexelSizeAspectRatio = " << value.maxFragmentShadingRateAttachmentTexelSizeAspectRatio << '\n'; ++ s << "\tprimitiveFragmentShadingRateWithMultipleViewports = " << value.primitiveFragmentShadingRateWithMultipleViewports << '\n'; ++ s << "\tlayeredShadingRateAttachments = " << value.layeredShadingRateAttachments << '\n'; ++ s << "\tfragmentShadingRateNonTrivialCombinerOps = " << value.fragmentShadingRateNonTrivialCombinerOps << '\n'; ++ s << "\tmaxFragmentSize = " << value.maxFragmentSize << '\n'; ++ s << "\tmaxFragmentSizeAspectRatio = " << value.maxFragmentSizeAspectRatio << '\n'; ++ s << "\tmaxFragmentShadingRateCoverageSamples = " << value.maxFragmentShadingRateCoverageSamples << '\n'; ++ s << "\tmaxFragmentShadingRateRasterizationSamples = " << value.maxFragmentShadingRateRasterizationSamples << '\n'; ++ s << "\tfragmentShadingRateWithShaderDepthStencilWrites = " << value.fragmentShadingRateWithShaderDepthStencilWrites << '\n'; ++ s << "\tfragmentShadingRateWithSampleMask = " << value.fragmentShadingRateWithSampleMask << '\n'; ++ s << "\tfragmentShadingRateWithShaderSampleMask = " << value.fragmentShadingRateWithShaderSampleMask << '\n'; ++ s << "\tfragmentShadingRateWithConservativeRasterization = " << value.fragmentShadingRateWithConservativeRasterization << '\n'; ++ s << "\tfragmentShadingRateWithFragmentShaderInterlock = " << value.fragmentShadingRateWithFragmentShaderInterlock << '\n'; ++ s << "\tfragmentShadingRateWithCustomSampleLocations = " << value.fragmentShadingRateWithCustomSampleLocations << '\n'; ++ s << "\tfragmentShadingRateStrictMultiplyCombiner = " << value.fragmentShadingRateStrictMultiplyCombiner << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateKHR& value) + { - s << "VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = {\n"; ++ s << "VkPhysicalDeviceFragmentShadingRateKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tworkgroupMemoryExplicitLayout = " << value.workgroupMemoryExplicitLayout << '\n'; - s << "\tworkgroupMemoryExplicitLayoutScalarBlockLayout = " << value.workgroupMemoryExplicitLayoutScalarBlockLayout << '\n'; - s << "\tworkgroupMemoryExplicitLayout8BitAccess = " << value.workgroupMemoryExplicitLayout8BitAccess << '\n'; - s << "\tworkgroupMemoryExplicitLayout16BitAccess = " << value.workgroupMemoryExplicitLayout16BitAccess << '\n'; ++ s << "\tsampleCounts = " << getSampleCountFlagsStr(value.sampleCounts) << '\n'; ++ s << "\tfragmentSize = " << value.fragmentSize << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkBufferCopy2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkSurfaceProtectedCapabilitiesKHR& value) + { - s << "VkBufferCopy2KHR = {\n"; ++ s << "VkSurfaceProtectedCapabilitiesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcOffset = " << value.srcOffset << '\n'; - s << "\tdstOffset = " << value.dstOffset << '\n'; - s << "\tsize = " << value.size << '\n'; ++ s << "\tsupportsProtected = " << value.supportsProtected << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkCopyBufferInfo2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePresentWaitFeaturesKHR& value) + { - s << "VkCopyBufferInfo2KHR = {\n"; ++ s << "VkPhysicalDevicePresentWaitFeaturesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcBuffer = " << value.srcBuffer << '\n'; - s << "\tdstBuffer = " << value.dstBuffer << '\n'; - s << "\tregionCount = " << value.regionCount << '\n'; - s << "\tpRegions = " << value.pRegions << '\n'; ++ s << "\tpresentWait = " << value.presentWait << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkImageCopy2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR& value) + { - s << "VkImageCopy2KHR = {\n"; ++ s << "VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcSubresource = " << value.srcSubresource << '\n'; - s << "\tsrcOffset = " << value.srcOffset << '\n'; - s << "\tdstSubresource = " << value.dstSubresource << '\n'; - s << "\tdstOffset = " << value.dstOffset << '\n'; - s << "\textent = " << value.extent << '\n'; ++ s << "\tpipelineExecutableInfo = " << value.pipelineExecutableInfo << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkCopyImageInfo2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPipelineInfoKHR& value) + { - s << "VkCopyImageInfo2KHR = {\n"; ++ s << "VkPipelineInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcImage = " << value.srcImage << '\n'; - s << "\tsrcImageLayout = " << value.srcImageLayout << '\n'; - s << "\tdstImage = " << value.dstImage << '\n'; - s << "\tdstImageLayout = " << value.dstImageLayout << '\n'; - s << "\tregionCount = " << value.regionCount << '\n'; - s << "\tpRegions = " << value.pRegions << '\n'; ++ s << "\tpipeline = " << value.pipeline << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkBufferImageCopy2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPipelineExecutablePropertiesKHR& value) + { - s << "VkBufferImageCopy2KHR = {\n"; ++ s << "VkPipelineExecutablePropertiesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tbufferOffset = " << value.bufferOffset << '\n'; - s << "\tbufferRowLength = " << value.bufferRowLength << '\n'; - s << "\tbufferImageHeight = " << value.bufferImageHeight << '\n'; - s << "\timageSubresource = " << value.imageSubresource << '\n'; - s << "\timageOffset = " << value.imageOffset << '\n'; - s << "\timageExtent = " << value.imageExtent << '\n'; ++ s << "\tpNext = " << value.pNext << '\n'; ++ s << "\tstages = " << getShaderStageFlagsStr(value.stages) << '\n'; ++ s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator(DE_ARRAY_END(value.name))) << '\n'; ++ s << "\tdescription = " << (const char*)value.description << '\n'; ++ s << "\tsubgroupSize = " << value.subgroupSize << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkCopyBufferToImageInfo2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableInfoKHR& value) + { - s << "VkCopyBufferToImageInfo2KHR = {\n"; ++ s << "VkPipelineExecutableInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcBuffer = " << value.srcBuffer << '\n'; - s << "\tdstImage = " << value.dstImage << '\n'; - s << "\tdstImageLayout = " << value.dstImageLayout << '\n'; - s << "\tregionCount = " << value.regionCount << '\n'; - s << "\tpRegions = " << value.pRegions << '\n'; ++ s << "\tpipeline = " << value.pipeline << '\n'; ++ s << "\texecutableIndex = " << value.executableIndex << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkCopyImageToBufferInfo2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableStatisticValueKHR& value) + { - s << "VkCopyImageToBufferInfo2KHR = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcImage = " << value.srcImage << '\n'; - s << "\tsrcImageLayout = " << value.srcImageLayout << '\n'; - s << "\tdstBuffer = " << value.dstBuffer << '\n'; - s << "\tregionCount = " << value.regionCount << '\n'; - s << "\tpRegions = " << value.pRegions << '\n'; ++ s << "VkPipelineExecutableStatisticValueKHR = {\n"; ++ s << "\tb32 = " << value.b32 << '\n'; ++ s << "\ti64 = " << value.i64 << '\n'; ++ s << "\tu64 = " << value.u64 << '\n'; ++ s << "\tf64 = " << value.f64 << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkImageBlit2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableStatisticKHR& value) + { - s << "VkImageBlit2KHR = {\n"; ++ s << "VkPipelineExecutableStatisticKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcSubresource = " << value.srcSubresource << '\n'; - s << "\tsrcOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.srcOffsets), DE_ARRAY_END(value.srcOffsets)) << '\n'; - s << "\tdstSubresource = " << value.dstSubresource << '\n'; - s << "\tdstOffsets = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.dstOffsets), DE_ARRAY_END(value.dstOffsets)) << '\n'; ++ s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator(DE_ARRAY_END(value.name))) << '\n'; ++ s << "\tdescription = " << (const char*)value.description << '\n'; ++ s << "\tformat = " << value.format << '\n'; ++ s << "\tvalue = " << value.value << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkBlitImageInfo2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPipelineExecutableInternalRepresentationKHR& value) + { - s << "VkBlitImageInfo2KHR = {\n"; ++ s << "VkPipelineExecutableInternalRepresentationKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcImage = " << value.srcImage << '\n'; - s << "\tsrcImageLayout = " << value.srcImageLayout << '\n'; - s << "\tdstImage = " << value.dstImage << '\n'; - s << "\tdstImageLayout = " << value.dstImageLayout << '\n'; - s << "\tregionCount = " << value.regionCount << '\n'; - s << "\tpRegions = " << value.pRegions << '\n'; - s << "\tfilter = " << value.filter << '\n'; ++ s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator(DE_ARRAY_END(value.name))) << '\n'; ++ s << "\tdescription = " << (const char*)value.description << '\n'; ++ s << "\tisText = " << value.isText << '\n'; ++ s << "\tdataSize = " << value.dataSize << '\n'; ++ s << "\tpData = " << value.pData << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkImageResolve2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPipelineLibraryCreateInfoKHR& value) + { - s << "VkImageResolve2KHR = {\n"; ++ s << "VkPipelineLibraryCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcSubresource = " << value.srcSubresource << '\n'; - s << "\tsrcOffset = " << value.srcOffset << '\n'; - s << "\tdstSubresource = " << value.dstSubresource << '\n'; - s << "\tdstOffset = " << value.dstOffset << '\n'; - s << "\textent = " << value.extent << '\n'; ++ s << "\tlibraryCount = " << value.libraryCount << '\n'; ++ s << "\tpLibraries = " << value.pLibraries << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkResolveImageInfo2KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPresentIdKHR& value) + { - s << "VkResolveImageInfo2KHR = {\n"; ++ s << "VkPresentIdKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tsrcImage = " << value.srcImage << '\n'; - s << "\tsrcImageLayout = " << value.srcImageLayout << '\n'; - s << "\tdstImage = " << value.dstImage << '\n'; - s << "\tdstImageLayout = " << value.dstImageLayout << '\n'; - s << "\tregionCount = " << value.regionCount << '\n'; - s << "\tpRegions = " << value.pRegions << '\n'; ++ s << "\tswapchainCount = " << value.swapchainCount << '\n'; ++ s << "\tpPresentIds = " << value.pPresentIds << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkFormatProperties3KHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePresentIdFeaturesKHR& value) + { - s << "VkFormatProperties3KHR = {\n"; ++ s << "VkPhysicalDevicePresentIdFeaturesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tlinearTilingFeatures = " << value.linearTilingFeatures << '\n'; - s << "\toptimalTilingFeatures = " << value.optimalTilingFeatures << '\n'; - s << "\tbufferFeatures = " << value.bufferFeatures << '\n'; ++ s << "\tpresentId = " << value.presentId << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance4FeaturesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkQueueFamilyCheckpointProperties2NV& value) + { - s << "VkPhysicalDeviceMaintenance4FeaturesKHR = {\n"; ++ s << "VkQueueFamilyCheckpointProperties2NV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tmaintenance4 = " << value.maintenance4 << '\n'; ++ s << "\tcheckpointExecutionStageMask = " << value.checkpointExecutionStageMask << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMaintenance4PropertiesKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkCheckpointData2NV& value) + { - s << "VkPhysicalDeviceMaintenance4PropertiesKHR = {\n"; ++ s << "VkCheckpointData2NV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tmaxBufferSize = " << value.maxBufferSize << '\n'; ++ s << "\tstage = " << value.stage << '\n'; ++ s << "\tpCheckpointMarker = " << value.pCheckpointMarker << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDeviceBufferMemoryRequirementsKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR& value) + { - s << "VkDeviceBufferMemoryRequirementsKHR = {\n"; ++ s << "VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tpCreateInfo = " << value.pCreateInfo << '\n'; ++ s << "\tshaderSubgroupUniformControlFlow = " << value.shaderSubgroupUniformControlFlow << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkDeviceImageMemoryRequirementsKHR& value) ++std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR& value) + { - s << "VkDeviceImageMemoryRequirementsKHR = {\n"; ++ s << "VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; - s << "\tpCreateInfo = " << value.pCreateInfo << '\n'; - s << "\tplaneAspect = " << value.planeAspect << '\n'; ++ s << "\tworkgroupMemoryExplicitLayout = " << value.workgroupMemoryExplicitLayout << '\n'; ++ s << "\tworkgroupMemoryExplicitLayoutScalarBlockLayout = " << value.workgroupMemoryExplicitLayoutScalarBlockLayout << '\n'; ++ s << "\tworkgroupMemoryExplicitLayout8BitAccess = " << value.workgroupMemoryExplicitLayout8BitAccess << '\n'; ++ s << "\tworkgroupMemoryExplicitLayout16BitAccess = " << value.workgroupMemoryExplicitLayout16BitAccess << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDebugReportCallbackCreateInfoEXT& value) + { + s << "VkDebugReportCallbackCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getDebugReportFlagsEXTStr(value.flags) << '\n'; + s << "\tpfnCallback = " << value.pfnCallback << '\n'; + s << "\tpUserData = " << value.pUserData << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationStateRasterizationOrderAMD& value) + { + s << "VkPipelineRasterizationStateRasterizationOrderAMD = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trasterizationOrder = " << value.rasterizationOrder << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDebugMarkerObjectNameInfoEXT& value) + { + s << "VkDebugMarkerObjectNameInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tobjectType = " << value.objectType << '\n'; + s << "\tobject = " << value.object << '\n'; + s << "\tpObjectName = " << getCharPtrStr(value.pObjectName) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDebugMarkerObjectTagInfoEXT& value) + { + s << "VkDebugMarkerObjectTagInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tobjectType = " << value.objectType << '\n'; + s << "\tobject = " << value.object << '\n'; + s << "\ttagName = " << value.tagName << '\n'; + s << "\ttagSize = " << value.tagSize << '\n'; + s << "\tpTag = " << value.pTag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDebugMarkerMarkerInfoEXT& value) + { + s << "VkDebugMarkerMarkerInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpMarkerName = " << getCharPtrStr(value.pMarkerName) << '\n'; + s << "\tcolor = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.color), DE_ARRAY_END(value.color)) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDedicatedAllocationImageCreateInfoNV& value) + { + s << "VkDedicatedAllocationImageCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdedicatedAllocation = " << value.dedicatedAllocation << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDedicatedAllocationBufferCreateInfoNV& value) + { + s << "VkDedicatedAllocationBufferCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdedicatedAllocation = " << value.dedicatedAllocation << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDedicatedAllocationMemoryAllocateInfoNV& value) + { + s << "VkDedicatedAllocationMemoryAllocateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\timage = " << value.image << '\n'; + s << "\tbuffer = " << value.buffer << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTransformFeedbackFeaturesEXT& value) + { + s << "VkPhysicalDeviceTransformFeedbackFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttransformFeedback = " << value.transformFeedback << '\n'; + s << "\tgeometryStreams = " << value.geometryStreams << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTransformFeedbackPropertiesEXT& value) + { + s << "VkPhysicalDeviceTransformFeedbackPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxTransformFeedbackStreams = " << value.maxTransformFeedbackStreams << '\n'; + s << "\tmaxTransformFeedbackBuffers = " << value.maxTransformFeedbackBuffers << '\n'; + s << "\tmaxTransformFeedbackBufferSize = " << value.maxTransformFeedbackBufferSize << '\n'; + s << "\tmaxTransformFeedbackStreamDataSize = " << value.maxTransformFeedbackStreamDataSize << '\n'; + s << "\tmaxTransformFeedbackBufferDataSize = " << value.maxTransformFeedbackBufferDataSize << '\n'; + s << "\tmaxTransformFeedbackBufferDataStride = " << value.maxTransformFeedbackBufferDataStride << '\n'; + s << "\ttransformFeedbackQueries = " << value.transformFeedbackQueries << '\n'; + s << "\ttransformFeedbackStreamsLinesTriangles = " << value.transformFeedbackStreamsLinesTriangles << '\n'; + s << "\ttransformFeedbackRasterizationStreamSelect = " << value.transformFeedbackRasterizationStreamSelect << '\n'; + s << "\ttransformFeedbackDraw = " << value.transformFeedbackDraw << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationStateStreamCreateInfoEXT& value) + { + s << "VkPipelineRasterizationStateStreamCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineRasterizationStateStreamCreateFlagsEXTStr(value.flags) << '\n'; + s << "\trasterizationStream = " << value.rasterizationStream << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCuModuleCreateInfoNVX& value) + { + s << "VkCuModuleCreateInfoNVX = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdataSize = " << value.dataSize << '\n'; + s << "\tpData = " << value.pData << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCuFunctionCreateInfoNVX& value) + { + s << "VkCuFunctionCreateInfoNVX = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmodule = " << value.module << '\n'; + s << "\tpName = " << getCharPtrStr(value.pName) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCuLaunchInfoNVX& value) + { + s << "VkCuLaunchInfoNVX = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfunction = " << value.function << '\n'; + s << "\tgridDimX = " << value.gridDimX << '\n'; + s << "\tgridDimY = " << value.gridDimY << '\n'; + s << "\tgridDimZ = " << value.gridDimZ << '\n'; + s << "\tblockDimX = " << value.blockDimX << '\n'; + s << "\tblockDimY = " << value.blockDimY << '\n'; + s << "\tblockDimZ = " << value.blockDimZ << '\n'; + s << "\tsharedMemBytes = " << value.sharedMemBytes << '\n'; + s << "\tparamCount = " << value.paramCount << '\n'; + s << "\tpParams = " << value.pParams << '\n'; + s << "\textraCount = " << value.extraCount << '\n'; + s << "\tpExtras = " << value.pExtras << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageViewHandleInfoNVX& value) + { + s << "VkImageViewHandleInfoNVX = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\timageView = " << value.imageView << '\n'; + s << "\tdescriptorType = " << value.descriptorType << '\n'; + s << "\tsampler = " << value.sampler << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageViewAddressPropertiesNVX& value) + { + s << "VkImageViewAddressPropertiesNVX = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdeviceAddress = " << value.deviceAddress << '\n'; + s << "\tsize = " << value.size << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkTextureLODGatherFormatPropertiesAMD& value) + { + s << "VkTextureLODGatherFormatPropertiesAMD = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsupportsTextureGatherLODBiasAMD = " << value.supportsTextureGatherLODBiasAMD << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkShaderResourceUsageAMD& value) + { + s << "VkShaderResourceUsageAMD = {\n"; + s << "\tnumUsedVgprs = " << value.numUsedVgprs << '\n'; + s << "\tnumUsedSgprs = " << value.numUsedSgprs << '\n'; + s << "\tldsSizePerLocalWorkGroup = " << value.ldsSizePerLocalWorkGroup << '\n'; + s << "\tldsUsageSizeInBytes = " << value.ldsUsageSizeInBytes << '\n'; + s << "\tscratchMemUsageInBytes = " << value.scratchMemUsageInBytes << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkShaderStatisticsInfoAMD& value) + { + s << "VkShaderStatisticsInfoAMD = {\n"; + s << "\tshaderStageMask = " << getShaderStageFlagsStr(value.shaderStageMask) << '\n'; + s << "\tresourceUsage = " << value.resourceUsage << '\n'; + s << "\tnumPhysicalVgprs = " << value.numPhysicalVgprs << '\n'; + s << "\tnumPhysicalSgprs = " << value.numPhysicalSgprs << '\n'; + s << "\tnumAvailableVgprs = " << value.numAvailableVgprs << '\n'; + s << "\tnumAvailableSgprs = " << value.numAvailableSgprs << '\n'; + s << "\tcomputeWorkGroupSize = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.computeWorkGroupSize), DE_ARRAY_END(value.computeWorkGroupSize)) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCornerSampledImageFeaturesNV& value) + { + s << "VkPhysicalDeviceCornerSampledImageFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcornerSampledImage = " << value.cornerSampledImage << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExternalImageFormatPropertiesNV& value) + { + s << "VkExternalImageFormatPropertiesNV = {\n"; + s << "\timageFormatProperties = " << value.imageFormatProperties << '\n'; + s << "\texternalMemoryFeatures = " << getExternalMemoryFeatureFlagsNVStr(value.externalMemoryFeatures) << '\n'; + s << "\texportFromImportedHandleTypes = " << getExternalMemoryHandleTypeFlagsNVStr(value.exportFromImportedHandleTypes) << '\n'; + s << "\tcompatibleHandleTypes = " << getExternalMemoryHandleTypeFlagsNVStr(value.compatibleHandleTypes) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExternalMemoryImageCreateInfoNV& value) + { + s << "VkExternalMemoryImageCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsNVStr(value.handleTypes) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExportMemoryAllocateInfoNV& value) + { + s << "VkExportMemoryAllocateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleTypes = " << getExternalMemoryHandleTypeFlagsNVStr(value.handleTypes) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkValidationFlagsEXT& value) + { + s << "VkValidationFlagsEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdisabledValidationCheckCount = " << value.disabledValidationCheckCount << '\n'; + s << "\tpDisabledValidationChecks = " << value.pDisabledValidationChecks << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT& value) -{ - s << "VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\ttextureCompressionASTC_HDR = " << value.textureCompressionASTC_HDR << '\n'; - s << '}'; - return s; -} - + std::ostream& operator<< (std::ostream& s, const VkImageViewASTCDecodeModeEXT& value) + { + s << "VkImageViewASTCDecodeModeEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdecodeMode = " << value.decodeMode << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceASTCDecodeFeaturesEXT& value) + { + s << "VkPhysicalDeviceASTCDecodeFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdecodeModeSharedExponent = " << value.decodeModeSharedExponent << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkConditionalRenderingBeginInfoEXT& value) + { + s << "VkConditionalRenderingBeginInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tbuffer = " << value.buffer << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << "\tflags = " << getConditionalRenderingFlagsEXTStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceConditionalRenderingFeaturesEXT& value) + { + s << "VkPhysicalDeviceConditionalRenderingFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tconditionalRendering = " << value.conditionalRendering << '\n'; + s << "\tinheritedConditionalRendering = " << value.inheritedConditionalRendering << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceConditionalRenderingInfoEXT& value) + { + s << "VkCommandBufferInheritanceConditionalRenderingInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tconditionalRenderingEnable = " << value.conditionalRenderingEnable << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkViewportWScalingNV& value) + { + s << "VkViewportWScalingNV = {\n"; + s << "\txcoeff = " << value.xcoeff << '\n'; + s << "\tycoeff = " << value.ycoeff << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportWScalingStateCreateInfoNV& value) + { + s << "VkPipelineViewportWScalingStateCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tviewportWScalingEnable = " << value.viewportWScalingEnable << '\n'; + s << "\tviewportCount = " << value.viewportCount << '\n'; + s << "\tpViewportWScalings = " << value.pViewportWScalings << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilities2EXT& value) + { + s << "VkSurfaceCapabilities2EXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tminImageCount = " << value.minImageCount << '\n'; + s << "\tmaxImageCount = " << value.maxImageCount << '\n'; + s << "\tcurrentExtent = " << value.currentExtent << '\n'; + s << "\tminImageExtent = " << value.minImageExtent << '\n'; + s << "\tmaxImageExtent = " << value.maxImageExtent << '\n'; + s << "\tmaxImageArrayLayers = " << value.maxImageArrayLayers << '\n'; + s << "\tsupportedTransforms = " << getSurfaceTransformFlagsKHRStr(value.supportedTransforms) << '\n'; + s << "\tcurrentTransform = " << value.currentTransform << '\n'; + s << "\tsupportedCompositeAlpha = " << getCompositeAlphaFlagsKHRStr(value.supportedCompositeAlpha) << '\n'; + s << "\tsupportedUsageFlags = " << getImageUsageFlagsStr(value.supportedUsageFlags) << '\n'; + s << "\tsupportedSurfaceCounters = " << getSurfaceCounterFlagsEXTStr(value.supportedSurfaceCounters) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDisplayPowerInfoEXT& value) + { + s << "VkDisplayPowerInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpowerState = " << value.powerState << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceEventInfoEXT& value) + { + s << "VkDeviceEventInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdeviceEvent = " << value.deviceEvent << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDisplayEventInfoEXT& value) + { + s << "VkDisplayEventInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdisplayEvent = " << value.displayEvent << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSwapchainCounterCreateInfoEXT& value) + { + s << "VkSwapchainCounterCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsurfaceCounters = " << getSurfaceCounterFlagsEXTStr(value.surfaceCounters) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRefreshCycleDurationGOOGLE& value) + { + s << "VkRefreshCycleDurationGOOGLE = {\n"; + s << "\trefreshDuration = " << value.refreshDuration << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPastPresentationTimingGOOGLE& value) + { + s << "VkPastPresentationTimingGOOGLE = {\n"; + s << "\tpresentID = " << value.presentID << '\n'; + s << "\tdesiredPresentTime = " << value.desiredPresentTime << '\n'; + s << "\tactualPresentTime = " << value.actualPresentTime << '\n'; + s << "\tearliestPresentTime = " << value.earliestPresentTime << '\n'; + s << "\tpresentMargin = " << value.presentMargin << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPresentTimeGOOGLE& value) + { + s << "VkPresentTimeGOOGLE = {\n"; + s << "\tpresentID = " << value.presentID << '\n'; + s << "\tdesiredPresentTime = " << value.desiredPresentTime << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPresentTimesInfoGOOGLE& value) + { + s << "VkPresentTimesInfoGOOGLE = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tswapchainCount = " << value.swapchainCount << '\n'; + s << "\tpTimes = " << value.pTimes << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX& value) + { + s << "VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tperViewPositionAllComponents = " << value.perViewPositionAllComponents << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkViewportSwizzleNV& value) + { + s << "VkViewportSwizzleNV = {\n"; + s << "\tx = " << value.x << '\n'; + s << "\ty = " << value.y << '\n'; + s << "\tz = " << value.z << '\n'; + s << "\tw = " << value.w << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportSwizzleStateCreateInfoNV& value) + { + s << "VkPipelineViewportSwizzleStateCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineViewportSwizzleStateCreateFlagsNVStr(value.flags) << '\n'; + s << "\tviewportCount = " << value.viewportCount << '\n'; + s << "\tpViewportSwizzles = " << value.pViewportSwizzles << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDiscardRectanglePropertiesEXT& value) + { + s << "VkPhysicalDeviceDiscardRectanglePropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxDiscardRectangles = " << value.maxDiscardRectangles << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineDiscardRectangleStateCreateInfoEXT& value) + { + s << "VkPipelineDiscardRectangleStateCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineDiscardRectangleStateCreateFlagsEXTStr(value.flags) << '\n'; + s << "\tdiscardRectangleMode = " << value.discardRectangleMode << '\n'; + s << "\tdiscardRectangleCount = " << value.discardRectangleCount << '\n'; + s << "\tpDiscardRectangles = " << value.pDiscardRectangles << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceConservativeRasterizationPropertiesEXT& value) + { + s << "VkPhysicalDeviceConservativeRasterizationPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tprimitiveOverestimationSize = " << value.primitiveOverestimationSize << '\n'; + s << "\tmaxExtraPrimitiveOverestimationSize = " << value.maxExtraPrimitiveOverestimationSize << '\n'; + s << "\textraPrimitiveOverestimationSizeGranularity = " << value.extraPrimitiveOverestimationSizeGranularity << '\n'; + s << "\tprimitiveUnderestimation = " << value.primitiveUnderestimation << '\n'; + s << "\tconservativePointAndLineRasterization = " << value.conservativePointAndLineRasterization << '\n'; + s << "\tdegenerateTrianglesRasterized = " << value.degenerateTrianglesRasterized << '\n'; + s << "\tdegenerateLinesRasterized = " << value.degenerateLinesRasterized << '\n'; + s << "\tfullyCoveredFragmentShaderInputVariable = " << value.fullyCoveredFragmentShaderInputVariable << '\n'; + s << "\tconservativeRasterizationPostDepthCoverage = " << value.conservativeRasterizationPostDepthCoverage << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationConservativeStateCreateInfoEXT& value) + { + s << "VkPipelineRasterizationConservativeStateCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineRasterizationConservativeStateCreateFlagsEXTStr(value.flags) << '\n'; + s << "\tconservativeRasterizationMode = " << value.conservativeRasterizationMode << '\n'; + s << "\textraPrimitiveOverestimationSize = " << value.extraPrimitiveOverestimationSize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDepthClipEnableFeaturesEXT& value) + { + s << "VkPhysicalDeviceDepthClipEnableFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdepthClipEnable = " << value.depthClipEnable << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationDepthClipStateCreateInfoEXT& value) + { + s << "VkPipelineRasterizationDepthClipStateCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineRasterizationDepthClipStateCreateFlagsEXTStr(value.flags) << '\n'; + s << "\tdepthClipEnable = " << value.depthClipEnable << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkXYColorEXT& value) + { + s << "VkXYColorEXT = {\n"; + s << "\tx = " << value.x << '\n'; + s << "\ty = " << value.y << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkHdrMetadataEXT& value) + { + s << "VkHdrMetadataEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdisplayPrimaryRed = " << value.displayPrimaryRed << '\n'; + s << "\tdisplayPrimaryGreen = " << value.displayPrimaryGreen << '\n'; + s << "\tdisplayPrimaryBlue = " << value.displayPrimaryBlue << '\n'; + s << "\twhitePoint = " << value.whitePoint << '\n'; + s << "\tmaxLuminance = " << value.maxLuminance << '\n'; + s << "\tminLuminance = " << value.minLuminance << '\n'; + s << "\tmaxContentLightLevel = " << value.maxContentLightLevel << '\n'; + s << "\tmaxFrameAverageLightLevel = " << value.maxFrameAverageLightLevel << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDebugUtilsLabelEXT& value) + { + s << "VkDebugUtilsLabelEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpLabelName = " << getCharPtrStr(value.pLabelName) << '\n'; + s << "\tcolor = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.color), DE_ARRAY_END(value.color)) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDebugUtilsObjectNameInfoEXT& value) + { + s << "VkDebugUtilsObjectNameInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tobjectType = " << value.objectType << '\n'; + s << "\tobjectHandle = " << value.objectHandle << '\n'; + s << "\tpObjectName = " << getCharPtrStr(value.pObjectName) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDebugUtilsMessengerCallbackDataEXT& value) + { + s << "VkDebugUtilsMessengerCallbackDataEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getDebugUtilsMessengerCallbackDataFlagsEXTStr(value.flags) << '\n'; + s << "\tpMessageIdName = " << getCharPtrStr(value.pMessageIdName) << '\n'; + s << "\tmessageIdNumber = " << value.messageIdNumber << '\n'; + s << "\tpMessage = " << getCharPtrStr(value.pMessage) << '\n'; + s << "\tqueueLabelCount = " << value.queueLabelCount << '\n'; + s << "\tpQueueLabels = " << value.pQueueLabels << '\n'; + s << "\tcmdBufLabelCount = " << value.cmdBufLabelCount << '\n'; + s << "\tpCmdBufLabels = " << value.pCmdBufLabels << '\n'; + s << "\tobjectCount = " << value.objectCount << '\n'; + s << "\tpObjects = " << value.pObjects << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDebugUtilsMessengerCreateInfoEXT& value) + { + s << "VkDebugUtilsMessengerCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getDebugUtilsMessengerCreateFlagsEXTStr(value.flags) << '\n'; + s << "\tmessageSeverity = " << getDebugUtilsMessageSeverityFlagsEXTStr(value.messageSeverity) << '\n'; + s << "\tmessageType = " << getDebugUtilsMessageTypeFlagsEXTStr(value.messageType) << '\n'; + s << "\tpfnUserCallback = " << value.pfnUserCallback << '\n'; + s << "\tpUserData = " << value.pUserData << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDebugUtilsObjectTagInfoEXT& value) + { + s << "VkDebugUtilsObjectTagInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tobjectType = " << value.objectType << '\n'; + s << "\tobjectHandle = " << value.objectHandle << '\n'; + s << "\ttagName = " << value.tagName << '\n'; + s << "\ttagSize = " << value.tagSize << '\n'; + s << "\tpTag = " << value.pTag << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInlineUniformBlockFeaturesEXT& value) -{ - s << "VkPhysicalDeviceInlineUniformBlockFeaturesEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tinlineUniformBlock = " << value.inlineUniformBlock << '\n'; - s << "\tdescriptorBindingInlineUniformBlockUpdateAfterBind = " << value.descriptorBindingInlineUniformBlockUpdateAfterBind << '\n'; - s << '}'; - return s; -} - -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInlineUniformBlockPropertiesEXT& value) -{ - s << "VkPhysicalDeviceInlineUniformBlockPropertiesEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tmaxInlineUniformBlockSize = " << value.maxInlineUniformBlockSize << '\n'; - s << "\tmaxPerStageDescriptorInlineUniformBlocks = " << value.maxPerStageDescriptorInlineUniformBlocks << '\n'; - s << "\tmaxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = " << value.maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks << '\n'; - s << "\tmaxDescriptorSetInlineUniformBlocks = " << value.maxDescriptorSetInlineUniformBlocks << '\n'; - s << "\tmaxDescriptorSetUpdateAfterBindInlineUniformBlocks = " << value.maxDescriptorSetUpdateAfterBindInlineUniformBlocks << '\n'; - s << '}'; - return s; -} - -std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSetInlineUniformBlockEXT& value) -{ - s << "VkWriteDescriptorSetInlineUniformBlockEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tdataSize = " << value.dataSize << '\n'; - s << "\tpData = " << value.pData << '\n'; - s << '}'; - return s; -} - -std::ostream& operator<< (std::ostream& s, const VkDescriptorPoolInlineUniformBlockCreateInfoEXT& value) -{ - s << "VkDescriptorPoolInlineUniformBlockCreateInfoEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tmaxInlineUniformBlockBindings = " << value.maxInlineUniformBlockBindings << '\n'; - s << '}'; - return s; -} - + std::ostream& operator<< (std::ostream& s, const VkSampleLocationEXT& value) + { + s << "VkSampleLocationEXT = {\n"; + s << "\tx = " << value.x << '\n'; + s << "\ty = " << value.y << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSampleLocationsInfoEXT& value) + { + s << "VkSampleLocationsInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsampleLocationsPerPixel = " << value.sampleLocationsPerPixel << '\n'; + s << "\tsampleLocationGridSize = " << value.sampleLocationGridSize << '\n'; + s << "\tsampleLocationsCount = " << value.sampleLocationsCount << '\n'; + s << "\tpSampleLocations = " << value.pSampleLocations << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAttachmentSampleLocationsEXT& value) + { + s << "VkAttachmentSampleLocationsEXT = {\n"; + s << "\tattachmentIndex = " << value.attachmentIndex << '\n'; + s << "\tsampleLocationsInfo = " << value.sampleLocationsInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSubpassSampleLocationsEXT& value) + { + s << "VkSubpassSampleLocationsEXT = {\n"; + s << "\tsubpassIndex = " << value.subpassIndex << '\n'; + s << "\tsampleLocationsInfo = " << value.sampleLocationsInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRenderPassSampleLocationsBeginInfoEXT& value) + { + s << "VkRenderPassSampleLocationsBeginInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tattachmentInitialSampleLocationsCount = " << value.attachmentInitialSampleLocationsCount << '\n'; + s << "\tpAttachmentInitialSampleLocations = " << value.pAttachmentInitialSampleLocations << '\n'; + s << "\tpostSubpassSampleLocationsCount = " << value.postSubpassSampleLocationsCount << '\n'; + s << "\tpPostSubpassSampleLocations = " << value.pPostSubpassSampleLocations << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineSampleLocationsStateCreateInfoEXT& value) + { + s << "VkPipelineSampleLocationsStateCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsampleLocationsEnable = " << value.sampleLocationsEnable << '\n'; + s << "\tsampleLocationsInfo = " << value.sampleLocationsInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSampleLocationsPropertiesEXT& value) + { + s << "VkPhysicalDeviceSampleLocationsPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsampleLocationSampleCounts = " << getSampleCountFlagsStr(value.sampleLocationSampleCounts) << '\n'; + s << "\tmaxSampleLocationGridSize = " << value.maxSampleLocationGridSize << '\n'; + s << "\tsampleLocationCoordinateRange = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.sampleLocationCoordinateRange), DE_ARRAY_END(value.sampleLocationCoordinateRange)) << '\n'; + s << "\tsampleLocationSubPixelBits = " << value.sampleLocationSubPixelBits << '\n'; + s << "\tvariableSampleLocations = " << value.variableSampleLocations << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMultisamplePropertiesEXT& value) + { + s << "VkMultisamplePropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxSampleLocationGridSize = " << value.maxSampleLocationGridSize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT& value) + { + s << "VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tadvancedBlendCoherentOperations = " << value.advancedBlendCoherentOperations << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& value) + { + s << "VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tadvancedBlendMaxColorAttachments = " << value.advancedBlendMaxColorAttachments << '\n'; + s << "\tadvancedBlendIndependentBlend = " << value.advancedBlendIndependentBlend << '\n'; + s << "\tadvancedBlendNonPremultipliedSrcColor = " << value.advancedBlendNonPremultipliedSrcColor << '\n'; + s << "\tadvancedBlendNonPremultipliedDstColor = " << value.advancedBlendNonPremultipliedDstColor << '\n'; + s << "\tadvancedBlendCorrelatedOverlap = " << value.advancedBlendCorrelatedOverlap << '\n'; + s << "\tadvancedBlendAllOperations = " << value.advancedBlendAllOperations << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineColorBlendAdvancedStateCreateInfoEXT& value) + { + s << "VkPipelineColorBlendAdvancedStateCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsrcPremultiplied = " << value.srcPremultiplied << '\n'; + s << "\tdstPremultiplied = " << value.dstPremultiplied << '\n'; + s << "\tblendOverlap = " << value.blendOverlap << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineCoverageToColorStateCreateInfoNV& value) + { + s << "VkPipelineCoverageToColorStateCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineCoverageToColorStateCreateFlagsNVStr(value.flags) << '\n'; + s << "\tcoverageToColorEnable = " << value.coverageToColorEnable << '\n'; + s << "\tcoverageToColorLocation = " << value.coverageToColorLocation << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineCoverageModulationStateCreateInfoNV& value) + { + s << "VkPipelineCoverageModulationStateCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineCoverageModulationStateCreateFlagsNVStr(value.flags) << '\n'; + s << "\tcoverageModulationMode = " << value.coverageModulationMode << '\n'; + s << "\tcoverageModulationTableEnable = " << value.coverageModulationTableEnable << '\n'; + s << "\tcoverageModulationTableCount = " << value.coverageModulationTableCount << '\n'; + s << "\tpCoverageModulationTable = " << value.pCoverageModulationTable << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV& value) + { + s << "VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderSMCount = " << value.shaderSMCount << '\n'; + s << "\tshaderWarpsPerSM = " << value.shaderWarpsPerSM << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV& value) + { + s << "VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderSMBuiltins = " << value.shaderSMBuiltins << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierPropertiesEXT& value) + { + s << "VkDrmFormatModifierPropertiesEXT = {\n"; + s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n'; + s << "\tdrmFormatModifierPlaneCount = " << value.drmFormatModifierPlaneCount << '\n'; + s << "\tdrmFormatModifierTilingFeatures = " << getFormatFeatureFlagsStr(value.drmFormatModifierTilingFeatures) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierPropertiesListEXT& value) + { + s << "VkDrmFormatModifierPropertiesListEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdrmFormatModifierCount = " << value.drmFormatModifierCount << '\n'; + s << "\tpDrmFormatModifierProperties = " << value.pDrmFormatModifierProperties << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageDrmFormatModifierInfoEXT& value) + { + s << "VkPhysicalDeviceImageDrmFormatModifierInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n'; + s << "\tsharingMode = " << value.sharingMode << '\n'; + s << "\tqueueFamilyIndexCount = " << value.queueFamilyIndexCount << '\n'; + s << "\tpQueueFamilyIndices = " << value.pQueueFamilyIndices << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageDrmFormatModifierListCreateInfoEXT& value) + { + s << "VkImageDrmFormatModifierListCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdrmFormatModifierCount = " << value.drmFormatModifierCount << '\n'; + s << "\tpDrmFormatModifiers = " << value.pDrmFormatModifiers << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageDrmFormatModifierExplicitCreateInfoEXT& value) + { + s << "VkImageDrmFormatModifierExplicitCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n'; + s << "\tdrmFormatModifierPlaneCount = " << value.drmFormatModifierPlaneCount << '\n'; + s << "\tpPlaneLayouts = " << value.pPlaneLayouts << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageDrmFormatModifierPropertiesEXT& value) + { + s << "VkImageDrmFormatModifierPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierProperties2EXT& value) + { + s << "VkDrmFormatModifierProperties2EXT = {\n"; + s << "\tdrmFormatModifier = " << value.drmFormatModifier << '\n'; + s << "\tdrmFormatModifierPlaneCount = " << value.drmFormatModifierPlaneCount << '\n'; + s << "\tdrmFormatModifierTilingFeatures = " << value.drmFormatModifierTilingFeatures << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDrmFormatModifierPropertiesList2EXT& value) + { + s << "VkDrmFormatModifierPropertiesList2EXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdrmFormatModifierCount = " << value.drmFormatModifierCount << '\n'; + s << "\tpDrmFormatModifierProperties = " << value.pDrmFormatModifierProperties << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkValidationCacheCreateInfoEXT& value) + { + s << "VkValidationCacheCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getValidationCacheCreateFlagsEXTStr(value.flags) << '\n'; + s << "\tinitialDataSize = " << value.initialDataSize << '\n'; + s << "\tpInitialData = " << value.pInitialData << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkShaderModuleValidationCacheCreateInfoEXT& value) + { + s << "VkShaderModuleValidationCacheCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvalidationCache = " << value.validationCache << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkShadingRatePaletteNV& value) + { + s << "VkShadingRatePaletteNV = {\n"; + s << "\tshadingRatePaletteEntryCount = " << value.shadingRatePaletteEntryCount << '\n'; + s << "\tpShadingRatePaletteEntries = " << value.pShadingRatePaletteEntries << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportShadingRateImageStateCreateInfoNV& value) + { + s << "VkPipelineViewportShadingRateImageStateCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshadingRateImageEnable = " << value.shadingRateImageEnable << '\n'; + s << "\tviewportCount = " << value.viewportCount << '\n'; + s << "\tpShadingRatePalettes = " << value.pShadingRatePalettes << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShadingRateImageFeaturesNV& value) + { + s << "VkPhysicalDeviceShadingRateImageFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshadingRateImage = " << value.shadingRateImage << '\n'; + s << "\tshadingRateCoarseSampleOrder = " << value.shadingRateCoarseSampleOrder << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShadingRateImagePropertiesNV& value) + { + s << "VkPhysicalDeviceShadingRateImagePropertiesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshadingRateTexelSize = " << value.shadingRateTexelSize << '\n'; + s << "\tshadingRatePaletteSize = " << value.shadingRatePaletteSize << '\n'; + s << "\tshadingRateMaxCoarseSamples = " << value.shadingRateMaxCoarseSamples << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCoarseSampleLocationNV& value) + { + s << "VkCoarseSampleLocationNV = {\n"; + s << "\tpixelX = " << value.pixelX << '\n'; + s << "\tpixelY = " << value.pixelY << '\n'; + s << "\tsample = " << value.sample << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCoarseSampleOrderCustomNV& value) + { + s << "VkCoarseSampleOrderCustomNV = {\n"; + s << "\tshadingRate = " << value.shadingRate << '\n'; + s << "\tsampleCount = " << value.sampleCount << '\n'; + s << "\tsampleLocationCount = " << value.sampleLocationCount << '\n'; + s << "\tpSampleLocations = " << value.pSampleLocations << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV& value) + { + s << "VkPipelineViewportCoarseSampleOrderStateCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsampleOrderType = " << value.sampleOrderType << '\n'; + s << "\tcustomSampleOrderCount = " << value.customSampleOrderCount << '\n'; + s << "\tpCustomSampleOrders = " << value.pCustomSampleOrders << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRayTracingShaderGroupCreateInfoNV& value) + { + s << "VkRayTracingShaderGroupCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttype = " << value.type << '\n'; + s << "\tgeneralShader = " << value.generalShader << '\n'; + s << "\tclosestHitShader = " << value.closestHitShader << '\n'; + s << "\tanyHitShader = " << value.anyHitShader << '\n'; + s << "\tintersectionShader = " << value.intersectionShader << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRayTracingPipelineCreateInfoNV& value) + { + s << "VkRayTracingPipelineCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n'; + s << "\tstageCount = " << value.stageCount << '\n'; + s << "\tpStages = " << value.pStages << '\n'; + s << "\tgroupCount = " << value.groupCount << '\n'; + s << "\tpGroups = " << value.pGroups << '\n'; + s << "\tmaxRecursionDepth = " << value.maxRecursionDepth << '\n'; + s << "\tlayout = " << value.layout << '\n'; + s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n'; + s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkGeometryTrianglesNV& value) + { + s << "VkGeometryTrianglesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvertexData = " << value.vertexData << '\n'; + s << "\tvertexOffset = " << value.vertexOffset << '\n'; + s << "\tvertexCount = " << value.vertexCount << '\n'; + s << "\tvertexStride = " << value.vertexStride << '\n'; + s << "\tvertexFormat = " << value.vertexFormat << '\n'; + s << "\tindexData = " << value.indexData << '\n'; + s << "\tindexOffset = " << value.indexOffset << '\n'; + s << "\tindexCount = " << value.indexCount << '\n'; + s << "\tindexType = " << value.indexType << '\n'; + s << "\ttransformData = " << value.transformData << '\n'; + s << "\ttransformOffset = " << value.transformOffset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkGeometryAABBNV& value) + { + s << "VkGeometryAABBNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\taabbData = " << value.aabbData << '\n'; + s << "\tnumAABBs = " << value.numAABBs << '\n'; + s << "\tstride = " << value.stride << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkGeometryDataNV& value) + { + s << "VkGeometryDataNV = {\n"; + s << "\ttriangles = " << value.triangles << '\n'; + s << "\taabbs = " << value.aabbs << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkGeometryNV& value) + { + s << "VkGeometryNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tgeometryType = " << value.geometryType << '\n'; + s << "\tgeometry = " << value.geometry << '\n'; + s << "\tflags = " << getGeometryFlagsKHRStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureInfoNV& value) + { + s << "VkAccelerationStructureInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttype = " << value.type << '\n'; + s << "\tflags = " << getBuildAccelerationStructureFlagsNVStr(value.flags) << '\n'; + s << "\tinstanceCount = " << value.instanceCount << '\n'; + s << "\tgeometryCount = " << value.geometryCount << '\n'; + s << "\tpGeometries = " << value.pGeometries << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureCreateInfoNV& value) + { + s << "VkAccelerationStructureCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcompactedSize = " << value.compactedSize << '\n'; + s << "\tinfo = " << value.info << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBindAccelerationStructureMemoryInfoNV& value) + { + s << "VkBindAccelerationStructureMemoryInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\taccelerationStructure = " << value.accelerationStructure << '\n'; + s << "\tmemory = " << value.memory << '\n'; + s << "\tmemoryOffset = " << value.memoryOffset << '\n'; + s << "\tdeviceIndexCount = " << value.deviceIndexCount << '\n'; + s << "\tpDeviceIndices = " << value.pDeviceIndices << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSetAccelerationStructureNV& value) + { + s << "VkWriteDescriptorSetAccelerationStructureNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\taccelerationStructureCount = " << value.accelerationStructureCount << '\n'; + s << "\tpAccelerationStructures = " << value.pAccelerationStructures << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMemoryRequirementsInfoNV& value) + { + s << "VkAccelerationStructureMemoryRequirementsInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttype = " << value.type << '\n'; + s << "\taccelerationStructure = " << value.accelerationStructure << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingPropertiesNV& value) + { + s << "VkPhysicalDeviceRayTracingPropertiesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderGroupHandleSize = " << value.shaderGroupHandleSize << '\n'; + s << "\tmaxRecursionDepth = " << value.maxRecursionDepth << '\n'; + s << "\tmaxShaderGroupStride = " << value.maxShaderGroupStride << '\n'; + s << "\tshaderGroupBaseAlignment = " << value.shaderGroupBaseAlignment << '\n'; + s << "\tmaxGeometryCount = " << value.maxGeometryCount << '\n'; + s << "\tmaxInstanceCount = " << value.maxInstanceCount << '\n'; + s << "\tmaxTriangleCount = " << value.maxTriangleCount << '\n'; + s << "\tmaxDescriptorSetAccelerationStructures = " << value.maxDescriptorSetAccelerationStructures << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkTransformMatrixKHR& value) + { + s << "VkTransformMatrixKHR = {\n"; + s << "\tmatrix = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.matrix), DE_ARRAY_END(value.matrix)) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAabbPositionsKHR& value) + { + s << "VkAabbPositionsKHR = {\n"; + s << "\tminX = " << value.minX << '\n'; + s << "\tminY = " << value.minY << '\n'; + s << "\tminZ = " << value.minZ << '\n'; + s << "\tmaxX = " << value.maxX << '\n'; + s << "\tmaxY = " << value.maxY << '\n'; + s << "\tmaxZ = " << value.maxZ << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureInstanceKHR& value) + { + s << "VkAccelerationStructureInstanceKHR = {\n"; + s << "\ttransform = " << value.transform << '\n'; + s << "\tinstanceCustomIndex = " << value.instanceCustomIndex << '\n'; + s << "\tmask = " << value.mask << '\n'; + s << "\tinstanceShaderBindingTableRecordOffset = " << value.instanceShaderBindingTableRecordOffset << '\n'; + s << "\tflags = " << getGeometryInstanceFlagsKHRStr(value.flags) << '\n'; + s << "\taccelerationStructureReference = " << value.accelerationStructureReference << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV& value) + { + s << "VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trepresentativeFragmentTest = " << value.representativeFragmentTest << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineRepresentativeFragmentTestStateCreateInfoNV& value) + { + s << "VkPipelineRepresentativeFragmentTestStateCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trepresentativeFragmentTestEnable = " << value.representativeFragmentTestEnable << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageViewImageFormatInfoEXT& value) + { + s << "VkPhysicalDeviceImageViewImageFormatInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\timageViewType = " << value.imageViewType << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkFilterCubicImageViewImageFormatPropertiesEXT& value) + { + s << "VkFilterCubicImageViewImageFormatPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfilterCubic = " << value.filterCubic << '\n'; + s << "\tfilterCubicMinmax = " << value.filterCubicMinmax << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceQueueGlobalPriorityCreateInfoEXT& value) + { + s << "VkDeviceQueueGlobalPriorityCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tglobalPriority = " << value.globalPriority << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImportMemoryHostPointerInfoEXT& value) + { + s << "VkImportMemoryHostPointerInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << "\tpHostPointer = " << value.pHostPointer << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryHostPointerPropertiesEXT& value) + { + s << "VkMemoryHostPointerPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalMemoryHostPropertiesEXT& value) + { + s << "VkPhysicalDeviceExternalMemoryHostPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tminImportedHostPointerAlignment = " << value.minImportedHostPointerAlignment << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineCompilerControlCreateInfoAMD& value) + { + s << "VkPipelineCompilerControlCreateInfoAMD = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcompilerControlFlags = " << getPipelineCompilerControlFlagsAMDStr(value.compilerControlFlags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCalibratedTimestampInfoEXT& value) + { + s << "VkCalibratedTimestampInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttimeDomain = " << value.timeDomain << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderCorePropertiesAMD& value) + { + s << "VkPhysicalDeviceShaderCorePropertiesAMD = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderEngineCount = " << value.shaderEngineCount << '\n'; + s << "\tshaderArraysPerEngineCount = " << value.shaderArraysPerEngineCount << '\n'; + s << "\tcomputeUnitsPerShaderArray = " << value.computeUnitsPerShaderArray << '\n'; + s << "\tsimdPerComputeUnit = " << value.simdPerComputeUnit << '\n'; + s << "\twavefrontsPerSimd = " << value.wavefrontsPerSimd << '\n'; + s << "\twavefrontSize = " << value.wavefrontSize << '\n'; + s << "\tsgprsPerSimd = " << value.sgprsPerSimd << '\n'; + s << "\tminSgprAllocation = " << value.minSgprAllocation << '\n'; + s << "\tmaxSgprAllocation = " << value.maxSgprAllocation << '\n'; + s << "\tsgprAllocationGranularity = " << value.sgprAllocationGranularity << '\n'; + s << "\tvgprsPerSimd = " << value.vgprsPerSimd << '\n'; + s << "\tminVgprAllocation = " << value.minVgprAllocation << '\n'; + s << "\tmaxVgprAllocation = " << value.maxVgprAllocation << '\n'; + s << "\tvgprAllocationGranularity = " << value.vgprAllocationGranularity << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceMemoryOverallocationCreateInfoAMD& value) + { + s << "VkDeviceMemoryOverallocationCreateInfoAMD = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\toverallocationBehavior = " << value.overallocationBehavior << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& value) + { + s << "VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxVertexAttribDivisor = " << value.maxVertexAttribDivisor << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDivisorDescriptionEXT& value) + { + s << "VkVertexInputBindingDivisorDescriptionEXT = {\n"; + s << "\tbinding = " << value.binding << '\n'; + s << "\tdivisor = " << value.divisor << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineVertexInputDivisorStateCreateInfoEXT& value) + { + s << "VkPipelineVertexInputDivisorStateCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvertexBindingDivisorCount = " << value.vertexBindingDivisorCount << '\n'; + s << "\tpVertexBindingDivisors = " << value.pVertexBindingDivisors << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT& value) + { + s << "VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvertexAttributeInstanceRateDivisor = " << value.vertexAttributeInstanceRateDivisor << '\n'; + s << "\tvertexAttributeInstanceRateZeroDivisor = " << value.vertexAttributeInstanceRateZeroDivisor << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPipelineCreationFeedbackEXT& value) -{ - s << "VkPipelineCreationFeedbackEXT = {\n"; - s << "\tflags = " << getPipelineCreationFeedbackFlagsEXTStr(value.flags) << '\n'; - s << "\tduration = " << value.duration << '\n'; - s << '}'; - return s; -} - -std::ostream& operator<< (std::ostream& s, const VkPipelineCreationFeedbackCreateInfoEXT& value) -{ - s << "VkPipelineCreationFeedbackCreateInfoEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tpPipelineCreationFeedback = " << value.pPipelineCreationFeedback << '\n'; - s << "\tpipelineStageCreationFeedbackCount = " << value.pipelineStageCreationFeedbackCount << '\n'; - s << "\tpPipelineStageCreationFeedbacks = " << value.pPipelineStageCreationFeedbacks << '\n'; - s << '}'; - return s; -} - + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV& value) + { + s << "VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcomputeDerivativeGroupQuads = " << value.computeDerivativeGroupQuads << '\n'; + s << "\tcomputeDerivativeGroupLinear = " << value.computeDerivativeGroupLinear << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMeshShaderFeaturesNV& value) + { + s << "VkPhysicalDeviceMeshShaderFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttaskShader = " << value.taskShader << '\n'; + s << "\tmeshShader = " << value.meshShader << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMeshShaderPropertiesNV& value) + { + s << "VkPhysicalDeviceMeshShaderPropertiesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxDrawMeshTasksCount = " << value.maxDrawMeshTasksCount << '\n'; + s << "\tmaxTaskWorkGroupInvocations = " << value.maxTaskWorkGroupInvocations << '\n'; + s << "\tmaxTaskWorkGroupSize = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxTaskWorkGroupSize), DE_ARRAY_END(value.maxTaskWorkGroupSize)) << '\n'; + s << "\tmaxTaskTotalMemorySize = " << value.maxTaskTotalMemorySize << '\n'; + s << "\tmaxTaskOutputCount = " << value.maxTaskOutputCount << '\n'; + s << "\tmaxMeshWorkGroupInvocations = " << value.maxMeshWorkGroupInvocations << '\n'; + s << "\tmaxMeshWorkGroupSize = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.maxMeshWorkGroupSize), DE_ARRAY_END(value.maxMeshWorkGroupSize)) << '\n'; + s << "\tmaxMeshTotalMemorySize = " << value.maxMeshTotalMemorySize << '\n'; + s << "\tmaxMeshOutputVertices = " << value.maxMeshOutputVertices << '\n'; + s << "\tmaxMeshOutputPrimitives = " << value.maxMeshOutputPrimitives << '\n'; + s << "\tmaxMeshMultiviewViewCount = " << value.maxMeshMultiviewViewCount << '\n'; + s << "\tmeshOutputPerVertexGranularity = " << value.meshOutputPerVertexGranularity << '\n'; + s << "\tmeshOutputPerPrimitiveGranularity = " << value.meshOutputPerPrimitiveGranularity << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDrawMeshTasksIndirectCommandNV& value) + { + s << "VkDrawMeshTasksIndirectCommandNV = {\n"; + s << "\ttaskCount = " << value.taskCount << '\n'; + s << "\tfirstTask = " << value.firstTask << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV& value) + { + s << "VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfragmentShaderBarycentric = " << value.fragmentShaderBarycentric << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderImageFootprintFeaturesNV& value) + { + s << "VkPhysicalDeviceShaderImageFootprintFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\timageFootprint = " << value.imageFootprint << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportExclusiveScissorStateCreateInfoNV& value) + { + s << "VkPipelineViewportExclusiveScissorStateCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\texclusiveScissorCount = " << value.exclusiveScissorCount << '\n'; + s << "\tpExclusiveScissors = " << value.pExclusiveScissors << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExclusiveScissorFeaturesNV& value) + { + s << "VkPhysicalDeviceExclusiveScissorFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\texclusiveScissor = " << value.exclusiveScissor << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkQueueFamilyCheckpointPropertiesNV& value) + { + s << "VkQueueFamilyCheckpointPropertiesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcheckpointExecutionStageMask = " << getPipelineStageFlagsStr(value.checkpointExecutionStageMask) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCheckpointDataNV& value) + { + s << "VkCheckpointDataNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tstage = " << value.stage << '\n'; + s << "\tpCheckpointMarker = " << value.pCheckpointMarker << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL& value) + { + s << "VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderIntegerFunctions2 = " << value.shaderIntegerFunctions2 << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPerformanceValueDataINTEL& value) + { + s << "VkPerformanceValueDataINTEL = {\n"; + s << "\tvalue32 = " << value.value32 << '\n'; + s << "\tvalue64 = " << value.value64 << '\n'; + s << "\tvalueFloat = " << value.valueFloat << '\n'; + s << "\tvalueBool = " << value.valueBool << '\n'; + s << "\tvalueString = " << getCharPtrStr(value.valueString) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPerformanceValueINTEL& value) + { + s << "VkPerformanceValueINTEL = {\n"; + s << "\ttype = " << value.type << '\n'; + s << "\tdata = " << value.data << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkInitializePerformanceApiInfoINTEL& value) + { + s << "VkInitializePerformanceApiInfoINTEL = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpUserData = " << value.pUserData << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkQueryPoolPerformanceQueryCreateInfoINTEL& value) + { + s << "VkQueryPoolPerformanceQueryCreateInfoINTEL = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tperformanceCountersSampling = " << value.performanceCountersSampling << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPerformanceMarkerInfoINTEL& value) + { + s << "VkPerformanceMarkerInfoINTEL = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmarker = " << value.marker << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPerformanceStreamMarkerInfoINTEL& value) + { + s << "VkPerformanceStreamMarkerInfoINTEL = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmarker = " << value.marker << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPerformanceOverrideInfoINTEL& value) + { + s << "VkPerformanceOverrideInfoINTEL = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttype = " << value.type << '\n'; + s << "\tenable = " << value.enable << '\n'; + s << "\tparameter = " << value.parameter << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPerformanceConfigurationAcquireInfoINTEL& value) + { + s << "VkPerformanceConfigurationAcquireInfoINTEL = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttype = " << value.type << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePCIBusInfoPropertiesEXT& value) + { + s << "VkPhysicalDevicePCIBusInfoPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpciDomain = " << value.pciDomain << '\n'; + s << "\tpciBus = " << value.pciBus << '\n'; + s << "\tpciDevice = " << value.pciDevice << '\n'; + s << "\tpciFunction = " << value.pciFunction << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDisplayNativeHdrSurfaceCapabilitiesAMD& value) + { + s << "VkDisplayNativeHdrSurfaceCapabilitiesAMD = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tlocalDimmingSupport = " << value.localDimmingSupport << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSwapchainDisplayNativeHdrCreateInfoAMD& value) + { + s << "VkSwapchainDisplayNativeHdrCreateInfoAMD = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tlocalDimmingEnable = " << value.localDimmingEnable << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapFeaturesEXT& value) + { + s << "VkPhysicalDeviceFragmentDensityMapFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfragmentDensityMap = " << value.fragmentDensityMap << '\n'; + s << "\tfragmentDensityMapDynamic = " << value.fragmentDensityMapDynamic << '\n'; + s << "\tfragmentDensityMapNonSubsampledImages = " << value.fragmentDensityMapNonSubsampledImages << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMapPropertiesEXT& value) + { + s << "VkPhysicalDeviceFragmentDensityMapPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tminFragmentDensityTexelSize = " << value.minFragmentDensityTexelSize << '\n'; + s << "\tmaxFragmentDensityTexelSize = " << value.maxFragmentDensityTexelSize << '\n'; + s << "\tfragmentDensityInvocations = " << value.fragmentDensityInvocations << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRenderPassFragmentDensityMapCreateInfoEXT& value) + { + s << "VkRenderPassFragmentDensityMapCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfragmentDensityMapAttachment = " << value.fragmentDensityMapAttachment << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT& value) -{ - s << "VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tsubgroupSizeControl = " << value.subgroupSizeControl << '\n'; - s << "\tcomputeFullSubgroups = " << value.computeFullSubgroups << '\n'; - s << '}'; - return s; -} - -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT& value) -{ - s << "VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tminSubgroupSize = " << value.minSubgroupSize << '\n'; - s << "\tmaxSubgroupSize = " << value.maxSubgroupSize << '\n'; - s << "\tmaxComputeWorkgroupSubgroups = " << value.maxComputeWorkgroupSubgroups << '\n'; - s << "\trequiredSubgroupSizeStages = " << getShaderStageFlagsStr(value.requiredSubgroupSizeStages) << '\n'; - s << '}'; - return s; -} - -std::ostream& operator<< (std::ostream& s, const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT& value) -{ - s << "VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\trequiredSubgroupSize = " << value.requiredSubgroupSize << '\n'; - s << '}'; - return s; -} - + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderCoreProperties2AMD& value) + { + s << "VkPhysicalDeviceShaderCoreProperties2AMD = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderCoreFeatures = " << getShaderCorePropertiesFlagsAMDStr(value.shaderCoreFeatures) << '\n'; + s << "\tactiveComputeUnitCount = " << value.activeComputeUnitCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCoherentMemoryFeaturesAMD& value) + { + s << "VkPhysicalDeviceCoherentMemoryFeaturesAMD = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdeviceCoherentMemory = " << value.deviceCoherentMemory << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT& value) + { + s << "VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderImageInt64Atomics = " << value.shaderImageInt64Atomics << '\n'; + s << "\tsparseImageInt64Atomics = " << value.sparseImageInt64Atomics << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryBudgetPropertiesEXT& value) + { + s << "VkPhysicalDeviceMemoryBudgetPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\theapBudget = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.heapBudget), DE_ARRAY_END(value.heapBudget)) << '\n'; + s << "\theapUsage = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.heapUsage), DE_ARRAY_END(value.heapUsage)) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMemoryPriorityFeaturesEXT& value) + { + s << "VkPhysicalDeviceMemoryPriorityFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemoryPriority = " << value.memoryPriority << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryPriorityAllocateInfoEXT& value) + { + s << "VkMemoryPriorityAllocateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpriority = " << value.priority << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV& value) + { + s << "VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdedicatedAllocationImageAliasing = " << value.dedicatedAllocationImageAliasing << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT& value) + { + s << "VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tbufferDeviceAddress = " << value.bufferDeviceAddress << '\n'; + s << "\tbufferDeviceAddressCaptureReplay = " << value.bufferDeviceAddressCaptureReplay << '\n'; + s << "\tbufferDeviceAddressMultiDevice = " << value.bufferDeviceAddressMultiDevice << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferDeviceAddressCreateInfoEXT& value) + { + s << "VkBufferDeviceAddressCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdeviceAddress = " << value.deviceAddress << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceToolPropertiesEXT& value) -{ - s << "VkPhysicalDeviceToolPropertiesEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tname = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.name)), tcu::Format::HexIterator(DE_ARRAY_END(value.name))) << '\n'; - s << "\tversion = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.version)), tcu::Format::HexIterator(DE_ARRAY_END(value.version))) << '\n'; - s << "\tpurposes = " << getToolPurposeFlagsEXTStr(value.purposes) << '\n'; - s << "\tdescription = " << (const char*)value.description << '\n'; - s << "\tlayer = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.layer)), tcu::Format::HexIterator(DE_ARRAY_END(value.layer))) << '\n'; - s << '}'; - return s; -} - + std::ostream& operator<< (std::ostream& s, const VkValidationFeaturesEXT& value) + { + s << "VkValidationFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tenabledValidationFeatureCount = " << value.enabledValidationFeatureCount << '\n'; + s << "\tpEnabledValidationFeatures = " << value.pEnabledValidationFeatures << '\n'; + s << "\tdisabledValidationFeatureCount = " << value.disabledValidationFeatureCount << '\n'; + s << "\tpDisabledValidationFeatures = " << value.pDisabledValidationFeatures << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCooperativeMatrixPropertiesNV& value) + { + s << "VkCooperativeMatrixPropertiesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tMSize = " << value.MSize << '\n'; + s << "\tNSize = " << value.NSize << '\n'; + s << "\tKSize = " << value.KSize << '\n'; + s << "\tAType = " << value.AType << '\n'; + s << "\tBType = " << value.BType << '\n'; + s << "\tCType = " << value.CType << '\n'; + s << "\tDType = " << value.DType << '\n'; + s << "\tscope = " << value.scope << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCooperativeMatrixFeaturesNV& value) + { + s << "VkPhysicalDeviceCooperativeMatrixFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcooperativeMatrix = " << value.cooperativeMatrix << '\n'; + s << "\tcooperativeMatrixRobustBufferAccess = " << value.cooperativeMatrixRobustBufferAccess << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCooperativeMatrixPropertiesNV& value) + { + s << "VkPhysicalDeviceCooperativeMatrixPropertiesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcooperativeMatrixSupportedStages = " << getShaderStageFlagsStr(value.cooperativeMatrixSupportedStages) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCoverageReductionModeFeaturesNV& value) + { + s << "VkPhysicalDeviceCoverageReductionModeFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcoverageReductionMode = " << value.coverageReductionMode << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineCoverageReductionStateCreateInfoNV& value) + { + s << "VkPipelineCoverageReductionStateCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineCoverageReductionStateCreateFlagsNVStr(value.flags) << '\n'; + s << "\tcoverageReductionMode = " << value.coverageReductionMode << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkFramebufferMixedSamplesCombinationNV& value) + { + s << "VkFramebufferMixedSamplesCombinationNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcoverageReductionMode = " << value.coverageReductionMode << '\n'; + s << "\trasterizationSamples = " << value.rasterizationSamples << '\n'; + s << "\tdepthStencilSamples = " << getSampleCountFlagsStr(value.depthStencilSamples) << '\n'; + s << "\tcolorSamples = " << getSampleCountFlagsStr(value.colorSamples) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT& value) + { + s << "VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfragmentShaderSampleInterlock = " << value.fragmentShaderSampleInterlock << '\n'; + s << "\tfragmentShaderPixelInterlock = " << value.fragmentShaderPixelInterlock << '\n'; + s << "\tfragmentShaderShadingRateInterlock = " << value.fragmentShaderShadingRateInterlock << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT& value) + { + s << "VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tycbcrImageArrays = " << value.ycbcrImageArrays << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProvokingVertexFeaturesEXT& value) + { + s << "VkPhysicalDeviceProvokingVertexFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tprovokingVertexLast = " << value.provokingVertexLast << '\n'; + s << "\ttransformFeedbackPreservesProvokingVertex = " << value.transformFeedbackPreservesProvokingVertex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceProvokingVertexPropertiesEXT& value) + { + s << "VkPhysicalDeviceProvokingVertexPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tprovokingVertexModePerPipeline = " << value.provokingVertexModePerPipeline << '\n'; + s << "\ttransformFeedbackPreservesTriangleFanProvokingVertex = " << value.transformFeedbackPreservesTriangleFanProvokingVertex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT& value) + { + s << "VkPipelineRasterizationProvokingVertexStateCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tprovokingVertexMode = " << value.provokingVertexMode << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkHeadlessSurfaceCreateInfoEXT& value) + { + s << "VkHeadlessSurfaceCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getHeadlessSurfaceCreateFlagsEXTStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLineRasterizationFeaturesEXT& value) + { + s << "VkPhysicalDeviceLineRasterizationFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trectangularLines = " << value.rectangularLines << '\n'; + s << "\tbresenhamLines = " << value.bresenhamLines << '\n'; + s << "\tsmoothLines = " << value.smoothLines << '\n'; + s << "\tstippledRectangularLines = " << value.stippledRectangularLines << '\n'; + s << "\tstippledBresenhamLines = " << value.stippledBresenhamLines << '\n'; + s << "\tstippledSmoothLines = " << value.stippledSmoothLines << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceLineRasterizationPropertiesEXT& value) + { + s << "VkPhysicalDeviceLineRasterizationPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tlineSubPixelPrecisionBits = " << value.lineSubPixelPrecisionBits << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineRasterizationLineStateCreateInfoEXT& value) + { + s << "VkPipelineRasterizationLineStateCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tlineRasterizationMode = " << value.lineRasterizationMode << '\n'; + s << "\tstippledLineEnable = " << value.stippledLineEnable << '\n'; + s << "\tlineStippleFactor = " << value.lineStippleFactor << '\n'; + s << "\tlineStipplePattern = " << value.lineStipplePattern << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT& value) + { + s << "VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderBufferFloat32Atomics = " << value.shaderBufferFloat32Atomics << '\n'; + s << "\tshaderBufferFloat32AtomicAdd = " << value.shaderBufferFloat32AtomicAdd << '\n'; + s << "\tshaderBufferFloat64Atomics = " << value.shaderBufferFloat64Atomics << '\n'; + s << "\tshaderBufferFloat64AtomicAdd = " << value.shaderBufferFloat64AtomicAdd << '\n'; + s << "\tshaderSharedFloat32Atomics = " << value.shaderSharedFloat32Atomics << '\n'; + s << "\tshaderSharedFloat32AtomicAdd = " << value.shaderSharedFloat32AtomicAdd << '\n'; + s << "\tshaderSharedFloat64Atomics = " << value.shaderSharedFloat64Atomics << '\n'; + s << "\tshaderSharedFloat64AtomicAdd = " << value.shaderSharedFloat64AtomicAdd << '\n'; + s << "\tshaderImageFloat32Atomics = " << value.shaderImageFloat32Atomics << '\n'; + s << "\tshaderImageFloat32AtomicAdd = " << value.shaderImageFloat32AtomicAdd << '\n'; + s << "\tsparseImageFloat32Atomics = " << value.sparseImageFloat32Atomics << '\n'; + s << "\tsparseImageFloat32AtomicAdd = " << value.sparseImageFloat32AtomicAdd << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceIndexTypeUint8FeaturesEXT& value) + { + s << "VkPhysicalDeviceIndexTypeUint8FeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tindexTypeUint8 = " << value.indexTypeUint8 << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT& value) + { + s << "VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\textendedDynamicState = " << value.extendedDynamicState << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT& value) + { + s << "VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderBufferFloat16Atomics = " << value.shaderBufferFloat16Atomics << '\n'; + s << "\tshaderBufferFloat16AtomicAdd = " << value.shaderBufferFloat16AtomicAdd << '\n'; + s << "\tshaderBufferFloat16AtomicMinMax = " << value.shaderBufferFloat16AtomicMinMax << '\n'; + s << "\tshaderBufferFloat32AtomicMinMax = " << value.shaderBufferFloat32AtomicMinMax << '\n'; + s << "\tshaderBufferFloat64AtomicMinMax = " << value.shaderBufferFloat64AtomicMinMax << '\n'; + s << "\tshaderSharedFloat16Atomics = " << value.shaderSharedFloat16Atomics << '\n'; + s << "\tshaderSharedFloat16AtomicAdd = " << value.shaderSharedFloat16AtomicAdd << '\n'; + s << "\tshaderSharedFloat16AtomicMinMax = " << value.shaderSharedFloat16AtomicMinMax << '\n'; + s << "\tshaderSharedFloat32AtomicMinMax = " << value.shaderSharedFloat32AtomicMinMax << '\n'; + s << "\tshaderSharedFloat64AtomicMinMax = " << value.shaderSharedFloat64AtomicMinMax << '\n'; + s << "\tshaderImageFloat32AtomicMinMax = " << value.shaderImageFloat32AtomicMinMax << '\n'; + s << "\tsparseImageFloat32AtomicMinMax = " << value.sparseImageFloat32AtomicMinMax << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT& value) -{ - s << "VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tshaderDemoteToHelperInvocation = " << value.shaderDemoteToHelperInvocation << '\n'; - s << '}'; - return s; -} - + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV& value) + { + s << "VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxGraphicsShaderGroupCount = " << value.maxGraphicsShaderGroupCount << '\n'; + s << "\tmaxIndirectSequenceCount = " << value.maxIndirectSequenceCount << '\n'; + s << "\tmaxIndirectCommandsTokenCount = " << value.maxIndirectCommandsTokenCount << '\n'; + s << "\tmaxIndirectCommandsStreamCount = " << value.maxIndirectCommandsStreamCount << '\n'; + s << "\tmaxIndirectCommandsTokenOffset = " << value.maxIndirectCommandsTokenOffset << '\n'; + s << "\tmaxIndirectCommandsStreamStride = " << value.maxIndirectCommandsStreamStride << '\n'; + s << "\tminSequencesCountBufferOffsetAlignment = " << value.minSequencesCountBufferOffsetAlignment << '\n'; + s << "\tminSequencesIndexBufferOffsetAlignment = " << value.minSequencesIndexBufferOffsetAlignment << '\n'; + s << "\tminIndirectCommandsBufferOffsetAlignment = " << value.minIndirectCommandsBufferOffsetAlignment << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV& value) + { + s << "VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdeviceGeneratedCommands = " << value.deviceGeneratedCommands << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkGraphicsShaderGroupCreateInfoNV& value) + { + s << "VkGraphicsShaderGroupCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tstageCount = " << value.stageCount << '\n'; + s << "\tpStages = " << value.pStages << '\n'; + s << "\tpVertexInputState = " << value.pVertexInputState << '\n'; + s << "\tpTessellationState = " << value.pTessellationState << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkGraphicsPipelineShaderGroupsCreateInfoNV& value) + { + s << "VkGraphicsPipelineShaderGroupsCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tgroupCount = " << value.groupCount << '\n'; + s << "\tpGroups = " << value.pGroups << '\n'; + s << "\tpipelineCount = " << value.pipelineCount << '\n'; + s << "\tpPipelines = " << value.pPipelines << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBindShaderGroupIndirectCommandNV& value) + { + s << "VkBindShaderGroupIndirectCommandNV = {\n"; + s << "\tgroupIndex = " << value.groupIndex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBindIndexBufferIndirectCommandNV& value) + { + s << "VkBindIndexBufferIndirectCommandNV = {\n"; + s << "\tbufferAddress = " << value.bufferAddress << '\n'; + s << "\tsize = " << value.size << '\n'; + s << "\tindexType = " << value.indexType << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBindVertexBufferIndirectCommandNV& value) + { + s << "VkBindVertexBufferIndirectCommandNV = {\n"; + s << "\tbufferAddress = " << value.bufferAddress << '\n'; + s << "\tsize = " << value.size << '\n'; + s << "\tstride = " << value.stride << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSetStateFlagsIndirectCommandNV& value) + { + s << "VkSetStateFlagsIndirectCommandNV = {\n"; + s << "\tdata = " << value.data << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkIndirectCommandsStreamNV& value) + { + s << "VkIndirectCommandsStreamNV = {\n"; + s << "\tbuffer = " << value.buffer << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkIndirectCommandsLayoutTokenNV& value) + { + s << "VkIndirectCommandsLayoutTokenNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttokenType = " << value.tokenType << '\n'; + s << "\tstream = " << value.stream << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << "\tvertexBindingUnit = " << value.vertexBindingUnit << '\n'; + s << "\tvertexDynamicStride = " << value.vertexDynamicStride << '\n'; + s << "\tpushconstantPipelineLayout = " << value.pushconstantPipelineLayout << '\n'; + s << "\tpushconstantShaderStageFlags = " << getShaderStageFlagsStr(value.pushconstantShaderStageFlags) << '\n'; + s << "\tpushconstantOffset = " << value.pushconstantOffset << '\n'; + s << "\tpushconstantSize = " << value.pushconstantSize << '\n'; + s << "\tindirectStateFlags = " << getIndirectStateFlagsNVStr(value.indirectStateFlags) << '\n'; + s << "\tindexTypeCount = " << value.indexTypeCount << '\n'; + s << "\tpIndexTypes = " << value.pIndexTypes << '\n'; + s << "\tpIndexTypeValues = " << value.pIndexTypeValues << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkIndirectCommandsLayoutCreateInfoNV& value) + { + s << "VkIndirectCommandsLayoutCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getIndirectCommandsLayoutUsageFlagsNVStr(value.flags) << '\n'; + s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n'; + s << "\ttokenCount = " << value.tokenCount << '\n'; + s << "\tpTokens = " << value.pTokens << '\n'; + s << "\tstreamCount = " << value.streamCount << '\n'; + s << "\tpStreamStrides = " << value.pStreamStrides << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkGeneratedCommandsInfoNV& value) + { + s << "VkGeneratedCommandsInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n'; + s << "\tpipeline = " << value.pipeline << '\n'; + s << "\tindirectCommandsLayout = " << value.indirectCommandsLayout << '\n'; + s << "\tstreamCount = " << value.streamCount << '\n'; + s << "\tpStreams = " << value.pStreams << '\n'; + s << "\tsequencesCount = " << value.sequencesCount << '\n'; + s << "\tpreprocessBuffer = " << value.preprocessBuffer << '\n'; + s << "\tpreprocessOffset = " << value.preprocessOffset << '\n'; + s << "\tpreprocessSize = " << value.preprocessSize << '\n'; + s << "\tsequencesCountBuffer = " << value.sequencesCountBuffer << '\n'; + s << "\tsequencesCountOffset = " << value.sequencesCountOffset << '\n'; + s << "\tsequencesIndexBuffer = " << value.sequencesIndexBuffer << '\n'; + s << "\tsequencesIndexOffset = " << value.sequencesIndexOffset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkGeneratedCommandsMemoryRequirementsInfoNV& value) + { + s << "VkGeneratedCommandsMemoryRequirementsInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpipelineBindPoint = " << value.pipelineBindPoint << '\n'; + s << "\tpipeline = " << value.pipeline << '\n'; + s << "\tindirectCommandsLayout = " << value.indirectCommandsLayout << '\n'; + s << "\tmaxSequencesCount = " << value.maxSequencesCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInheritedViewportScissorFeaturesNV& value) + { + s << "VkPhysicalDeviceInheritedViewportScissorFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tinheritedViewportScissor2D = " << value.inheritedViewportScissor2D << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceViewportScissorInfoNV& value) + { + s << "VkCommandBufferInheritanceViewportScissorInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tviewportScissor2D = " << value.viewportScissor2D << '\n'; + s << "\tviewportDepthCount = " << value.viewportDepthCount << '\n'; + s << "\tpViewportDepths = " << value.pViewportDepths << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT& value) + { + s << "VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttexelBufferAlignment = " << value.texelBufferAlignment << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT& value) -{ - s << "VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tstorageTexelBufferOffsetAlignmentBytes = " << value.storageTexelBufferOffsetAlignmentBytes << '\n'; - s << "\tstorageTexelBufferOffsetSingleTexelAlignment = " << value.storageTexelBufferOffsetSingleTexelAlignment << '\n'; - s << "\tuniformTexelBufferOffsetAlignmentBytes = " << value.uniformTexelBufferOffsetAlignmentBytes << '\n'; - s << "\tuniformTexelBufferOffsetSingleTexelAlignment = " << value.uniformTexelBufferOffsetSingleTexelAlignment << '\n'; - s << '}'; - return s; -} - + std::ostream& operator<< (std::ostream& s, const VkRenderPassTransformBeginInfoQCOM& value) + { + s << "VkRenderPassTransformBeginInfoQCOM = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttransform = " << value.transform << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCommandBufferInheritanceRenderPassTransformInfoQCOM& value) + { + s << "VkCommandBufferInheritanceRenderPassTransformInfoQCOM = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttransform = " << value.transform << '\n'; + s << "\trenderArea = " << value.renderArea << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDeviceMemoryReportFeaturesEXT& value) + { + s << "VkPhysicalDeviceDeviceMemoryReportFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdeviceMemoryReport = " << value.deviceMemoryReport << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceMemoryReportCallbackDataEXT& value) + { + s << "VkDeviceMemoryReportCallbackDataEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getDeviceMemoryReportFlagsEXTStr(value.flags) << '\n'; + s << "\ttype = " << value.type << '\n'; + s << "\tmemoryObjectId = " << value.memoryObjectId << '\n'; + s << "\tsize = " << value.size << '\n'; + s << "\tobjectType = " << value.objectType << '\n'; + s << "\tobjectHandle = " << value.objectHandle << '\n'; + s << "\theapIndex = " << value.heapIndex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceDeviceMemoryReportCreateInfoEXT& value) + { + s << "VkDeviceDeviceMemoryReportCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getDeviceMemoryReportFlagsEXTStr(value.flags) << '\n'; + s << "\tpfnUserCallback = " << value.pfnUserCallback << '\n'; + s << "\tpUserData = " << value.pUserData << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRobustness2FeaturesEXT& value) + { + s << "VkPhysicalDeviceRobustness2FeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trobustBufferAccess2 = " << value.robustBufferAccess2 << '\n'; + s << "\trobustImageAccess2 = " << value.robustImageAccess2 << '\n'; + s << "\tnullDescriptor = " << value.nullDescriptor << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRobustness2PropertiesEXT& value) + { + s << "VkPhysicalDeviceRobustness2PropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trobustStorageBufferAccessSizeAlignment = " << value.robustStorageBufferAccessSizeAlignment << '\n'; + s << "\trobustUniformBufferAccessSizeAlignment = " << value.robustUniformBufferAccessSizeAlignment << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSamplerCustomBorderColorCreateInfoEXT& value) + { + s << "VkSamplerCustomBorderColorCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcustomBorderColor = " << value.customBorderColor << '\n'; + s << "\tformat = " << value.format << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCustomBorderColorPropertiesEXT& value) + { + s << "VkPhysicalDeviceCustomBorderColorPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxCustomBorderColorSamplers = " << value.maxCustomBorderColorSamplers << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceCustomBorderColorFeaturesEXT& value) + { + s << "VkPhysicalDeviceCustomBorderColorFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcustomBorderColors = " << value.customBorderColors << '\n'; + s << "\tcustomBorderColorWithoutFormat = " << value.customBorderColorWithoutFormat << '\n'; + s << '}'; + return s; + } + -std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePrivateDataFeaturesEXT& value) -{ - s << "VkPhysicalDevicePrivateDataFeaturesEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tprivateData = " << value.privateData << '\n'; - s << '}'; - return s; -} - -std::ostream& operator<< (std::ostream& s, const VkDevicePrivateDataCreateInfoEXT& value) -{ - s << "VkDevicePrivateDataCreateInfoEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tprivateDataSlotRequestCount = " << value.privateDataSlotRequestCount << '\n'; - s << '}'; - return s; -} - -std::ostream& operator<< (std::ostream& s, const VkPrivateDataSlotCreateInfoEXT& value) -{ - s << "VkPrivateDataSlotCreateInfoEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tflags = " << getPrivateDataSlotCreateFlagsEXTStr(value.flags) << '\n'; - s << '}'; - return s; -} - -std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT& value) -{ - s << "VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\tpipelineCreationCacheControl = " << value.pipelineCreationCacheControl << '\n'; - s << '}'; - return s; -} - + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDiagnosticsConfigFeaturesNV& value) + { + s << "VkPhysicalDeviceDiagnosticsConfigFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdiagnosticsConfig = " << value.diagnosticsConfig << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceDiagnosticsConfigCreateInfoNV& value) + { + s << "VkDeviceDiagnosticsConfigCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getDeviceDiagnosticsConfigFlagsNVStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV& value) + { + s << "VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfragmentShadingRateEnums = " << value.fragmentShadingRateEnums << '\n'; + s << "\tsupersampleFragmentShadingRates = " << value.supersampleFragmentShadingRates << '\n'; + s << "\tnoInvocationFragmentShadingRates = " << value.noInvocationFragmentShadingRates << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV& value) + { + s << "VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxFragmentShadingRateInvocationCount = " << value.maxFragmentShadingRateInvocationCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineFragmentShadingRateEnumStateCreateInfoNV& value) + { + s << "VkPipelineFragmentShadingRateEnumStateCreateInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshadingRateType = " << value.shadingRateType << '\n'; + s << "\tshadingRate = " << value.shadingRate << '\n'; + s << "\tcombinerOps = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.combinerOps), DE_ARRAY_END(value.combinerOps)) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceOrHostAddressConstKHR& value) + { + s << "VkDeviceOrHostAddressConstKHR = {\n"; + s << "\tdeviceAddress = " << value.deviceAddress << '\n'; + s << "\thostAddress = " << value.hostAddress << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryMotionTrianglesDataNV& value) + { + s << "VkAccelerationStructureGeometryMotionTrianglesDataNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvertexData = " << value.vertexData << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMotionInfoNV& value) + { + s << "VkAccelerationStructureMotionInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxInstances = " << value.maxInstances << '\n'; + s << "\tflags = " << getAccelerationStructureMotionInfoFlagsNVStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMatrixMotionInstanceNV& value) + { + s << "VkAccelerationStructureMatrixMotionInstanceNV = {\n"; + s << "\ttransformT0 = " << value.transformT0 << '\n'; + s << "\ttransformT1 = " << value.transformT1 << '\n'; + s << "\tinstanceCustomIndex = " << value.instanceCustomIndex << '\n'; + s << "\tmask = " << value.mask << '\n'; + s << "\tinstanceShaderBindingTableRecordOffset = " << value.instanceShaderBindingTableRecordOffset << '\n'; + s << "\tflags = " << getGeometryInstanceFlagsKHRStr(value.flags) << '\n'; + s << "\taccelerationStructureReference = " << value.accelerationStructureReference << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSRTDataNV& value) + { + s << "VkSRTDataNV = {\n"; + s << "\tsx = " << value.sx << '\n'; + s << "\ta = " << value.a << '\n'; + s << "\tb = " << value.b << '\n'; + s << "\tpvx = " << value.pvx << '\n'; + s << "\tsy = " << value.sy << '\n'; + s << "\tc = " << value.c << '\n'; + s << "\tpvy = " << value.pvy << '\n'; + s << "\tsz = " << value.sz << '\n'; + s << "\tpvz = " << value.pvz << '\n'; + s << "\tqx = " << value.qx << '\n'; + s << "\tqy = " << value.qy << '\n'; + s << "\tqz = " << value.qz << '\n'; + s << "\tqw = " << value.qw << '\n'; + s << "\ttx = " << value.tx << '\n'; + s << "\tty = " << value.ty << '\n'; + s << "\ttz = " << value.tz << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureSRTMotionInstanceNV& value) + { + s << "VkAccelerationStructureSRTMotionInstanceNV = {\n"; + s << "\ttransformT0 = " << value.transformT0 << '\n'; + s << "\ttransformT1 = " << value.transformT1 << '\n'; + s << "\tinstanceCustomIndex = " << value.instanceCustomIndex << '\n'; + s << "\tmask = " << value.mask << '\n'; + s << "\tinstanceShaderBindingTableRecordOffset = " << value.instanceShaderBindingTableRecordOffset << '\n'; + s << "\tflags = " << getGeometryInstanceFlagsKHRStr(value.flags) << '\n'; + s << "\taccelerationStructureReference = " << value.accelerationStructureReference << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMotionInstanceDataNV& value) + { + s << "VkAccelerationStructureMotionInstanceDataNV = {\n"; + s << "\tstaticInstance = " << value.staticInstance << '\n'; + s << "\tmatrixMotionInstance = " << value.matrixMotionInstance << '\n'; + s << "\tsrtMotionInstance = " << value.srtMotionInstance << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureMotionInstanceNV& value) + { + s << "VkAccelerationStructureMotionInstanceNV = {\n"; + s << "\ttype = " << value.type << '\n'; + s << "\tflags = " << getAccelerationStructureMotionInstanceFlagsNVStr(value.flags) << '\n'; + s << "\tdata = " << value.data << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV& value) + { + s << "VkPhysicalDeviceRayTracingMotionBlurFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trayTracingMotionBlur = " << value.rayTracingMotionBlur << '\n'; + s << "\trayTracingMotionBlurPipelineTraceRaysIndirect = " << value.rayTracingMotionBlurPipelineTraceRaysIndirect << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT& value) + { + s << "VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tycbcr2plane444Formats = " << value.ycbcr2plane444Formats << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT& value) + { + s << "VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfragmentDensityMapDeferred = " << value.fragmentDensityMapDeferred << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT& value) + { + s << "VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsubsampledLoads = " << value.subsampledLoads << '\n'; + s << "\tsubsampledCoarseReconstructionEarlyAccess = " << value.subsampledCoarseReconstructionEarlyAccess << '\n'; + s << "\tmaxSubsampledArrayLayers = " << value.maxSubsampledArrayLayers << '\n'; + s << "\tmaxDescriptorSetSubsampledSamplers = " << value.maxDescriptorSetSubsampledSamplers << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCopyCommandTransformInfoQCOM& value) + { + s << "VkCopyCommandTransformInfoQCOM = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttransform = " << value.transform << '\n'; + s << '}'; + return s; + } - -std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageRobustnessFeaturesEXT& value) -{ - s << "VkPhysicalDeviceImageRobustnessFeaturesEXT = {\n"; - s << "\tsType = " << value.sType << '\n'; - s << "\tpNext = " << value.pNext << '\n'; - s << "\trobustImageAccess = " << value.robustImageAccess << '\n'; - s << '}'; - return s; -} + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevice4444FormatsFeaturesEXT& value) + { + s << "VkPhysicalDevice4444FormatsFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tformatA4R4G4B4 = " << value.formatA4R4G4B4 << '\n'; + s << "\tformatA4B4G4R4 = " << value.formatA4B4G4R4 << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM& value) + { + s << "VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trasterizationOrderColorAttachmentAccess = " << value.rasterizationOrderColorAttachmentAccess << '\n'; + s << "\trasterizationOrderDepthAttachmentAccess = " << value.rasterizationOrderDepthAttachmentAccess << '\n'; + s << "\trasterizationOrderStencilAttachmentAccess = " << value.rasterizationOrderStencilAttachmentAccess << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT& value) + { + s << "VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tformatRgba10x6WithoutYCbCrSampler = " << value.formatRgba10x6WithoutYCbCrSampler << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE& value) + { + s << "VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmutableDescriptorType = " << value.mutableDescriptorType << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMutableDescriptorTypeListVALVE& value) + { + s << "VkMutableDescriptorTypeListVALVE = {\n"; + s << "\tdescriptorTypeCount = " << value.descriptorTypeCount << '\n'; + s << "\tpDescriptorTypes = " << value.pDescriptorTypes << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMutableDescriptorTypeCreateInfoVALVE& value) + { + s << "VkMutableDescriptorTypeCreateInfoVALVE = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmutableDescriptorTypeListCount = " << value.mutableDescriptorTypeListCount << '\n'; + s << "\tpMutableDescriptorTypeLists = " << value.pMutableDescriptorTypeLists << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT& value) + { + s << "VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvertexInputDynamicState = " << value.vertexInputDynamicState << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVertexInputBindingDescription2EXT& value) + { + s << "VkVertexInputBindingDescription2EXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tbinding = " << value.binding << '\n'; + s << "\tstride = " << value.stride << '\n'; + s << "\tinputRate = " << value.inputRate << '\n'; + s << "\tdivisor = " << value.divisor << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVertexInputAttributeDescription2EXT& value) + { + s << "VkVertexInputAttributeDescription2EXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tlocation = " << value.location << '\n'; + s << "\tbinding = " << value.binding << '\n'; + s << "\tformat = " << value.format << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDrmPropertiesEXT& value) + { + s << "VkPhysicalDeviceDrmPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thasPrimary = " << value.hasPrimary << '\n'; + s << "\thasRender = " << value.hasRender << '\n'; + s << "\tprimaryMajor = " << value.primaryMajor << '\n'; + s << "\tprimaryMinor = " << value.primaryMinor << '\n'; + s << "\trenderMajor = " << value.renderMajor << '\n'; + s << "\trenderMinor = " << value.renderMinor << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceDepthClipControlFeaturesEXT& value) + { + s << "VkPhysicalDeviceDepthClipControlFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdepthClipControl = " << value.depthClipControl << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineViewportDepthClipControlCreateInfoEXT& value) + { + s << "VkPipelineViewportDepthClipControlCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tnegativeOneToOne = " << value.negativeOneToOne << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT& value) + { + s << "VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tprimitiveTopologyListRestart = " << value.primitiveTopologyListRestart << '\n'; + s << "\tprimitiveTopologyPatchListRestart = " << value.primitiveTopologyPatchListRestart << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSubpassShadingPipelineCreateInfoHUAWEI& value) + { + s << "VkSubpassShadingPipelineCreateInfoHUAWEI = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trenderPass = " << value.renderPass << '\n'; + s << "\tsubpass = " << value.subpass << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI& value) + { + s << "VkPhysicalDeviceSubpassShadingFeaturesHUAWEI = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsubpassShading = " << value.subpassShading << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI& value) + { + s << "VkPhysicalDeviceSubpassShadingPropertiesHUAWEI = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxSubpassShadingWorkgroupSizeAspectRatio = " << value.maxSubpassShadingWorkgroupSizeAspectRatio << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI& value) + { + s << "VkPhysicalDeviceInvocationMaskFeaturesHUAWEI = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tinvocationMask = " << value.invocationMask << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryGetRemoteAddressInfoNV& value) + { + s << "VkMemoryGetRemoteAddressInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemory = " << value.memory << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExternalMemoryRDMAFeaturesNV& value) + { + s << "VkPhysicalDeviceExternalMemoryRDMAFeaturesNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\texternalMemoryRDMA = " << value.externalMemoryRDMA << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT& value) + { + s << "VkPhysicalDeviceExtendedDynamicState2FeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\textendedDynamicState2 = " << value.extendedDynamicState2 << '\n'; + s << "\textendedDynamicState2LogicOp = " << value.extendedDynamicState2LogicOp << '\n'; + s << "\textendedDynamicState2PatchControlPoints = " << value.extendedDynamicState2PatchControlPoints << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceColorWriteEnableFeaturesEXT& value) + { + s << "VkPhysicalDeviceColorWriteEnableFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcolorWriteEnable = " << value.colorWriteEnable << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPipelineColorWriteCreateInfoEXT& value) + { + s << "VkPipelineColorWriteCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tattachmentCount = " << value.attachmentCount << '\n'; + s << "\tpColorWriteEnables = " << value.pColorWriteEnables << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT& value) + { + s << "VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tglobalPriorityQuery = " << value.globalPriorityQuery << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkQueueFamilyGlobalPriorityPropertiesEXT& value) + { + s << "VkQueueFamilyGlobalPriorityPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpriorityCount = " << value.priorityCount << '\n'; + s << "\tpriorities = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.priorities), DE_ARRAY_END(value.priorities)) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceImageViewMinLodFeaturesEXT& value) + { + s << "VkPhysicalDeviceImageViewMinLodFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tminLod = " << value.minLod << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageViewMinLodCreateInfoEXT& value) + { + s << "VkImageViewMinLodCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tminLod = " << value.minLod << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiDrawFeaturesEXT& value) + { + s << "VkPhysicalDeviceMultiDrawFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmultiDraw = " << value.multiDraw << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceMultiDrawPropertiesEXT& value) + { + s << "VkPhysicalDeviceMultiDrawPropertiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxMultiDrawCount = " << value.maxMultiDrawCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMultiDrawInfoEXT& value) + { + s << "VkMultiDrawInfoEXT = {\n"; + s << "\tfirstVertex = " << value.firstVertex << '\n'; + s << "\tvertexCount = " << value.vertexCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMultiDrawIndexedInfoEXT& value) + { + s << "VkMultiDrawIndexedInfoEXT = {\n"; + s << "\tfirstIndex = " << value.firstIndex << '\n'; + s << "\tindexCount = " << value.indexCount << '\n'; + s << "\tvertexOffset = " << value.vertexOffset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT& value) + { + s << "VkPhysicalDeviceBorderColorSwizzleFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tborderColorSwizzle = " << value.borderColorSwizzle << '\n'; + s << "\tborderColorSwizzleFromImage = " << value.borderColorSwizzleFromImage << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSamplerBorderColorComponentMappingCreateInfoEXT& value) + { + s << "VkSamplerBorderColorComponentMappingCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcomponents = " << value.components << '\n'; + s << "\tsrgb = " << value.srgb << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT& value) + { + s << "VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpageableDeviceLocalMemory = " << value.pageableDeviceLocalMemory << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkDeviceOrHostAddressKHR& value) + { + s << "VkDeviceOrHostAddressKHR = {\n"; + s << "\tdeviceAddress = " << value.deviceAddress << '\n'; + s << "\thostAddress = " << value.hostAddress << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureBuildRangeInfoKHR& value) + { + s << "VkAccelerationStructureBuildRangeInfoKHR = {\n"; + s << "\tprimitiveCount = " << value.primitiveCount << '\n'; + s << "\tprimitiveOffset = " << value.primitiveOffset << '\n'; + s << "\tfirstVertex = " << value.firstVertex << '\n'; + s << "\ttransformOffset = " << value.transformOffset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryTrianglesDataKHR& value) + { + s << "VkAccelerationStructureGeometryTrianglesDataKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvertexFormat = " << value.vertexFormat << '\n'; + s << "\tvertexData = " << value.vertexData << '\n'; + s << "\tvertexStride = " << value.vertexStride << '\n'; + s << "\tmaxVertex = " << value.maxVertex << '\n'; + s << "\tindexType = " << value.indexType << '\n'; + s << "\tindexData = " << value.indexData << '\n'; + s << "\ttransformData = " << value.transformData << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryAabbsDataKHR& value) + { + s << "VkAccelerationStructureGeometryAabbsDataKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tdata = " << value.data << '\n'; + s << "\tstride = " << value.stride << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryInstancesDataKHR& value) + { + s << "VkAccelerationStructureGeometryInstancesDataKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tarrayOfPointers = " << value.arrayOfPointers << '\n'; + s << "\tdata = " << value.data << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryDataKHR& value) + { + s << "VkAccelerationStructureGeometryDataKHR = {\n"; + s << "\ttriangles = " << value.triangles << '\n'; + s << "\taabbs = " << value.aabbs << '\n'; + s << "\tinstances = " << value.instances << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureGeometryKHR& value) + { + s << "VkAccelerationStructureGeometryKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tgeometryType = " << value.geometryType << '\n'; + s << "\tgeometry = " << value.geometry << '\n'; + s << "\tflags = " << getGeometryFlagsKHRStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureBuildGeometryInfoKHR& value) + { + s << "VkAccelerationStructureBuildGeometryInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttype = " << value.type << '\n'; + s << "\tflags = " << getBuildAccelerationStructureFlagsKHRStr(value.flags) << '\n'; + s << "\tmode = " << value.mode << '\n'; + s << "\tsrcAccelerationStructure = " << value.srcAccelerationStructure << '\n'; + s << "\tdstAccelerationStructure = " << value.dstAccelerationStructure << '\n'; + s << "\tgeometryCount = " << value.geometryCount << '\n'; + s << "\tpGeometries = " << value.pGeometries << '\n'; + s << "\tppGeometries = " << value.ppGeometries << '\n'; + s << "\tscratchData = " << value.scratchData << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureCreateInfoKHR& value) + { + s << "VkAccelerationStructureCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcreateFlags = " << getAccelerationStructureCreateFlagsKHRStr(value.createFlags) << '\n'; + s << "\tbuffer = " << value.buffer << '\n'; + s << "\toffset = " << value.offset << '\n'; + s << "\tsize = " << value.size << '\n'; + s << "\ttype = " << value.type << '\n'; + s << "\tdeviceAddress = " << value.deviceAddress << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkWriteDescriptorSetAccelerationStructureKHR& value) + { + s << "VkWriteDescriptorSetAccelerationStructureKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\taccelerationStructureCount = " << value.accelerationStructureCount << '\n'; + s << "\tpAccelerationStructures = " << value.pAccelerationStructures << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceAccelerationStructureFeaturesKHR& value) + { + s << "VkPhysicalDeviceAccelerationStructureFeaturesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\taccelerationStructure = " << value.accelerationStructure << '\n'; + s << "\taccelerationStructureCaptureReplay = " << value.accelerationStructureCaptureReplay << '\n'; + s << "\taccelerationStructureIndirectBuild = " << value.accelerationStructureIndirectBuild << '\n'; + s << "\taccelerationStructureHostCommands = " << value.accelerationStructureHostCommands << '\n'; + s << "\tdescriptorBindingAccelerationStructureUpdateAfterBind = " << value.descriptorBindingAccelerationStructureUpdateAfterBind << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceAccelerationStructurePropertiesKHR& value) + { + s << "VkPhysicalDeviceAccelerationStructurePropertiesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxGeometryCount = " << value.maxGeometryCount << '\n'; + s << "\tmaxInstanceCount = " << value.maxInstanceCount << '\n'; + s << "\tmaxPrimitiveCount = " << value.maxPrimitiveCount << '\n'; + s << "\tmaxPerStageDescriptorAccelerationStructures = " << value.maxPerStageDescriptorAccelerationStructures << '\n'; + s << "\tmaxPerStageDescriptorUpdateAfterBindAccelerationStructures = " << value.maxPerStageDescriptorUpdateAfterBindAccelerationStructures << '\n'; + s << "\tmaxDescriptorSetAccelerationStructures = " << value.maxDescriptorSetAccelerationStructures << '\n'; + s << "\tmaxDescriptorSetUpdateAfterBindAccelerationStructures = " << value.maxDescriptorSetUpdateAfterBindAccelerationStructures << '\n'; + s << "\tminAccelerationStructureScratchOffsetAlignment = " << value.minAccelerationStructureScratchOffsetAlignment << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureDeviceAddressInfoKHR& value) + { + s << "VkAccelerationStructureDeviceAddressInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\taccelerationStructure = " << value.accelerationStructure << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureVersionInfoKHR& value) + { + s << "VkAccelerationStructureVersionInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpVersionData = " << value.pVersionData << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCopyAccelerationStructureToMemoryInfoKHR& value) + { + s << "VkCopyAccelerationStructureToMemoryInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsrc = " << value.src << '\n'; + s << "\tdst = " << value.dst << '\n'; + s << "\tmode = " << value.mode << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCopyMemoryToAccelerationStructureInfoKHR& value) + { + s << "VkCopyMemoryToAccelerationStructureInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsrc = " << value.src << '\n'; + s << "\tdst = " << value.dst << '\n'; + s << "\tmode = " << value.mode << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkCopyAccelerationStructureInfoKHR& value) + { + s << "VkCopyAccelerationStructureInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsrc = " << value.src << '\n'; + s << "\tdst = " << value.dst << '\n'; + s << "\tmode = " << value.mode << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAccelerationStructureBuildSizesInfoKHR& value) + { + s << "VkAccelerationStructureBuildSizesInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\taccelerationStructureSize = " << value.accelerationStructureSize << '\n'; + s << "\tupdateScratchSize = " << value.updateScratchSize << '\n'; + s << "\tbuildScratchSize = " << value.buildScratchSize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRayTracingShaderGroupCreateInfoKHR& value) + { + s << "VkRayTracingShaderGroupCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttype = " << value.type << '\n'; + s << "\tgeneralShader = " << value.generalShader << '\n'; + s << "\tclosestHitShader = " << value.closestHitShader << '\n'; + s << "\tanyHitShader = " << value.anyHitShader << '\n'; + s << "\tintersectionShader = " << value.intersectionShader << '\n'; + s << "\tpShaderGroupCaptureReplayHandle = " << value.pShaderGroupCaptureReplayHandle << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRayTracingPipelineInterfaceCreateInfoKHR& value) + { + s << "VkRayTracingPipelineInterfaceCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxPipelineRayPayloadSize = " << value.maxPipelineRayPayloadSize << '\n'; + s << "\tmaxPipelineRayHitAttributeSize = " << value.maxPipelineRayHitAttributeSize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkRayTracingPipelineCreateInfoKHR& value) + { + s << "VkRayTracingPipelineCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getPipelineCreateFlagsStr(value.flags) << '\n'; + s << "\tstageCount = " << value.stageCount << '\n'; + s << "\tpStages = " << value.pStages << '\n'; + s << "\tgroupCount = " << value.groupCount << '\n'; + s << "\tpGroups = " << value.pGroups << '\n'; + s << "\tmaxPipelineRayRecursionDepth = " << value.maxPipelineRayRecursionDepth << '\n'; + s << "\tpLibraryInfo = " << value.pLibraryInfo << '\n'; + s << "\tpLibraryInterface = " << value.pLibraryInterface << '\n'; + s << "\tpDynamicState = " << value.pDynamicState << '\n'; + s << "\tlayout = " << value.layout << '\n'; + s << "\tbasePipelineHandle = " << value.basePipelineHandle << '\n'; + s << "\tbasePipelineIndex = " << value.basePipelineIndex << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingPipelineFeaturesKHR& value) + { + s << "VkPhysicalDeviceRayTracingPipelineFeaturesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trayTracingPipeline = " << value.rayTracingPipeline << '\n'; + s << "\trayTracingPipelineShaderGroupHandleCaptureReplay = " << value.rayTracingPipelineShaderGroupHandleCaptureReplay << '\n'; + s << "\trayTracingPipelineShaderGroupHandleCaptureReplayMixed = " << value.rayTracingPipelineShaderGroupHandleCaptureReplayMixed << '\n'; + s << "\trayTracingPipelineTraceRaysIndirect = " << value.rayTracingPipelineTraceRaysIndirect << '\n'; + s << "\trayTraversalPrimitiveCulling = " << value.rayTraversalPrimitiveCulling << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayTracingPipelinePropertiesKHR& value) + { + s << "VkPhysicalDeviceRayTracingPipelinePropertiesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tshaderGroupHandleSize = " << value.shaderGroupHandleSize << '\n'; + s << "\tmaxRayRecursionDepth = " << value.maxRayRecursionDepth << '\n'; + s << "\tmaxShaderGroupStride = " << value.maxShaderGroupStride << '\n'; + s << "\tshaderGroupBaseAlignment = " << value.shaderGroupBaseAlignment << '\n'; + s << "\tshaderGroupHandleCaptureReplaySize = " << value.shaderGroupHandleCaptureReplaySize << '\n'; + s << "\tmaxRayDispatchInvocationCount = " << value.maxRayDispatchInvocationCount << '\n'; + s << "\tshaderGroupHandleAlignment = " << value.shaderGroupHandleAlignment << '\n'; + s << "\tmaxRayHitAttributeSize = " << value.maxRayHitAttributeSize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkStridedDeviceAddressRegionKHR& value) + { + s << "VkStridedDeviceAddressRegionKHR = {\n"; + s << "\tdeviceAddress = " << value.deviceAddress << '\n'; + s << "\tstride = " << value.stride << '\n'; + s << "\tsize = " << value.size << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkTraceRaysIndirectCommandKHR& value) + { + s << "VkTraceRaysIndirectCommandKHR = {\n"; + s << "\twidth = " << value.width << '\n'; + s << "\theight = " << value.height << '\n'; + s << "\tdepth = " << value.depth << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceRayQueryFeaturesKHR& value) + { + s << "VkPhysicalDeviceRayQueryFeaturesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trayQuery = " << value.rayQuery << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAndroidSurfaceCreateInfoKHR& value) + { + s << "VkAndroidSurfaceCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getAndroidSurfaceCreateFlagsKHRStr(value.flags) << '\n'; + s << "\twindow = " << value.window << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferUsageANDROID& value) + { + s << "VkAndroidHardwareBufferUsageANDROID = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tandroidHardwareBufferUsage = " << value.androidHardwareBufferUsage << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferPropertiesANDROID& value) + { + s << "VkAndroidHardwareBufferPropertiesANDROID = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tallocationSize = " << value.allocationSize << '\n'; + s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferFormatPropertiesANDROID& value) + { + s << "VkAndroidHardwareBufferFormatPropertiesANDROID = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tformat = " << value.format << '\n'; + s << "\texternalFormat = " << value.externalFormat << '\n'; + s << "\tformatFeatures = " << getFormatFeatureFlagsStr(value.formatFeatures) << '\n'; + s << "\tsamplerYcbcrConversionComponents = " << value.samplerYcbcrConversionComponents << '\n'; + s << "\tsuggestedYcbcrModel = " << value.suggestedYcbcrModel << '\n'; + s << "\tsuggestedYcbcrRange = " << value.suggestedYcbcrRange << '\n'; + s << "\tsuggestedXChromaOffset = " << value.suggestedXChromaOffset << '\n'; + s << "\tsuggestedYChromaOffset = " << value.suggestedYChromaOffset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImportAndroidHardwareBufferInfoANDROID& value) + { + s << "VkImportAndroidHardwareBufferInfoANDROID = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tbuffer = " << value.buffer << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryGetAndroidHardwareBufferInfoANDROID& value) + { + s << "VkMemoryGetAndroidHardwareBufferInfoANDROID = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemory = " << value.memory << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExternalFormatANDROID& value) + { + s << "VkExternalFormatANDROID = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\texternalFormat = " << value.externalFormat << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkAndroidHardwareBufferFormatProperties2ANDROID& value) + { + s << "VkAndroidHardwareBufferFormatProperties2ANDROID = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tformat = " << value.format << '\n'; + s << "\texternalFormat = " << value.externalFormat << '\n'; + s << "\tformatFeatures = " << value.formatFeatures << '\n'; + s << "\tsamplerYcbcrConversionComponents = " << value.samplerYcbcrConversionComponents << '\n'; + s << "\tsuggestedYcbcrModel = " << value.suggestedYcbcrModel << '\n'; + s << "\tsuggestedYcbcrRange = " << value.suggestedYcbcrRange << '\n'; + s << "\tsuggestedXChromaOffset = " << value.suggestedXChromaOffset << '\n'; + s << "\tsuggestedYChromaOffset = " << value.suggestedYChromaOffset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoQueueFamilyProperties2KHR& value) + { + s << "VkVideoQueueFamilyProperties2KHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvideoCodecOperations = " << getVideoCodecOperationFlagsKHRStr(value.videoCodecOperations) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoProfileKHR& value) + { + s << "VkVideoProfileKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvideoCodecOperation = " << value.videoCodecOperation << '\n'; + s << "\tchromaSubsampling = " << getVideoChromaSubsamplingFlagsKHRStr(value.chromaSubsampling) << '\n'; + s << "\tlumaBitDepth = " << getVideoComponentBitDepthFlagsKHRStr(value.lumaBitDepth) << '\n'; + s << "\tchromaBitDepth = " << getVideoComponentBitDepthFlagsKHRStr(value.chromaBitDepth) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoProfilesKHR& value) + { + s << "VkVideoProfilesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tprofileCount = " << value.profileCount << '\n'; + s << "\tpProfiles = " << value.pProfiles << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoCapabilitiesKHR& value) + { + s << "VkVideoCapabilitiesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcapabilityFlags = " << getVideoCapabilityFlagsKHRStr(value.capabilityFlags) << '\n'; + s << "\tminBitstreamBufferOffsetAlignment = " << value.minBitstreamBufferOffsetAlignment << '\n'; + s << "\tminBitstreamBufferSizeAlignment = " << value.minBitstreamBufferSizeAlignment << '\n'; + s << "\tvideoPictureExtentGranularity = " << value.videoPictureExtentGranularity << '\n'; + s << "\tminExtent = " << value.minExtent << '\n'; + s << "\tmaxExtent = " << value.maxExtent << '\n'; + s << "\tmaxReferencePicturesSlotsCount = " << value.maxReferencePicturesSlotsCount << '\n'; + s << "\tmaxReferencePicturesActiveCount = " << value.maxReferencePicturesActiveCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDeviceVideoFormatInfoKHR& value) + { + s << "VkPhysicalDeviceVideoFormatInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\timageUsage = " << getImageUsageFlagsStr(value.imageUsage) << '\n'; + s << "\tpVideoProfiles = " << value.pVideoProfiles << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoFormatPropertiesKHR& value) + { + s << "VkVideoFormatPropertiesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tformat = " << value.format << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoPictureResourceKHR& value) + { + s << "VkVideoPictureResourceKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcodedOffset = " << value.codedOffset << '\n'; + s << "\tcodedExtent = " << value.codedExtent << '\n'; + s << "\tbaseArrayLayer = " << value.baseArrayLayer << '\n'; + s << "\timageViewBinding = " << value.imageViewBinding << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoReferenceSlotKHR& value) + { + s << "VkVideoReferenceSlotKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tslotIndex = " << value.slotIndex << '\n'; + s << "\tpPictureResource = " << value.pPictureResource << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoGetMemoryPropertiesKHR& value) + { + s << "VkVideoGetMemoryPropertiesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemoryBindIndex = " << value.memoryBindIndex << '\n'; + s << "\tpMemoryRequirements = " << value.pMemoryRequirements << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoBindMemoryKHR& value) + { + s << "VkVideoBindMemoryKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemoryBindIndex = " << value.memoryBindIndex << '\n'; + s << "\tmemory = " << value.memory << '\n'; + s << "\tmemoryOffset = " << value.memoryOffset << '\n'; + s << "\tmemorySize = " << value.memorySize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoSessionCreateInfoKHR& value) + { + s << "VkVideoSessionCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tqueueFamilyIndex = " << value.queueFamilyIndex << '\n'; + s << "\tflags = " << getVideoSessionCreateFlagsKHRStr(value.flags) << '\n'; + s << "\tpVideoProfile = " << value.pVideoProfile << '\n'; + s << "\tpictureFormat = " << value.pictureFormat << '\n'; + s << "\tmaxCodedExtent = " << value.maxCodedExtent << '\n'; + s << "\treferencePicturesFormat = " << value.referencePicturesFormat << '\n'; + s << "\tmaxReferencePicturesSlotsCount = " << value.maxReferencePicturesSlotsCount << '\n'; + s << "\tmaxReferencePicturesActiveCount = " << value.maxReferencePicturesActiveCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoSessionParametersCreateInfoKHR& value) + { + s << "VkVideoSessionParametersCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvideoSessionParametersTemplate = " << value.videoSessionParametersTemplate << '\n'; + s << "\tvideoSession = " << value.videoSession << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoSessionParametersUpdateInfoKHR& value) + { + s << "VkVideoSessionParametersUpdateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tupdateSequenceCount = " << value.updateSequenceCount << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoBeginCodingInfoKHR& value) + { + s << "VkVideoBeginCodingInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getVideoBeginCodingFlagsKHRStr(value.flags) << '\n'; + s << "\tcodecQualityPreset = " << getVideoCodingQualityPresetFlagsKHRStr(value.codecQualityPreset) << '\n'; + s << "\tvideoSession = " << value.videoSession << '\n'; + s << "\tvideoSessionParameters = " << value.videoSessionParameters << '\n'; + s << "\treferenceSlotCount = " << value.referenceSlotCount << '\n'; + s << "\tpReferenceSlots = " << value.pReferenceSlots << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEndCodingInfoKHR& value) + { + s << "VkVideoEndCodingInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getVideoEndCodingFlagsKHRStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoCodingControlInfoKHR& value) + { + s << "VkVideoCodingControlInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getVideoCodingControlFlagsKHRStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeInfoKHR& value) + { + s << "VkVideoDecodeInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getVideoDecodeFlagsKHRStr(value.flags) << '\n'; + s << "\tcodedOffset = " << value.codedOffset << '\n'; + s << "\tcodedExtent = " << value.codedExtent << '\n'; + s << "\tsrcBuffer = " << value.srcBuffer << '\n'; + s << "\tsrcBufferOffset = " << value.srcBufferOffset << '\n'; + s << "\tsrcBufferRange = " << value.srcBufferRange << '\n'; + s << "\tdstPictureResource = " << value.dstPictureResource << '\n'; + s << "\tpSetupReferenceSlot = " << value.pSetupReferenceSlot << '\n'; + s << "\treferenceSlotCount = " << value.referenceSlotCount << '\n'; + s << "\tpReferenceSlots = " << value.pReferenceSlots << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePortabilitySubsetFeaturesKHR& value) + { + s << "VkPhysicalDevicePortabilitySubsetFeaturesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tconstantAlphaColorBlendFactors = " << value.constantAlphaColorBlendFactors << '\n'; + s << "\tevents = " << value.events << '\n'; + s << "\timageViewFormatReinterpretation = " << value.imageViewFormatReinterpretation << '\n'; + s << "\timageViewFormatSwizzle = " << value.imageViewFormatSwizzle << '\n'; + s << "\timageView2DOn3DImage = " << value.imageView2DOn3DImage << '\n'; + s << "\tmultisampleArrayImage = " << value.multisampleArrayImage << '\n'; + s << "\tmutableComparisonSamplers = " << value.mutableComparisonSamplers << '\n'; + s << "\tpointPolygons = " << value.pointPolygons << '\n'; + s << "\tsamplerMipLodBias = " << value.samplerMipLodBias << '\n'; + s << "\tseparateStencilMaskRef = " << value.separateStencilMaskRef << '\n'; + s << "\tshaderSampleRateInterpolationFunctions = " << value.shaderSampleRateInterpolationFunctions << '\n'; + s << "\ttessellationIsolines = " << value.tessellationIsolines << '\n'; + s << "\ttessellationPointMode = " << value.tessellationPointMode << '\n'; + s << "\ttriangleFans = " << value.triangleFans << '\n'; + s << "\tvertexAttributeAccessBeyondStride = " << value.vertexAttributeAccessBeyondStride << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPhysicalDevicePortabilitySubsetPropertiesKHR& value) + { + s << "VkPhysicalDevicePortabilitySubsetPropertiesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tminVertexInputBindingStrideAlignment = " << value.minVertexInputBindingStrideAlignment << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeInfoKHR& value) + { + s << "VkVideoEncodeInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getVideoEncodeFlagsKHRStr(value.flags) << '\n'; + s << "\tqualityLevel = " << value.qualityLevel << '\n'; + s << "\tcodedExtent = " << value.codedExtent << '\n'; + s << "\tdstBitstreamBuffer = " << value.dstBitstreamBuffer << '\n'; + s << "\tdstBitstreamBufferOffset = " << value.dstBitstreamBufferOffset << '\n'; + s << "\tdstBitstreamBufferMaxRange = " << value.dstBitstreamBufferMaxRange << '\n'; + s << "\tsrcPictureResource = " << value.srcPictureResource << '\n'; + s << "\tpSetupReferenceSlot = " << value.pSetupReferenceSlot << '\n'; + s << "\treferenceSlotCount = " << value.referenceSlotCount << '\n'; + s << "\tpReferenceSlots = " << value.pReferenceSlots << '\n'; + s << "\tprecedingExternallyEncodedBytes = " << value.precedingExternallyEncodedBytes << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeRateControlLayerInfoKHR& value) + { + s << "VkVideoEncodeRateControlLayerInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\taverageBitrate = " << value.averageBitrate << '\n'; + s << "\tmaxBitrate = " << value.maxBitrate << '\n'; + s << "\tframeRateNumerator = " << value.frameRateNumerator << '\n'; + s << "\tframeRateDenominator = " << value.frameRateDenominator << '\n'; + s << "\tvirtualBufferSizeInMs = " << value.virtualBufferSizeInMs << '\n'; + s << "\tinitialVirtualBufferSizeInMs = " << value.initialVirtualBufferSizeInMs << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeRateControlInfoKHR& value) + { + s << "VkVideoEncodeRateControlInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getVideoEncodeRateControlFlagsKHRStr(value.flags) << '\n'; + s << "\trateControlMode = " << value.rateControlMode << '\n'; + s << "\tlayerCount = " << value.layerCount << '\n'; + s << "\tpLayerConfigs = " << value.pLayerConfigs << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH264SpsVuiFlags& value) + { + s << "StdVideoH264SpsVuiFlags = {\n"; + s << "\taspect_ratio_info_present_flag = " << value.aspect_ratio_info_present_flag << '\n'; + s << "\toverscan_info_present_flag = " << value.overscan_info_present_flag << '\n'; + s << "\toverscan_appropriate_flag = " << value.overscan_appropriate_flag << '\n'; + s << "\tvideo_signal_type_present_flag = " << value.video_signal_type_present_flag << '\n'; + s << "\tvideo_full_range_flag = " << value.video_full_range_flag << '\n'; + s << "\tcolor_description_present_flag = " << value.color_description_present_flag << '\n'; + s << "\tchroma_loc_info_present_flag = " << value.chroma_loc_info_present_flag << '\n'; + s << "\ttiming_info_present_flag = " << value.timing_info_present_flag << '\n'; + s << "\tfixed_frame_rate_flag = " << value.fixed_frame_rate_flag << '\n'; + s << "\tbitstream_restriction_flag = " << value.bitstream_restriction_flag << '\n'; + s << "\tnal_hrd_parameters_present_flag = " << value.nal_hrd_parameters_present_flag << '\n'; + s << "\tvcl_hrd_parameters_present_flag = " << value.vcl_hrd_parameters_present_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH264HrdParameters& value) + { + s << "StdVideoH264HrdParameters = {\n"; + s << "\tcpb_cnt_minus1 = " << value.cpb_cnt_minus1 << '\n'; + s << "\tbit_rate_scale = " << value.bit_rate_scale << '\n'; + s << "\tcpb_size_scale = " << value.cpb_size_scale << '\n'; + s << "\tbit_rate_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.bit_rate_value_minus1), DE_ARRAY_END(value.bit_rate_value_minus1)) << '\n'; + s << "\tcpb_size_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.cpb_size_value_minus1), DE_ARRAY_END(value.cpb_size_value_minus1)) << '\n'; + s << "\tcbr_flag = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.cbr_flag)), tcu::Format::HexIterator(DE_ARRAY_END(value.cbr_flag))) << '\n'; + s << "\tinitial_cpb_removal_delay_length_minus1 = " << value.initial_cpb_removal_delay_length_minus1 << '\n'; + s << "\tcpb_removal_delay_length_minus1 = " << value.cpb_removal_delay_length_minus1 << '\n'; + s << "\tdpb_output_delay_length_minus1 = " << value.dpb_output_delay_length_minus1 << '\n'; + s << "\ttime_offset_length = " << value.time_offset_length << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH264SequenceParameterSetVui& value) + { + s << "StdVideoH264SequenceParameterSetVui = {\n"; + s << "\taspect_ratio_idc = " << value.aspect_ratio_idc << '\n'; + s << "\tsar_width = " << value.sar_width << '\n'; + s << "\tsar_height = " << value.sar_height << '\n'; + s << "\tvideo_format = " << value.video_format << '\n'; + s << "\tcolor_primaries = " << value.color_primaries << '\n'; + s << "\ttransfer_characteristics = " << value.transfer_characteristics << '\n'; + s << "\tmatrix_coefficients = " << value.matrix_coefficients << '\n'; + s << "\tnum_units_in_tick = " << value.num_units_in_tick << '\n'; + s << "\ttime_scale = " << value.time_scale << '\n'; + s << "\tpHrdParameters = " << value.pHrdParameters << '\n'; + s << "\tmax_num_reorder_frames = " << value.max_num_reorder_frames << '\n'; + s << "\tmax_dec_frame_buffering = " << value.max_dec_frame_buffering << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH264SpsFlags& value) + { + s << "StdVideoH264SpsFlags = {\n"; + s << "\tconstraint_set0_flag = " << value.constraint_set0_flag << '\n'; + s << "\tconstraint_set1_flag = " << value.constraint_set1_flag << '\n'; + s << "\tconstraint_set2_flag = " << value.constraint_set2_flag << '\n'; + s << "\tconstraint_set3_flag = " << value.constraint_set3_flag << '\n'; + s << "\tconstraint_set4_flag = " << value.constraint_set4_flag << '\n'; + s << "\tconstraint_set5_flag = " << value.constraint_set5_flag << '\n'; + s << "\tdirect_8x8_inference_flag = " << value.direct_8x8_inference_flag << '\n'; + s << "\tmb_adaptive_frame_field_flag = " << value.mb_adaptive_frame_field_flag << '\n'; + s << "\tframe_mbs_only_flag = " << value.frame_mbs_only_flag << '\n'; + s << "\tdelta_pic_order_always_zero_flag = " << value.delta_pic_order_always_zero_flag << '\n'; + s << "\tseparate_colour_plane_flag = " << value.separate_colour_plane_flag << '\n'; + s << "\tgaps_in_frame_num_value_allowed_flag = " << value.gaps_in_frame_num_value_allowed_flag << '\n'; + s << "\tqpprime_y_zero_transform_bypass_flag = " << value.qpprime_y_zero_transform_bypass_flag << '\n'; + s << "\tframe_cropping_flag = " << value.frame_cropping_flag << '\n'; + s << "\tseq_scaling_matrix_present_flag = " << value.seq_scaling_matrix_present_flag << '\n'; + s << "\tvui_parameters_present_flag = " << value.vui_parameters_present_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH264ScalingLists& value) + { + s << "StdVideoH264ScalingLists = {\n"; + s << "\tscaling_list_present_mask = " << value.scaling_list_present_mask << '\n'; + s << "\tuse_default_scaling_matrix_mask = " << value.use_default_scaling_matrix_mask << '\n'; + s << "\tScalingList4x4 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.ScalingList4x4), DE_ARRAY_END(value.ScalingList4x4)) << '\n'; + s << "\tScalingList8x8 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.ScalingList8x8), DE_ARRAY_END(value.ScalingList8x8)) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH264SequenceParameterSet& value) + { + s << "StdVideoH264SequenceParameterSet = {\n"; + s << "\tprofile_idc = " << value.profile_idc << '\n'; + s << "\tlevel_idc = " << value.level_idc << '\n'; + s << "\tseq_parameter_set_id = " << value.seq_parameter_set_id << '\n'; + s << "\tchroma_format_idc = " << value.chroma_format_idc << '\n'; + s << "\tbit_depth_luma_minus8 = " << value.bit_depth_luma_minus8 << '\n'; + s << "\tbit_depth_chroma_minus8 = " << value.bit_depth_chroma_minus8 << '\n'; + s << "\tlog2_max_frame_num_minus4 = " << value.log2_max_frame_num_minus4 << '\n'; + s << "\tpic_order_cnt_type = " << value.pic_order_cnt_type << '\n'; + s << "\tlog2_max_pic_order_cnt_lsb_minus4 = " << value.log2_max_pic_order_cnt_lsb_minus4 << '\n'; + s << "\toffset_for_non_ref_pic = " << value.offset_for_non_ref_pic << '\n'; + s << "\toffset_for_top_to_bottom_field = " << value.offset_for_top_to_bottom_field << '\n'; + s << "\tnum_ref_frames_in_pic_order_cnt_cycle = " << value.num_ref_frames_in_pic_order_cnt_cycle << '\n'; + s << "\tmax_num_ref_frames = " << value.max_num_ref_frames << '\n'; + s << "\tpic_width_in_mbs_minus1 = " << value.pic_width_in_mbs_minus1 << '\n'; + s << "\tpic_height_in_map_units_minus1 = " << value.pic_height_in_map_units_minus1 << '\n'; + s << "\tframe_crop_left_offset = " << value.frame_crop_left_offset << '\n'; + s << "\tframe_crop_right_offset = " << value.frame_crop_right_offset << '\n'; + s << "\tframe_crop_top_offset = " << value.frame_crop_top_offset << '\n'; + s << "\tframe_crop_bottom_offset = " << value.frame_crop_bottom_offset << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << "\tpOffsetForRefFrame = " << value.pOffsetForRefFrame << '\n'; + s << "\tpScalingLists = " << value.pScalingLists << '\n'; + s << "\tpSequenceParameterSetVui = " << value.pSequenceParameterSetVui << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH264PpsFlags& value) + { + s << "StdVideoH264PpsFlags = {\n"; + s << "\ttransform_8x8_mode_flag = " << value.transform_8x8_mode_flag << '\n'; + s << "\tredundant_pic_cnt_present_flag = " << value.redundant_pic_cnt_present_flag << '\n'; + s << "\tconstrained_intra_pred_flag = " << value.constrained_intra_pred_flag << '\n'; + s << "\tdeblocking_filter_control_present_flag = " << value.deblocking_filter_control_present_flag << '\n'; + s << "\tweighted_bipred_idc_flag = " << value.weighted_bipred_idc_flag << '\n'; + s << "\tweighted_pred_flag = " << value.weighted_pred_flag << '\n'; + s << "\tpic_order_present_flag = " << value.pic_order_present_flag << '\n'; + s << "\tentropy_coding_mode_flag = " << value.entropy_coding_mode_flag << '\n'; + s << "\tpic_scaling_matrix_present_flag = " << value.pic_scaling_matrix_present_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH264PictureParameterSet& value) + { + s << "StdVideoH264PictureParameterSet = {\n"; + s << "\tseq_parameter_set_id = " << value.seq_parameter_set_id << '\n'; + s << "\tpic_parameter_set_id = " << value.pic_parameter_set_id << '\n'; + s << "\tnum_ref_idx_l0_default_active_minus1 = " << value.num_ref_idx_l0_default_active_minus1 << '\n'; + s << "\tnum_ref_idx_l1_default_active_minus1 = " << value.num_ref_idx_l1_default_active_minus1 << '\n'; + s << "\tweighted_bipred_idc = " << value.weighted_bipred_idc << '\n'; + s << "\tpic_init_qp_minus26 = " << value.pic_init_qp_minus26 << '\n'; + s << "\tpic_init_qs_minus26 = " << value.pic_init_qs_minus26 << '\n'; + s << "\tchroma_qp_index_offset = " << value.chroma_qp_index_offset << '\n'; + s << "\tsecond_chroma_qp_index_offset = " << value.second_chroma_qp_index_offset << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << "\tpScalingLists = " << value.pScalingLists << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264SliceHeaderFlags& value) + { + s << "StdVideoEncodeH264SliceHeaderFlags = {\n"; + s << "\tidr_flag = " << value.idr_flag << '\n'; + s << "\tis_reference_flag = " << value.is_reference_flag << '\n'; + s << "\tnum_ref_idx_active_override_flag = " << value.num_ref_idx_active_override_flag << '\n'; + s << "\tno_output_of_prior_pics_flag = " << value.no_output_of_prior_pics_flag << '\n'; + s << "\tlong_term_reference_flag = " << value.long_term_reference_flag << '\n'; + s << "\tadaptive_ref_pic_marking_mode_flag = " << value.adaptive_ref_pic_marking_mode_flag << '\n'; + s << "\tno_prior_references_available_flag = " << value.no_prior_references_available_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264PictureInfoFlags& value) + { + s << "StdVideoEncodeH264PictureInfoFlags = {\n"; + s << "\tidr_flag = " << value.idr_flag << '\n'; + s << "\tis_reference_flag = " << value.is_reference_flag << '\n'; + s << "\tlong_term_reference_flag = " << value.long_term_reference_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264RefMgmtFlags& value) + { + s << "StdVideoEncodeH264RefMgmtFlags = {\n"; + s << "\tref_pic_list_modification_l0_flag = " << value.ref_pic_list_modification_l0_flag << '\n'; + s << "\tref_pic_list_modification_l1_flag = " << value.ref_pic_list_modification_l1_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264RefListModEntry& value) + { + s << "StdVideoEncodeH264RefListModEntry = {\n"; + s << "\tmodification_of_pic_nums_idc = " << value.modification_of_pic_nums_idc << '\n'; + s << "\tabs_diff_pic_num_minus1 = " << value.abs_diff_pic_num_minus1 << '\n'; + s << "\tlong_term_pic_num = " << value.long_term_pic_num << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264RefPicMarkingEntry& value) + { + s << "StdVideoEncodeH264RefPicMarkingEntry = {\n"; + s << "\toperation = " << value.operation << '\n'; + s << "\tdifference_of_pic_nums_minus1 = " << value.difference_of_pic_nums_minus1 << '\n'; + s << "\tlong_term_pic_num = " << value.long_term_pic_num << '\n'; + s << "\tlong_term_frame_idx = " << value.long_term_frame_idx << '\n'; + s << "\tmax_long_term_frame_idx_plus1 = " << value.max_long_term_frame_idx_plus1 << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264RefMemMgmtCtrlOperations& value) + { + s << "StdVideoEncodeH264RefMemMgmtCtrlOperations = {\n"; + s << "\tflags = " << value.flags << '\n'; + s << "\trefList0ModOpCount = " << value.refList0ModOpCount << '\n'; + s << "\tpRefList0ModOperations = " << value.pRefList0ModOperations << '\n'; + s << "\trefList1ModOpCount = " << value.refList1ModOpCount << '\n'; + s << "\tpRefList1ModOperations = " << value.pRefList1ModOperations << '\n'; + s << "\trefPicMarkingOpCount = " << value.refPicMarkingOpCount << '\n'; + s << "\tpRefPicMarkingOperations = " << value.pRefPicMarkingOperations << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264PictureInfo& value) + { + s << "StdVideoEncodeH264PictureInfo = {\n"; + s << "\tflags = " << value.flags << '\n'; + s << "\tpictureType = " << value.pictureType << '\n'; + s << "\tframeNum = " << value.frameNum << '\n'; + s << "\tpictureOrderCount = " << value.pictureOrderCount << '\n'; + s << "\tlong_term_pic_num = " << value.long_term_pic_num << '\n'; + s << "\tlong_term_frame_idx = " << value.long_term_frame_idx << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH264SliceHeader& value) + { + s << "StdVideoEncodeH264SliceHeader = {\n"; + s << "\tflags = " << value.flags << '\n'; + s << "\tslice_type = " << value.slice_type << '\n'; + s << "\tseq_parameter_set_id = " << value.seq_parameter_set_id << '\n'; + s << "\tpic_parameter_set_id = " << value.pic_parameter_set_id << '\n'; + s << "\tidr_pic_id = " << value.idr_pic_id << '\n'; + s << "\tnum_ref_idx_l0_active_minus1 = " << value.num_ref_idx_l0_active_minus1 << '\n'; + s << "\tnum_ref_idx_l1_active_minus1 = " << value.num_ref_idx_l1_active_minus1 << '\n'; + s << "\tcabac_init_idc = " << value.cabac_init_idc << '\n'; + s << "\tdisable_deblocking_filter_idc = " << value.disable_deblocking_filter_idc << '\n'; + s << "\tslice_alpha_c0_offset_div2 = " << value.slice_alpha_c0_offset_div2 << '\n'; + s << "\tslice_beta_offset_div2 = " << value.slice_beta_offset_div2 << '\n'; + s << "\tpMemMgmtCtrlOperations = " << value.pMemMgmtCtrlOperations << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264CapabilitiesEXT& value) + { + s << "VkVideoEncodeH264CapabilitiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getVideoEncodeH264CapabilityFlagsEXTStr(value.flags) << '\n'; + s << "\tinputModeFlags = " << getVideoEncodeH264InputModeFlagsEXTStr(value.inputModeFlags) << '\n'; + s << "\toutputModeFlags = " << getVideoEncodeH264OutputModeFlagsEXTStr(value.outputModeFlags) << '\n'; + s << "\tminPictureSizeInMbs = " << value.minPictureSizeInMbs << '\n'; + s << "\tmaxPictureSizeInMbs = " << value.maxPictureSizeInMbs << '\n'; + s << "\tinputImageDataAlignment = " << value.inputImageDataAlignment << '\n'; + s << "\tmaxNumL0ReferenceForP = " << value.maxNumL0ReferenceForP << '\n'; + s << "\tmaxNumL0ReferenceForB = " << value.maxNumL0ReferenceForB << '\n'; + s << "\tmaxNumL1Reference = " << value.maxNumL1Reference << '\n'; + s << "\tqualityLevelCount = " << value.qualityLevelCount << '\n'; + s << "\tstdExtensionVersion = " << value.stdExtensionVersion << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264SessionCreateInfoEXT& value) + { + s << "VkVideoEncodeH264SessionCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getVideoEncodeH264CreateFlagsEXTStr(value.flags) << '\n'; + s << "\tmaxPictureSizeInMbs = " << value.maxPictureSizeInMbs << '\n'; + s << "\tpStdExtensionVersion = " << value.pStdExtensionVersion << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264SessionParametersAddInfoEXT& value) + { + s << "VkVideoEncodeH264SessionParametersAddInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tspsStdCount = " << value.spsStdCount << '\n'; + s << "\tpSpsStd = " << value.pSpsStd << '\n'; + s << "\tppsStdCount = " << value.ppsStdCount << '\n'; + s << "\tpPpsStd = " << value.pPpsStd << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264SessionParametersCreateInfoEXT& value) + { + s << "VkVideoEncodeH264SessionParametersCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxSpsStdCount = " << value.maxSpsStdCount << '\n'; + s << "\tmaxPpsStdCount = " << value.maxPpsStdCount << '\n'; + s << "\tpParametersAddInfo = " << value.pParametersAddInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264DpbSlotInfoEXT& value) + { + s << "VkVideoEncodeH264DpbSlotInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tslotIndex = " << value.slotIndex << '\n'; + s << "\tpStdPictureInfo = " << value.pStdPictureInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264NaluSliceEXT& value) + { + s << "VkVideoEncodeH264NaluSliceEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpSliceHeaderStd = " << value.pSliceHeaderStd << '\n'; + s << "\tmbCount = " << value.mbCount << '\n'; + s << "\trefFinalList0EntryCount = " << value.refFinalList0EntryCount << '\n'; + s << "\tpRefFinalList0Entries = " << value.pRefFinalList0Entries << '\n'; + s << "\trefFinalList1EntryCount = " << value.refFinalList1EntryCount << '\n'; + s << "\tpRefFinalList1Entries = " << value.pRefFinalList1Entries << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264VclFrameInfoEXT& value) + { + s << "VkVideoEncodeH264VclFrameInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\trefDefaultFinalList0EntryCount = " << value.refDefaultFinalList0EntryCount << '\n'; + s << "\tpRefDefaultFinalList0Entries = " << value.pRefDefaultFinalList0Entries << '\n'; + s << "\trefDefaultFinalList1EntryCount = " << value.refDefaultFinalList1EntryCount << '\n'; + s << "\tpRefDefaultFinalList1Entries = " << value.pRefDefaultFinalList1Entries << '\n'; + s << "\tnaluSliceEntryCount = " << value.naluSliceEntryCount << '\n'; + s << "\tpNaluSliceEntries = " << value.pNaluSliceEntries << '\n'; + s << "\tpCurrentPictureInfo = " << value.pCurrentPictureInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264EmitPictureParametersEXT& value) + { + s << "VkVideoEncodeH264EmitPictureParametersEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tspsId = " << value.spsId << '\n'; + s << "\temitSpsEnable = " << value.emitSpsEnable << '\n'; + s << "\tppsIdEntryCount = " << value.ppsIdEntryCount << '\n'; + s << "\tppsIdEntries = " << value.ppsIdEntries << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264ProfileEXT& value) + { + s << "VkVideoEncodeH264ProfileEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tstdProfileIdc = " << value.stdProfileIdc << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264RateControlInfoEXT& value) + { + s << "VkVideoEncodeH264RateControlInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tgopFrameCount = " << value.gopFrameCount << '\n'; + s << "\tidrPeriod = " << value.idrPeriod << '\n'; + s << "\tconsecutiveBFrameCount = " << value.consecutiveBFrameCount << '\n'; + s << "\trateControlStructure = " << value.rateControlStructure << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264QpEXT& value) + { + s << "VkVideoEncodeH264QpEXT = {\n"; + s << "\tqpI = " << value.qpI << '\n'; + s << "\tqpP = " << value.qpP << '\n'; + s << "\tqpB = " << value.qpB << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264FrameSizeEXT& value) + { + s << "VkVideoEncodeH264FrameSizeEXT = {\n"; + s << "\tframeISize = " << value.frameISize << '\n'; + s << "\tframePSize = " << value.framePSize << '\n'; + s << "\tframeBSize = " << value.frameBSize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH264RateControlLayerInfoEXT& value) + { + s << "VkVideoEncodeH264RateControlLayerInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttemporalLayerId = " << value.temporalLayerId << '\n'; + s << "\tuseInitialRcQp = " << value.useInitialRcQp << '\n'; + s << "\tinitialRcQp = " << value.initialRcQp << '\n'; + s << "\tuseMinQp = " << value.useMinQp << '\n'; + s << "\tminQp = " << value.minQp << '\n'; + s << "\tuseMaxQp = " << value.useMaxQp << '\n'; + s << "\tmaxQp = " << value.maxQp << '\n'; + s << "\tuseMaxFrameSize = " << value.useMaxFrameSize << '\n'; + s << "\tmaxFrameSize = " << value.maxFrameSize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265DecPicBufMgr& value) + { + s << "StdVideoH265DecPicBufMgr = {\n"; + s << "\tmax_latency_increase_plus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.max_latency_increase_plus1), DE_ARRAY_END(value.max_latency_increase_plus1)) << '\n'; + s << "\tmax_dec_pic_buffering_minus1 = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.max_dec_pic_buffering_minus1)), tcu::Format::HexIterator(DE_ARRAY_END(value.max_dec_pic_buffering_minus1))) << '\n'; + s << "\tmax_num_reorder_pics = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.max_num_reorder_pics)), tcu::Format::HexIterator(DE_ARRAY_END(value.max_num_reorder_pics))) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265SubLayerHrdParameters& value) + { + s << "StdVideoH265SubLayerHrdParameters = {\n"; + s << "\tbit_rate_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.bit_rate_value_minus1), DE_ARRAY_END(value.bit_rate_value_minus1)) << '\n'; + s << "\tcpb_size_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.cpb_size_value_minus1), DE_ARRAY_END(value.cpb_size_value_minus1)) << '\n'; + s << "\tcpb_size_du_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.cpb_size_du_value_minus1), DE_ARRAY_END(value.cpb_size_du_value_minus1)) << '\n'; + s << "\tbit_rate_du_value_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.bit_rate_du_value_minus1), DE_ARRAY_END(value.bit_rate_du_value_minus1)) << '\n'; + s << "\tcbr_flag = " << value.cbr_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265HrdFlags& value) + { + s << "StdVideoH265HrdFlags = {\n"; + s << "\tnal_hrd_parameters_present_flag = " << value.nal_hrd_parameters_present_flag << '\n'; + s << "\tvcl_hrd_parameters_present_flag = " << value.vcl_hrd_parameters_present_flag << '\n'; + s << "\tsub_pic_hrd_params_present_flag = " << value.sub_pic_hrd_params_present_flag << '\n'; + s << "\tsub_pic_cpb_params_in_pic_timing_sei_flag = " << value.sub_pic_cpb_params_in_pic_timing_sei_flag << '\n'; + s << "\tfixed_pic_rate_general_flag = " << value.fixed_pic_rate_general_flag << '\n'; + s << "\tfixed_pic_rate_within_cvs_flag = " << value.fixed_pic_rate_within_cvs_flag << '\n'; + s << "\tlow_delay_hrd_flag = " << value.low_delay_hrd_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265HrdParameters& value) + { + s << "StdVideoH265HrdParameters = {\n"; + s << "\ttick_divisor_minus2 = " << value.tick_divisor_minus2 << '\n'; + s << "\tdu_cpb_removal_delay_increment_length_minus1 = " << value.du_cpb_removal_delay_increment_length_minus1 << '\n'; + s << "\tdpb_output_delay_du_length_minus1 = " << value.dpb_output_delay_du_length_minus1 << '\n'; + s << "\tbit_rate_scale = " << value.bit_rate_scale << '\n'; + s << "\tcpb_size_scale = " << value.cpb_size_scale << '\n'; + s << "\tcpb_size_du_scale = " << value.cpb_size_du_scale << '\n'; + s << "\tinitial_cpb_removal_delay_length_minus1 = " << value.initial_cpb_removal_delay_length_minus1 << '\n'; + s << "\tau_cpb_removal_delay_length_minus1 = " << value.au_cpb_removal_delay_length_minus1 << '\n'; + s << "\tdpb_output_delay_length_minus1 = " << value.dpb_output_delay_length_minus1 << '\n'; + s << "\tcpb_cnt_minus1 = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.cpb_cnt_minus1)), tcu::Format::HexIterator(DE_ARRAY_END(value.cpb_cnt_minus1))) << '\n'; + s << "\telemental_duration_in_tc_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.elemental_duration_in_tc_minus1), DE_ARRAY_END(value.elemental_duration_in_tc_minus1)) << '\n'; + s << "\tpSubLayerHrdParametersNal = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.pSubLayerHrdParametersNal), DE_ARRAY_END(value.pSubLayerHrdParametersNal)) << '\n'; + s << "\tpSubLayerHrdParametersVcl = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.pSubLayerHrdParametersVcl), DE_ARRAY_END(value.pSubLayerHrdParametersVcl)) << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265VpsFlags& value) + { + s << "StdVideoH265VpsFlags = {\n"; + s << "\tvps_temporal_id_nesting_flag = " << value.vps_temporal_id_nesting_flag << '\n'; + s << "\tvps_sub_layer_ordering_info_present_flag = " << value.vps_sub_layer_ordering_info_present_flag << '\n'; + s << "\tvps_timing_info_present_flag = " << value.vps_timing_info_present_flag << '\n'; + s << "\tvps_poc_proportional_to_timing_flag = " << value.vps_poc_proportional_to_timing_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265VideoParameterSet& value) + { + s << "StdVideoH265VideoParameterSet = {\n"; + s << "\tvps_video_parameter_set_id = " << value.vps_video_parameter_set_id << '\n'; + s << "\tvps_max_sub_layers_minus1 = " << value.vps_max_sub_layers_minus1 << '\n'; + s << "\tvps_num_units_in_tick = " << value.vps_num_units_in_tick << '\n'; + s << "\tvps_time_scale = " << value.vps_time_scale << '\n'; + s << "\tvps_num_ticks_poc_diff_one_minus1 = " << value.vps_num_ticks_poc_diff_one_minus1 << '\n'; + s << "\tpDecPicBufMgr = " << value.pDecPicBufMgr << '\n'; + s << "\tpHrdParameters = " << value.pHrdParameters << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265ScalingLists& value) + { + s << "StdVideoH265ScalingLists = {\n"; + s << "\tScalingList4x4 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.ScalingList4x4), DE_ARRAY_END(value.ScalingList4x4)) << '\n'; + s << "\tScalingList8x8 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.ScalingList8x8), DE_ARRAY_END(value.ScalingList8x8)) << '\n'; + s << "\tScalingList16x16 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.ScalingList16x16), DE_ARRAY_END(value.ScalingList16x16)) << '\n'; + s << "\tScalingList32x32 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.ScalingList32x32), DE_ARRAY_END(value.ScalingList32x32)) << '\n'; + s << "\tScalingListDCCoef16x16 = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.ScalingListDCCoef16x16)), tcu::Format::HexIterator(DE_ARRAY_END(value.ScalingListDCCoef16x16))) << '\n'; + s << "\tScalingListDCCoef32x32 = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.ScalingListDCCoef32x32)), tcu::Format::HexIterator(DE_ARRAY_END(value.ScalingListDCCoef32x32))) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265SpsVuiFlags& value) + { + s << "StdVideoH265SpsVuiFlags = {\n"; + s << "\taspect_ratio_info_present_flag = " << value.aspect_ratio_info_present_flag << '\n'; + s << "\toverscan_info_present_flag = " << value.overscan_info_present_flag << '\n'; + s << "\toverscan_appropriate_flag = " << value.overscan_appropriate_flag << '\n'; + s << "\tvideo_signal_type_present_flag = " << value.video_signal_type_present_flag << '\n'; + s << "\tvideo_full_range_flag = " << value.video_full_range_flag << '\n'; + s << "\tcolour_description_present_flag = " << value.colour_description_present_flag << '\n'; + s << "\tchroma_loc_info_present_flag = " << value.chroma_loc_info_present_flag << '\n'; + s << "\tneutral_chroma_indication_flag = " << value.neutral_chroma_indication_flag << '\n'; + s << "\tfield_seq_flag = " << value.field_seq_flag << '\n'; + s << "\tframe_field_info_present_flag = " << value.frame_field_info_present_flag << '\n'; + s << "\tdefault_display_window_flag = " << value.default_display_window_flag << '\n'; + s << "\tvui_timing_info_present_flag = " << value.vui_timing_info_present_flag << '\n'; + s << "\tvui_poc_proportional_to_timing_flag = " << value.vui_poc_proportional_to_timing_flag << '\n'; + s << "\tvui_hrd_parameters_present_flag = " << value.vui_hrd_parameters_present_flag << '\n'; + s << "\tbitstream_restriction_flag = " << value.bitstream_restriction_flag << '\n'; + s << "\ttiles_fixed_structure_flag = " << value.tiles_fixed_structure_flag << '\n'; + s << "\tmotion_vectors_over_pic_boundaries_flag = " << value.motion_vectors_over_pic_boundaries_flag << '\n'; + s << "\trestricted_ref_pic_lists_flag = " << value.restricted_ref_pic_lists_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265SequenceParameterSetVui& value) + { + s << "StdVideoH265SequenceParameterSetVui = {\n"; + s << "\taspect_ratio_idc = " << value.aspect_ratio_idc << '\n'; + s << "\tsar_width = " << value.sar_width << '\n'; + s << "\tsar_height = " << value.sar_height << '\n'; + s << "\tvideo_format = " << value.video_format << '\n'; + s << "\tcolour_primaries = " << value.colour_primaries << '\n'; + s << "\ttransfer_characteristics = " << value.transfer_characteristics << '\n'; + s << "\tmatrix_coeffs = " << value.matrix_coeffs << '\n'; + s << "\tchroma_sample_loc_type_top_field = " << value.chroma_sample_loc_type_top_field << '\n'; + s << "\tchroma_sample_loc_type_bottom_field = " << value.chroma_sample_loc_type_bottom_field << '\n'; + s << "\tdef_disp_win_left_offset = " << value.def_disp_win_left_offset << '\n'; + s << "\tdef_disp_win_right_offset = " << value.def_disp_win_right_offset << '\n'; + s << "\tdef_disp_win_top_offset = " << value.def_disp_win_top_offset << '\n'; + s << "\tdef_disp_win_bottom_offset = " << value.def_disp_win_bottom_offset << '\n'; + s << "\tvui_num_units_in_tick = " << value.vui_num_units_in_tick << '\n'; + s << "\tvui_time_scale = " << value.vui_time_scale << '\n'; + s << "\tvui_num_ticks_poc_diff_one_minus1 = " << value.vui_num_ticks_poc_diff_one_minus1 << '\n'; + s << "\tpHrdParameters = " << value.pHrdParameters << '\n'; + s << "\tmin_spatial_segmentation_idc = " << value.min_spatial_segmentation_idc << '\n'; + s << "\tmax_bytes_per_pic_denom = " << value.max_bytes_per_pic_denom << '\n'; + s << "\tmax_bits_per_min_cu_denom = " << value.max_bits_per_min_cu_denom << '\n'; + s << "\tlog2_max_mv_length_horizontal = " << value.log2_max_mv_length_horizontal << '\n'; + s << "\tlog2_max_mv_length_vertical = " << value.log2_max_mv_length_vertical << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265PredictorPaletteEntries& value) + { + s << "StdVideoH265PredictorPaletteEntries = {\n"; + s << "\tPredictorPaletteEntries = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.PredictorPaletteEntries), DE_ARRAY_END(value.PredictorPaletteEntries)) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265SpsFlags& value) + { + s << "StdVideoH265SpsFlags = {\n"; + s << "\tsps_temporal_id_nesting_flag = " << value.sps_temporal_id_nesting_flag << '\n'; + s << "\tseparate_colour_plane_flag = " << value.separate_colour_plane_flag << '\n'; + s << "\tscaling_list_enabled_flag = " << value.scaling_list_enabled_flag << '\n'; + s << "\tsps_scaling_list_data_present_flag = " << value.sps_scaling_list_data_present_flag << '\n'; + s << "\tamp_enabled_flag = " << value.amp_enabled_flag << '\n'; + s << "\tsample_adaptive_offset_enabled_flag = " << value.sample_adaptive_offset_enabled_flag << '\n'; + s << "\tpcm_enabled_flag = " << value.pcm_enabled_flag << '\n'; + s << "\tpcm_loop_filter_disabled_flag = " << value.pcm_loop_filter_disabled_flag << '\n'; + s << "\tlong_term_ref_pics_present_flag = " << value.long_term_ref_pics_present_flag << '\n'; + s << "\tsps_temporal_mvp_enabled_flag = " << value.sps_temporal_mvp_enabled_flag << '\n'; + s << "\tstrong_intra_smoothing_enabled_flag = " << value.strong_intra_smoothing_enabled_flag << '\n'; + s << "\tvui_parameters_present_flag = " << value.vui_parameters_present_flag << '\n'; + s << "\tsps_extension_present_flag = " << value.sps_extension_present_flag << '\n'; + s << "\tsps_range_extension_flag = " << value.sps_range_extension_flag << '\n'; + s << "\ttransform_skip_rotation_enabled_flag = " << value.transform_skip_rotation_enabled_flag << '\n'; + s << "\ttransform_skip_context_enabled_flag = " << value.transform_skip_context_enabled_flag << '\n'; + s << "\timplicit_rdpcm_enabled_flag = " << value.implicit_rdpcm_enabled_flag << '\n'; + s << "\texplicit_rdpcm_enabled_flag = " << value.explicit_rdpcm_enabled_flag << '\n'; + s << "\textended_precision_processing_flag = " << value.extended_precision_processing_flag << '\n'; + s << "\tintra_smoothing_disabled_flag = " << value.intra_smoothing_disabled_flag << '\n'; + s << "\thigh_precision_offsets_enabled_flag = " << value.high_precision_offsets_enabled_flag << '\n'; + s << "\tpersistent_rice_adaptation_enabled_flag = " << value.persistent_rice_adaptation_enabled_flag << '\n'; + s << "\tcabac_bypass_alignment_enabled_flag = " << value.cabac_bypass_alignment_enabled_flag << '\n'; + s << "\tsps_curr_pic_ref_enabled_flag = " << value.sps_curr_pic_ref_enabled_flag << '\n'; + s << "\tpalette_mode_enabled_flag = " << value.palette_mode_enabled_flag << '\n'; + s << "\tsps_palette_predictor_initializer_present_flag = " << value.sps_palette_predictor_initializer_present_flag << '\n'; + s << "\tintra_boundary_filtering_disabled_flag = " << value.intra_boundary_filtering_disabled_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265SequenceParameterSet& value) + { + s << "StdVideoH265SequenceParameterSet = {\n"; + s << "\tprofile_idc = " << value.profile_idc << '\n'; + s << "\tlevel_idc = " << value.level_idc << '\n'; + s << "\tpic_width_in_luma_samples = " << value.pic_width_in_luma_samples << '\n'; + s << "\tpic_height_in_luma_samples = " << value.pic_height_in_luma_samples << '\n'; + s << "\tsps_video_parameter_set_id = " << value.sps_video_parameter_set_id << '\n'; + s << "\tsps_max_sub_layers_minus1 = " << value.sps_max_sub_layers_minus1 << '\n'; + s << "\tsps_seq_parameter_set_id = " << value.sps_seq_parameter_set_id << '\n'; + s << "\tchroma_format_idc = " << value.chroma_format_idc << '\n'; + s << "\tbit_depth_luma_minus8 = " << value.bit_depth_luma_minus8 << '\n'; + s << "\tbit_depth_chroma_minus8 = " << value.bit_depth_chroma_minus8 << '\n'; + s << "\tlog2_max_pic_order_cnt_lsb_minus4 = " << value.log2_max_pic_order_cnt_lsb_minus4 << '\n'; + s << "\tsps_max_dec_pic_buffering_minus1 = " << value.sps_max_dec_pic_buffering_minus1 << '\n'; + s << "\tlog2_min_luma_coding_block_size_minus3 = " << value.log2_min_luma_coding_block_size_minus3 << '\n'; + s << "\tlog2_diff_max_min_luma_coding_block_size = " << value.log2_diff_max_min_luma_coding_block_size << '\n'; + s << "\tlog2_min_luma_transform_block_size_minus2 = " << value.log2_min_luma_transform_block_size_minus2 << '\n'; + s << "\tlog2_diff_max_min_luma_transform_block_size = " << value.log2_diff_max_min_luma_transform_block_size << '\n'; + s << "\tmax_transform_hierarchy_depth_inter = " << value.max_transform_hierarchy_depth_inter << '\n'; + s << "\tmax_transform_hierarchy_depth_intra = " << value.max_transform_hierarchy_depth_intra << '\n'; + s << "\tnum_short_term_ref_pic_sets = " << value.num_short_term_ref_pic_sets << '\n'; + s << "\tnum_long_term_ref_pics_sps = " << value.num_long_term_ref_pics_sps << '\n'; + s << "\tpcm_sample_bit_depth_luma_minus1 = " << value.pcm_sample_bit_depth_luma_minus1 << '\n'; + s << "\tpcm_sample_bit_depth_chroma_minus1 = " << value.pcm_sample_bit_depth_chroma_minus1 << '\n'; + s << "\tlog2_min_pcm_luma_coding_block_size_minus3 = " << value.log2_min_pcm_luma_coding_block_size_minus3 << '\n'; + s << "\tlog2_diff_max_min_pcm_luma_coding_block_size = " << value.log2_diff_max_min_pcm_luma_coding_block_size << '\n'; + s << "\tconf_win_left_offset = " << value.conf_win_left_offset << '\n'; + s << "\tconf_win_right_offset = " << value.conf_win_right_offset << '\n'; + s << "\tconf_win_top_offset = " << value.conf_win_top_offset << '\n'; + s << "\tconf_win_bottom_offset = " << value.conf_win_bottom_offset << '\n'; + s << "\tpDecPicBufMgr = " << value.pDecPicBufMgr << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << "\tpScalingLists = " << value.pScalingLists << '\n'; + s << "\tpSequenceParameterSetVui = " << value.pSequenceParameterSetVui << '\n'; + s << "\tpalette_max_size = " << value.palette_max_size << '\n'; + s << "\tdelta_palette_max_predictor_size = " << value.delta_palette_max_predictor_size << '\n'; + s << "\tmotion_vector_resolution_control_idc = " << value.motion_vector_resolution_control_idc << '\n'; + s << "\tsps_num_palette_predictor_initializer_minus1 = " << value.sps_num_palette_predictor_initializer_minus1 << '\n'; + s << "\tpPredictorPaletteEntries = " << value.pPredictorPaletteEntries << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265PpsFlags& value) + { + s << "StdVideoH265PpsFlags = {\n"; + s << "\tdependent_slice_segments_enabled_flag = " << value.dependent_slice_segments_enabled_flag << '\n'; + s << "\toutput_flag_present_flag = " << value.output_flag_present_flag << '\n'; + s << "\tsign_data_hiding_enabled_flag = " << value.sign_data_hiding_enabled_flag << '\n'; + s << "\tcabac_init_present_flag = " << value.cabac_init_present_flag << '\n'; + s << "\tconstrained_intra_pred_flag = " << value.constrained_intra_pred_flag << '\n'; + s << "\ttransform_skip_enabled_flag = " << value.transform_skip_enabled_flag << '\n'; + s << "\tcu_qp_delta_enabled_flag = " << value.cu_qp_delta_enabled_flag << '\n'; + s << "\tpps_slice_chroma_qp_offsets_present_flag = " << value.pps_slice_chroma_qp_offsets_present_flag << '\n'; + s << "\tweighted_pred_flag = " << value.weighted_pred_flag << '\n'; + s << "\tweighted_bipred_flag = " << value.weighted_bipred_flag << '\n'; + s << "\ttransquant_bypass_enabled_flag = " << value.transquant_bypass_enabled_flag << '\n'; + s << "\ttiles_enabled_flag = " << value.tiles_enabled_flag << '\n'; + s << "\tentropy_coding_sync_enabled_flag = " << value.entropy_coding_sync_enabled_flag << '\n'; + s << "\tuniform_spacing_flag = " << value.uniform_spacing_flag << '\n'; + s << "\tloop_filter_across_tiles_enabled_flag = " << value.loop_filter_across_tiles_enabled_flag << '\n'; + s << "\tpps_loop_filter_across_slices_enabled_flag = " << value.pps_loop_filter_across_slices_enabled_flag << '\n'; + s << "\tdeblocking_filter_control_present_flag = " << value.deblocking_filter_control_present_flag << '\n'; + s << "\tdeblocking_filter_override_enabled_flag = " << value.deblocking_filter_override_enabled_flag << '\n'; + s << "\tpps_deblocking_filter_disabled_flag = " << value.pps_deblocking_filter_disabled_flag << '\n'; + s << "\tpps_scaling_list_data_present_flag = " << value.pps_scaling_list_data_present_flag << '\n'; + s << "\tlists_modification_present_flag = " << value.lists_modification_present_flag << '\n'; + s << "\tslice_segment_header_extension_present_flag = " << value.slice_segment_header_extension_present_flag << '\n'; + s << "\tpps_extension_present_flag = " << value.pps_extension_present_flag << '\n'; + s << "\tcross_component_prediction_enabled_flag = " << value.cross_component_prediction_enabled_flag << '\n'; + s << "\tchroma_qp_offset_list_enabled_flag = " << value.chroma_qp_offset_list_enabled_flag << '\n'; + s << "\tpps_curr_pic_ref_enabled_flag = " << value.pps_curr_pic_ref_enabled_flag << '\n'; + s << "\tresidual_adaptive_colour_transform_enabled_flag = " << value.residual_adaptive_colour_transform_enabled_flag << '\n'; + s << "\tpps_slice_act_qp_offsets_present_flag = " << value.pps_slice_act_qp_offsets_present_flag << '\n'; + s << "\tpps_palette_predictor_initializer_present_flag = " << value.pps_palette_predictor_initializer_present_flag << '\n'; + s << "\tmonochrome_palette_flag = " << value.monochrome_palette_flag << '\n'; + s << "\tpps_range_extension_flag = " << value.pps_range_extension_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoH265PictureParameterSet& value) + { + s << "StdVideoH265PictureParameterSet = {\n"; + s << "\tpps_pic_parameter_set_id = " << value.pps_pic_parameter_set_id << '\n'; + s << "\tpps_seq_parameter_set_id = " << value.pps_seq_parameter_set_id << '\n'; + s << "\tnum_extra_slice_header_bits = " << value.num_extra_slice_header_bits << '\n'; + s << "\tnum_ref_idx_l0_default_active_minus1 = " << value.num_ref_idx_l0_default_active_minus1 << '\n'; + s << "\tnum_ref_idx_l1_default_active_minus1 = " << value.num_ref_idx_l1_default_active_minus1 << '\n'; + s << "\tinit_qp_minus26 = " << value.init_qp_minus26 << '\n'; + s << "\tdiff_cu_qp_delta_depth = " << value.diff_cu_qp_delta_depth << '\n'; + s << "\tpps_cb_qp_offset = " << value.pps_cb_qp_offset << '\n'; + s << "\tpps_cr_qp_offset = " << value.pps_cr_qp_offset << '\n'; + s << "\tnum_tile_columns_minus1 = " << value.num_tile_columns_minus1 << '\n'; + s << "\tnum_tile_rows_minus1 = " << value.num_tile_rows_minus1 << '\n'; + s << "\tcolumn_width_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.column_width_minus1), DE_ARRAY_END(value.column_width_minus1)) << '\n'; + s << "\trow_height_minus1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.row_height_minus1), DE_ARRAY_END(value.row_height_minus1)) << '\n'; + s << "\tpps_beta_offset_div2 = " << value.pps_beta_offset_div2 << '\n'; + s << "\tpps_tc_offset_div2 = " << value.pps_tc_offset_div2 << '\n'; + s << "\tlog2_parallel_merge_level_minus2 = " << value.log2_parallel_merge_level_minus2 << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << "\tpScalingLists = " << value.pScalingLists << '\n'; + s << "\tlog2_max_transform_skip_block_size_minus2 = " << value.log2_max_transform_skip_block_size_minus2 << '\n'; + s << "\tdiff_cu_chroma_qp_offset_depth = " << value.diff_cu_chroma_qp_offset_depth << '\n'; + s << "\tchroma_qp_offset_list_len_minus1 = " << value.chroma_qp_offset_list_len_minus1 << '\n'; + s << "\tcb_qp_offset_list = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.cb_qp_offset_list), DE_ARRAY_END(value.cb_qp_offset_list)) << '\n'; + s << "\tcr_qp_offset_list = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.cr_qp_offset_list), DE_ARRAY_END(value.cr_qp_offset_list)) << '\n'; + s << "\tlog2_sao_offset_scale_luma = " << value.log2_sao_offset_scale_luma << '\n'; + s << "\tlog2_sao_offset_scale_chroma = " << value.log2_sao_offset_scale_chroma << '\n'; + s << "\tpps_act_y_qp_offset_plus5 = " << value.pps_act_y_qp_offset_plus5 << '\n'; + s << "\tpps_act_cb_qp_offset_plus5 = " << value.pps_act_cb_qp_offset_plus5 << '\n'; + s << "\tpps_act_cr_qp_offset_plus5 = " << value.pps_act_cr_qp_offset_plus5 << '\n'; + s << "\tpps_num_palette_predictor_initializer = " << value.pps_num_palette_predictor_initializer << '\n'; + s << "\tluma_bit_depth_entry_minus8 = " << value.luma_bit_depth_entry_minus8 << '\n'; + s << "\tchroma_bit_depth_entry_minus8 = " << value.chroma_bit_depth_entry_minus8 << '\n'; + s << "\tpPredictorPaletteEntries = " << value.pPredictorPaletteEntries << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceHeaderFlags& value) + { + s << "StdVideoEncodeH265SliceHeaderFlags = {\n"; + s << "\tfirst_slice_segment_in_pic_flag = " << value.first_slice_segment_in_pic_flag << '\n'; + s << "\tno_output_of_prior_pics_flag = " << value.no_output_of_prior_pics_flag << '\n'; + s << "\tdependent_slice_segment_flag = " << value.dependent_slice_segment_flag << '\n'; + s << "\tshort_term_ref_pic_set_sps_flag = " << value.short_term_ref_pic_set_sps_flag << '\n'; + s << "\tslice_temporal_mvp_enable_flag = " << value.slice_temporal_mvp_enable_flag << '\n'; + s << "\tslice_sao_luma_flag = " << value.slice_sao_luma_flag << '\n'; + s << "\tslice_sao_chroma_flag = " << value.slice_sao_chroma_flag << '\n'; + s << "\tnum_ref_idx_active_override_flag = " << value.num_ref_idx_active_override_flag << '\n'; + s << "\tmvd_l1_zero_flag = " << value.mvd_l1_zero_flag << '\n'; + s << "\tcabac_init_flag = " << value.cabac_init_flag << '\n'; + s << "\tslice_deblocking_filter_disable_flag = " << value.slice_deblocking_filter_disable_flag << '\n'; + s << "\tcollocated_from_l0_flag = " << value.collocated_from_l0_flag << '\n'; + s << "\tslice_loop_filter_across_slices_enabled_flag = " << value.slice_loop_filter_across_slices_enabled_flag << '\n'; + s << "\tbLastSliceInPic = " << value.bLastSliceInPic << '\n'; + s << "\treservedBits = " << value.reservedBits << '\n'; + s << "\tluma_weight_l0_flag = " << value.luma_weight_l0_flag << '\n'; + s << "\tchroma_weight_l0_flag = " << value.chroma_weight_l0_flag << '\n'; + s << "\tluma_weight_l1_flag = " << value.luma_weight_l1_flag << '\n'; + s << "\tchroma_weight_l1_flag = " << value.chroma_weight_l1_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265SliceHeader& value) + { + s << "StdVideoEncodeH265SliceHeader = {\n"; + s << "\tslice_type = " << value.slice_type << '\n'; + s << "\tslice_pic_parameter_set_id = " << value.slice_pic_parameter_set_id << '\n'; + s << "\tnum_short_term_ref_pic_sets = " << value.num_short_term_ref_pic_sets << '\n'; + s << "\tslice_segment_address = " << value.slice_segment_address << '\n'; + s << "\tshort_term_ref_pic_set_idx = " << value.short_term_ref_pic_set_idx << '\n'; + s << "\tnum_long_term_sps = " << value.num_long_term_sps << '\n'; + s << "\tnum_long_term_pics = " << value.num_long_term_pics << '\n'; + s << "\tcollocated_ref_idx = " << value.collocated_ref_idx << '\n'; + s << "\tnum_ref_idx_l0_active_minus1 = " << value.num_ref_idx_l0_active_minus1 << '\n'; + s << "\tnum_ref_idx_l1_active_minus1 = " << value.num_ref_idx_l1_active_minus1 << '\n'; + s << "\tluma_log2_weight_denom = " << value.luma_log2_weight_denom << '\n'; + s << "\tdelta_chroma_log2_weight_denom = " << value.delta_chroma_log2_weight_denom << '\n'; + s << "\tdelta_luma_weight_l0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_luma_weight_l0), DE_ARRAY_END(value.delta_luma_weight_l0)) << '\n'; + s << "\tluma_offset_l0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.luma_offset_l0), DE_ARRAY_END(value.luma_offset_l0)) << '\n'; + s << "\tdelta_chroma_weight_l0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_chroma_weight_l0), DE_ARRAY_END(value.delta_chroma_weight_l0)) << '\n'; + s << "\tdelta_chroma_offset_l0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_chroma_offset_l0), DE_ARRAY_END(value.delta_chroma_offset_l0)) << '\n'; + s << "\tdelta_luma_weight_l1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_luma_weight_l1), DE_ARRAY_END(value.delta_luma_weight_l1)) << '\n'; + s << "\tluma_offset_l1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.luma_offset_l1), DE_ARRAY_END(value.luma_offset_l1)) << '\n'; + s << "\tdelta_chroma_weight_l1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_chroma_weight_l1), DE_ARRAY_END(value.delta_chroma_weight_l1)) << '\n'; + s << "\tdelta_chroma_offset_l1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.delta_chroma_offset_l1), DE_ARRAY_END(value.delta_chroma_offset_l1)) << '\n'; + s << "\tMaxNumMergeCand = " << value.MaxNumMergeCand << '\n'; + s << "\tslice_qp_delta = " << value.slice_qp_delta << '\n'; + s << "\tslice_cb_qp_offset = " << value.slice_cb_qp_offset << '\n'; + s << "\tslice_cr_qp_offset = " << value.slice_cr_qp_offset << '\n'; + s << "\tslice_beta_offset_div2 = " << value.slice_beta_offset_div2 << '\n'; + s << "\tslice_tc_offset_div2 = " << value.slice_tc_offset_div2 << '\n'; + s << "\tslice_act_y_qp_offset = " << value.slice_act_y_qp_offset << '\n'; + s << "\tslice_act_cb_qp_offset = " << value.slice_act_cb_qp_offset << '\n'; + s << "\tslice_act_cr_qp_offset = " << value.slice_act_cr_qp_offset << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265ReferenceModificationFlags& value) + { + s << "StdVideoEncodeH265ReferenceModificationFlags = {\n"; + s << "\tref_pic_list_modification_flag_l0 = " << value.ref_pic_list_modification_flag_l0 << '\n'; + s << "\tref_pic_list_modification_flag_l1 = " << value.ref_pic_list_modification_flag_l1 << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265ReferenceModifications& value) + { + s << "StdVideoEncodeH265ReferenceModifications = {\n"; + s << "\tflags = " << value.flags << '\n'; + s << "\treferenceList0ModificationsCount = " << value.referenceList0ModificationsCount << '\n'; + s << "\tpReferenceList0Modifications = " << value.pReferenceList0Modifications << '\n'; + s << "\treferenceList1ModificationsCount = " << value.referenceList1ModificationsCount << '\n'; + s << "\tpReferenceList1Modifications = " << value.pReferenceList1Modifications << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265PictureInfoFlags& value) + { + s << "StdVideoEncodeH265PictureInfoFlags = {\n"; + s << "\tis_reference_flag = " << value.is_reference_flag << '\n'; + s << "\tIrapPicFlag = " << value.IrapPicFlag << '\n'; + s << "\tlong_term_flag = " << value.long_term_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265PictureInfo& value) + { + s << "StdVideoEncodeH265PictureInfo = {\n"; + s << "\tPictureType = " << value.PictureType << '\n'; + s << "\tsps_video_parameter_set_id = " << value.sps_video_parameter_set_id << '\n'; + s << "\tpps_seq_parameter_set_id = " << value.pps_seq_parameter_set_id << '\n'; + s << "\tPicOrderCntVal = " << value.PicOrderCntVal << '\n'; + s << "\tTemporalId = " << value.TemporalId << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265ReferenceInfoFlags& value) + { + s << "StdVideoEncodeH265ReferenceInfoFlags = {\n"; + s << "\tis_long_term = " << value.is_long_term << '\n'; + s << "\tisUsedFlag = " << value.isUsedFlag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoEncodeH265ReferenceInfo& value) + { + s << "StdVideoEncodeH265ReferenceInfo = {\n"; + s << "\tPicOrderCntVal = " << value.PicOrderCntVal << '\n'; + s << "\tTemporalId = " << value.TemporalId << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265CapabilitiesEXT& value) + { + s << "VkVideoEncodeH265CapabilitiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getVideoEncodeH265CapabilityFlagsEXTStr(value.flags) << '\n'; + s << "\tinputModeFlags = " << getVideoEncodeH265InputModeFlagsEXTStr(value.inputModeFlags) << '\n'; + s << "\toutputModeFlags = " << getVideoEncodeH265OutputModeFlagsEXTStr(value.outputModeFlags) << '\n'; + s << "\tctbSizes = " << getVideoEncodeH265CtbSizeFlagsEXTStr(value.ctbSizes) << '\n'; + s << "\tinputImageDataAlignment = " << value.inputImageDataAlignment << '\n'; + s << "\tmaxNumL0ReferenceForP = " << value.maxNumL0ReferenceForP << '\n'; + s << "\tmaxNumL0ReferenceForB = " << value.maxNumL0ReferenceForB << '\n'; + s << "\tmaxNumL1Reference = " << value.maxNumL1Reference << '\n'; + s << "\tmaxNumSubLayers = " << value.maxNumSubLayers << '\n'; + s << "\tqualityLevelCount = " << value.qualityLevelCount << '\n'; + s << "\tstdExtensionVersion = " << value.stdExtensionVersion << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265SessionCreateInfoEXT& value) + { + s << "VkVideoEncodeH265SessionCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getVideoEncodeH265CreateFlagsEXTStr(value.flags) << '\n'; + s << "\tpStdExtensionVersion = " << value.pStdExtensionVersion << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265SessionParametersAddInfoEXT& value) + { + s << "VkVideoEncodeH265SessionParametersAddInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvpsStdCount = " << value.vpsStdCount << '\n'; + s << "\tpVpsStd = " << value.pVpsStd << '\n'; + s << "\tspsStdCount = " << value.spsStdCount << '\n'; + s << "\tpSpsStd = " << value.pSpsStd << '\n'; + s << "\tppsStdCount = " << value.ppsStdCount << '\n'; + s << "\tpPpsStd = " << value.pPpsStd << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265SessionParametersCreateInfoEXT& value) + { + s << "VkVideoEncodeH265SessionParametersCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxVpsStdCount = " << value.maxVpsStdCount << '\n'; + s << "\tmaxSpsStdCount = " << value.maxSpsStdCount << '\n'; + s << "\tmaxPpsStdCount = " << value.maxPpsStdCount << '\n'; + s << "\tpParametersAddInfo = " << value.pParametersAddInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265DpbSlotInfoEXT& value) + { + s << "VkVideoEncodeH265DpbSlotInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tslotIndex = " << value.slotIndex << '\n'; + s << "\tpStdReferenceInfo = " << value.pStdReferenceInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265ReferenceListsEXT& value) + { + s << "VkVideoEncodeH265ReferenceListsEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\treferenceList0EntryCount = " << value.referenceList0EntryCount << '\n'; + s << "\tpReferenceList0Entries = " << value.pReferenceList0Entries << '\n'; + s << "\treferenceList1EntryCount = " << value.referenceList1EntryCount << '\n'; + s << "\tpReferenceList1Entries = " << value.pReferenceList1Entries << '\n'; + s << "\tpReferenceModifications = " << value.pReferenceModifications << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265NaluSliceEXT& value) + { + s << "VkVideoEncodeH265NaluSliceEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tctbCount = " << value.ctbCount << '\n'; + s << "\tpReferenceFinalLists = " << value.pReferenceFinalLists << '\n'; + s << "\tpSliceHeaderStd = " << value.pSliceHeaderStd << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265VclFrameInfoEXT& value) + { + s << "VkVideoEncodeH265VclFrameInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpReferenceFinalLists = " << value.pReferenceFinalLists << '\n'; + s << "\tnaluSliceEntryCount = " << value.naluSliceEntryCount << '\n'; + s << "\tpNaluSliceEntries = " << value.pNaluSliceEntries << '\n'; + s << "\tpCurrentPictureInfo = " << value.pCurrentPictureInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265EmitPictureParametersEXT& value) + { + s << "VkVideoEncodeH265EmitPictureParametersEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tvpsId = " << value.vpsId << '\n'; + s << "\tspsId = " << value.spsId << '\n'; + s << "\temitVpsEnable = " << value.emitVpsEnable << '\n'; + s << "\temitSpsEnable = " << value.emitSpsEnable << '\n'; + s << "\tppsIdEntryCount = " << value.ppsIdEntryCount << '\n'; + s << "\tppsIdEntries = " << value.ppsIdEntries << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265ProfileEXT& value) + { + s << "VkVideoEncodeH265ProfileEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tstdProfileIdc = " << value.stdProfileIdc << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265RateControlInfoEXT& value) + { + s << "VkVideoEncodeH265RateControlInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tgopFrameCount = " << value.gopFrameCount << '\n'; + s << "\tidrPeriod = " << value.idrPeriod << '\n'; + s << "\tconsecutiveBFrameCount = " << value.consecutiveBFrameCount << '\n'; + s << "\trateControlStructure = " << value.rateControlStructure << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265QpEXT& value) + { + s << "VkVideoEncodeH265QpEXT = {\n"; + s << "\tqpI = " << value.qpI << '\n'; + s << "\tqpP = " << value.qpP << '\n'; + s << "\tqpB = " << value.qpB << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265FrameSizeEXT& value) + { + s << "VkVideoEncodeH265FrameSizeEXT = {\n"; + s << "\tframeISize = " << value.frameISize << '\n'; + s << "\tframePSize = " << value.framePSize << '\n'; + s << "\tframeBSize = " << value.frameBSize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoEncodeH265RateControlLayerInfoEXT& value) + { + s << "VkVideoEncodeH265RateControlLayerInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\ttemporalId = " << value.temporalId << '\n'; + s << "\tuseInitialRcQp = " << value.useInitialRcQp << '\n'; + s << "\tinitialRcQp = " << value.initialRcQp << '\n'; + s << "\tuseMinQp = " << value.useMinQp << '\n'; + s << "\tminQp = " << value.minQp << '\n'; + s << "\tuseMaxQp = " << value.useMaxQp << '\n'; + s << "\tmaxQp = " << value.maxQp << '\n'; + s << "\tuseMaxFrameSize = " << value.useMaxFrameSize << '\n'; + s << "\tmaxFrameSize = " << value.maxFrameSize << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264PictureInfoFlags& value) + { + s << "StdVideoDecodeH264PictureInfoFlags = {\n"; + s << "\tfield_pic_flag = " << value.field_pic_flag << '\n'; + s << "\tis_intra = " << value.is_intra << '\n'; + s << "\tIdrPicFlag = " << value.IdrPicFlag << '\n'; + s << "\tbottom_field_flag = " << value.bottom_field_flag << '\n'; + s << "\tis_reference = " << value.is_reference << '\n'; + s << "\tcomplementary_field_pair = " << value.complementary_field_pair << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264PictureInfo& value) + { + s << "StdVideoDecodeH264PictureInfo = {\n"; + s << "\tseq_parameter_set_id = " << value.seq_parameter_set_id << '\n'; + s << "\tpic_parameter_set_id = " << value.pic_parameter_set_id << '\n'; + s << "\treserved = " << value.reserved << '\n'; + s << "\tframe_num = " << value.frame_num << '\n'; + s << "\tidr_pic_id = " << value.idr_pic_id << '\n'; + s << "\tPicOrderCnt = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.PicOrderCnt), DE_ARRAY_END(value.PicOrderCnt)) << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264ReferenceInfoFlags& value) + { + s << "StdVideoDecodeH264ReferenceInfoFlags = {\n"; + s << "\ttop_field_flag = " << value.top_field_flag << '\n'; + s << "\tbottom_field_flag = " << value.bottom_field_flag << '\n'; + s << "\tis_long_term = " << value.is_long_term << '\n'; + s << "\tis_non_existing = " << value.is_non_existing << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264ReferenceInfo& value) + { + s << "StdVideoDecodeH264ReferenceInfo = {\n"; + s << "\tFrameNum = " << value.FrameNum << '\n'; + s << "\treserved = " << value.reserved << '\n'; + s << "\tPicOrderCnt = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.PicOrderCnt), DE_ARRAY_END(value.PicOrderCnt)) << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264MvcElementFlags& value) + { + s << "StdVideoDecodeH264MvcElementFlags = {\n"; + s << "\tnon_idr = " << value.non_idr << '\n'; + s << "\tanchor_pic = " << value.anchor_pic << '\n'; + s << "\tinter_view = " << value.inter_view << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264MvcElement& value) + { + s << "StdVideoDecodeH264MvcElement = {\n"; + s << "\tflags = " << value.flags << '\n'; + s << "\tviewOrderIndex = " << value.viewOrderIndex << '\n'; + s << "\tviewId = " << value.viewId << '\n'; + s << "\ttemporalId = " << value.temporalId << '\n'; + s << "\tpriorityId = " << value.priorityId << '\n'; + s << "\tnumOfAnchorRefsInL0 = " << value.numOfAnchorRefsInL0 << '\n'; + s << "\tviewIdOfAnchorRefsInL0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewIdOfAnchorRefsInL0), DE_ARRAY_END(value.viewIdOfAnchorRefsInL0)) << '\n'; + s << "\tnumOfAnchorRefsInL1 = " << value.numOfAnchorRefsInL1 << '\n'; + s << "\tviewIdOfAnchorRefsInL1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewIdOfAnchorRefsInL1), DE_ARRAY_END(value.viewIdOfAnchorRefsInL1)) << '\n'; + s << "\tnumOfNonAnchorRefsInL0 = " << value.numOfNonAnchorRefsInL0 << '\n'; + s << "\tviewIdOfNonAnchorRefsInL0 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewIdOfNonAnchorRefsInL0), DE_ARRAY_END(value.viewIdOfNonAnchorRefsInL0)) << '\n'; + s << "\tnumOfNonAnchorRefsInL1 = " << value.numOfNonAnchorRefsInL1 << '\n'; + s << "\tviewIdOfNonAnchorRefsInL1 = " << '\n' << tcu::formatArray(DE_ARRAY_BEGIN(value.viewIdOfNonAnchorRefsInL1), DE_ARRAY_END(value.viewIdOfNonAnchorRefsInL1)) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH264Mvc& value) + { + s << "StdVideoDecodeH264Mvc = {\n"; + s << "\tviewId0 = " << value.viewId0 << '\n'; + s << "\tmvcElementCount = " << value.mvcElementCount << '\n'; + s << "\tpMvcElements = " << value.pMvcElements << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264ProfileEXT& value) + { + s << "VkVideoDecodeH264ProfileEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tstdProfileIdc = " << value.stdProfileIdc << '\n'; + s << "\tpictureLayout = " << getVideoDecodeH264PictureLayoutFlagsEXTStr(value.pictureLayout) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264CapabilitiesEXT& value) + { + s << "VkVideoDecodeH264CapabilitiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxLevel = " << value.maxLevel << '\n'; + s << "\tfieldOffsetGranularity = " << value.fieldOffsetGranularity << '\n'; + s << "\tstdExtensionVersion = " << value.stdExtensionVersion << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264SessionCreateInfoEXT& value) + { + s << "VkVideoDecodeH264SessionCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getVideoDecodeH264CreateFlagsEXTStr(value.flags) << '\n'; + s << "\tpStdExtensionVersion = " << value.pStdExtensionVersion << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264SessionParametersAddInfoEXT& value) + { + s << "VkVideoDecodeH264SessionParametersAddInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tspsStdCount = " << value.spsStdCount << '\n'; + s << "\tpSpsStd = " << value.pSpsStd << '\n'; + s << "\tppsStdCount = " << value.ppsStdCount << '\n'; + s << "\tpPpsStd = " << value.pPpsStd << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264SessionParametersCreateInfoEXT& value) + { + s << "VkVideoDecodeH264SessionParametersCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxSpsStdCount = " << value.maxSpsStdCount << '\n'; + s << "\tmaxPpsStdCount = " << value.maxPpsStdCount << '\n'; + s << "\tpParametersAddInfo = " << value.pParametersAddInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264PictureInfoEXT& value) + { + s << "VkVideoDecodeH264PictureInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpStdPictureInfo = " << value.pStdPictureInfo << '\n'; + s << "\tslicesCount = " << value.slicesCount << '\n'; + s << "\tpSlicesDataOffsets = " << value.pSlicesDataOffsets << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264MvcEXT& value) + { + s << "VkVideoDecodeH264MvcEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpStdMvc = " << value.pStdMvc << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH264DpbSlotInfoEXT& value) + { + s << "VkVideoDecodeH264DpbSlotInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpStdReferenceInfo = " << value.pStdReferenceInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265PictureInfoFlags& value) + { + s << "StdVideoDecodeH265PictureInfoFlags = {\n"; + s << "\tIrapPicFlag = " << value.IrapPicFlag << '\n'; + s << "\tIdrPicFlag = " << value.IdrPicFlag << '\n'; + s << "\tIsReference = " << value.IsReference << '\n'; + s << "\tshort_term_ref_pic_set_sps_flag = " << value.short_term_ref_pic_set_sps_flag << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265PictureInfo& value) + { + s << "StdVideoDecodeH265PictureInfo = {\n"; + s << "\tvps_video_parameter_set_id = " << value.vps_video_parameter_set_id << '\n'; + s << "\tsps_seq_parameter_set_id = " << value.sps_seq_parameter_set_id << '\n'; + s << "\tpps_pic_parameter_set_id = " << value.pps_pic_parameter_set_id << '\n'; + s << "\tnum_short_term_ref_pic_sets = " << value.num_short_term_ref_pic_sets << '\n'; + s << "\tPicOrderCntVal = " << value.PicOrderCntVal << '\n'; + s << "\tNumBitsForSTRefPicSetInSlice = " << value.NumBitsForSTRefPicSetInSlice << '\n'; + s << "\tNumDeltaPocsOfRefRpsIdx = " << value.NumDeltaPocsOfRefRpsIdx << '\n'; + s << "\tRefPicSetStCurrBefore = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.RefPicSetStCurrBefore)), tcu::Format::HexIterator(DE_ARRAY_END(value.RefPicSetStCurrBefore))) << '\n'; + s << "\tRefPicSetStCurrAfter = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.RefPicSetStCurrAfter)), tcu::Format::HexIterator(DE_ARRAY_END(value.RefPicSetStCurrAfter))) << '\n'; + s << "\tRefPicSetLtCurr = " << '\n' << tcu::formatArray(tcu::Format::HexIterator(DE_ARRAY_BEGIN(value.RefPicSetLtCurr)), tcu::Format::HexIterator(DE_ARRAY_END(value.RefPicSetLtCurr))) << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265ReferenceInfoFlags& value) + { + s << "StdVideoDecodeH265ReferenceInfoFlags = {\n"; + s << "\tis_long_term = " << value.is_long_term << '\n'; + s << "\tis_non_existing = " << value.is_non_existing << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const StdVideoDecodeH265ReferenceInfo& value) + { + s << "StdVideoDecodeH265ReferenceInfo = {\n"; + s << "\tPicOrderCntVal = " << value.PicOrderCntVal << '\n'; + s << "\tflags = " << value.flags << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265ProfileEXT& value) + { + s << "VkVideoDecodeH265ProfileEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tstdProfileIdc = " << value.stdProfileIdc << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265CapabilitiesEXT& value) + { + s << "VkVideoDecodeH265CapabilitiesEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxLevel = " << value.maxLevel << '\n'; + s << "\tstdExtensionVersion = " << value.stdExtensionVersion << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265SessionCreateInfoEXT& value) + { + s << "VkVideoDecodeH265SessionCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getVideoDecodeH265CreateFlagsEXTStr(value.flags) << '\n'; + s << "\tpStdExtensionVersion = " << value.pStdExtensionVersion << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265SessionParametersAddInfoEXT& value) + { + s << "VkVideoDecodeH265SessionParametersAddInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tspsStdCount = " << value.spsStdCount << '\n'; + s << "\tpSpsStd = " << value.pSpsStd << '\n'; + s << "\tppsStdCount = " << value.ppsStdCount << '\n'; + s << "\tpPpsStd = " << value.pPpsStd << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265SessionParametersCreateInfoEXT& value) + { + s << "VkVideoDecodeH265SessionParametersCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmaxSpsStdCount = " << value.maxSpsStdCount << '\n'; + s << "\tmaxPpsStdCount = " << value.maxPpsStdCount << '\n'; + s << "\tpParametersAddInfo = " << value.pParametersAddInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265PictureInfoEXT& value) + { + s << "VkVideoDecodeH265PictureInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpStdPictureInfo = " << value.pStdPictureInfo << '\n'; + s << "\tslicesCount = " << value.slicesCount << '\n'; + s << "\tpSlicesDataOffsets = " << value.pSlicesDataOffsets << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkVideoDecodeH265DpbSlotInfoEXT& value) + { + s << "VkVideoDecodeH265DpbSlotInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpStdReferenceInfo = " << value.pStdReferenceInfo << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImagePipeSurfaceCreateInfoFUCHSIA& value) + { + s << "VkImagePipeSurfaceCreateInfoFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getImagePipeSurfaceCreateFlagsFUCHSIAStr(value.flags) << '\n'; + s << "\timagePipeHandle = " << value.imagePipeHandle << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImportMemoryZirconHandleInfoFUCHSIA& value) + { + s << "VkImportMemoryZirconHandleInfoFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << "\thandle = " << value.handle << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryZirconHandlePropertiesFUCHSIA& value) + { + s << "VkMemoryZirconHandlePropertiesFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryGetZirconHandleInfoFUCHSIA& value) + { + s << "VkMemoryGetZirconHandleInfoFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemory = " << value.memory << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImportSemaphoreZirconHandleInfoFUCHSIA& value) + { + s << "VkImportSemaphoreZirconHandleInfoFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsemaphore = " << value.semaphore << '\n'; + s << "\tflags = " << getSemaphoreImportFlagsStr(value.flags) << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << "\tzirconHandle = " << value.zirconHandle << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSemaphoreGetZirconHandleInfoFUCHSIA& value) + { + s << "VkSemaphoreGetZirconHandleInfoFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsemaphore = " << value.semaphore << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferCollectionCreateInfoFUCHSIA& value) + { + s << "VkBufferCollectionCreateInfoFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcollectionToken = " << value.collectionToken << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImportMemoryBufferCollectionFUCHSIA& value) + { + s << "VkImportMemoryBufferCollectionFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcollection = " << value.collection << '\n'; + s << "\tindex = " << value.index << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferCollectionImageCreateInfoFUCHSIA& value) + { + s << "VkBufferCollectionImageCreateInfoFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcollection = " << value.collection << '\n'; + s << "\tindex = " << value.index << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferCollectionConstraintsInfoFUCHSIA& value) + { + s << "VkBufferCollectionConstraintsInfoFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tminBufferCount = " << value.minBufferCount << '\n'; + s << "\tmaxBufferCount = " << value.maxBufferCount << '\n'; + s << "\tminBufferCountForCamping = " << value.minBufferCountForCamping << '\n'; + s << "\tminBufferCountForDedicatedSlack = " << value.minBufferCountForDedicatedSlack << '\n'; + s << "\tminBufferCountForSharedSlack = " << value.minBufferCountForSharedSlack << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferConstraintsInfoFUCHSIA& value) + { + s << "VkBufferConstraintsInfoFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcreateInfo = " << value.createInfo << '\n'; + s << "\trequiredFormatFeatures = " << getFormatFeatureFlagsStr(value.requiredFormatFeatures) << '\n'; + s << "\tbufferCollectionConstraints = " << value.bufferCollectionConstraints << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferCollectionBufferCreateInfoFUCHSIA& value) + { + s << "VkBufferCollectionBufferCreateInfoFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcollection = " << value.collection << '\n'; + s << "\tindex = " << value.index << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSysmemColorSpaceFUCHSIA& value) + { + s << "VkSysmemColorSpaceFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tcolorSpace = " << value.colorSpace << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkBufferCollectionPropertiesFUCHSIA& value) + { + s << "VkBufferCollectionPropertiesFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; + s << "\tbufferCount = " << value.bufferCount << '\n'; + s << "\tcreateInfoIndex = " << value.createInfoIndex << '\n'; + s << "\tsysmemPixelFormat = " << value.sysmemPixelFormat << '\n'; + s << "\tformatFeatures = " << getFormatFeatureFlagsStr(value.formatFeatures) << '\n'; + s << "\tsysmemColorSpaceIndex = " << value.sysmemColorSpaceIndex << '\n'; + s << "\tsamplerYcbcrConversionComponents = " << value.samplerYcbcrConversionComponents << '\n'; + s << "\tsuggestedYcbcrModel = " << value.suggestedYcbcrModel << '\n'; + s << "\tsuggestedYcbcrRange = " << value.suggestedYcbcrRange << '\n'; + s << "\tsuggestedXChromaOffset = " << value.suggestedXChromaOffset << '\n'; + s << "\tsuggestedYChromaOffset = " << value.suggestedYChromaOffset << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageFormatConstraintsInfoFUCHSIA& value) + { + s << "VkImageFormatConstraintsInfoFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\timageCreateInfo = " << value.imageCreateInfo << '\n'; + s << "\trequiredFormatFeatures = " << getFormatFeatureFlagsStr(value.requiredFormatFeatures) << '\n'; + s << "\tflags = " << getImageFormatConstraintsFlagsFUCHSIAStr(value.flags) << '\n'; + s << "\tsysmemPixelFormat = " << value.sysmemPixelFormat << '\n'; + s << "\tcolorSpaceCount = " << value.colorSpaceCount << '\n'; + s << "\tpColorSpaces = " << value.pColorSpaces << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImageConstraintsInfoFUCHSIA& value) + { + s << "VkImageConstraintsInfoFUCHSIA = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tformatConstraintsCount = " << value.formatConstraintsCount << '\n'; + s << "\tpFormatConstraints = " << value.pFormatConstraints << '\n'; + s << "\tbufferCollectionConstraints = " << value.bufferCollectionConstraints << '\n'; + s << "\tflags = " << getImageConstraintsInfoFlagsFUCHSIAStr(value.flags) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkStreamDescriptorSurfaceCreateInfoGGP& value) + { + s << "VkStreamDescriptorSurfaceCreateInfoGGP = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getStreamDescriptorSurfaceCreateFlagsGGPStr(value.flags) << '\n'; + s << "\tstreamDescriptor = " << value.streamDescriptor << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkPresentFrameTokenGGP& value) + { + s << "VkPresentFrameTokenGGP = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tframeToken = " << value.frameToken << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkIOSSurfaceCreateInfoMVK& value) + { + s << "VkIOSSurfaceCreateInfoMVK = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getIOSSurfaceCreateFlagsMVKStr(value.flags) << '\n'; + s << "\tpView = " << value.pView << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMacOSSurfaceCreateInfoMVK& value) + { + s << "VkMacOSSurfaceCreateInfoMVK = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getMacOSSurfaceCreateFlagsMVKStr(value.flags) << '\n'; + s << "\tpView = " << value.pView << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMetalSurfaceCreateInfoEXT& value) + { + s << "VkMetalSurfaceCreateInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getMetalSurfaceCreateFlagsEXTStr(value.flags) << '\n'; + s << "\tpLayer = " << value.pLayer << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkViSurfaceCreateInfoNN& value) + { + s << "VkViSurfaceCreateInfoNN = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getViSurfaceCreateFlagsNNStr(value.flags) << '\n'; + s << "\twindow = " << value.window << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkWaylandSurfaceCreateInfoKHR& value) + { + s << "VkWaylandSurfaceCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getWaylandSurfaceCreateFlagsKHRStr(value.flags) << '\n'; + s << "\tdisplay = " << value.display << '\n'; + s << "\tsurface = " << value.surface << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkWin32SurfaceCreateInfoKHR& value) + { + s << "VkWin32SurfaceCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getWin32SurfaceCreateFlagsKHRStr(value.flags) << '\n'; + s << "\thinstance = " << value.hinstance << '\n'; + s << "\thwnd = " << value.hwnd << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImportMemoryWin32HandleInfoKHR& value) + { + s << "VkImportMemoryWin32HandleInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << "\thandle = " << value.handle << '\n'; + s << "\tname = " << getWStr(value.name) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExportMemoryWin32HandleInfoKHR& value) + { + s << "VkExportMemoryWin32HandleInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpAttributes = " << value.pAttributes << '\n'; + s << "\tdwAccess = " << value.dwAccess << '\n'; + s << "\tname = " << getWStr(value.name) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryWin32HandlePropertiesKHR& value) + { + s << "VkMemoryWin32HandlePropertiesKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemoryTypeBits = " << value.memoryTypeBits << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkMemoryGetWin32HandleInfoKHR& value) + { + s << "VkMemoryGetWin32HandleInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tmemory = " << value.memory << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkWin32KeyedMutexAcquireReleaseInfoKHR& value) + { + s << "VkWin32KeyedMutexAcquireReleaseInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tacquireCount = " << value.acquireCount << '\n'; + s << "\tpAcquireSyncs = " << value.pAcquireSyncs << '\n'; + s << "\tpAcquireKeys = " << value.pAcquireKeys << '\n'; + s << "\tpAcquireTimeouts = " << value.pAcquireTimeouts << '\n'; + s << "\treleaseCount = " << value.releaseCount << '\n'; + s << "\tpReleaseSyncs = " << value.pReleaseSyncs << '\n'; + s << "\tpReleaseKeys = " << value.pReleaseKeys << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImportSemaphoreWin32HandleInfoKHR& value) + { + s << "VkImportSemaphoreWin32HandleInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsemaphore = " << value.semaphore << '\n'; + s << "\tflags = " << getSemaphoreImportFlagsStr(value.flags) << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << "\thandle = " << value.handle << '\n'; + s << "\tname = " << getWStr(value.name) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExportSemaphoreWin32HandleInfoKHR& value) + { + s << "VkExportSemaphoreWin32HandleInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpAttributes = " << value.pAttributes << '\n'; + s << "\tdwAccess = " << value.dwAccess << '\n'; + s << "\tname = " << getWStr(value.name) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkD3D12FenceSubmitInfoKHR& value) + { + s << "VkD3D12FenceSubmitInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\twaitSemaphoreValuesCount = " << value.waitSemaphoreValuesCount << '\n'; + s << "\tpWaitSemaphoreValues = " << value.pWaitSemaphoreValues << '\n'; + s << "\tsignalSemaphoreValuesCount = " << value.signalSemaphoreValuesCount << '\n'; + s << "\tpSignalSemaphoreValues = " << value.pSignalSemaphoreValues << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSemaphoreGetWin32HandleInfoKHR& value) + { + s << "VkSemaphoreGetWin32HandleInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tsemaphore = " << value.semaphore << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImportFenceWin32HandleInfoKHR& value) + { + s << "VkImportFenceWin32HandleInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfence = " << value.fence << '\n'; + s << "\tflags = " << getFenceImportFlagsStr(value.flags) << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << "\thandle = " << value.handle << '\n'; + s << "\tname = " << getWStr(value.name) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExportFenceWin32HandleInfoKHR& value) + { + s << "VkExportFenceWin32HandleInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpAttributes = " << value.pAttributes << '\n'; + s << "\tdwAccess = " << value.dwAccess << '\n'; + s << "\tname = " << getWStr(value.name) << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkFenceGetWin32HandleInfoKHR& value) + { + s << "VkFenceGetWin32HandleInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfence = " << value.fence << '\n'; + s << "\thandleType = " << value.handleType << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkImportMemoryWin32HandleInfoNV& value) + { + s << "VkImportMemoryWin32HandleInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thandleType = " << getExternalMemoryHandleTypeFlagsNVStr(value.handleType) << '\n'; + s << "\thandle = " << value.handle << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkExportMemoryWin32HandleInfoNV& value) + { + s << "VkExportMemoryWin32HandleInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tpAttributes = " << value.pAttributes << '\n'; + s << "\tdwAccess = " << value.dwAccess << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkWin32KeyedMutexAcquireReleaseInfoNV& value) + { + s << "VkWin32KeyedMutexAcquireReleaseInfoNV = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tacquireCount = " << value.acquireCount << '\n'; + s << "\tpAcquireSyncs = " << value.pAcquireSyncs << '\n'; + s << "\tpAcquireKeys = " << value.pAcquireKeys << '\n'; + s << "\tpAcquireTimeoutMilliseconds = " << value.pAcquireTimeoutMilliseconds << '\n'; + s << "\treleaseCount = " << value.releaseCount << '\n'; + s << "\tpReleaseSyncs = " << value.pReleaseSyncs << '\n'; + s << "\tpReleaseKeys = " << value.pReleaseKeys << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSurfaceFullScreenExclusiveInfoEXT& value) + { + s << "VkSurfaceFullScreenExclusiveInfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfullScreenExclusive = " << value.fullScreenExclusive << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSurfaceCapabilitiesFullScreenExclusiveEXT& value) + { + s << "VkSurfaceCapabilitiesFullScreenExclusiveEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tfullScreenExclusiveSupported = " << value.fullScreenExclusiveSupported << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkSurfaceFullScreenExclusiveWin32InfoEXT& value) + { + s << "VkSurfaceFullScreenExclusiveWin32InfoEXT = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\thmonitor = " << value.hmonitor << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkXcbSurfaceCreateInfoKHR& value) + { + s << "VkXcbSurfaceCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getXcbSurfaceCreateFlagsKHRStr(value.flags) << '\n'; + s << "\tconnection = " << value.connection << '\n'; + s << "\twindow = " << value.window << '\n'; + s << '}'; + return s; + } + + std::ostream& operator<< (std::ostream& s, const VkXlibSurfaceCreateInfoKHR& value) + { + s << "VkXlibSurfaceCreateInfoKHR = {\n"; + s << "\tsType = " << value.sType << '\n'; + s << "\tpNext = " << value.pNext << '\n'; + s << "\tflags = " << getXlibSurfaceCreateFlagsKHRStr(value.flags) << '\n'; + s << "\tdpy = " << value.dpy << '\n'; + s << "\twindow = " << value.window << '\n'; + s << '}'; + return s; + } diff --cc external/vulkancts/framework/vulkan/vkStructTypes.inl index 0000000,97c32d4..d04d597 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkStructTypes.inl +++ b/external/vulkancts/framework/vulkan/vkStructTypes.inl @@@ -1,0 -1,7902 +1,8076 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + struct VkExtent2D + { + uint32_t width; + uint32_t height; + }; + + struct VkExtent3D + { + uint32_t width; + uint32_t height; + uint32_t depth; + }; + + struct VkOffset2D + { + int32_t x; + int32_t y; + }; + + struct VkOffset3D + { + int32_t x; + int32_t y; + int32_t z; + }; + + struct VkRect2D + { + VkOffset2D offset; + VkExtent2D extent; + }; + + struct VkBaseInStructure + { + VkStructureType sType; + const struct VkBaseInStructure* pNext; + }; + + struct VkBaseOutStructure + { + VkStructureType sType; + struct VkBaseOutStructure* pNext; + }; + + struct VkBufferMemoryBarrier + { + VkStructureType sType; + const void* pNext; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + uint32_t srcQueueFamilyIndex; + uint32_t dstQueueFamilyIndex; + VkBuffer buffer; + VkDeviceSize offset; + VkDeviceSize size; + }; + + struct VkDispatchIndirectCommand + { + uint32_t x; + uint32_t y; + uint32_t z; + }; + + struct VkDrawIndexedIndirectCommand + { + uint32_t indexCount; + uint32_t instanceCount; + uint32_t firstIndex; + int32_t vertexOffset; + uint32_t firstInstance; + }; + + struct VkDrawIndirectCommand + { + uint32_t vertexCount; + uint32_t instanceCount; + uint32_t firstVertex; + uint32_t firstInstance; + }; + + struct VkImageSubresourceRange + { + VkImageAspectFlags aspectMask; + uint32_t baseMipLevel; + uint32_t levelCount; + uint32_t baseArrayLayer; + uint32_t layerCount; + }; + + struct VkImageMemoryBarrier + { + VkStructureType sType; + const void* pNext; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + VkImageLayout oldLayout; + VkImageLayout newLayout; + uint32_t srcQueueFamilyIndex; + uint32_t dstQueueFamilyIndex; + VkImage image; + VkImageSubresourceRange subresourceRange; + }; + + struct VkMemoryBarrier + { + VkStructureType sType; + const void* pNext; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + }; + + struct VkPipelineCacheHeaderVersionOne + { + uint32_t headerSize; + VkPipelineCacheHeaderVersion headerVersion; + uint32_t vendorID; + uint32_t deviceID; + uint8_t pipelineCacheUUID[VK_UUID_SIZE]; + }; + + struct VkAllocationCallbacks + { + void* pUserData; + PFN_vkAllocationFunction pfnAllocation; + PFN_vkReallocationFunction pfnReallocation; + PFN_vkFreeFunction pfnFree; + PFN_vkInternalAllocationNotification pfnInternalAllocation; + PFN_vkInternalFreeNotification pfnInternalFree; + }; + + struct VkApplicationInfo + { + VkStructureType sType; + const void* pNext; + const char* pApplicationName; + uint32_t applicationVersion; + const char* pEngineName; + uint32_t engineVersion; + uint32_t apiVersion; + }; + + struct VkFormatProperties + { + VkFormatFeatureFlags linearTilingFeatures; + VkFormatFeatureFlags optimalTilingFeatures; + VkFormatFeatureFlags bufferFeatures; + }; + + struct VkImageFormatProperties + { + VkExtent3D maxExtent; + uint32_t maxMipLevels; + uint32_t maxArrayLayers; + VkSampleCountFlags sampleCounts; + VkDeviceSize maxResourceSize; + }; + + struct VkInstanceCreateInfo + { + VkStructureType sType; + const void* pNext; + VkInstanceCreateFlags flags; + const VkApplicationInfo* pApplicationInfo; + uint32_t enabledLayerCount; + const char* const* ppEnabledLayerNames; + uint32_t enabledExtensionCount; + const char* const* ppEnabledExtensionNames; + }; + + struct VkMemoryHeap + { + VkDeviceSize size; + VkMemoryHeapFlags flags; + }; + + struct VkMemoryType + { + VkMemoryPropertyFlags propertyFlags; + uint32_t heapIndex; + }; + + struct VkPhysicalDeviceFeatures + { + VkBool32 robustBufferAccess; + VkBool32 fullDrawIndexUint32; + VkBool32 imageCubeArray; + VkBool32 independentBlend; + VkBool32 geometryShader; + VkBool32 tessellationShader; + VkBool32 sampleRateShading; + VkBool32 dualSrcBlend; + VkBool32 logicOp; + VkBool32 multiDrawIndirect; + VkBool32 drawIndirectFirstInstance; + VkBool32 depthClamp; + VkBool32 depthBiasClamp; + VkBool32 fillModeNonSolid; + VkBool32 depthBounds; + VkBool32 wideLines; + VkBool32 largePoints; + VkBool32 alphaToOne; + VkBool32 multiViewport; + VkBool32 samplerAnisotropy; + VkBool32 textureCompressionETC2; + VkBool32 textureCompressionASTC_LDR; + VkBool32 textureCompressionBC; + VkBool32 occlusionQueryPrecise; + VkBool32 pipelineStatisticsQuery; + VkBool32 vertexPipelineStoresAndAtomics; + VkBool32 fragmentStoresAndAtomics; + VkBool32 shaderTessellationAndGeometryPointSize; + VkBool32 shaderImageGatherExtended; + VkBool32 shaderStorageImageExtendedFormats; + VkBool32 shaderStorageImageMultisample; + VkBool32 shaderStorageImageReadWithoutFormat; + VkBool32 shaderStorageImageWriteWithoutFormat; + VkBool32 shaderUniformBufferArrayDynamicIndexing; + VkBool32 shaderSampledImageArrayDynamicIndexing; + VkBool32 shaderStorageBufferArrayDynamicIndexing; + VkBool32 shaderStorageImageArrayDynamicIndexing; + VkBool32 shaderClipDistance; + VkBool32 shaderCullDistance; + VkBool32 shaderFloat64; + VkBool32 shaderInt64; + VkBool32 shaderInt16; + VkBool32 shaderResourceResidency; + VkBool32 shaderResourceMinLod; + VkBool32 sparseBinding; + VkBool32 sparseResidencyBuffer; + VkBool32 sparseResidencyImage2D; + VkBool32 sparseResidencyImage3D; + VkBool32 sparseResidency2Samples; + VkBool32 sparseResidency4Samples; + VkBool32 sparseResidency8Samples; + VkBool32 sparseResidency16Samples; + VkBool32 sparseResidencyAliased; + VkBool32 variableMultisampleRate; + VkBool32 inheritedQueries; + }; + + struct VkPhysicalDeviceLimits + { + uint32_t maxImageDimension1D; + uint32_t maxImageDimension2D; + uint32_t maxImageDimension3D; + uint32_t maxImageDimensionCube; + uint32_t maxImageArrayLayers; + uint32_t maxTexelBufferElements; + uint32_t maxUniformBufferRange; + uint32_t maxStorageBufferRange; + uint32_t maxPushConstantsSize; + uint32_t maxMemoryAllocationCount; + uint32_t maxSamplerAllocationCount; + VkDeviceSize bufferImageGranularity; + VkDeviceSize sparseAddressSpaceSize; + uint32_t maxBoundDescriptorSets; + uint32_t maxPerStageDescriptorSamplers; + uint32_t maxPerStageDescriptorUniformBuffers; + uint32_t maxPerStageDescriptorStorageBuffers; + uint32_t maxPerStageDescriptorSampledImages; + uint32_t maxPerStageDescriptorStorageImages; + uint32_t maxPerStageDescriptorInputAttachments; + uint32_t maxPerStageResources; + uint32_t maxDescriptorSetSamplers; + uint32_t maxDescriptorSetUniformBuffers; + uint32_t maxDescriptorSetUniformBuffersDynamic; + uint32_t maxDescriptorSetStorageBuffers; + uint32_t maxDescriptorSetStorageBuffersDynamic; + uint32_t maxDescriptorSetSampledImages; + uint32_t maxDescriptorSetStorageImages; + uint32_t maxDescriptorSetInputAttachments; + uint32_t maxVertexInputAttributes; + uint32_t maxVertexInputBindings; + uint32_t maxVertexInputAttributeOffset; + uint32_t maxVertexInputBindingStride; + uint32_t maxVertexOutputComponents; + uint32_t maxTessellationGenerationLevel; + uint32_t maxTessellationPatchSize; + uint32_t maxTessellationControlPerVertexInputComponents; + uint32_t maxTessellationControlPerVertexOutputComponents; + uint32_t maxTessellationControlPerPatchOutputComponents; + uint32_t maxTessellationControlTotalOutputComponents; + uint32_t maxTessellationEvaluationInputComponents; + uint32_t maxTessellationEvaluationOutputComponents; + uint32_t maxGeometryShaderInvocations; + uint32_t maxGeometryInputComponents; + uint32_t maxGeometryOutputComponents; + uint32_t maxGeometryOutputVertices; + uint32_t maxGeometryTotalOutputComponents; + uint32_t maxFragmentInputComponents; + uint32_t maxFragmentOutputAttachments; + uint32_t maxFragmentDualSrcAttachments; + uint32_t maxFragmentCombinedOutputResources; + uint32_t maxComputeSharedMemorySize; + uint32_t maxComputeWorkGroupCount[3]; + uint32_t maxComputeWorkGroupInvocations; + uint32_t maxComputeWorkGroupSize[3]; + uint32_t subPixelPrecisionBits; + uint32_t subTexelPrecisionBits; + uint32_t mipmapPrecisionBits; + uint32_t maxDrawIndexedIndexValue; + uint32_t maxDrawIndirectCount; + float maxSamplerLodBias; + float maxSamplerAnisotropy; + uint32_t maxViewports; + uint32_t maxViewportDimensions[2]; + float viewportBoundsRange[2]; + uint32_t viewportSubPixelBits; + size_t minMemoryMapAlignment; + VkDeviceSize minTexelBufferOffsetAlignment; + VkDeviceSize minUniformBufferOffsetAlignment; + VkDeviceSize minStorageBufferOffsetAlignment; + int32_t minTexelOffset; + uint32_t maxTexelOffset; + int32_t minTexelGatherOffset; + uint32_t maxTexelGatherOffset; + float minInterpolationOffset; + float maxInterpolationOffset; + uint32_t subPixelInterpolationOffsetBits; + uint32_t maxFramebufferWidth; + uint32_t maxFramebufferHeight; + uint32_t maxFramebufferLayers; + VkSampleCountFlags framebufferColorSampleCounts; + VkSampleCountFlags framebufferDepthSampleCounts; + VkSampleCountFlags framebufferStencilSampleCounts; + VkSampleCountFlags framebufferNoAttachmentsSampleCounts; + uint32_t maxColorAttachments; + VkSampleCountFlags sampledImageColorSampleCounts; + VkSampleCountFlags sampledImageIntegerSampleCounts; + VkSampleCountFlags sampledImageDepthSampleCounts; + VkSampleCountFlags sampledImageStencilSampleCounts; + VkSampleCountFlags storageImageSampleCounts; + uint32_t maxSampleMaskWords; + VkBool32 timestampComputeAndGraphics; + float timestampPeriod; + uint32_t maxClipDistances; + uint32_t maxCullDistances; + uint32_t maxCombinedClipAndCullDistances; + uint32_t discreteQueuePriorities; + float pointSizeRange[2]; + float lineWidthRange[2]; + float pointSizeGranularity; + float lineWidthGranularity; + VkBool32 strictLines; + VkBool32 standardSampleLocations; + VkDeviceSize optimalBufferCopyOffsetAlignment; + VkDeviceSize optimalBufferCopyRowPitchAlignment; + VkDeviceSize nonCoherentAtomSize; + }; + + struct VkPhysicalDeviceMemoryProperties + { + uint32_t memoryTypeCount; + VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; + uint32_t memoryHeapCount; + VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; + }; + + struct VkPhysicalDeviceSparseProperties + { + VkBool32 residencyStandard2DBlockShape; + VkBool32 residencyStandard2DMultisampleBlockShape; + VkBool32 residencyStandard3DBlockShape; + VkBool32 residencyAlignedMipSize; + VkBool32 residencyNonResidentStrict; + }; + + struct VkPhysicalDeviceProperties + { + uint32_t apiVersion; + uint32_t driverVersion; + uint32_t vendorID; + uint32_t deviceID; + VkPhysicalDeviceType deviceType; + char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; + uint8_t pipelineCacheUUID[VK_UUID_SIZE]; + VkPhysicalDeviceLimits limits; + VkPhysicalDeviceSparseProperties sparseProperties; + }; + + struct VkQueueFamilyProperties + { + VkQueueFlags queueFlags; + uint32_t queueCount; + uint32_t timestampValidBits; + VkExtent3D minImageTransferGranularity; + }; + + struct VkDeviceQueueCreateInfo + { + VkStructureType sType; + const void* pNext; + VkDeviceQueueCreateFlags flags; + uint32_t queueFamilyIndex; + uint32_t queueCount; + const float* pQueuePriorities; + }; + + struct VkDeviceCreateInfo + { + VkStructureType sType; + const void* pNext; + VkDeviceCreateFlags flags; + uint32_t queueCreateInfoCount; + const VkDeviceQueueCreateInfo* pQueueCreateInfos; + uint32_t enabledLayerCount; + const char* const* ppEnabledLayerNames; + uint32_t enabledExtensionCount; + const char* const* ppEnabledExtensionNames; + const VkPhysicalDeviceFeatures* pEnabledFeatures; + }; + + struct VkExtensionProperties + { + char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; + uint32_t specVersion; + }; + + struct VkLayerProperties + { + char layerName[VK_MAX_EXTENSION_NAME_SIZE]; + uint32_t specVersion; + uint32_t implementationVersion; + char description[VK_MAX_DESCRIPTION_SIZE]; + }; + + struct VkSubmitInfo + { + VkStructureType sType; + const void* pNext; + uint32_t waitSemaphoreCount; + const VkSemaphore* pWaitSemaphores; + const VkPipelineStageFlags* pWaitDstStageMask; + uint32_t commandBufferCount; + const VkCommandBuffer* pCommandBuffers; + uint32_t signalSemaphoreCount; + const VkSemaphore* pSignalSemaphores; + }; + + struct VkMappedMemoryRange + { + VkStructureType sType; + const void* pNext; + VkDeviceMemory memory; + VkDeviceSize offset; + VkDeviceSize size; + }; + + struct VkMemoryAllocateInfo + { + VkStructureType sType; + const void* pNext; + VkDeviceSize allocationSize; + uint32_t memoryTypeIndex; + }; + + struct VkMemoryRequirements + { + VkDeviceSize size; + VkDeviceSize alignment; + uint32_t memoryTypeBits; + }; + + struct VkSparseMemoryBind + { + VkDeviceSize resourceOffset; + VkDeviceSize size; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + VkSparseMemoryBindFlags flags; + }; + + struct VkSparseBufferMemoryBindInfo + { + VkBuffer buffer; + uint32_t bindCount; + const VkSparseMemoryBind* pBinds; + }; + + struct VkSparseImageOpaqueMemoryBindInfo + { + VkImage image; + uint32_t bindCount; + const VkSparseMemoryBind* pBinds; + }; + + struct VkImageSubresource + { + VkImageAspectFlags aspectMask; + uint32_t mipLevel; + uint32_t arrayLayer; + }; + + struct VkSparseImageMemoryBind + { + VkImageSubresource subresource; + VkOffset3D offset; + VkExtent3D extent; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + VkSparseMemoryBindFlags flags; + }; + + struct VkSparseImageMemoryBindInfo + { + VkImage image; + uint32_t bindCount; + const VkSparseImageMemoryBind* pBinds; + }; + + struct VkBindSparseInfo + { + VkStructureType sType; + const void* pNext; + uint32_t waitSemaphoreCount; + const VkSemaphore* pWaitSemaphores; + uint32_t bufferBindCount; + const VkSparseBufferMemoryBindInfo* pBufferBinds; + uint32_t imageOpaqueBindCount; + const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; + uint32_t imageBindCount; + const VkSparseImageMemoryBindInfo* pImageBinds; + uint32_t signalSemaphoreCount; + const VkSemaphore* pSignalSemaphores; + }; + + struct VkSparseImageFormatProperties + { + VkImageAspectFlags aspectMask; + VkExtent3D imageGranularity; + VkSparseImageFormatFlags flags; + }; + + struct VkSparseImageMemoryRequirements + { + VkSparseImageFormatProperties formatProperties; + uint32_t imageMipTailFirstLod; + VkDeviceSize imageMipTailSize; + VkDeviceSize imageMipTailOffset; + VkDeviceSize imageMipTailStride; + }; + + struct VkFenceCreateInfo + { + VkStructureType sType; + const void* pNext; + VkFenceCreateFlags flags; + }; + + struct VkSemaphoreCreateInfo + { + VkStructureType sType; + const void* pNext; + VkSemaphoreCreateFlags flags; + }; + + struct VkEventCreateInfo + { + VkStructureType sType; + const void* pNext; + VkEventCreateFlags flags; + }; + + struct VkQueryPoolCreateInfo + { + VkStructureType sType; + const void* pNext; + VkQueryPoolCreateFlags flags; + VkQueryType queryType; + uint32_t queryCount; + VkQueryPipelineStatisticFlags pipelineStatistics; + }; + + struct VkBufferCreateInfo + { + VkStructureType sType; + const void* pNext; + VkBufferCreateFlags flags; + VkDeviceSize size; + VkBufferUsageFlags usage; + VkSharingMode sharingMode; + uint32_t queueFamilyIndexCount; + const uint32_t* pQueueFamilyIndices; + }; + + struct VkBufferViewCreateInfo + { + VkStructureType sType; + const void* pNext; + VkBufferViewCreateFlags flags; + VkBuffer buffer; + VkFormat format; + VkDeviceSize offset; + VkDeviceSize range; + }; + + struct VkImageCreateInfo + { + VkStructureType sType; + const void* pNext; + VkImageCreateFlags flags; + VkImageType imageType; + VkFormat format; + VkExtent3D extent; + uint32_t mipLevels; + uint32_t arrayLayers; + VkSampleCountFlagBits samples; + VkImageTiling tiling; + VkImageUsageFlags usage; + VkSharingMode sharingMode; + uint32_t queueFamilyIndexCount; + const uint32_t* pQueueFamilyIndices; + VkImageLayout initialLayout; + }; + + struct VkSubresourceLayout + { + VkDeviceSize offset; + VkDeviceSize size; + VkDeviceSize rowPitch; + VkDeviceSize arrayPitch; + VkDeviceSize depthPitch; + }; + + struct VkComponentMapping + { + VkComponentSwizzle r; + VkComponentSwizzle g; + VkComponentSwizzle b; + VkComponentSwizzle a; + }; + + struct VkImageViewCreateInfo + { + VkStructureType sType; + const void* pNext; + VkImageViewCreateFlags flags; + VkImage image; + VkImageViewType viewType; + VkFormat format; + VkComponentMapping components; + VkImageSubresourceRange subresourceRange; + }; + + struct VkShaderModuleCreateInfo + { + VkStructureType sType; + const void* pNext; + VkShaderModuleCreateFlags flags; + size_t codeSize; + const uint32_t* pCode; + }; + + struct VkPipelineCacheCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineCacheCreateFlags flags; + size_t initialDataSize; + const void* pInitialData; + }; + + struct VkSpecializationMapEntry + { + uint32_t constantID; + uint32_t offset; + size_t size; + }; + + struct VkSpecializationInfo + { + uint32_t mapEntryCount; + const VkSpecializationMapEntry* pMapEntries; + size_t dataSize; + const void* pData; + }; + + struct VkPipelineShaderStageCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineShaderStageCreateFlags flags; + VkShaderStageFlagBits stage; + VkShaderModule module; + const char* pName; + const VkSpecializationInfo* pSpecializationInfo; + }; + + struct VkComputePipelineCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineCreateFlags flags; + VkPipelineShaderStageCreateInfo stage; + VkPipelineLayout layout; + VkPipeline basePipelineHandle; + int32_t basePipelineIndex; + }; + + struct VkVertexInputBindingDescription + { + uint32_t binding; + uint32_t stride; + VkVertexInputRate inputRate; + }; + + struct VkVertexInputAttributeDescription + { + uint32_t location; + uint32_t binding; + VkFormat format; + uint32_t offset; + }; + + struct VkPipelineVertexInputStateCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineVertexInputStateCreateFlags flags; + uint32_t vertexBindingDescriptionCount; + const VkVertexInputBindingDescription* pVertexBindingDescriptions; + uint32_t vertexAttributeDescriptionCount; + const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; + }; + + struct VkPipelineInputAssemblyStateCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineInputAssemblyStateCreateFlags flags; + VkPrimitiveTopology topology; + VkBool32 primitiveRestartEnable; + }; + + struct VkPipelineTessellationStateCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineTessellationStateCreateFlags flags; + uint32_t patchControlPoints; + }; + + struct VkViewport + { + float x; + float y; + float width; + float height; + float minDepth; + float maxDepth; + }; + + struct VkPipelineViewportStateCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineViewportStateCreateFlags flags; + uint32_t viewportCount; + const VkViewport* pViewports; + uint32_t scissorCount; + const VkRect2D* pScissors; + }; + + struct VkPipelineRasterizationStateCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineRasterizationStateCreateFlags flags; + VkBool32 depthClampEnable; + VkBool32 rasterizerDiscardEnable; + VkPolygonMode polygonMode; + VkCullModeFlags cullMode; + VkFrontFace frontFace; + VkBool32 depthBiasEnable; + float depthBiasConstantFactor; + float depthBiasClamp; + float depthBiasSlopeFactor; + float lineWidth; + }; + + struct VkPipelineMultisampleStateCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineMultisampleStateCreateFlags flags; + VkSampleCountFlagBits rasterizationSamples; + VkBool32 sampleShadingEnable; + float minSampleShading; + const VkSampleMask* pSampleMask; + VkBool32 alphaToCoverageEnable; + VkBool32 alphaToOneEnable; + }; + + struct VkStencilOpState + { + VkStencilOp failOp; + VkStencilOp passOp; + VkStencilOp depthFailOp; + VkCompareOp compareOp; + uint32_t compareMask; + uint32_t writeMask; + uint32_t reference; + }; + + struct VkPipelineDepthStencilStateCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineDepthStencilStateCreateFlags flags; + VkBool32 depthTestEnable; + VkBool32 depthWriteEnable; + VkCompareOp depthCompareOp; + VkBool32 depthBoundsTestEnable; + VkBool32 stencilTestEnable; + VkStencilOpState front; + VkStencilOpState back; + float minDepthBounds; + float maxDepthBounds; + }; + + struct VkPipelineColorBlendAttachmentState + { + VkBool32 blendEnable; + VkBlendFactor srcColorBlendFactor; + VkBlendFactor dstColorBlendFactor; + VkBlendOp colorBlendOp; + VkBlendFactor srcAlphaBlendFactor; + VkBlendFactor dstAlphaBlendFactor; + VkBlendOp alphaBlendOp; + VkColorComponentFlags colorWriteMask; + }; + + struct VkPipelineColorBlendStateCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineColorBlendStateCreateFlags flags; + VkBool32 logicOpEnable; + VkLogicOp logicOp; + uint32_t attachmentCount; + const VkPipelineColorBlendAttachmentState* pAttachments; + float blendConstants[4]; + }; + + struct VkPipelineDynamicStateCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineDynamicStateCreateFlags flags; + uint32_t dynamicStateCount; + const VkDynamicState* pDynamicStates; + }; + + struct VkGraphicsPipelineCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineCreateFlags flags; + uint32_t stageCount; + const VkPipelineShaderStageCreateInfo* pStages; + const VkPipelineVertexInputStateCreateInfo* pVertexInputState; + const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; + const VkPipelineTessellationStateCreateInfo* pTessellationState; + const VkPipelineViewportStateCreateInfo* pViewportState; + const VkPipelineRasterizationStateCreateInfo* pRasterizationState; + const VkPipelineMultisampleStateCreateInfo* pMultisampleState; + const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; + const VkPipelineColorBlendStateCreateInfo* pColorBlendState; + const VkPipelineDynamicStateCreateInfo* pDynamicState; + VkPipelineLayout layout; + VkRenderPass renderPass; + uint32_t subpass; + VkPipeline basePipelineHandle; + int32_t basePipelineIndex; + }; + + struct VkPushConstantRange + { + VkShaderStageFlags stageFlags; + uint32_t offset; + uint32_t size; + }; + + struct VkPipelineLayoutCreateInfo + { + VkStructureType sType; + const void* pNext; + VkPipelineLayoutCreateFlags flags; + uint32_t setLayoutCount; + const VkDescriptorSetLayout* pSetLayouts; + uint32_t pushConstantRangeCount; + const VkPushConstantRange* pPushConstantRanges; + }; + + struct VkSamplerCreateInfo + { + VkStructureType sType; + const void* pNext; + VkSamplerCreateFlags flags; + VkFilter magFilter; + VkFilter minFilter; + VkSamplerMipmapMode mipmapMode; + VkSamplerAddressMode addressModeU; + VkSamplerAddressMode addressModeV; + VkSamplerAddressMode addressModeW; + float mipLodBias; + VkBool32 anisotropyEnable; + float maxAnisotropy; + VkBool32 compareEnable; + VkCompareOp compareOp; + float minLod; + float maxLod; + VkBorderColor borderColor; + VkBool32 unnormalizedCoordinates; + }; + + struct VkCopyDescriptorSet + { + VkStructureType sType; + const void* pNext; + VkDescriptorSet srcSet; + uint32_t srcBinding; + uint32_t srcArrayElement; + VkDescriptorSet dstSet; + uint32_t dstBinding; + uint32_t dstArrayElement; + uint32_t descriptorCount; + }; + + struct VkDescriptorBufferInfo + { + VkBuffer buffer; + VkDeviceSize offset; + VkDeviceSize range; + }; + + struct VkDescriptorImageInfo + { + VkSampler sampler; + VkImageView imageView; + VkImageLayout imageLayout; + }; + + struct VkDescriptorPoolSize + { + VkDescriptorType type; + uint32_t descriptorCount; + }; + + struct VkDescriptorPoolCreateInfo + { + VkStructureType sType; + const void* pNext; + VkDescriptorPoolCreateFlags flags; + uint32_t maxSets; + uint32_t poolSizeCount; + const VkDescriptorPoolSize* pPoolSizes; + }; + + struct VkDescriptorSetAllocateInfo + { + VkStructureType sType; + const void* pNext; + VkDescriptorPool descriptorPool; + uint32_t descriptorSetCount; + const VkDescriptorSetLayout* pSetLayouts; + }; + + struct VkDescriptorSetLayoutBinding + { + uint32_t binding; + VkDescriptorType descriptorType; + uint32_t descriptorCount; + VkShaderStageFlags stageFlags; + const VkSampler* pImmutableSamplers; + }; + + struct VkDescriptorSetLayoutCreateInfo + { + VkStructureType sType; + const void* pNext; + VkDescriptorSetLayoutCreateFlags flags; + uint32_t bindingCount; + const VkDescriptorSetLayoutBinding* pBindings; + }; + + struct VkWriteDescriptorSet + { + VkStructureType sType; + const void* pNext; + VkDescriptorSet dstSet; + uint32_t dstBinding; + uint32_t dstArrayElement; + uint32_t descriptorCount; + VkDescriptorType descriptorType; + const VkDescriptorImageInfo* pImageInfo; + const VkDescriptorBufferInfo* pBufferInfo; + const VkBufferView* pTexelBufferView; + }; + + struct VkAttachmentDescription + { + VkAttachmentDescriptionFlags flags; + VkFormat format; + VkSampleCountFlagBits samples; + VkAttachmentLoadOp loadOp; + VkAttachmentStoreOp storeOp; + VkAttachmentLoadOp stencilLoadOp; + VkAttachmentStoreOp stencilStoreOp; + VkImageLayout initialLayout; + VkImageLayout finalLayout; + }; + + struct VkAttachmentReference + { + uint32_t attachment; + VkImageLayout layout; + }; + + struct VkFramebufferCreateInfo + { + VkStructureType sType; + const void* pNext; + VkFramebufferCreateFlags flags; + VkRenderPass renderPass; + uint32_t attachmentCount; + const VkImageView* pAttachments; + uint32_t width; + uint32_t height; + uint32_t layers; + }; + + struct VkSubpassDescription + { + VkSubpassDescriptionFlags flags; + VkPipelineBindPoint pipelineBindPoint; + uint32_t inputAttachmentCount; + const VkAttachmentReference* pInputAttachments; + uint32_t colorAttachmentCount; + const VkAttachmentReference* pColorAttachments; + const VkAttachmentReference* pResolveAttachments; + const VkAttachmentReference* pDepthStencilAttachment; + uint32_t preserveAttachmentCount; + const uint32_t* pPreserveAttachments; + }; + + struct VkSubpassDependency + { + uint32_t srcSubpass; + uint32_t dstSubpass; + VkPipelineStageFlags srcStageMask; + VkPipelineStageFlags dstStageMask; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + VkDependencyFlags dependencyFlags; + }; + + struct VkRenderPassCreateInfo + { + VkStructureType sType; + const void* pNext; + VkRenderPassCreateFlags flags; + uint32_t attachmentCount; + const VkAttachmentDescription* pAttachments; + uint32_t subpassCount; + const VkSubpassDescription* pSubpasses; + uint32_t dependencyCount; + const VkSubpassDependency* pDependencies; + }; + + struct VkCommandPoolCreateInfo + { + VkStructureType sType; + const void* pNext; + VkCommandPoolCreateFlags flags; + uint32_t queueFamilyIndex; + }; + + struct VkCommandBufferAllocateInfo + { + VkStructureType sType; + const void* pNext; + VkCommandPool commandPool; + VkCommandBufferLevel level; + uint32_t commandBufferCount; + }; + + struct VkCommandBufferInheritanceInfo + { + VkStructureType sType; + const void* pNext; + VkRenderPass renderPass; + uint32_t subpass; + VkFramebuffer framebuffer; + VkBool32 occlusionQueryEnable; + VkQueryControlFlags queryFlags; + VkQueryPipelineStatisticFlags pipelineStatistics; + }; + + struct VkCommandBufferBeginInfo + { + VkStructureType sType; + const void* pNext; + VkCommandBufferUsageFlags flags; + const VkCommandBufferInheritanceInfo* pInheritanceInfo; + }; + + struct VkBufferCopy + { + VkDeviceSize srcOffset; + VkDeviceSize dstOffset; + VkDeviceSize size; + }; + + struct VkImageSubresourceLayers + { + VkImageAspectFlags aspectMask; + uint32_t mipLevel; + uint32_t baseArrayLayer; + uint32_t layerCount; + }; + + struct VkBufferImageCopy + { + VkDeviceSize bufferOffset; + uint32_t bufferRowLength; + uint32_t bufferImageHeight; + VkImageSubresourceLayers imageSubresource; + VkOffset3D imageOffset; + VkExtent3D imageExtent; + }; + + union VkClearColorValue + { + float float32[4]; + int32_t int32[4]; + uint32_t uint32[4]; + }; + + struct VkClearDepthStencilValue + { + float depth; + uint32_t stencil; + }; + + union VkClearValue + { + VkClearColorValue color; + VkClearDepthStencilValue depthStencil; + }; + + struct VkClearAttachment + { + VkImageAspectFlags aspectMask; + uint32_t colorAttachment; + VkClearValue clearValue; + }; + + struct VkClearRect + { + VkRect2D rect; + uint32_t baseArrayLayer; + uint32_t layerCount; + }; + + struct VkImageBlit + { + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffsets[2]; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffsets[2]; + }; + + struct VkImageCopy + { + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffset; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffset; + VkExtent3D extent; + }; + + struct VkImageResolve + { + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffset; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffset; + VkExtent3D extent; + }; + + struct VkRenderPassBeginInfo + { + VkStructureType sType; + const void* pNext; + VkRenderPass renderPass; + VkFramebuffer framebuffer; + VkRect2D renderArea; + uint32_t clearValueCount; + const VkClearValue* pClearValues; + }; + + struct VkPhysicalDeviceSubgroupProperties + { + VkStructureType sType; + void* pNext; + uint32_t subgroupSize; + VkShaderStageFlags supportedStages; + VkSubgroupFeatureFlags supportedOperations; + VkBool32 quadOperationsInAllStages; + }; + + struct VkBindBufferMemoryInfo + { + VkStructureType sType; + const void* pNext; + VkBuffer buffer; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + }; + + struct VkBindImageMemoryInfo + { + VkStructureType sType; + const void* pNext; + VkImage image; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + }; + + struct VkPhysicalDevice16BitStorageFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 storageBuffer16BitAccess; + VkBool32 uniformAndStorageBuffer16BitAccess; + VkBool32 storagePushConstant16; + VkBool32 storageInputOutput16; + }; + + struct VkMemoryDedicatedRequirements + { + VkStructureType sType; + void* pNext; + VkBool32 prefersDedicatedAllocation; + VkBool32 requiresDedicatedAllocation; + }; + + struct VkMemoryDedicatedAllocateInfo + { + VkStructureType sType; + const void* pNext; + VkImage image; + VkBuffer buffer; + }; + + struct VkMemoryAllocateFlagsInfo + { + VkStructureType sType; + const void* pNext; + VkMemoryAllocateFlags flags; + uint32_t deviceMask; + }; + + struct VkDeviceGroupRenderPassBeginInfo + { + VkStructureType sType; + const void* pNext; + uint32_t deviceMask; + uint32_t deviceRenderAreaCount; + const VkRect2D* pDeviceRenderAreas; + }; + + struct VkDeviceGroupCommandBufferBeginInfo + { + VkStructureType sType; + const void* pNext; + uint32_t deviceMask; + }; + + struct VkDeviceGroupSubmitInfo + { + VkStructureType sType; + const void* pNext; + uint32_t waitSemaphoreCount; + const uint32_t* pWaitSemaphoreDeviceIndices; + uint32_t commandBufferCount; + const uint32_t* pCommandBufferDeviceMasks; + uint32_t signalSemaphoreCount; + const uint32_t* pSignalSemaphoreDeviceIndices; + }; + + struct VkDeviceGroupBindSparseInfo + { + VkStructureType sType; + const void* pNext; + uint32_t resourceDeviceIndex; + uint32_t memoryDeviceIndex; + }; + + struct VkBindBufferMemoryDeviceGroupInfo + { + VkStructureType sType; + const void* pNext; + uint32_t deviceIndexCount; + const uint32_t* pDeviceIndices; + }; + + struct VkBindImageMemoryDeviceGroupInfo + { + VkStructureType sType; + const void* pNext; + uint32_t deviceIndexCount; + const uint32_t* pDeviceIndices; + uint32_t splitInstanceBindRegionCount; + const VkRect2D* pSplitInstanceBindRegions; + }; + + struct VkPhysicalDeviceGroupProperties + { + VkStructureType sType; + void* pNext; + uint32_t physicalDeviceCount; + VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; + VkBool32 subsetAllocation; + }; + + struct VkDeviceGroupDeviceCreateInfo + { + VkStructureType sType; + const void* pNext; + uint32_t physicalDeviceCount; + const VkPhysicalDevice* pPhysicalDevices; + }; + + struct VkBufferMemoryRequirementsInfo2 + { + VkStructureType sType; + const void* pNext; + VkBuffer buffer; + }; + + struct VkImageMemoryRequirementsInfo2 + { + VkStructureType sType; + const void* pNext; + VkImage image; + }; + + struct VkImageSparseMemoryRequirementsInfo2 + { + VkStructureType sType; + const void* pNext; + VkImage image; + }; + + struct VkMemoryRequirements2 + { + VkStructureType sType; + void* pNext; + VkMemoryRequirements memoryRequirements; + }; + + struct VkSparseImageMemoryRequirements2 + { + VkStructureType sType; + void* pNext; + VkSparseImageMemoryRequirements memoryRequirements; + }; + + struct VkPhysicalDeviceFeatures2 + { + VkStructureType sType; + void* pNext; + VkPhysicalDeviceFeatures features; + }; + + struct VkPhysicalDeviceProperties2 + { + VkStructureType sType; + void* pNext; + VkPhysicalDeviceProperties properties; + }; + + struct VkFormatProperties2 + { + VkStructureType sType; + void* pNext; + VkFormatProperties formatProperties; + }; + + struct VkImageFormatProperties2 + { + VkStructureType sType; + void* pNext; + VkImageFormatProperties imageFormatProperties; + }; + + struct VkPhysicalDeviceImageFormatInfo2 + { + VkStructureType sType; + const void* pNext; + VkFormat format; + VkImageType type; + VkImageTiling tiling; + VkImageUsageFlags usage; + VkImageCreateFlags flags; + }; + + struct VkQueueFamilyProperties2 + { + VkStructureType sType; + void* pNext; + VkQueueFamilyProperties queueFamilyProperties; + }; + + struct VkPhysicalDeviceMemoryProperties2 + { + VkStructureType sType; + void* pNext; + VkPhysicalDeviceMemoryProperties memoryProperties; + }; + + struct VkSparseImageFormatProperties2 + { + VkStructureType sType; + void* pNext; + VkSparseImageFormatProperties properties; + }; + + struct VkPhysicalDeviceSparseImageFormatInfo2 + { + VkStructureType sType; + const void* pNext; + VkFormat format; + VkImageType type; + VkSampleCountFlagBits samples; + VkImageUsageFlags usage; + VkImageTiling tiling; + }; + + struct VkPhysicalDevicePointClippingProperties + { + VkStructureType sType; + void* pNext; + VkPointClippingBehavior pointClippingBehavior; + }; + + struct VkInputAttachmentAspectReference + { + uint32_t subpass; + uint32_t inputAttachmentIndex; + VkImageAspectFlags aspectMask; + }; + + struct VkRenderPassInputAttachmentAspectCreateInfo + { + VkStructureType sType; + const void* pNext; + uint32_t aspectReferenceCount; + const VkInputAttachmentAspectReference* pAspectReferences; + }; + + struct VkImageViewUsageCreateInfo + { + VkStructureType sType; + const void* pNext; + VkImageUsageFlags usage; + }; + + struct VkPipelineTessellationDomainOriginStateCreateInfo + { + VkStructureType sType; + const void* pNext; + VkTessellationDomainOrigin domainOrigin; + }; + + struct VkRenderPassMultiviewCreateInfo + { + VkStructureType sType; + const void* pNext; + uint32_t subpassCount; + const uint32_t* pViewMasks; + uint32_t dependencyCount; + const int32_t* pViewOffsets; + uint32_t correlationMaskCount; + const uint32_t* pCorrelationMasks; + }; + + struct VkPhysicalDeviceMultiviewFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 multiview; + VkBool32 multiviewGeometryShader; + VkBool32 multiviewTessellationShader; + }; + + struct VkPhysicalDeviceMultiviewProperties + { + VkStructureType sType; + void* pNext; + uint32_t maxMultiviewViewCount; + uint32_t maxMultiviewInstanceIndex; + }; + + struct VkPhysicalDeviceVariablePointersFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 variablePointersStorageBuffer; + VkBool32 variablePointers; + }; + + struct VkPhysicalDeviceProtectedMemoryFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 protectedMemory; + }; + + struct VkPhysicalDeviceProtectedMemoryProperties + { + VkStructureType sType; + void* pNext; + VkBool32 protectedNoFault; + }; + + struct VkDeviceQueueInfo2 + { + VkStructureType sType; + const void* pNext; + VkDeviceQueueCreateFlags flags; + uint32_t queueFamilyIndex; + uint32_t queueIndex; + }; + + struct VkProtectedSubmitInfo + { + VkStructureType sType; + const void* pNext; + VkBool32 protectedSubmit; + }; + + struct VkSamplerYcbcrConversionCreateInfo + { + VkStructureType sType; + const void* pNext; + VkFormat format; + VkSamplerYcbcrModelConversion ycbcrModel; + VkSamplerYcbcrRange ycbcrRange; + VkComponentMapping components; + VkChromaLocation xChromaOffset; + VkChromaLocation yChromaOffset; + VkFilter chromaFilter; + VkBool32 forceExplicitReconstruction; + }; + + struct VkSamplerYcbcrConversionInfo + { + VkStructureType sType; + const void* pNext; + VkSamplerYcbcrConversion conversion; + }; + + struct VkBindImagePlaneMemoryInfo + { + VkStructureType sType; + const void* pNext; + VkImageAspectFlagBits planeAspect; + }; + + struct VkImagePlaneMemoryRequirementsInfo + { + VkStructureType sType; + const void* pNext; + VkImageAspectFlagBits planeAspect; + }; + + struct VkPhysicalDeviceSamplerYcbcrConversionFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 samplerYcbcrConversion; + }; + + struct VkSamplerYcbcrConversionImageFormatProperties + { + VkStructureType sType; + void* pNext; + uint32_t combinedImageSamplerDescriptorCount; + }; + + struct VkDescriptorUpdateTemplateEntry + { + uint32_t dstBinding; + uint32_t dstArrayElement; + uint32_t descriptorCount; + VkDescriptorType descriptorType; + size_t offset; + size_t stride; + }; + + struct VkDescriptorUpdateTemplateCreateInfo + { + VkStructureType sType; + const void* pNext; + VkDescriptorUpdateTemplateCreateFlags flags; + uint32_t descriptorUpdateEntryCount; + const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; + VkDescriptorUpdateTemplateType templateType; + VkDescriptorSetLayout descriptorSetLayout; + VkPipelineBindPoint pipelineBindPoint; + VkPipelineLayout pipelineLayout; + uint32_t set; + }; + + struct VkExternalMemoryProperties + { + VkExternalMemoryFeatureFlags externalMemoryFeatures; + VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; + VkExternalMemoryHandleTypeFlags compatibleHandleTypes; + }; + + struct VkPhysicalDeviceExternalImageFormatInfo + { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagBits handleType; + }; + + struct VkExternalImageFormatProperties + { + VkStructureType sType; + void* pNext; + VkExternalMemoryProperties externalMemoryProperties; + }; + + struct VkPhysicalDeviceExternalBufferInfo + { + VkStructureType sType; + const void* pNext; + VkBufferCreateFlags flags; + VkBufferUsageFlags usage; + VkExternalMemoryHandleTypeFlagBits handleType; + }; + + struct VkExternalBufferProperties + { + VkStructureType sType; + void* pNext; + VkExternalMemoryProperties externalMemoryProperties; + }; + + struct VkPhysicalDeviceIDProperties + { + VkStructureType sType; + void* pNext; + uint8_t deviceUUID[VK_UUID_SIZE]; + uint8_t driverUUID[VK_UUID_SIZE]; + uint8_t deviceLUID[VK_LUID_SIZE]; + uint32_t deviceNodeMask; + VkBool32 deviceLUIDValid; + }; + + struct VkExternalMemoryImageCreateInfo + { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlags handleTypes; + }; + + struct VkExternalMemoryBufferCreateInfo + { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlags handleTypes; + }; + + struct VkExportMemoryAllocateInfo + { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlags handleTypes; + }; + + struct VkPhysicalDeviceExternalFenceInfo + { + VkStructureType sType; + const void* pNext; + VkExternalFenceHandleTypeFlagBits handleType; + }; + + struct VkExternalFenceProperties + { + VkStructureType sType; + void* pNext; + VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; + VkExternalFenceHandleTypeFlags compatibleHandleTypes; + VkExternalFenceFeatureFlags externalFenceFeatures; + }; + + struct VkExportFenceCreateInfo + { + VkStructureType sType; + const void* pNext; + VkExternalFenceHandleTypeFlags handleTypes; + }; + + struct VkExportSemaphoreCreateInfo + { + VkStructureType sType; + const void* pNext; + VkExternalSemaphoreHandleTypeFlags handleTypes; + }; + + struct VkPhysicalDeviceExternalSemaphoreInfo + { + VkStructureType sType; + const void* pNext; + VkExternalSemaphoreHandleTypeFlagBits handleType; + }; + + struct VkExternalSemaphoreProperties + { + VkStructureType sType; + void* pNext; + VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; + VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; + VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; + }; + + struct VkPhysicalDeviceMaintenance3Properties + { + VkStructureType sType; + void* pNext; + uint32_t maxPerSetDescriptors; + VkDeviceSize maxMemoryAllocationSize; + }; + + struct VkDescriptorSetLayoutSupport + { + VkStructureType sType; + void* pNext; + VkBool32 supported; + }; + + struct VkPhysicalDeviceShaderDrawParametersFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 shaderDrawParameters; + }; + + struct VkPhysicalDeviceVulkan11Features + { + VkStructureType sType; + void* pNext; + VkBool32 storageBuffer16BitAccess; + VkBool32 uniformAndStorageBuffer16BitAccess; + VkBool32 storagePushConstant16; + VkBool32 storageInputOutput16; + VkBool32 multiview; + VkBool32 multiviewGeometryShader; + VkBool32 multiviewTessellationShader; + VkBool32 variablePointersStorageBuffer; + VkBool32 variablePointers; + VkBool32 protectedMemory; + VkBool32 samplerYcbcrConversion; + VkBool32 shaderDrawParameters; + }; + + struct VkPhysicalDeviceVulkan11Properties + { + VkStructureType sType; + void* pNext; + uint8_t deviceUUID[VK_UUID_SIZE]; + uint8_t driverUUID[VK_UUID_SIZE]; + uint8_t deviceLUID[VK_LUID_SIZE]; + uint32_t deviceNodeMask; + VkBool32 deviceLUIDValid; + uint32_t subgroupSize; + VkShaderStageFlags subgroupSupportedStages; + VkSubgroupFeatureFlags subgroupSupportedOperations; + VkBool32 subgroupQuadOperationsInAllStages; + VkPointClippingBehavior pointClippingBehavior; + uint32_t maxMultiviewViewCount; + uint32_t maxMultiviewInstanceIndex; + VkBool32 protectedNoFault; + uint32_t maxPerSetDescriptors; + VkDeviceSize maxMemoryAllocationSize; + }; + + struct VkPhysicalDeviceVulkan12Features + { + VkStructureType sType; + void* pNext; + VkBool32 samplerMirrorClampToEdge; + VkBool32 drawIndirectCount; + VkBool32 storageBuffer8BitAccess; + VkBool32 uniformAndStorageBuffer8BitAccess; + VkBool32 storagePushConstant8; + VkBool32 shaderBufferInt64Atomics; + VkBool32 shaderSharedInt64Atomics; + VkBool32 shaderFloat16; + VkBool32 shaderInt8; + VkBool32 descriptorIndexing; + VkBool32 shaderInputAttachmentArrayDynamicIndexing; + VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; + VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; + VkBool32 shaderUniformBufferArrayNonUniformIndexing; + VkBool32 shaderSampledImageArrayNonUniformIndexing; + VkBool32 shaderStorageBufferArrayNonUniformIndexing; + VkBool32 shaderStorageImageArrayNonUniformIndexing; + VkBool32 shaderInputAttachmentArrayNonUniformIndexing; + VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; + VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; + VkBool32 descriptorBindingUniformBufferUpdateAfterBind; + VkBool32 descriptorBindingSampledImageUpdateAfterBind; + VkBool32 descriptorBindingStorageImageUpdateAfterBind; + VkBool32 descriptorBindingStorageBufferUpdateAfterBind; + VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingUpdateUnusedWhilePending; + VkBool32 descriptorBindingPartiallyBound; + VkBool32 descriptorBindingVariableDescriptorCount; + VkBool32 runtimeDescriptorArray; + VkBool32 samplerFilterMinmax; + VkBool32 scalarBlockLayout; + VkBool32 imagelessFramebuffer; + VkBool32 uniformBufferStandardLayout; + VkBool32 shaderSubgroupExtendedTypes; + VkBool32 separateDepthStencilLayouts; + VkBool32 hostQueryReset; + VkBool32 timelineSemaphore; + VkBool32 bufferDeviceAddress; + VkBool32 bufferDeviceAddressCaptureReplay; + VkBool32 bufferDeviceAddressMultiDevice; + VkBool32 vulkanMemoryModel; + VkBool32 vulkanMemoryModelDeviceScope; + VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; + VkBool32 shaderOutputViewportIndex; + VkBool32 shaderOutputLayer; + VkBool32 subgroupBroadcastDynamicId; + }; + + struct VkConformanceVersion + { + uint8_t major; + uint8_t minor; + uint8_t subminor; + uint8_t patch; + }; + + struct VkPhysicalDeviceVulkan12Properties + { + VkStructureType sType; + void* pNext; + VkDriverId driverID; + char driverName[VK_MAX_DRIVER_NAME_SIZE]; + char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; + VkConformanceVersion conformanceVersion; + VkShaderFloatControlsIndependence denormBehaviorIndependence; + VkShaderFloatControlsIndependence roundingModeIndependence; + VkBool32 shaderSignedZeroInfNanPreserveFloat16; + VkBool32 shaderSignedZeroInfNanPreserveFloat32; + VkBool32 shaderSignedZeroInfNanPreserveFloat64; + VkBool32 shaderDenormPreserveFloat16; + VkBool32 shaderDenormPreserveFloat32; + VkBool32 shaderDenormPreserveFloat64; + VkBool32 shaderDenormFlushToZeroFloat16; + VkBool32 shaderDenormFlushToZeroFloat32; + VkBool32 shaderDenormFlushToZeroFloat64; + VkBool32 shaderRoundingModeRTEFloat16; + VkBool32 shaderRoundingModeRTEFloat32; + VkBool32 shaderRoundingModeRTEFloat64; + VkBool32 shaderRoundingModeRTZFloat16; + VkBool32 shaderRoundingModeRTZFloat32; + VkBool32 shaderRoundingModeRTZFloat64; + uint32_t maxUpdateAfterBindDescriptorsInAllPools; + VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; + VkBool32 shaderSampledImageArrayNonUniformIndexingNative; + VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; + VkBool32 shaderStorageImageArrayNonUniformIndexingNative; + VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; + VkBool32 robustBufferAccessUpdateAfterBind; + VkBool32 quadDivergentImplicitLod; + uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; + uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; + uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; + uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; + uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; + uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; + uint32_t maxPerStageUpdateAfterBindResources; + uint32_t maxDescriptorSetUpdateAfterBindSamplers; + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; + uint32_t maxDescriptorSetUpdateAfterBindSampledImages; + uint32_t maxDescriptorSetUpdateAfterBindStorageImages; + uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; + VkResolveModeFlags supportedDepthResolveModes; + VkResolveModeFlags supportedStencilResolveModes; + VkBool32 independentResolveNone; + VkBool32 independentResolve; + VkBool32 filterMinmaxSingleComponentFormats; + VkBool32 filterMinmaxImageComponentMapping; + uint64_t maxTimelineSemaphoreValueDifference; + VkSampleCountFlags framebufferIntegerColorSampleCounts; + }; + + struct VkImageFormatListCreateInfo + { + VkStructureType sType; + const void* pNext; + uint32_t viewFormatCount; + const VkFormat* pViewFormats; + }; + + struct VkAttachmentDescription2 + { + VkStructureType sType; + const void* pNext; + VkAttachmentDescriptionFlags flags; + VkFormat format; + VkSampleCountFlagBits samples; + VkAttachmentLoadOp loadOp; + VkAttachmentStoreOp storeOp; + VkAttachmentLoadOp stencilLoadOp; + VkAttachmentStoreOp stencilStoreOp; + VkImageLayout initialLayout; + VkImageLayout finalLayout; + }; + + struct VkAttachmentReference2 + { + VkStructureType sType; + const void* pNext; + uint32_t attachment; + VkImageLayout layout; + VkImageAspectFlags aspectMask; + }; + + struct VkSubpassDescription2 + { + VkStructureType sType; + const void* pNext; + VkSubpassDescriptionFlags flags; + VkPipelineBindPoint pipelineBindPoint; + uint32_t viewMask; + uint32_t inputAttachmentCount; + const VkAttachmentReference2* pInputAttachments; + uint32_t colorAttachmentCount; + const VkAttachmentReference2* pColorAttachments; + const VkAttachmentReference2* pResolveAttachments; + const VkAttachmentReference2* pDepthStencilAttachment; + uint32_t preserveAttachmentCount; + const uint32_t* pPreserveAttachments; + }; + + struct VkSubpassDependency2 + { + VkStructureType sType; + const void* pNext; + uint32_t srcSubpass; + uint32_t dstSubpass; + VkPipelineStageFlags srcStageMask; + VkPipelineStageFlags dstStageMask; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + VkDependencyFlags dependencyFlags; + int32_t viewOffset; + }; + + struct VkRenderPassCreateInfo2 + { + VkStructureType sType; + const void* pNext; + VkRenderPassCreateFlags flags; + uint32_t attachmentCount; + const VkAttachmentDescription2* pAttachments; + uint32_t subpassCount; + const VkSubpassDescription2* pSubpasses; + uint32_t dependencyCount; + const VkSubpassDependency2* pDependencies; + uint32_t correlatedViewMaskCount; + const uint32_t* pCorrelatedViewMasks; + }; + + struct VkSubpassBeginInfo + { + VkStructureType sType; + const void* pNext; + VkSubpassContents contents; + }; + + struct VkSubpassEndInfo + { + VkStructureType sType; + const void* pNext; + }; + + struct VkPhysicalDevice8BitStorageFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 storageBuffer8BitAccess; + VkBool32 uniformAndStorageBuffer8BitAccess; + VkBool32 storagePushConstant8; + }; + + struct VkPhysicalDeviceDriverProperties + { + VkStructureType sType; + void* pNext; + VkDriverId driverID; + char driverName[VK_MAX_DRIVER_NAME_SIZE]; + char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; + VkConformanceVersion conformanceVersion; + }; + + struct VkPhysicalDeviceShaderAtomicInt64Features + { + VkStructureType sType; + void* pNext; + VkBool32 shaderBufferInt64Atomics; + VkBool32 shaderSharedInt64Atomics; + }; + + struct VkPhysicalDeviceShaderFloat16Int8Features + { + VkStructureType sType; + void* pNext; + VkBool32 shaderFloat16; + VkBool32 shaderInt8; + }; + + struct VkPhysicalDeviceFloatControlsProperties + { + VkStructureType sType; + void* pNext; + VkShaderFloatControlsIndependence denormBehaviorIndependence; + VkShaderFloatControlsIndependence roundingModeIndependence; + VkBool32 shaderSignedZeroInfNanPreserveFloat16; + VkBool32 shaderSignedZeroInfNanPreserveFloat32; + VkBool32 shaderSignedZeroInfNanPreserveFloat64; + VkBool32 shaderDenormPreserveFloat16; + VkBool32 shaderDenormPreserveFloat32; + VkBool32 shaderDenormPreserveFloat64; + VkBool32 shaderDenormFlushToZeroFloat16; + VkBool32 shaderDenormFlushToZeroFloat32; + VkBool32 shaderDenormFlushToZeroFloat64; + VkBool32 shaderRoundingModeRTEFloat16; + VkBool32 shaderRoundingModeRTEFloat32; + VkBool32 shaderRoundingModeRTEFloat64; + VkBool32 shaderRoundingModeRTZFloat16; + VkBool32 shaderRoundingModeRTZFloat32; + VkBool32 shaderRoundingModeRTZFloat64; + }; + + struct VkDescriptorSetLayoutBindingFlagsCreateInfo + { + VkStructureType sType; + const void* pNext; + uint32_t bindingCount; + const VkDescriptorBindingFlags* pBindingFlags; + }; + + struct VkPhysicalDeviceDescriptorIndexingFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 shaderInputAttachmentArrayDynamicIndexing; + VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; + VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; + VkBool32 shaderUniformBufferArrayNonUniformIndexing; + VkBool32 shaderSampledImageArrayNonUniformIndexing; + VkBool32 shaderStorageBufferArrayNonUniformIndexing; + VkBool32 shaderStorageImageArrayNonUniformIndexing; + VkBool32 shaderInputAttachmentArrayNonUniformIndexing; + VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; + VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; + VkBool32 descriptorBindingUniformBufferUpdateAfterBind; + VkBool32 descriptorBindingSampledImageUpdateAfterBind; + VkBool32 descriptorBindingStorageImageUpdateAfterBind; + VkBool32 descriptorBindingStorageBufferUpdateAfterBind; + VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingUpdateUnusedWhilePending; + VkBool32 descriptorBindingPartiallyBound; + VkBool32 descriptorBindingVariableDescriptorCount; + VkBool32 runtimeDescriptorArray; + }; + + struct VkPhysicalDeviceDescriptorIndexingProperties + { + VkStructureType sType; + void* pNext; + uint32_t maxUpdateAfterBindDescriptorsInAllPools; + VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; + VkBool32 shaderSampledImageArrayNonUniformIndexingNative; + VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; + VkBool32 shaderStorageImageArrayNonUniformIndexingNative; + VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; + VkBool32 robustBufferAccessUpdateAfterBind; + VkBool32 quadDivergentImplicitLod; + uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; + uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; + uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; + uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; + uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; + uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; + uint32_t maxPerStageUpdateAfterBindResources; + uint32_t maxDescriptorSetUpdateAfterBindSamplers; + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; + uint32_t maxDescriptorSetUpdateAfterBindSampledImages; + uint32_t maxDescriptorSetUpdateAfterBindStorageImages; + uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; + }; + + struct VkDescriptorSetVariableDescriptorCountAllocateInfo + { + VkStructureType sType; + const void* pNext; + uint32_t descriptorSetCount; + const uint32_t* pDescriptorCounts; + }; + + struct VkDescriptorSetVariableDescriptorCountLayoutSupport + { + VkStructureType sType; + void* pNext; + uint32_t maxVariableDescriptorCount; + }; + + struct VkSubpassDescriptionDepthStencilResolve + { + VkStructureType sType; + const void* pNext; + VkResolveModeFlagBits depthResolveMode; + VkResolveModeFlagBits stencilResolveMode; + const VkAttachmentReference2* pDepthStencilResolveAttachment; + }; + + struct VkPhysicalDeviceDepthStencilResolveProperties + { + VkStructureType sType; + void* pNext; + VkResolveModeFlags supportedDepthResolveModes; + VkResolveModeFlags supportedStencilResolveModes; + VkBool32 independentResolveNone; + VkBool32 independentResolve; + }; + + struct VkPhysicalDeviceScalarBlockLayoutFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 scalarBlockLayout; + }; + + struct VkImageStencilUsageCreateInfo + { + VkStructureType sType; + const void* pNext; + VkImageUsageFlags stencilUsage; + }; + + struct VkSamplerReductionModeCreateInfo + { + VkStructureType sType; + const void* pNext; + VkSamplerReductionMode reductionMode; + }; + + struct VkPhysicalDeviceSamplerFilterMinmaxProperties + { + VkStructureType sType; + void* pNext; + VkBool32 filterMinmaxSingleComponentFormats; + VkBool32 filterMinmaxImageComponentMapping; + }; + + struct VkPhysicalDeviceVulkanMemoryModelFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 vulkanMemoryModel; + VkBool32 vulkanMemoryModelDeviceScope; + VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; + }; + + struct VkPhysicalDeviceImagelessFramebufferFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 imagelessFramebuffer; + }; + + struct VkFramebufferAttachmentImageInfo + { + VkStructureType sType; + const void* pNext; + VkImageCreateFlags flags; + VkImageUsageFlags usage; + uint32_t width; + uint32_t height; + uint32_t layerCount; + uint32_t viewFormatCount; + const VkFormat* pViewFormats; + }; + + struct VkFramebufferAttachmentsCreateInfo + { + VkStructureType sType; + const void* pNext; + uint32_t attachmentImageInfoCount; + const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; + }; + + struct VkRenderPassAttachmentBeginInfo + { + VkStructureType sType; + const void* pNext; + uint32_t attachmentCount; + const VkImageView* pAttachments; + }; + + struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 uniformBufferStandardLayout; + }; + + struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 shaderSubgroupExtendedTypes; + }; + + struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 separateDepthStencilLayouts; + }; + + struct VkAttachmentReferenceStencilLayout + { + VkStructureType sType; + void* pNext; + VkImageLayout stencilLayout; + }; + + struct VkAttachmentDescriptionStencilLayout + { + VkStructureType sType; + void* pNext; + VkImageLayout stencilInitialLayout; + VkImageLayout stencilFinalLayout; + }; + + struct VkPhysicalDeviceHostQueryResetFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 hostQueryReset; + }; + + struct VkPhysicalDeviceTimelineSemaphoreFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 timelineSemaphore; + }; + + struct VkPhysicalDeviceTimelineSemaphoreProperties + { + VkStructureType sType; + void* pNext; + uint64_t maxTimelineSemaphoreValueDifference; + }; + + struct VkSemaphoreTypeCreateInfo + { + VkStructureType sType; + const void* pNext; + VkSemaphoreType semaphoreType; + uint64_t initialValue; + }; + + struct VkTimelineSemaphoreSubmitInfo + { + VkStructureType sType; + const void* pNext; + uint32_t waitSemaphoreValueCount; + const uint64_t* pWaitSemaphoreValues; + uint32_t signalSemaphoreValueCount; + const uint64_t* pSignalSemaphoreValues; + }; + + struct VkSemaphoreWaitInfo + { + VkStructureType sType; + const void* pNext; + VkSemaphoreWaitFlags flags; + uint32_t semaphoreCount; + const VkSemaphore* pSemaphores; + const uint64_t* pValues; + }; + + struct VkSemaphoreSignalInfo + { + VkStructureType sType; + const void* pNext; + VkSemaphore semaphore; + uint64_t value; + }; + + struct VkPhysicalDeviceBufferDeviceAddressFeatures + { + VkStructureType sType; + void* pNext; + VkBool32 bufferDeviceAddress; + VkBool32 bufferDeviceAddressCaptureReplay; + VkBool32 bufferDeviceAddressMultiDevice; + }; + + struct VkBufferDeviceAddressInfo + { + VkStructureType sType; + const void* pNext; + VkBuffer buffer; + }; + + struct VkBufferOpaqueCaptureAddressCreateInfo + { + VkStructureType sType; + const void* pNext; + uint64_t opaqueCaptureAddress; + }; + + struct VkMemoryOpaqueCaptureAddressAllocateInfo + { + VkStructureType sType; + const void* pNext; + uint64_t opaqueCaptureAddress; + }; + + struct VkDeviceMemoryOpaqueCaptureAddressInfo + { + VkStructureType sType; + const void* pNext; + VkDeviceMemory memory; + }; + ++struct VkPhysicalDeviceVulkan13Features ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 robustImageAccess; ++ VkBool32 inlineUniformBlock; ++ VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; ++ VkBool32 pipelineCreationCacheControl; ++ VkBool32 privateData; ++ VkBool32 shaderDemoteToHelperInvocation; ++ VkBool32 shaderTerminateInvocation; ++ VkBool32 subgroupSizeControl; ++ VkBool32 computeFullSubgroups; ++ VkBool32 synchronization2; ++ VkBool32 textureCompressionASTC_HDR; ++ VkBool32 shaderZeroInitializeWorkgroupMemory; ++ VkBool32 dynamicRendering; ++ VkBool32 shaderIntegerDotProduct; ++ VkBool32 maintenance4; ++}; ++ ++struct VkPhysicalDeviceVulkan13Properties ++{ ++ VkStructureType sType; ++ void* pNext; ++ uint32_t minSubgroupSize; ++ uint32_t maxSubgroupSize; ++ uint32_t maxComputeWorkgroupSubgroups; ++ VkShaderStageFlags requiredSubgroupSizeStages; ++ uint32_t maxInlineUniformBlockSize; ++ uint32_t maxPerStageDescriptorInlineUniformBlocks; ++ uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; ++ uint32_t maxDescriptorSetInlineUniformBlocks; ++ uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; ++ uint32_t maxInlineUniformTotalSize; ++ VkBool32 integerDotProduct8BitUnsignedAccelerated; ++ VkBool32 integerDotProduct8BitSignedAccelerated; ++ VkBool32 integerDotProduct8BitMixedSignednessAccelerated; ++ VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; ++ VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; ++ VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; ++ VkBool32 integerDotProduct16BitUnsignedAccelerated; ++ VkBool32 integerDotProduct16BitSignedAccelerated; ++ VkBool32 integerDotProduct16BitMixedSignednessAccelerated; ++ VkBool32 integerDotProduct32BitUnsignedAccelerated; ++ VkBool32 integerDotProduct32BitSignedAccelerated; ++ VkBool32 integerDotProduct32BitMixedSignednessAccelerated; ++ VkBool32 integerDotProduct64BitUnsignedAccelerated; ++ VkBool32 integerDotProduct64BitSignedAccelerated; ++ VkBool32 integerDotProduct64BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; ++ VkDeviceSize storageTexelBufferOffsetAlignmentBytes; ++ VkBool32 storageTexelBufferOffsetSingleTexelAlignment; ++ VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; ++ VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; ++ VkDeviceSize maxBufferSize; ++}; ++ ++struct VkPipelineCreationFeedback ++{ ++ VkPipelineCreationFeedbackFlags flags; ++ uint64_t duration; ++}; ++ ++struct VkPipelineCreationFeedbackCreateInfo ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkPipelineCreationFeedback* pPipelineCreationFeedback; ++ uint32_t pipelineStageCreationFeedbackCount; ++ VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks; ++}; ++ ++struct VkPhysicalDeviceShaderTerminateInvocationFeatures ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 shaderTerminateInvocation; ++}; ++ ++struct VkPhysicalDeviceToolProperties ++{ ++ VkStructureType sType; ++ void* pNext; ++ char name[VK_MAX_EXTENSION_NAME_SIZE]; ++ char version[VK_MAX_EXTENSION_NAME_SIZE]; ++ VkToolPurposeFlags purposes; ++ char description[VK_MAX_DESCRIPTION_SIZE]; ++ char layer[VK_MAX_EXTENSION_NAME_SIZE]; ++}; ++ ++struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 shaderDemoteToHelperInvocation; ++}; ++ ++struct VkPhysicalDevicePrivateDataFeatures ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 privateData; ++}; ++ ++struct VkDevicePrivateDataCreateInfo ++{ ++ VkStructureType sType; ++ const void* pNext; ++ uint32_t privateDataSlotRequestCount; ++}; ++ ++struct VkPrivateDataSlotCreateInfo ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkPrivateDataSlotCreateFlags flags; ++}; ++ ++struct VkPhysicalDevicePipelineCreationCacheControlFeatures ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 pipelineCreationCacheControl; ++}; ++ ++struct VkMemoryBarrier2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkPipelineStageFlags2 srcStageMask; ++ VkAccessFlags2 srcAccessMask; ++ VkPipelineStageFlags2 dstStageMask; ++ VkAccessFlags2 dstAccessMask; ++}; ++ ++struct VkBufferMemoryBarrier2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkPipelineStageFlags2 srcStageMask; ++ VkAccessFlags2 srcAccessMask; ++ VkPipelineStageFlags2 dstStageMask; ++ VkAccessFlags2 dstAccessMask; ++ uint32_t srcQueueFamilyIndex; ++ uint32_t dstQueueFamilyIndex; ++ VkBuffer buffer; ++ VkDeviceSize offset; ++ VkDeviceSize size; ++}; ++ ++struct VkImageMemoryBarrier2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkPipelineStageFlags2 srcStageMask; ++ VkAccessFlags2 srcAccessMask; ++ VkPipelineStageFlags2 dstStageMask; ++ VkAccessFlags2 dstAccessMask; ++ VkImageLayout oldLayout; ++ VkImageLayout newLayout; ++ uint32_t srcQueueFamilyIndex; ++ uint32_t dstQueueFamilyIndex; ++ VkImage image; ++ VkImageSubresourceRange subresourceRange; ++}; ++ ++struct VkDependencyInfo ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkDependencyFlags dependencyFlags; ++ uint32_t memoryBarrierCount; ++ const VkMemoryBarrier2* pMemoryBarriers; ++ uint32_t bufferMemoryBarrierCount; ++ const VkBufferMemoryBarrier2* pBufferMemoryBarriers; ++ uint32_t imageMemoryBarrierCount; ++ const VkImageMemoryBarrier2* pImageMemoryBarriers; ++}; ++ ++struct VkSemaphoreSubmitInfo ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkSemaphore semaphore; ++ uint64_t value; ++ VkPipelineStageFlags2 stageMask; ++ uint32_t deviceIndex; ++}; ++ ++struct VkCommandBufferSubmitInfo ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkCommandBuffer commandBuffer; ++ uint32_t deviceMask; ++}; ++ ++struct VkSubmitInfo2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkSubmitFlags flags; ++ uint32_t waitSemaphoreInfoCount; ++ const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos; ++ uint32_t commandBufferInfoCount; ++ const VkCommandBufferSubmitInfo* pCommandBufferInfos; ++ uint32_t signalSemaphoreInfoCount; ++ const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos; ++}; ++ ++struct VkPhysicalDeviceSynchronization2Features ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 synchronization2; ++}; ++ ++struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 shaderZeroInitializeWorkgroupMemory; ++}; ++ ++struct VkPhysicalDeviceImageRobustnessFeatures ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 robustImageAccess; ++}; ++ ++struct VkBufferCopy2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkDeviceSize srcOffset; ++ VkDeviceSize dstOffset; ++ VkDeviceSize size; ++}; ++ ++struct VkCopyBufferInfo2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkBuffer srcBuffer; ++ VkBuffer dstBuffer; ++ uint32_t regionCount; ++ const VkBufferCopy2* pRegions; ++}; ++ ++struct VkImageCopy2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkImageSubresourceLayers srcSubresource; ++ VkOffset3D srcOffset; ++ VkImageSubresourceLayers dstSubresource; ++ VkOffset3D dstOffset; ++ VkExtent3D extent; ++}; ++ ++struct VkCopyImageInfo2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkImage srcImage; ++ VkImageLayout srcImageLayout; ++ VkImage dstImage; ++ VkImageLayout dstImageLayout; ++ uint32_t regionCount; ++ const VkImageCopy2* pRegions; ++}; ++ ++struct VkBufferImageCopy2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkDeviceSize bufferOffset; ++ uint32_t bufferRowLength; ++ uint32_t bufferImageHeight; ++ VkImageSubresourceLayers imageSubresource; ++ VkOffset3D imageOffset; ++ VkExtent3D imageExtent; ++}; ++ ++struct VkCopyBufferToImageInfo2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkBuffer srcBuffer; ++ VkImage dstImage; ++ VkImageLayout dstImageLayout; ++ uint32_t regionCount; ++ const VkBufferImageCopy2* pRegions; ++}; ++ ++struct VkCopyImageToBufferInfo2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkImage srcImage; ++ VkImageLayout srcImageLayout; ++ VkBuffer dstBuffer; ++ uint32_t regionCount; ++ const VkBufferImageCopy2* pRegions; ++}; ++ ++struct VkImageBlit2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkImageSubresourceLayers srcSubresource; ++ VkOffset3D srcOffsets[2]; ++ VkImageSubresourceLayers dstSubresource; ++ VkOffset3D dstOffsets[2]; ++}; ++ ++struct VkBlitImageInfo2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkImage srcImage; ++ VkImageLayout srcImageLayout; ++ VkImage dstImage; ++ VkImageLayout dstImageLayout; ++ uint32_t regionCount; ++ const VkImageBlit2* pRegions; ++ VkFilter filter; ++}; ++ ++struct VkImageResolve2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkImageSubresourceLayers srcSubresource; ++ VkOffset3D srcOffset; ++ VkImageSubresourceLayers dstSubresource; ++ VkOffset3D dstOffset; ++ VkExtent3D extent; ++}; ++ ++struct VkResolveImageInfo2 ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkImage srcImage; ++ VkImageLayout srcImageLayout; ++ VkImage dstImage; ++ VkImageLayout dstImageLayout; ++ uint32_t regionCount; ++ const VkImageResolve2* pRegions; ++}; ++ ++struct VkPhysicalDeviceSubgroupSizeControlFeatures ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 subgroupSizeControl; ++ VkBool32 computeFullSubgroups; ++}; ++ ++struct VkPhysicalDeviceSubgroupSizeControlProperties ++{ ++ VkStructureType sType; ++ void* pNext; ++ uint32_t minSubgroupSize; ++ uint32_t maxSubgroupSize; ++ uint32_t maxComputeWorkgroupSubgroups; ++ VkShaderStageFlags requiredSubgroupSizeStages; ++}; ++ ++struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo ++{ ++ VkStructureType sType; ++ void* pNext; ++ uint32_t requiredSubgroupSize; ++}; ++ ++struct VkPhysicalDeviceInlineUniformBlockFeatures ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 inlineUniformBlock; ++ VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; ++}; ++ ++struct VkPhysicalDeviceInlineUniformBlockProperties ++{ ++ VkStructureType sType; ++ void* pNext; ++ uint32_t maxInlineUniformBlockSize; ++ uint32_t maxPerStageDescriptorInlineUniformBlocks; ++ uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; ++ uint32_t maxDescriptorSetInlineUniformBlocks; ++ uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; ++}; ++ ++struct VkWriteDescriptorSetInlineUniformBlock ++{ ++ VkStructureType sType; ++ const void* pNext; ++ uint32_t dataSize; ++ const void* pData; ++}; ++ ++struct VkDescriptorPoolInlineUniformBlockCreateInfo ++{ ++ VkStructureType sType; ++ const void* pNext; ++ uint32_t maxInlineUniformBlockBindings; ++}; ++ ++struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 textureCompressionASTC_HDR; ++}; ++ ++struct VkRenderingAttachmentInfo ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkImageView imageView; ++ VkImageLayout imageLayout; ++ VkResolveModeFlagBits resolveMode; ++ VkImageView resolveImageView; ++ VkImageLayout resolveImageLayout; ++ VkAttachmentLoadOp loadOp; ++ VkAttachmentStoreOp storeOp; ++ VkClearValue clearValue; ++}; ++ ++struct VkRenderingInfo ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkRenderingFlags flags; ++ VkRect2D renderArea; ++ uint32_t layerCount; ++ uint32_t viewMask; ++ uint32_t colorAttachmentCount; ++ const VkRenderingAttachmentInfo* pColorAttachments; ++ const VkRenderingAttachmentInfo* pDepthAttachment; ++ const VkRenderingAttachmentInfo* pStencilAttachment; ++}; ++ ++struct VkPipelineRenderingCreateInfo ++{ ++ VkStructureType sType; ++ const void* pNext; ++ uint32_t viewMask; ++ uint32_t colorAttachmentCount; ++ const VkFormat* pColorAttachmentFormats; ++ VkFormat depthAttachmentFormat; ++ VkFormat stencilAttachmentFormat; ++}; ++ ++struct VkPhysicalDeviceDynamicRenderingFeatures ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 dynamicRendering; ++}; ++ ++struct VkCommandBufferInheritanceRenderingInfo ++{ ++ VkStructureType sType; ++ const void* pNext; ++ VkRenderingFlags flags; ++ uint32_t viewMask; ++ uint32_t colorAttachmentCount; ++ const VkFormat* pColorAttachmentFormats; ++ VkFormat depthAttachmentFormat; ++ VkFormat stencilAttachmentFormat; ++ VkSampleCountFlagBits rasterizationSamples; ++}; ++ ++struct VkPhysicalDeviceShaderIntegerDotProductFeatures ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 shaderIntegerDotProduct; ++}; ++ ++struct VkPhysicalDeviceShaderIntegerDotProductProperties ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 integerDotProduct8BitUnsignedAccelerated; ++ VkBool32 integerDotProduct8BitSignedAccelerated; ++ VkBool32 integerDotProduct8BitMixedSignednessAccelerated; ++ VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; ++ VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; ++ VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; ++ VkBool32 integerDotProduct16BitUnsignedAccelerated; ++ VkBool32 integerDotProduct16BitSignedAccelerated; ++ VkBool32 integerDotProduct16BitMixedSignednessAccelerated; ++ VkBool32 integerDotProduct32BitUnsignedAccelerated; ++ VkBool32 integerDotProduct32BitSignedAccelerated; ++ VkBool32 integerDotProduct32BitMixedSignednessAccelerated; ++ VkBool32 integerDotProduct64BitUnsignedAccelerated; ++ VkBool32 integerDotProduct64BitSignedAccelerated; ++ VkBool32 integerDotProduct64BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; ++}; ++ ++struct VkPhysicalDeviceTexelBufferAlignmentProperties ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkDeviceSize storageTexelBufferOffsetAlignmentBytes; ++ VkBool32 storageTexelBufferOffsetSingleTexelAlignment; ++ VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; ++ VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; ++}; ++ ++struct VkFormatProperties3 ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkFormatFeatureFlags2 linearTilingFeatures; ++ VkFormatFeatureFlags2 optimalTilingFeatures; ++ VkFormatFeatureFlags2 bufferFeatures; ++}; ++ ++struct VkPhysicalDeviceMaintenance4Features ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 maintenance4; ++}; ++ ++struct VkPhysicalDeviceMaintenance4Properties ++{ ++ VkStructureType sType; ++ void* pNext; ++ VkDeviceSize maxBufferSize; ++}; ++ ++struct VkDeviceBufferMemoryRequirements ++{ ++ VkStructureType sType; ++ const void* pNext; ++ const VkBufferCreateInfo* pCreateInfo; ++}; ++ ++struct VkDeviceImageMemoryRequirements ++{ ++ VkStructureType sType; ++ const void* pNext; ++ const VkImageCreateInfo* pCreateInfo; ++ VkImageAspectFlagBits planeAspect; ++}; ++ + struct VkSurfaceCapabilitiesKHR + { + uint32_t minImageCount; + uint32_t maxImageCount; + VkExtent2D currentExtent; + VkExtent2D minImageExtent; + VkExtent2D maxImageExtent; + uint32_t maxImageArrayLayers; + VkSurfaceTransformFlagsKHR supportedTransforms; + VkSurfaceTransformFlagBitsKHR currentTransform; + VkCompositeAlphaFlagsKHR supportedCompositeAlpha; + VkImageUsageFlags supportedUsageFlags; + }; + + struct VkSurfaceFormatKHR + { + VkFormat format; + VkColorSpaceKHR colorSpace; + }; + + struct VkSwapchainCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkSwapchainCreateFlagsKHR flags; + VkSurfaceKHR surface; + uint32_t minImageCount; + VkFormat imageFormat; + VkColorSpaceKHR imageColorSpace; + VkExtent2D imageExtent; + uint32_t imageArrayLayers; + VkImageUsageFlags imageUsage; + VkSharingMode imageSharingMode; + uint32_t queueFamilyIndexCount; + const uint32_t* pQueueFamilyIndices; + VkSurfaceTransformFlagBitsKHR preTransform; + VkCompositeAlphaFlagBitsKHR compositeAlpha; + VkPresentModeKHR presentMode; + VkBool32 clipped; + VkSwapchainKHR oldSwapchain; + }; + + struct VkPresentInfoKHR + { + VkStructureType sType; + const void* pNext; + uint32_t waitSemaphoreCount; + const VkSemaphore* pWaitSemaphores; + uint32_t swapchainCount; + const VkSwapchainKHR* pSwapchains; + const uint32_t* pImageIndices; + VkResult* pResults; + }; + + struct VkImageSwapchainCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkSwapchainKHR swapchain; + }; + + struct VkBindImageMemorySwapchainInfoKHR + { + VkStructureType sType; + const void* pNext; + VkSwapchainKHR swapchain; + uint32_t imageIndex; + }; + + struct VkAcquireNextImageInfoKHR + { + VkStructureType sType; + const void* pNext; + VkSwapchainKHR swapchain; + uint64_t timeout; + VkSemaphore semaphore; + VkFence fence; + uint32_t deviceMask; + }; + + struct VkDeviceGroupPresentCapabilitiesKHR + { + VkStructureType sType; + void* pNext; + uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]; + VkDeviceGroupPresentModeFlagsKHR modes; + }; + + struct VkDeviceGroupPresentInfoKHR + { + VkStructureType sType; + const void* pNext; + uint32_t swapchainCount; + const uint32_t* pDeviceMasks; + VkDeviceGroupPresentModeFlagBitsKHR mode; + }; + + struct VkDeviceGroupSwapchainCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkDeviceGroupPresentModeFlagsKHR modes; + }; + + struct VkDisplayModeParametersKHR + { + VkExtent2D visibleRegion; + uint32_t refreshRate; + }; + + struct VkDisplayModeCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkDisplayModeCreateFlagsKHR flags; + VkDisplayModeParametersKHR parameters; + }; + + struct VkDisplayModePropertiesKHR + { + VkDisplayModeKHR displayMode; + VkDisplayModeParametersKHR parameters; + }; + + struct VkDisplayPlaneCapabilitiesKHR + { + VkDisplayPlaneAlphaFlagsKHR supportedAlpha; + VkOffset2D minSrcPosition; + VkOffset2D maxSrcPosition; + VkExtent2D minSrcExtent; + VkExtent2D maxSrcExtent; + VkOffset2D minDstPosition; + VkOffset2D maxDstPosition; + VkExtent2D minDstExtent; + VkExtent2D maxDstExtent; + }; + + struct VkDisplayPlanePropertiesKHR + { + VkDisplayKHR currentDisplay; + uint32_t currentStackIndex; + }; + + struct VkDisplayPropertiesKHR + { + VkDisplayKHR display; + const char* displayName; + VkExtent2D physicalDimensions; + VkExtent2D physicalResolution; + VkSurfaceTransformFlagsKHR supportedTransforms; - VkBool32 planeReorderPossible; - VkBool32 persistentContent; -}; - -struct VkDisplaySurfaceCreateInfoKHR -{ - VkStructureType sType; - const void* pNext; - VkDisplaySurfaceCreateFlagsKHR flags; - VkDisplayModeKHR displayMode; - uint32_t planeIndex; - uint32_t planeStackIndex; - VkSurfaceTransformFlagBitsKHR transform; - float globalAlpha; - VkDisplayPlaneAlphaFlagBitsKHR alphaMode; - VkExtent2D imageExtent; -}; - -struct VkDisplayPresentInfoKHR -{ - VkStructureType sType; - const void* pNext; - VkRect2D srcRect; - VkRect2D dstRect; - VkBool32 persistent; -}; - -struct VkRenderingAttachmentInfoKHR -{ - VkStructureType sType; - const void* pNext; - VkImageView imageView; - VkImageLayout imageLayout; - VkResolveModeFlagBits resolveMode; - VkImageView resolveImageView; - VkImageLayout resolveImageLayout; - VkAttachmentLoadOp loadOp; - VkAttachmentStoreOp storeOp; - VkClearValue clearValue; -}; - -struct VkRenderingInfoKHR -{ - VkStructureType sType; - const void* pNext; - VkRenderingFlagsKHR flags; - VkRect2D renderArea; - uint32_t layerCount; - uint32_t viewMask; - uint32_t colorAttachmentCount; - const VkRenderingAttachmentInfoKHR* pColorAttachments; - const VkRenderingAttachmentInfoKHR* pDepthAttachment; - const VkRenderingAttachmentInfoKHR* pStencilAttachment; -}; - -struct VkPipelineRenderingCreateInfoKHR -{ - VkStructureType sType; - const void* pNext; - uint32_t viewMask; - uint32_t colorAttachmentCount; - const VkFormat* pColorAttachmentFormats; - VkFormat depthAttachmentFormat; - VkFormat stencilAttachmentFormat; ++ VkBool32 planeReorderPossible; ++ VkBool32 persistentContent; + }; + -struct VkPhysicalDeviceDynamicRenderingFeaturesKHR ++struct VkDisplaySurfaceCreateInfoKHR + { - VkStructureType sType; - void* pNext; - VkBool32 dynamicRendering; ++ VkStructureType sType; ++ const void* pNext; ++ VkDisplaySurfaceCreateFlagsKHR flags; ++ VkDisplayModeKHR displayMode; ++ uint32_t planeIndex; ++ uint32_t planeStackIndex; ++ VkSurfaceTransformFlagBitsKHR transform; ++ float globalAlpha; ++ VkDisplayPlaneAlphaFlagBitsKHR alphaMode; ++ VkExtent2D imageExtent; + }; + -struct VkCommandBufferInheritanceRenderingInfoKHR ++struct VkDisplayPresentInfoKHR + { - VkStructureType sType; - const void* pNext; - VkRenderingFlagsKHR flags; - uint32_t viewMask; - uint32_t colorAttachmentCount; - const VkFormat* pColorAttachmentFormats; - VkFormat depthAttachmentFormat; - VkFormat stencilAttachmentFormat; - VkSampleCountFlagBits rasterizationSamples; ++ VkStructureType sType; ++ const void* pNext; ++ VkRect2D srcRect; ++ VkRect2D dstRect; ++ VkBool32 persistent; + }; + + struct VkRenderingFragmentShadingRateAttachmentInfoKHR + { + VkStructureType sType; + const void* pNext; + VkImageView imageView; + VkImageLayout imageLayout; + VkExtent2D shadingRateAttachmentTexelSize; + }; + + struct VkRenderingFragmentDensityMapAttachmentInfoEXT + { + VkStructureType sType; + const void* pNext; + VkImageView imageView; + VkImageLayout imageLayout; + }; + + struct VkAttachmentSampleCountInfoAMD + { + VkStructureType sType; + const void* pNext; + uint32_t colorAttachmentCount; + const VkSampleCountFlagBits* pColorAttachmentSamples; + VkSampleCountFlagBits depthStencilAttachmentSamples; + }; + + struct VkMultiviewPerViewAttributesInfoNVX + { + VkStructureType sType; + const void* pNext; + VkBool32 perViewAttributes; + VkBool32 perViewAttributesPositionXOnly; + }; + + struct VkImportMemoryFdInfoKHR + { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagBits handleType; + int fd; + }; + + struct VkMemoryFdPropertiesKHR + { + VkStructureType sType; + void* pNext; + uint32_t memoryTypeBits; + }; + + struct VkMemoryGetFdInfoKHR + { + VkStructureType sType; + const void* pNext; + VkDeviceMemory memory; + VkExternalMemoryHandleTypeFlagBits handleType; + }; + + struct VkImportSemaphoreFdInfoKHR + { + VkStructureType sType; + const void* pNext; + VkSemaphore semaphore; + VkSemaphoreImportFlags flags; + VkExternalSemaphoreHandleTypeFlagBits handleType; + int fd; + }; + + struct VkSemaphoreGetFdInfoKHR + { + VkStructureType sType; + const void* pNext; + VkSemaphore semaphore; + VkExternalSemaphoreHandleTypeFlagBits handleType; + }; + + struct VkPhysicalDevicePushDescriptorPropertiesKHR + { + VkStructureType sType; + void* pNext; + uint32_t maxPushDescriptors; + }; + + struct VkRectLayerKHR + { + VkOffset2D offset; + VkExtent2D extent; + uint32_t layer; + }; + + struct VkPresentRegionKHR + { + uint32_t rectangleCount; + const VkRectLayerKHR* pRectangles; + }; + + struct VkPresentRegionsKHR + { + VkStructureType sType; + const void* pNext; + uint32_t swapchainCount; + const VkPresentRegionKHR* pRegions; + }; + + struct VkSharedPresentSurfaceCapabilitiesKHR + { + VkStructureType sType; + void* pNext; + VkImageUsageFlags sharedPresentSupportedUsageFlags; + }; + + struct VkImportFenceFdInfoKHR + { + VkStructureType sType; + const void* pNext; + VkFence fence; + VkFenceImportFlags flags; + VkExternalFenceHandleTypeFlagBits handleType; + int fd; + }; + + struct VkFenceGetFdInfoKHR + { + VkStructureType sType; + const void* pNext; + VkFence fence; + VkExternalFenceHandleTypeFlagBits handleType; + }; + + struct VkPhysicalDevicePerformanceQueryFeaturesKHR + { + VkStructureType sType; + void* pNext; + VkBool32 performanceCounterQueryPools; + VkBool32 performanceCounterMultipleQueryPools; + }; + + struct VkPhysicalDevicePerformanceQueryPropertiesKHR + { + VkStructureType sType; + void* pNext; + VkBool32 allowCommandBufferQueryCopies; + }; + + struct VkPerformanceCounterKHR + { + VkStructureType sType; + void* pNext; + VkPerformanceCounterUnitKHR unit; + VkPerformanceCounterScopeKHR scope; + VkPerformanceCounterStorageKHR storage; + uint8_t uuid[VK_UUID_SIZE]; + }; + + struct VkPerformanceCounterDescriptionKHR + { + VkStructureType sType; + void* pNext; + VkPerformanceCounterDescriptionFlagsKHR flags; + char name[VK_MAX_DESCRIPTION_SIZE]; + char category[VK_MAX_DESCRIPTION_SIZE]; + char description[VK_MAX_DESCRIPTION_SIZE]; + }; + + struct VkQueryPoolPerformanceCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + uint32_t queueFamilyIndex; + uint32_t counterIndexCount; + const uint32_t* pCounterIndices; + }; + + union VkPerformanceCounterResultKHR + { + int32_t int32; + int64_t int64; + uint32_t uint32; + uint64_t uint64; + float float32; + double float64; + }; + + struct VkAcquireProfilingLockInfoKHR + { + VkStructureType sType; + const void* pNext; + VkAcquireProfilingLockFlagsKHR flags; + uint64_t timeout; + }; + + struct VkPerformanceQuerySubmitInfoKHR + { + VkStructureType sType; + const void* pNext; + uint32_t counterPassIndex; + }; + + struct VkPhysicalDeviceSurfaceInfo2KHR + { + VkStructureType sType; + const void* pNext; + VkSurfaceKHR surface; + }; + + struct VkSurfaceCapabilities2KHR + { + VkStructureType sType; + void* pNext; + VkSurfaceCapabilitiesKHR surfaceCapabilities; + }; + + struct VkSurfaceFormat2KHR + { + VkStructureType sType; + void* pNext; + VkSurfaceFormatKHR surfaceFormat; + }; + + struct VkDisplayProperties2KHR + { + VkStructureType sType; + void* pNext; + VkDisplayPropertiesKHR displayProperties; + }; + + struct VkDisplayPlaneProperties2KHR + { + VkStructureType sType; + void* pNext; + VkDisplayPlanePropertiesKHR displayPlaneProperties; + }; + + struct VkDisplayModeProperties2KHR + { + VkStructureType sType; + void* pNext; + VkDisplayModePropertiesKHR displayModeProperties; + }; + + struct VkDisplayPlaneInfo2KHR + { + VkStructureType sType; + const void* pNext; + VkDisplayModeKHR mode; + uint32_t planeIndex; + }; + + struct VkDisplayPlaneCapabilities2KHR + { + VkStructureType sType; + void* pNext; + VkDisplayPlaneCapabilitiesKHR capabilities; + }; + + struct VkPhysicalDeviceShaderClockFeaturesKHR + { + VkStructureType sType; + void* pNext; + VkBool32 shaderSubgroupClock; + VkBool32 shaderDeviceClock; + }; + -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR -{ - VkStructureType sType; - void* pNext; - VkBool32 shaderTerminateInvocation; -}; - + struct VkFragmentShadingRateAttachmentInfoKHR + { + VkStructureType sType; + const void* pNext; + const VkAttachmentReference2* pFragmentShadingRateAttachment; + VkExtent2D shadingRateAttachmentTexelSize; + }; + + struct VkPipelineFragmentShadingRateStateCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkExtent2D fragmentSize; + VkFragmentShadingRateCombinerOpKHR combinerOps[2]; + }; + + struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR + { + VkStructureType sType; + void* pNext; + VkBool32 pipelineFragmentShadingRate; + VkBool32 primitiveFragmentShadingRate; + VkBool32 attachmentFragmentShadingRate; + }; + + struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR + { + VkStructureType sType; + void* pNext; + VkExtent2D minFragmentShadingRateAttachmentTexelSize; + VkExtent2D maxFragmentShadingRateAttachmentTexelSize; + uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio; + VkBool32 primitiveFragmentShadingRateWithMultipleViewports; + VkBool32 layeredShadingRateAttachments; + VkBool32 fragmentShadingRateNonTrivialCombinerOps; + VkExtent2D maxFragmentSize; + uint32_t maxFragmentSizeAspectRatio; + uint32_t maxFragmentShadingRateCoverageSamples; + VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; + VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; + VkBool32 fragmentShadingRateWithSampleMask; + VkBool32 fragmentShadingRateWithShaderSampleMask; + VkBool32 fragmentShadingRateWithConservativeRasterization; + VkBool32 fragmentShadingRateWithFragmentShaderInterlock; + VkBool32 fragmentShadingRateWithCustomSampleLocations; + VkBool32 fragmentShadingRateStrictMultiplyCombiner; + }; + + struct VkPhysicalDeviceFragmentShadingRateKHR + { + VkStructureType sType; + void* pNext; + VkSampleCountFlags sampleCounts; + VkExtent2D fragmentSize; + }; + + struct VkSurfaceProtectedCapabilitiesKHR + { + VkStructureType sType; + const void* pNext; + VkBool32 supportsProtected; + }; + + struct VkPhysicalDevicePresentWaitFeaturesKHR + { + VkStructureType sType; + void* pNext; + VkBool32 presentWait; + }; + + struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR + { + VkStructureType sType; + void* pNext; + VkBool32 pipelineExecutableInfo; + }; + + struct VkPipelineInfoKHR + { + VkStructureType sType; + const void* pNext; + VkPipeline pipeline; + }; + + struct VkPipelineExecutablePropertiesKHR + { + VkStructureType sType; + void* pNext; + VkShaderStageFlags stages; + char name[VK_MAX_DESCRIPTION_SIZE]; + char description[VK_MAX_DESCRIPTION_SIZE]; + uint32_t subgroupSize; + }; + + struct VkPipelineExecutableInfoKHR + { + VkStructureType sType; + const void* pNext; + VkPipeline pipeline; + uint32_t executableIndex; + }; + + union VkPipelineExecutableStatisticValueKHR + { + VkBool32 b32; + int64_t i64; - uint64_t u64; - double f64; -}; - -struct VkPipelineExecutableStatisticKHR -{ - VkStructureType sType; - void* pNext; - char name[VK_MAX_DESCRIPTION_SIZE]; - char description[VK_MAX_DESCRIPTION_SIZE]; - VkPipelineExecutableStatisticFormatKHR format; - VkPipelineExecutableStatisticValueKHR value; -}; - -struct VkPipelineExecutableInternalRepresentationKHR -{ - VkStructureType sType; - void* pNext; - char name[VK_MAX_DESCRIPTION_SIZE]; - char description[VK_MAX_DESCRIPTION_SIZE]; - VkBool32 isText; - size_t dataSize; - void* pData; -}; - -struct VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR -{ - VkStructureType sType; - void* pNext; - VkBool32 shaderIntegerDotProduct; -}; - -struct VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR -{ - VkStructureType sType; - void* pNext; - VkBool32 integerDotProduct8BitUnsignedAccelerated; - VkBool32 integerDotProduct8BitSignedAccelerated; - VkBool32 integerDotProduct8BitMixedSignednessAccelerated; - VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; - VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; - VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; - VkBool32 integerDotProduct16BitUnsignedAccelerated; - VkBool32 integerDotProduct16BitSignedAccelerated; - VkBool32 integerDotProduct16BitMixedSignednessAccelerated; - VkBool32 integerDotProduct32BitUnsignedAccelerated; - VkBool32 integerDotProduct32BitSignedAccelerated; - VkBool32 integerDotProduct32BitMixedSignednessAccelerated; - VkBool32 integerDotProduct64BitUnsignedAccelerated; - VkBool32 integerDotProduct64BitSignedAccelerated; - VkBool32 integerDotProduct64BitMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; -}; - -struct VkPipelineLibraryCreateInfoKHR -{ - VkStructureType sType; - const void* pNext; - uint32_t libraryCount; - const VkPipeline* pLibraries; -}; - -struct VkPresentIdKHR -{ - VkStructureType sType; - const void* pNext; - uint32_t swapchainCount; - const uint64_t* pPresentIds; -}; - -struct VkPhysicalDevicePresentIdFeaturesKHR -{ - VkStructureType sType; - void* pNext; - VkBool32 presentId; -}; - -struct VkMemoryBarrier2KHR -{ - VkStructureType sType; - const void* pNext; - VkPipelineStageFlags2KHR srcStageMask; - VkAccessFlags2KHR srcAccessMask; - VkPipelineStageFlags2KHR dstStageMask; - VkAccessFlags2KHR dstAccessMask; -}; - -struct VkBufferMemoryBarrier2KHR -{ - VkStructureType sType; - const void* pNext; - VkPipelineStageFlags2KHR srcStageMask; - VkAccessFlags2KHR srcAccessMask; - VkPipelineStageFlags2KHR dstStageMask; - VkAccessFlags2KHR dstAccessMask; - uint32_t srcQueueFamilyIndex; - uint32_t dstQueueFamilyIndex; - VkBuffer buffer; - VkDeviceSize offset; - VkDeviceSize size; -}; - -struct VkImageMemoryBarrier2KHR -{ - VkStructureType sType; - const void* pNext; - VkPipelineStageFlags2KHR srcStageMask; - VkAccessFlags2KHR srcAccessMask; - VkPipelineStageFlags2KHR dstStageMask; - VkAccessFlags2KHR dstAccessMask; - VkImageLayout oldLayout; - VkImageLayout newLayout; - uint32_t srcQueueFamilyIndex; - uint32_t dstQueueFamilyIndex; - VkImage image; - VkImageSubresourceRange subresourceRange; -}; - -struct VkDependencyInfoKHR -{ - VkStructureType sType; - const void* pNext; - VkDependencyFlags dependencyFlags; - uint32_t memoryBarrierCount; - const VkMemoryBarrier2KHR* pMemoryBarriers; - uint32_t bufferMemoryBarrierCount; - const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers; - uint32_t imageMemoryBarrierCount; - const VkImageMemoryBarrier2KHR* pImageMemoryBarriers; -}; - -struct VkSemaphoreSubmitInfoKHR -{ - VkStructureType sType; - const void* pNext; - VkSemaphore semaphore; - uint64_t value; - VkPipelineStageFlags2KHR stageMask; - uint32_t deviceIndex; -}; - -struct VkCommandBufferSubmitInfoKHR -{ - VkStructureType sType; - const void* pNext; - VkCommandBuffer commandBuffer; - uint32_t deviceMask; -}; - -struct VkSubmitInfo2KHR -{ - VkStructureType sType; - const void* pNext; - VkSubmitFlagsKHR flags; - uint32_t waitSemaphoreInfoCount; - const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos; - uint32_t commandBufferInfoCount; - const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos; - uint32_t signalSemaphoreInfoCount; - const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos; -}; - -struct VkPhysicalDeviceSynchronization2FeaturesKHR -{ - VkStructureType sType; - void* pNext; - VkBool32 synchronization2; -}; - -struct VkQueueFamilyCheckpointProperties2NV -{ - VkStructureType sType; - void* pNext; - VkPipelineStageFlags2KHR checkpointExecutionStageMask; -}; - -struct VkCheckpointData2NV -{ - VkStructureType sType; - void* pNext; - VkPipelineStageFlags2KHR stage; - void* pCheckpointMarker; -}; - -struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR -{ - VkStructureType sType; - void* pNext; - VkBool32 shaderSubgroupUniformControlFlow; -}; - -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR -{ - VkStructureType sType; - void* pNext; - VkBool32 shaderZeroInitializeWorkgroupMemory; -}; - -struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR -{ - VkStructureType sType; - void* pNext; - VkBool32 workgroupMemoryExplicitLayout; - VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout; - VkBool32 workgroupMemoryExplicitLayout8BitAccess; - VkBool32 workgroupMemoryExplicitLayout16BitAccess; -}; - -struct VkBufferCopy2KHR -{ - VkStructureType sType; - const void* pNext; - VkDeviceSize srcOffset; - VkDeviceSize dstOffset; - VkDeviceSize size; -}; - -struct VkCopyBufferInfo2KHR -{ - VkStructureType sType; - const void* pNext; - VkBuffer srcBuffer; - VkBuffer dstBuffer; - uint32_t regionCount; - const VkBufferCopy2KHR* pRegions; -}; - -struct VkImageCopy2KHR -{ - VkStructureType sType; - const void* pNext; - VkImageSubresourceLayers srcSubresource; - VkOffset3D srcOffset; - VkImageSubresourceLayers dstSubresource; - VkOffset3D dstOffset; - VkExtent3D extent; -}; - -struct VkCopyImageInfo2KHR -{ - VkStructureType sType; - const void* pNext; - VkImage srcImage; - VkImageLayout srcImageLayout; - VkImage dstImage; - VkImageLayout dstImageLayout; - uint32_t regionCount; - const VkImageCopy2KHR* pRegions; -}; - -struct VkBufferImageCopy2KHR -{ - VkStructureType sType; - const void* pNext; - VkDeviceSize bufferOffset; - uint32_t bufferRowLength; - uint32_t bufferImageHeight; - VkImageSubresourceLayers imageSubresource; - VkOffset3D imageOffset; - VkExtent3D imageExtent; ++ uint64_t u64; ++ double f64; + }; + -struct VkCopyBufferToImageInfo2KHR ++struct VkPipelineExecutableStatisticKHR + { - VkStructureType sType; - const void* pNext; - VkBuffer srcBuffer; - VkImage dstImage; - VkImageLayout dstImageLayout; - uint32_t regionCount; - const VkBufferImageCopy2KHR* pRegions; ++ VkStructureType sType; ++ void* pNext; ++ char name[VK_MAX_DESCRIPTION_SIZE]; ++ char description[VK_MAX_DESCRIPTION_SIZE]; ++ VkPipelineExecutableStatisticFormatKHR format; ++ VkPipelineExecutableStatisticValueKHR value; + }; + -struct VkCopyImageToBufferInfo2KHR ++struct VkPipelineExecutableInternalRepresentationKHR + { - VkStructureType sType; - const void* pNext; - VkImage srcImage; - VkImageLayout srcImageLayout; - VkBuffer dstBuffer; - uint32_t regionCount; - const VkBufferImageCopy2KHR* pRegions; ++ VkStructureType sType; ++ void* pNext; ++ char name[VK_MAX_DESCRIPTION_SIZE]; ++ char description[VK_MAX_DESCRIPTION_SIZE]; ++ VkBool32 isText; ++ size_t dataSize; ++ void* pData; + }; + -struct VkImageBlit2KHR ++struct VkPipelineLibraryCreateInfoKHR + { - VkStructureType sType; - const void* pNext; - VkImageSubresourceLayers srcSubresource; - VkOffset3D srcOffsets[2]; - VkImageSubresourceLayers dstSubresource; - VkOffset3D dstOffsets[2]; ++ VkStructureType sType; ++ const void* pNext; ++ uint32_t libraryCount; ++ const VkPipeline* pLibraries; + }; + -struct VkBlitImageInfo2KHR ++struct VkPresentIdKHR + { - VkStructureType sType; - const void* pNext; - VkImage srcImage; - VkImageLayout srcImageLayout; - VkImage dstImage; - VkImageLayout dstImageLayout; - uint32_t regionCount; - const VkImageBlit2KHR* pRegions; - VkFilter filter; ++ VkStructureType sType; ++ const void* pNext; ++ uint32_t swapchainCount; ++ const uint64_t* pPresentIds; + }; + -struct VkImageResolve2KHR ++struct VkPhysicalDevicePresentIdFeaturesKHR + { - VkStructureType sType; - const void* pNext; - VkImageSubresourceLayers srcSubresource; - VkOffset3D srcOffset; - VkImageSubresourceLayers dstSubresource; - VkOffset3D dstOffset; - VkExtent3D extent; ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 presentId; + }; + -struct VkResolveImageInfo2KHR ++struct VkQueueFamilyCheckpointProperties2NV + { + VkStructureType sType; - const void* pNext; - VkImage srcImage; - VkImageLayout srcImageLayout; - VkImage dstImage; - VkImageLayout dstImageLayout; - uint32_t regionCount; - const VkImageResolve2KHR* pRegions; ++ void* pNext; ++ VkPipelineStageFlags2KHR checkpointExecutionStageMask; + }; + -struct VkFormatProperties3KHR ++struct VkCheckpointData2NV + { + VkStructureType sType; + void* pNext; - VkFormatFeatureFlags2KHR linearTilingFeatures; - VkFormatFeatureFlags2KHR optimalTilingFeatures; - VkFormatFeatureFlags2KHR bufferFeatures; ++ VkPipelineStageFlags2KHR stage; ++ void* pCheckpointMarker; + }; + -struct VkPhysicalDeviceMaintenance4FeaturesKHR ++struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR + { + VkStructureType sType; + void* pNext; - VkBool32 maintenance4; ++ VkBool32 shaderSubgroupUniformControlFlow; + }; + -struct VkPhysicalDeviceMaintenance4PropertiesKHR ++struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR + { + VkStructureType sType; + void* pNext; - VkDeviceSize maxBufferSize; -}; - -struct VkDeviceBufferMemoryRequirementsKHR -{ - VkStructureType sType; - const void* pNext; - const VkBufferCreateInfo* pCreateInfo; -}; - -struct VkDeviceImageMemoryRequirementsKHR -{ - VkStructureType sType; - const void* pNext; - const VkImageCreateInfo* pCreateInfo; - VkImageAspectFlagBits planeAspect; ++ VkBool32 workgroupMemoryExplicitLayout; ++ VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout; ++ VkBool32 workgroupMemoryExplicitLayout8BitAccess; ++ VkBool32 workgroupMemoryExplicitLayout16BitAccess; + }; + + struct VkDebugReportCallbackCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkDebugReportFlagsEXT flags; + PFN_vkDebugReportCallbackEXT pfnCallback; + void* pUserData; + }; + + struct VkPipelineRasterizationStateRasterizationOrderAMD + { + VkStructureType sType; + const void* pNext; + VkRasterizationOrderAMD rasterizationOrder; + }; + + struct VkDebugMarkerObjectNameInfoEXT + { + VkStructureType sType; + const void* pNext; + VkDebugReportObjectTypeEXT objectType; + uint64_t object; + const char* pObjectName; + }; + + struct VkDebugMarkerObjectTagInfoEXT + { + VkStructureType sType; + const void* pNext; + VkDebugReportObjectTypeEXT objectType; + uint64_t object; + uint64_t tagName; + size_t tagSize; + const void* pTag; + }; + + struct VkDebugMarkerMarkerInfoEXT + { + VkStructureType sType; + const void* pNext; + const char* pMarkerName; + float color[4]; + }; + + struct VkDedicatedAllocationImageCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkBool32 dedicatedAllocation; + }; + + struct VkDedicatedAllocationBufferCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkBool32 dedicatedAllocation; + }; + + struct VkDedicatedAllocationMemoryAllocateInfoNV + { + VkStructureType sType; + const void* pNext; + VkImage image; + VkBuffer buffer; + }; + + struct VkPhysicalDeviceTransformFeedbackFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 transformFeedback; + VkBool32 geometryStreams; + }; + + struct VkPhysicalDeviceTransformFeedbackPropertiesEXT + { + VkStructureType sType; + void* pNext; + uint32_t maxTransformFeedbackStreams; + uint32_t maxTransformFeedbackBuffers; + VkDeviceSize maxTransformFeedbackBufferSize; + uint32_t maxTransformFeedbackStreamDataSize; + uint32_t maxTransformFeedbackBufferDataSize; + uint32_t maxTransformFeedbackBufferDataStride; + VkBool32 transformFeedbackQueries; + VkBool32 transformFeedbackStreamsLinesTriangles; + VkBool32 transformFeedbackRasterizationStreamSelect; + VkBool32 transformFeedbackDraw; + }; + + struct VkPipelineRasterizationStateStreamCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkPipelineRasterizationStateStreamCreateFlagsEXT flags; + uint32_t rasterizationStream; + }; + + struct VkCuModuleCreateInfoNVX + { + VkStructureType sType; + const void* pNext; + size_t dataSize; + const void* pData; + }; + + struct VkCuFunctionCreateInfoNVX + { + VkStructureType sType; + const void* pNext; + VkCuModuleNVX module; + const char* pName; + }; + + struct VkCuLaunchInfoNVX + { + VkStructureType sType; + const void* pNext; + VkCuFunctionNVX function; + uint32_t gridDimX; + uint32_t gridDimY; + uint32_t gridDimZ; + uint32_t blockDimX; + uint32_t blockDimY; + uint32_t blockDimZ; + uint32_t sharedMemBytes; + size_t paramCount; + const void* const * pParams; + size_t extraCount; + const void* const * pExtras; + }; + + struct VkImageViewHandleInfoNVX + { + VkStructureType sType; + const void* pNext; + VkImageView imageView; + VkDescriptorType descriptorType; + VkSampler sampler; + }; + + struct VkImageViewAddressPropertiesNVX + { + VkStructureType sType; + void* pNext; + VkDeviceAddress deviceAddress; + VkDeviceSize size; + }; + + struct VkTextureLODGatherFormatPropertiesAMD + { + VkStructureType sType; + void* pNext; + VkBool32 supportsTextureGatherLODBiasAMD; + }; + + struct VkShaderResourceUsageAMD + { + uint32_t numUsedVgprs; + uint32_t numUsedSgprs; + uint32_t ldsSizePerLocalWorkGroup; + size_t ldsUsageSizeInBytes; + size_t scratchMemUsageInBytes; + }; + + struct VkShaderStatisticsInfoAMD + { + VkShaderStageFlags shaderStageMask; + VkShaderResourceUsageAMD resourceUsage; + uint32_t numPhysicalVgprs; + uint32_t numPhysicalSgprs; + uint32_t numAvailableVgprs; + uint32_t numAvailableSgprs; + uint32_t computeWorkGroupSize[3]; + }; + + struct VkPhysicalDeviceCornerSampledImageFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 cornerSampledImage; + }; + + struct VkExternalImageFormatPropertiesNV + { + VkImageFormatProperties imageFormatProperties; + VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; + VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; + VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; + }; + + struct VkExternalMemoryImageCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagsNV handleTypes; + }; + + struct VkExportMemoryAllocateInfoNV + { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagsNV handleTypes; + }; + + struct VkValidationFlagsEXT + { + VkStructureType sType; + const void* pNext; + uint32_t disabledValidationCheckCount; + const VkValidationCheckEXT* pDisabledValidationChecks; + }; + -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT -{ - VkStructureType sType; - void* pNext; - VkBool32 textureCompressionASTC_HDR; -}; - + struct VkImageViewASTCDecodeModeEXT + { + VkStructureType sType; + const void* pNext; + VkFormat decodeMode; + }; + + struct VkPhysicalDeviceASTCDecodeFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 decodeModeSharedExponent; + }; + + struct VkConditionalRenderingBeginInfoEXT + { + VkStructureType sType; + const void* pNext; + VkBuffer buffer; + VkDeviceSize offset; + VkConditionalRenderingFlagsEXT flags; + }; + + struct VkPhysicalDeviceConditionalRenderingFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 conditionalRendering; + VkBool32 inheritedConditionalRendering; + }; + + struct VkCommandBufferInheritanceConditionalRenderingInfoEXT + { + VkStructureType sType; + const void* pNext; + VkBool32 conditionalRenderingEnable; + }; + + struct VkViewportWScalingNV + { + float xcoeff; + float ycoeff; + }; + + struct VkPipelineViewportWScalingStateCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkBool32 viewportWScalingEnable; + uint32_t viewportCount; + const VkViewportWScalingNV* pViewportWScalings; + }; + + struct VkSurfaceCapabilities2EXT + { + VkStructureType sType; + void* pNext; + uint32_t minImageCount; + uint32_t maxImageCount; + VkExtent2D currentExtent; + VkExtent2D minImageExtent; + VkExtent2D maxImageExtent; + uint32_t maxImageArrayLayers; + VkSurfaceTransformFlagsKHR supportedTransforms; + VkSurfaceTransformFlagBitsKHR currentTransform; + VkCompositeAlphaFlagsKHR supportedCompositeAlpha; + VkImageUsageFlags supportedUsageFlags; + VkSurfaceCounterFlagsEXT supportedSurfaceCounters; + }; + + struct VkDisplayPowerInfoEXT + { + VkStructureType sType; + const void* pNext; + VkDisplayPowerStateEXT powerState; + }; + + struct VkDeviceEventInfoEXT + { + VkStructureType sType; + const void* pNext; + VkDeviceEventTypeEXT deviceEvent; + }; + + struct VkDisplayEventInfoEXT + { + VkStructureType sType; + const void* pNext; + VkDisplayEventTypeEXT displayEvent; + }; + + struct VkSwapchainCounterCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkSurfaceCounterFlagsEXT surfaceCounters; + }; + + struct VkRefreshCycleDurationGOOGLE + { + uint64_t refreshDuration; + }; + + struct VkPastPresentationTimingGOOGLE + { + uint32_t presentID; + uint64_t desiredPresentTime; + uint64_t actualPresentTime; + uint64_t earliestPresentTime; + uint64_t presentMargin; + }; + + struct VkPresentTimeGOOGLE + { + uint32_t presentID; + uint64_t desiredPresentTime; + }; + + struct VkPresentTimesInfoGOOGLE + { + VkStructureType sType; + const void* pNext; + uint32_t swapchainCount; + const VkPresentTimeGOOGLE* pTimes; + }; + + struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX + { + VkStructureType sType; + void* pNext; + VkBool32 perViewPositionAllComponents; + }; + + struct VkViewportSwizzleNV + { + VkViewportCoordinateSwizzleNV x; + VkViewportCoordinateSwizzleNV y; + VkViewportCoordinateSwizzleNV z; + VkViewportCoordinateSwizzleNV w; + }; + + struct VkPipelineViewportSwizzleStateCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkPipelineViewportSwizzleStateCreateFlagsNV flags; + uint32_t viewportCount; + const VkViewportSwizzleNV* pViewportSwizzles; + }; + + struct VkPhysicalDeviceDiscardRectanglePropertiesEXT + { + VkStructureType sType; + void* pNext; + uint32_t maxDiscardRectangles; + }; + + struct VkPipelineDiscardRectangleStateCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkPipelineDiscardRectangleStateCreateFlagsEXT flags; + VkDiscardRectangleModeEXT discardRectangleMode; + uint32_t discardRectangleCount; + const VkRect2D* pDiscardRectangles; + }; + + struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT + { + VkStructureType sType; + void* pNext; + float primitiveOverestimationSize; + float maxExtraPrimitiveOverestimationSize; + float extraPrimitiveOverestimationSizeGranularity; + VkBool32 primitiveUnderestimation; + VkBool32 conservativePointAndLineRasterization; + VkBool32 degenerateTrianglesRasterized; + VkBool32 degenerateLinesRasterized; + VkBool32 fullyCoveredFragmentShaderInputVariable; + VkBool32 conservativeRasterizationPostDepthCoverage; + }; + + struct VkPipelineRasterizationConservativeStateCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; + VkConservativeRasterizationModeEXT conservativeRasterizationMode; + float extraPrimitiveOverestimationSize; + }; + + struct VkPhysicalDeviceDepthClipEnableFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 depthClipEnable; + }; + + struct VkPipelineRasterizationDepthClipStateCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; + VkBool32 depthClipEnable; + }; + + struct VkXYColorEXT + { + float x; + float y; + }; + + struct VkHdrMetadataEXT + { + VkStructureType sType; + const void* pNext; + VkXYColorEXT displayPrimaryRed; + VkXYColorEXT displayPrimaryGreen; + VkXYColorEXT displayPrimaryBlue; + VkXYColorEXT whitePoint; + float maxLuminance; + float minLuminance; + float maxContentLightLevel; + float maxFrameAverageLightLevel; + }; + + struct VkDebugUtilsLabelEXT + { + VkStructureType sType; + const void* pNext; + const char* pLabelName; + float color[4]; + }; + + struct VkDebugUtilsObjectNameInfoEXT + { + VkStructureType sType; + const void* pNext; + VkObjectType objectType; + uint64_t objectHandle; + const char* pObjectName; + }; + + struct VkDebugUtilsMessengerCallbackDataEXT + { + VkStructureType sType; + const void* pNext; + VkDebugUtilsMessengerCallbackDataFlagsEXT flags; + const char* pMessageIdName; + int32_t messageIdNumber; + const char* pMessage; + uint32_t queueLabelCount; + const VkDebugUtilsLabelEXT* pQueueLabels; + uint32_t cmdBufLabelCount; + const VkDebugUtilsLabelEXT* pCmdBufLabels; + uint32_t objectCount; + const VkDebugUtilsObjectNameInfoEXT* pObjects; + }; + + struct VkDebugUtilsMessengerCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkDebugUtilsMessengerCreateFlagsEXT flags; + VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; + VkDebugUtilsMessageTypeFlagsEXT messageType; + PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; + void* pUserData; + }; + + struct VkDebugUtilsObjectTagInfoEXT + { + VkStructureType sType; + const void* pNext; + VkObjectType objectType; + uint64_t objectHandle; + uint64_t tagName; + size_t tagSize; + const void* pTag; + }; + -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT -{ - VkStructureType sType; - void* pNext; - VkBool32 inlineUniformBlock; - VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; -}; - -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT -{ - VkStructureType sType; - void* pNext; - uint32_t maxInlineUniformBlockSize; - uint32_t maxPerStageDescriptorInlineUniformBlocks; - uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; - uint32_t maxDescriptorSetInlineUniformBlocks; - uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks; -}; - -struct VkWriteDescriptorSetInlineUniformBlockEXT -{ - VkStructureType sType; - const void* pNext; - uint32_t dataSize; - const void* pData; -}; - -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT -{ - VkStructureType sType; - const void* pNext; - uint32_t maxInlineUniformBlockBindings; -}; - + struct VkSampleLocationEXT + { + float x; + float y; + }; + + struct VkSampleLocationsInfoEXT + { + VkStructureType sType; + const void* pNext; + VkSampleCountFlagBits sampleLocationsPerPixel; + VkExtent2D sampleLocationGridSize; + uint32_t sampleLocationsCount; + const VkSampleLocationEXT* pSampleLocations; + }; + + struct VkAttachmentSampleLocationsEXT + { + uint32_t attachmentIndex; + VkSampleLocationsInfoEXT sampleLocationsInfo; + }; + + struct VkSubpassSampleLocationsEXT + { + uint32_t subpassIndex; + VkSampleLocationsInfoEXT sampleLocationsInfo; + }; + + struct VkRenderPassSampleLocationsBeginInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t attachmentInitialSampleLocationsCount; + const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; + uint32_t postSubpassSampleLocationsCount; + const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; + }; + + struct VkPipelineSampleLocationsStateCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkBool32 sampleLocationsEnable; + VkSampleLocationsInfoEXT sampleLocationsInfo; + }; + + struct VkPhysicalDeviceSampleLocationsPropertiesEXT + { + VkStructureType sType; + void* pNext; + VkSampleCountFlags sampleLocationSampleCounts; + VkExtent2D maxSampleLocationGridSize; + float sampleLocationCoordinateRange[2]; + uint32_t sampleLocationSubPixelBits; + VkBool32 variableSampleLocations; + }; + + struct VkMultisamplePropertiesEXT + { + VkStructureType sType; + void* pNext; + VkExtent2D maxSampleLocationGridSize; + }; + + struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 advancedBlendCoherentOperations; + }; + + struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT + { + VkStructureType sType; + void* pNext; + uint32_t advancedBlendMaxColorAttachments; + VkBool32 advancedBlendIndependentBlend; + VkBool32 advancedBlendNonPremultipliedSrcColor; + VkBool32 advancedBlendNonPremultipliedDstColor; + VkBool32 advancedBlendCorrelatedOverlap; + VkBool32 advancedBlendAllOperations; + }; + + struct VkPipelineColorBlendAdvancedStateCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkBool32 srcPremultiplied; + VkBool32 dstPremultiplied; + VkBlendOverlapEXT blendOverlap; + }; + + struct VkPipelineCoverageToColorStateCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkPipelineCoverageToColorStateCreateFlagsNV flags; + VkBool32 coverageToColorEnable; + uint32_t coverageToColorLocation; + }; + + struct VkPipelineCoverageModulationStateCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkPipelineCoverageModulationStateCreateFlagsNV flags; + VkCoverageModulationModeNV coverageModulationMode; + VkBool32 coverageModulationTableEnable; + uint32_t coverageModulationTableCount; + const float* pCoverageModulationTable; + }; + + struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV + { + VkStructureType sType; + void* pNext; + uint32_t shaderSMCount; + uint32_t shaderWarpsPerSM; + }; + + struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 shaderSMBuiltins; + }; + + struct VkDrmFormatModifierPropertiesEXT + { + uint64_t drmFormatModifier; + uint32_t drmFormatModifierPlaneCount; + VkFormatFeatureFlags drmFormatModifierTilingFeatures; + }; + + struct VkDrmFormatModifierPropertiesListEXT + { + VkStructureType sType; + void* pNext; + uint32_t drmFormatModifierCount; + VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; + }; + + struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT + { + VkStructureType sType; + const void* pNext; + uint64_t drmFormatModifier; + VkSharingMode sharingMode; + uint32_t queueFamilyIndexCount; + const uint32_t* pQueueFamilyIndices; + }; + + struct VkImageDrmFormatModifierListCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t drmFormatModifierCount; + const uint64_t* pDrmFormatModifiers; + }; + + struct VkImageDrmFormatModifierExplicitCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + uint64_t drmFormatModifier; + uint32_t drmFormatModifierPlaneCount; + const VkSubresourceLayout* pPlaneLayouts; + }; + + struct VkImageDrmFormatModifierPropertiesEXT + { + VkStructureType sType; + void* pNext; + uint64_t drmFormatModifier; + }; + + struct VkDrmFormatModifierProperties2EXT + { + uint64_t drmFormatModifier; + uint32_t drmFormatModifierPlaneCount; + VkFormatFeatureFlags2KHR drmFormatModifierTilingFeatures; + }; + + struct VkDrmFormatModifierPropertiesList2EXT + { + VkStructureType sType; + void* pNext; + uint32_t drmFormatModifierCount; + VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; + }; + + struct VkValidationCacheCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkValidationCacheCreateFlagsEXT flags; + size_t initialDataSize; + const void* pInitialData; + }; + + struct VkShaderModuleValidationCacheCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkValidationCacheEXT validationCache; + }; + + struct VkShadingRatePaletteNV + { + uint32_t shadingRatePaletteEntryCount; + const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; + }; + + struct VkPipelineViewportShadingRateImageStateCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkBool32 shadingRateImageEnable; + uint32_t viewportCount; + const VkShadingRatePaletteNV* pShadingRatePalettes; + }; + + struct VkPhysicalDeviceShadingRateImageFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 shadingRateImage; + VkBool32 shadingRateCoarseSampleOrder; + }; + + struct VkPhysicalDeviceShadingRateImagePropertiesNV + { + VkStructureType sType; + void* pNext; + VkExtent2D shadingRateTexelSize; + uint32_t shadingRatePaletteSize; + uint32_t shadingRateMaxCoarseSamples; + }; + + struct VkCoarseSampleLocationNV + { + uint32_t pixelX; + uint32_t pixelY; + uint32_t sample; + }; + + struct VkCoarseSampleOrderCustomNV + { + VkShadingRatePaletteEntryNV shadingRate; + uint32_t sampleCount; + uint32_t sampleLocationCount; + const VkCoarseSampleLocationNV* pSampleLocations; + }; + + struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkCoarseSampleOrderTypeNV sampleOrderType; + uint32_t customSampleOrderCount; + const VkCoarseSampleOrderCustomNV* pCustomSampleOrders; + }; + + struct VkRayTracingShaderGroupCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkRayTracingShaderGroupTypeKHR type; + uint32_t generalShader; + uint32_t closestHitShader; + uint32_t anyHitShader; + uint32_t intersectionShader; + }; + + struct VkRayTracingPipelineCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkPipelineCreateFlags flags; + uint32_t stageCount; + const VkPipelineShaderStageCreateInfo* pStages; + uint32_t groupCount; + const VkRayTracingShaderGroupCreateInfoNV* pGroups; + uint32_t maxRecursionDepth; + VkPipelineLayout layout; + VkPipeline basePipelineHandle; + int32_t basePipelineIndex; + }; + + struct VkGeometryTrianglesNV + { + VkStructureType sType; + const void* pNext; + VkBuffer vertexData; + VkDeviceSize vertexOffset; + uint32_t vertexCount; + VkDeviceSize vertexStride; + VkFormat vertexFormat; + VkBuffer indexData; + VkDeviceSize indexOffset; + uint32_t indexCount; + VkIndexType indexType; + VkBuffer transformData; + VkDeviceSize transformOffset; + }; + + struct VkGeometryAABBNV + { + VkStructureType sType; + const void* pNext; + VkBuffer aabbData; + uint32_t numAABBs; + uint32_t stride; + VkDeviceSize offset; + }; + + struct VkGeometryDataNV + { + VkGeometryTrianglesNV triangles; + VkGeometryAABBNV aabbs; + }; + + struct VkGeometryNV + { + VkStructureType sType; + const void* pNext; + VkGeometryTypeKHR geometryType; + VkGeometryDataNV geometry; + VkGeometryFlagsKHR flags; + }; + + struct VkAccelerationStructureInfoNV + { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureTypeNV type; + VkBuildAccelerationStructureFlagsNV flags; + uint32_t instanceCount; + uint32_t geometryCount; + const VkGeometryNV* pGeometries; + }; + + struct VkAccelerationStructureCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkDeviceSize compactedSize; + VkAccelerationStructureInfoNV info; + }; + + struct VkBindAccelerationStructureMemoryInfoNV + { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureNV accelerationStructure; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + uint32_t deviceIndexCount; + const uint32_t* pDeviceIndices; + }; + + struct VkWriteDescriptorSetAccelerationStructureNV + { + VkStructureType sType; + const void* pNext; + uint32_t accelerationStructureCount; + const VkAccelerationStructureNV* pAccelerationStructures; + }; + + struct VkAccelerationStructureMemoryRequirementsInfoNV + { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureMemoryRequirementsTypeNV type; + VkAccelerationStructureNV accelerationStructure; + }; + + struct VkPhysicalDeviceRayTracingPropertiesNV + { + VkStructureType sType; + void* pNext; + uint32_t shaderGroupHandleSize; + uint32_t maxRecursionDepth; + uint32_t maxShaderGroupStride; + uint32_t shaderGroupBaseAlignment; + uint64_t maxGeometryCount; + uint64_t maxInstanceCount; + uint64_t maxTriangleCount; + uint32_t maxDescriptorSetAccelerationStructures; + }; + + struct VkTransformMatrixKHR + { + float matrix[3][4]; + }; + + struct VkAabbPositionsKHR + { + float minX; + float minY; + float minZ; + float maxX; + float maxY; + float maxZ; + }; + + struct VkAccelerationStructureInstanceKHR + { + VkTransformMatrixKHR transform; + uint32_t instanceCustomIndex:24; + uint32_t mask:8; + uint32_t instanceShaderBindingTableRecordOffset:24; + VkGeometryInstanceFlagsKHR flags:8; + uint64_t accelerationStructureReference; + }; + + struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 representativeFragmentTest; + }; + + struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkBool32 representativeFragmentTestEnable; + }; + + struct VkPhysicalDeviceImageViewImageFormatInfoEXT + { + VkStructureType sType; + void* pNext; + VkImageViewType imageViewType; + }; + + struct VkFilterCubicImageViewImageFormatPropertiesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 filterCubic; + VkBool32 filterCubicMinmax; + }; + + struct VkDeviceQueueGlobalPriorityCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkQueueGlobalPriorityEXT globalPriority; + }; + + struct VkImportMemoryHostPointerInfoEXT + { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagBits handleType; + void* pHostPointer; + }; + + struct VkMemoryHostPointerPropertiesEXT + { + VkStructureType sType; + void* pNext; + uint32_t memoryTypeBits; + }; + + struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT + { + VkStructureType sType; + void* pNext; + VkDeviceSize minImportedHostPointerAlignment; + }; + + struct VkPipelineCompilerControlCreateInfoAMD + { + VkStructureType sType; + const void* pNext; + VkPipelineCompilerControlFlagsAMD compilerControlFlags; + }; + + struct VkCalibratedTimestampInfoEXT + { + VkStructureType sType; + const void* pNext; + VkTimeDomainEXT timeDomain; + }; + + struct VkPhysicalDeviceShaderCorePropertiesAMD + { + VkStructureType sType; + void* pNext; + uint32_t shaderEngineCount; + uint32_t shaderArraysPerEngineCount; + uint32_t computeUnitsPerShaderArray; + uint32_t simdPerComputeUnit; + uint32_t wavefrontsPerSimd; + uint32_t wavefrontSize; + uint32_t sgprsPerSimd; + uint32_t minSgprAllocation; + uint32_t maxSgprAllocation; + uint32_t sgprAllocationGranularity; + uint32_t vgprsPerSimd; + uint32_t minVgprAllocation; + uint32_t maxVgprAllocation; + uint32_t vgprAllocationGranularity; + }; + + struct VkDeviceMemoryOverallocationCreateInfoAMD + { + VkStructureType sType; + const void* pNext; + VkMemoryOverallocationBehaviorAMD overallocationBehavior; + }; + + struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT + { + VkStructureType sType; + void* pNext; + uint32_t maxVertexAttribDivisor; + }; + + struct VkVertexInputBindingDivisorDescriptionEXT + { + uint32_t binding; + uint32_t divisor; + }; + + struct VkPipelineVertexInputDivisorStateCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t vertexBindingDivisorCount; + const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors; + }; + + struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 vertexAttributeInstanceRateDivisor; + VkBool32 vertexAttributeInstanceRateZeroDivisor; + }; + -struct VkPipelineCreationFeedbackEXT -{ - VkPipelineCreationFeedbackFlagsEXT flags; - uint64_t duration; -}; - -struct VkPipelineCreationFeedbackCreateInfoEXT -{ - VkStructureType sType; - const void* pNext; - VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback; - uint32_t pipelineStageCreationFeedbackCount; - VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks; -}; - + struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 computeDerivativeGroupQuads; + VkBool32 computeDerivativeGroupLinear; + }; + + struct VkPhysicalDeviceMeshShaderFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 taskShader; + VkBool32 meshShader; + }; + + struct VkPhysicalDeviceMeshShaderPropertiesNV + { + VkStructureType sType; + void* pNext; + uint32_t maxDrawMeshTasksCount; + uint32_t maxTaskWorkGroupInvocations; + uint32_t maxTaskWorkGroupSize[3]; + uint32_t maxTaskTotalMemorySize; + uint32_t maxTaskOutputCount; + uint32_t maxMeshWorkGroupInvocations; + uint32_t maxMeshWorkGroupSize[3]; + uint32_t maxMeshTotalMemorySize; + uint32_t maxMeshOutputVertices; + uint32_t maxMeshOutputPrimitives; + uint32_t maxMeshMultiviewViewCount; + uint32_t meshOutputPerVertexGranularity; + uint32_t meshOutputPerPrimitiveGranularity; + }; + + struct VkDrawMeshTasksIndirectCommandNV + { + uint32_t taskCount; + uint32_t firstTask; + }; + + struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 fragmentShaderBarycentric; + }; + + struct VkPhysicalDeviceShaderImageFootprintFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 imageFootprint; + }; + + struct VkPipelineViewportExclusiveScissorStateCreateInfoNV + { + VkStructureType sType; + const void* pNext; + uint32_t exclusiveScissorCount; + const VkRect2D* pExclusiveScissors; + }; + + struct VkPhysicalDeviceExclusiveScissorFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 exclusiveScissor; + }; + + struct VkQueueFamilyCheckpointPropertiesNV + { + VkStructureType sType; + void* pNext; + VkPipelineStageFlags checkpointExecutionStageMask; + }; + + struct VkCheckpointDataNV + { + VkStructureType sType; + void* pNext; + VkPipelineStageFlagBits stage; + void* pCheckpointMarker; + }; + + struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL + { + VkStructureType sType; + void* pNext; + VkBool32 shaderIntegerFunctions2; + }; + + union VkPerformanceValueDataINTEL + { + uint32_t value32; + uint64_t value64; + float valueFloat; + VkBool32 valueBool; + const char* valueString; + }; + + struct VkPerformanceValueINTEL + { + VkPerformanceValueTypeINTEL type; + VkPerformanceValueDataINTEL data; + }; + + struct VkInitializePerformanceApiInfoINTEL + { + VkStructureType sType; + const void* pNext; + void* pUserData; + }; + + struct VkQueryPoolPerformanceQueryCreateInfoINTEL + { + VkStructureType sType; + const void* pNext; + VkQueryPoolSamplingModeINTEL performanceCountersSampling; + }; + + struct VkPerformanceMarkerInfoINTEL + { + VkStructureType sType; + const void* pNext; + uint64_t marker; + }; + + struct VkPerformanceStreamMarkerInfoINTEL + { + VkStructureType sType; + const void* pNext; + uint32_t marker; + }; + + struct VkPerformanceOverrideInfoINTEL + { + VkStructureType sType; + const void* pNext; + VkPerformanceOverrideTypeINTEL type; + VkBool32 enable; + uint64_t parameter; + }; + + struct VkPerformanceConfigurationAcquireInfoINTEL + { + VkStructureType sType; + const void* pNext; + VkPerformanceConfigurationTypeINTEL type; + }; + + struct VkPhysicalDevicePCIBusInfoPropertiesEXT + { + VkStructureType sType; + void* pNext; + uint32_t pciDomain; + uint32_t pciBus; + uint32_t pciDevice; + uint32_t pciFunction; + }; + + struct VkDisplayNativeHdrSurfaceCapabilitiesAMD + { + VkStructureType sType; + void* pNext; + VkBool32 localDimmingSupport; + }; + + struct VkSwapchainDisplayNativeHdrCreateInfoAMD + { + VkStructureType sType; + const void* pNext; + VkBool32 localDimmingEnable; + }; + + struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 fragmentDensityMap; + VkBool32 fragmentDensityMapDynamic; + VkBool32 fragmentDensityMapNonSubsampledImages; + }; + + struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT + { + VkStructureType sType; + void* pNext; + VkExtent2D minFragmentDensityTexelSize; + VkExtent2D maxFragmentDensityTexelSize; + VkBool32 fragmentDensityInvocations; + }; + + struct VkRenderPassFragmentDensityMapCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkAttachmentReference fragmentDensityMapAttachment; + }; + -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT -{ - VkStructureType sType; - void* pNext; - VkBool32 subgroupSizeControl; - VkBool32 computeFullSubgroups; -}; - -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT -{ - VkStructureType sType; - void* pNext; - uint32_t minSubgroupSize; - uint32_t maxSubgroupSize; - uint32_t maxComputeWorkgroupSubgroups; - VkShaderStageFlags requiredSubgroupSizeStages; -}; - -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT -{ - VkStructureType sType; - void* pNext; - uint32_t requiredSubgroupSize; -}; - + struct VkPhysicalDeviceShaderCoreProperties2AMD + { + VkStructureType sType; + void* pNext; + VkShaderCorePropertiesFlagsAMD shaderCoreFeatures; + uint32_t activeComputeUnitCount; + }; + + struct VkPhysicalDeviceCoherentMemoryFeaturesAMD + { + VkStructureType sType; + void* pNext; + VkBool32 deviceCoherentMemory; + }; + + struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 shaderImageInt64Atomics; + VkBool32 sparseImageInt64Atomics; + }; + + struct VkPhysicalDeviceMemoryBudgetPropertiesEXT + { + VkStructureType sType; + void* pNext; + VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; + VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; + }; + + struct VkPhysicalDeviceMemoryPriorityFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 memoryPriority; + }; + + struct VkMemoryPriorityAllocateInfoEXT + { + VkStructureType sType; + const void* pNext; + float priority; + }; + + struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 dedicatedAllocationImageAliasing; + }; + + struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 bufferDeviceAddress; + VkBool32 bufferDeviceAddressCaptureReplay; + VkBool32 bufferDeviceAddressMultiDevice; + }; + + struct VkBufferDeviceAddressCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkDeviceAddress deviceAddress; + }; + -struct VkPhysicalDeviceToolPropertiesEXT -{ - VkStructureType sType; - void* pNext; - char name[VK_MAX_EXTENSION_NAME_SIZE]; - char version[VK_MAX_EXTENSION_NAME_SIZE]; - VkToolPurposeFlagsEXT purposes; - char description[VK_MAX_DESCRIPTION_SIZE]; - char layer[VK_MAX_EXTENSION_NAME_SIZE]; -}; - + struct VkValidationFeaturesEXT + { + VkStructureType sType; + const void* pNext; + uint32_t enabledValidationFeatureCount; + const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; + uint32_t disabledValidationFeatureCount; + const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; + }; + + struct VkCooperativeMatrixPropertiesNV + { + VkStructureType sType; + void* pNext; + uint32_t MSize; + uint32_t NSize; + uint32_t KSize; + VkComponentTypeNV AType; + VkComponentTypeNV BType; + VkComponentTypeNV CType; + VkComponentTypeNV DType; + VkScopeNV scope; + }; + + struct VkPhysicalDeviceCooperativeMatrixFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 cooperativeMatrix; + VkBool32 cooperativeMatrixRobustBufferAccess; + }; + + struct VkPhysicalDeviceCooperativeMatrixPropertiesNV + { + VkStructureType sType; + void* pNext; + VkShaderStageFlags cooperativeMatrixSupportedStages; + }; + + struct VkPhysicalDeviceCoverageReductionModeFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 coverageReductionMode; + }; + + struct VkPipelineCoverageReductionStateCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkPipelineCoverageReductionStateCreateFlagsNV flags; + VkCoverageReductionModeNV coverageReductionMode; + }; + + struct VkFramebufferMixedSamplesCombinationNV + { + VkStructureType sType; + void* pNext; + VkCoverageReductionModeNV coverageReductionMode; + VkSampleCountFlagBits rasterizationSamples; + VkSampleCountFlags depthStencilSamples; + VkSampleCountFlags colorSamples; + }; + + struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 fragmentShaderSampleInterlock; + VkBool32 fragmentShaderPixelInterlock; + VkBool32 fragmentShaderShadingRateInterlock; + }; + + struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 ycbcrImageArrays; + }; + + struct VkPhysicalDeviceProvokingVertexFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 provokingVertexLast; + VkBool32 transformFeedbackPreservesProvokingVertex; + }; + + struct VkPhysicalDeviceProvokingVertexPropertiesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 provokingVertexModePerPipeline; + VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex; + }; + + struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkProvokingVertexModeEXT provokingVertexMode; + }; + + struct VkHeadlessSurfaceCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkHeadlessSurfaceCreateFlagsEXT flags; + }; + + struct VkPhysicalDeviceLineRasterizationFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 rectangularLines; + VkBool32 bresenhamLines; + VkBool32 smoothLines; + VkBool32 stippledRectangularLines; + VkBool32 stippledBresenhamLines; + VkBool32 stippledSmoothLines; + }; + + struct VkPhysicalDeviceLineRasterizationPropertiesEXT + { + VkStructureType sType; + void* pNext; + uint32_t lineSubPixelPrecisionBits; + }; + + struct VkPipelineRasterizationLineStateCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkLineRasterizationModeEXT lineRasterizationMode; + VkBool32 stippledLineEnable; + uint32_t lineStippleFactor; + uint16_t lineStipplePattern; + }; + + struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 shaderBufferFloat32Atomics; + VkBool32 shaderBufferFloat32AtomicAdd; + VkBool32 shaderBufferFloat64Atomics; + VkBool32 shaderBufferFloat64AtomicAdd; + VkBool32 shaderSharedFloat32Atomics; + VkBool32 shaderSharedFloat32AtomicAdd; + VkBool32 shaderSharedFloat64Atomics; + VkBool32 shaderSharedFloat64AtomicAdd; + VkBool32 shaderImageFloat32Atomics; + VkBool32 shaderImageFloat32AtomicAdd; + VkBool32 sparseImageFloat32Atomics; + VkBool32 sparseImageFloat32AtomicAdd; + }; + + struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 indexTypeUint8; + }; + + struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 extendedDynamicState; + }; + + struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 shaderBufferFloat16Atomics; + VkBool32 shaderBufferFloat16AtomicAdd; + VkBool32 shaderBufferFloat16AtomicMinMax; + VkBool32 shaderBufferFloat32AtomicMinMax; + VkBool32 shaderBufferFloat64AtomicMinMax; + VkBool32 shaderSharedFloat16Atomics; + VkBool32 shaderSharedFloat16AtomicAdd; + VkBool32 shaderSharedFloat16AtomicMinMax; + VkBool32 shaderSharedFloat32AtomicMinMax; + VkBool32 shaderSharedFloat64AtomicMinMax; + VkBool32 shaderImageFloat32AtomicMinMax; + VkBool32 sparseImageFloat32AtomicMinMax; + }; + -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT -{ - VkStructureType sType; - void* pNext; - VkBool32 shaderDemoteToHelperInvocation; -}; - + struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV + { + VkStructureType sType; + void* pNext; + uint32_t maxGraphicsShaderGroupCount; + uint32_t maxIndirectSequenceCount; + uint32_t maxIndirectCommandsTokenCount; + uint32_t maxIndirectCommandsStreamCount; + uint32_t maxIndirectCommandsTokenOffset; + uint32_t maxIndirectCommandsStreamStride; + uint32_t minSequencesCountBufferOffsetAlignment; + uint32_t minSequencesIndexBufferOffsetAlignment; + uint32_t minIndirectCommandsBufferOffsetAlignment; + }; + + struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 deviceGeneratedCommands; + }; + + struct VkGraphicsShaderGroupCreateInfoNV + { + VkStructureType sType; + const void* pNext; + uint32_t stageCount; + const VkPipelineShaderStageCreateInfo* pStages; + const VkPipelineVertexInputStateCreateInfo* pVertexInputState; + const VkPipelineTessellationStateCreateInfo* pTessellationState; + }; + + struct VkGraphicsPipelineShaderGroupsCreateInfoNV + { + VkStructureType sType; + const void* pNext; + uint32_t groupCount; + const VkGraphicsShaderGroupCreateInfoNV* pGroups; + uint32_t pipelineCount; + const VkPipeline* pPipelines; + }; + + struct VkBindShaderGroupIndirectCommandNV + { + uint32_t groupIndex; + }; + + struct VkBindIndexBufferIndirectCommandNV + { + VkDeviceAddress bufferAddress; + uint32_t size; + VkIndexType indexType; + }; + + struct VkBindVertexBufferIndirectCommandNV + { + VkDeviceAddress bufferAddress; + uint32_t size; + uint32_t stride; + }; + + struct VkSetStateFlagsIndirectCommandNV + { + uint32_t data; + }; + + struct VkIndirectCommandsStreamNV + { + VkBuffer buffer; + VkDeviceSize offset; + }; + + struct VkIndirectCommandsLayoutTokenNV + { + VkStructureType sType; + const void* pNext; + VkIndirectCommandsTokenTypeNV tokenType; + uint32_t stream; + uint32_t offset; + uint32_t vertexBindingUnit; + VkBool32 vertexDynamicStride; + VkPipelineLayout pushconstantPipelineLayout; + VkShaderStageFlags pushconstantShaderStageFlags; + uint32_t pushconstantOffset; + uint32_t pushconstantSize; + VkIndirectStateFlagsNV indirectStateFlags; + uint32_t indexTypeCount; + const VkIndexType* pIndexTypes; + const uint32_t* pIndexTypeValues; + }; + + struct VkIndirectCommandsLayoutCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkIndirectCommandsLayoutUsageFlagsNV flags; + VkPipelineBindPoint pipelineBindPoint; + uint32_t tokenCount; + const VkIndirectCommandsLayoutTokenNV* pTokens; + uint32_t streamCount; + const uint32_t* pStreamStrides; + }; + + struct VkGeneratedCommandsInfoNV + { + VkStructureType sType; + const void* pNext; + VkPipelineBindPoint pipelineBindPoint; + VkPipeline pipeline; + VkIndirectCommandsLayoutNV indirectCommandsLayout; + uint32_t streamCount; + const VkIndirectCommandsStreamNV* pStreams; + uint32_t sequencesCount; + VkBuffer preprocessBuffer; + VkDeviceSize preprocessOffset; + VkDeviceSize preprocessSize; + VkBuffer sequencesCountBuffer; + VkDeviceSize sequencesCountOffset; + VkBuffer sequencesIndexBuffer; + VkDeviceSize sequencesIndexOffset; + }; + + struct VkGeneratedCommandsMemoryRequirementsInfoNV + { + VkStructureType sType; + const void* pNext; + VkPipelineBindPoint pipelineBindPoint; + VkPipeline pipeline; + VkIndirectCommandsLayoutNV indirectCommandsLayout; + uint32_t maxSequencesCount; + }; + + struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 inheritedViewportScissor2D; + }; + + struct VkCommandBufferInheritanceViewportScissorInfoNV + { + VkStructureType sType; + const void* pNext; + VkBool32 viewportScissor2D; + uint32_t viewportDepthCount; + const VkViewport* pViewportDepths; + }; + + struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 texelBufferAlignment; + }; + -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT -{ - VkStructureType sType; - void* pNext; - VkDeviceSize storageTexelBufferOffsetAlignmentBytes; - VkBool32 storageTexelBufferOffsetSingleTexelAlignment; - VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; - VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; -}; - + struct VkRenderPassTransformBeginInfoQCOM + { + VkStructureType sType; + void* pNext; + VkSurfaceTransformFlagBitsKHR transform; + }; + + struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM + { + VkStructureType sType; + void* pNext; + VkSurfaceTransformFlagBitsKHR transform; + VkRect2D renderArea; + }; + + struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 deviceMemoryReport; + }; + + struct VkDeviceMemoryReportCallbackDataEXT + { + VkStructureType sType; + void* pNext; + VkDeviceMemoryReportFlagsEXT flags; + VkDeviceMemoryReportEventTypeEXT type; + uint64_t memoryObjectId; + VkDeviceSize size; + VkObjectType objectType; + uint64_t objectHandle; + uint32_t heapIndex; + }; + + struct VkDeviceDeviceMemoryReportCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkDeviceMemoryReportFlagsEXT flags; + PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback; + void* pUserData; + }; + + struct VkPhysicalDeviceRobustness2FeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 robustBufferAccess2; + VkBool32 robustImageAccess2; + VkBool32 nullDescriptor; + }; + + struct VkPhysicalDeviceRobustness2PropertiesEXT + { + VkStructureType sType; + void* pNext; + VkDeviceSize robustStorageBufferAccessSizeAlignment; + VkDeviceSize robustUniformBufferAccessSizeAlignment; + }; + + struct VkSamplerCustomBorderColorCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkClearColorValue customBorderColor; + VkFormat format; + }; + + struct VkPhysicalDeviceCustomBorderColorPropertiesEXT + { + VkStructureType sType; + void* pNext; + uint32_t maxCustomBorderColorSamplers; + }; + + struct VkPhysicalDeviceCustomBorderColorFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 customBorderColors; + VkBool32 customBorderColorWithoutFormat; + }; + -struct VkPhysicalDevicePrivateDataFeaturesEXT -{ - VkStructureType sType; - void* pNext; - VkBool32 privateData; -}; - -struct VkDevicePrivateDataCreateInfoEXT -{ - VkStructureType sType; - const void* pNext; - uint32_t privateDataSlotRequestCount; -}; - -struct VkPrivateDataSlotCreateInfoEXT -{ - VkStructureType sType; - const void* pNext; - VkPrivateDataSlotCreateFlagsEXT flags; -}; - -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT -{ - VkStructureType sType; - void* pNext; - VkBool32 pipelineCreationCacheControl; -}; - + struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 diagnosticsConfig; + }; + + struct VkDeviceDiagnosticsConfigCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkDeviceDiagnosticsConfigFlagsNV flags; + }; + + struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 fragmentShadingRateEnums; + VkBool32 supersampleFragmentShadingRates; + VkBool32 noInvocationFragmentShadingRates; + }; + + struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV + { + VkStructureType sType; + void* pNext; + VkSampleCountFlagBits maxFragmentShadingRateInvocationCount; + }; + + struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV + { + VkStructureType sType; + const void* pNext; + VkFragmentShadingRateTypeNV shadingRateType; + VkFragmentShadingRateNV shadingRate; + VkFragmentShadingRateCombinerOpKHR combinerOps[2]; + }; + + union VkDeviceOrHostAddressConstKHR + { + VkDeviceAddress deviceAddress; + const void* hostAddress; + }; + + struct VkAccelerationStructureGeometryMotionTrianglesDataNV + { + VkStructureType sType; + const void* pNext; + VkDeviceOrHostAddressConstKHR vertexData; + }; + + struct VkAccelerationStructureMotionInfoNV + { + VkStructureType sType; + const void* pNext; + uint32_t maxInstances; + VkAccelerationStructureMotionInfoFlagsNV flags; + }; + + struct VkAccelerationStructureMatrixMotionInstanceNV + { + VkTransformMatrixKHR transformT0; + VkTransformMatrixKHR transformT1; + uint32_t instanceCustomIndex:24; + uint32_t mask:8; + uint32_t instanceShaderBindingTableRecordOffset:24; + VkGeometryInstanceFlagsKHR flags:8; + uint64_t accelerationStructureReference; + }; + + struct VkSRTDataNV + { + float sx; + float a; + float b; + float pvx; + float sy; + float c; + float pvy; + float sz; + float pvz; + float qx; + float qy; + float qz; + float qw; + float tx; + float ty; + float tz; + }; + + struct VkAccelerationStructureSRTMotionInstanceNV + { + VkSRTDataNV transformT0; + VkSRTDataNV transformT1; + uint32_t instanceCustomIndex:24; + uint32_t mask:8; + uint32_t instanceShaderBindingTableRecordOffset:24; + VkGeometryInstanceFlagsKHR flags:8; + uint64_t accelerationStructureReference; + }; + + union VkAccelerationStructureMotionInstanceDataNV + { + VkAccelerationStructureInstanceKHR staticInstance; + VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; + VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance; + }; + + struct VkAccelerationStructureMotionInstanceNV + { + VkAccelerationStructureMotionInstanceTypeNV type; + VkAccelerationStructureMotionInstanceFlagsNV flags; + VkAccelerationStructureMotionInstanceDataNV data; + }; + + struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 rayTracingMotionBlur; + VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect; + }; + + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 ycbcr2plane444Formats; + }; + + struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 fragmentDensityMapDeferred; + }; + + struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 subsampledLoads; + VkBool32 subsampledCoarseReconstructionEarlyAccess; + uint32_t maxSubsampledArrayLayers; + uint32_t maxDescriptorSetSubsampledSamplers; + }; + + struct VkCopyCommandTransformInfoQCOM + { + VkStructureType sType; + const void* pNext; + VkSurfaceTransformFlagBitsKHR transform; + }; + -struct VkPhysicalDeviceImageRobustnessFeaturesEXT -{ - VkStructureType sType; - void* pNext; - VkBool32 robustImageAccess; -}; - + struct VkPhysicalDevice4444FormatsFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 formatA4R4G4B4; + VkBool32 formatA4B4G4R4; + }; + + struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + { + VkStructureType sType; + const void* pNext; + VkBool32 rasterizationOrderColorAttachmentAccess; + VkBool32 rasterizationOrderDepthAttachmentAccess; + VkBool32 rasterizationOrderStencilAttachmentAccess; + }; + + struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 formatRgba10x6WithoutYCbCrSampler; + }; + + struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE + { + VkStructureType sType; + void* pNext; + VkBool32 mutableDescriptorType; + }; + + struct VkMutableDescriptorTypeListVALVE + { + uint32_t descriptorTypeCount; + const VkDescriptorType* pDescriptorTypes; + }; + + struct VkMutableDescriptorTypeCreateInfoVALVE + { + VkStructureType sType; + const void* pNext; + uint32_t mutableDescriptorTypeListCount; + const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists; + }; + + struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 vertexInputDynamicState; + }; + + struct VkVertexInputBindingDescription2EXT + { + VkStructureType sType; + void* pNext; + uint32_t binding; + uint32_t stride; + VkVertexInputRate inputRate; + uint32_t divisor; + }; + + struct VkVertexInputAttributeDescription2EXT + { + VkStructureType sType; + void* pNext; + uint32_t location; + uint32_t binding; + VkFormat format; + uint32_t offset; + }; + + struct VkPhysicalDeviceDrmPropertiesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 hasPrimary; + VkBool32 hasRender; + int64_t primaryMajor; + int64_t primaryMinor; + int64_t renderMajor; + int64_t renderMinor; + }; + + struct VkPhysicalDeviceDepthClipControlFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 depthClipControl; + }; + + struct VkPipelineViewportDepthClipControlCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkBool32 negativeOneToOne; + }; + + struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 primitiveTopologyListRestart; + VkBool32 primitiveTopologyPatchListRestart; + }; + + struct VkSubpassShadingPipelineCreateInfoHUAWEI + { + VkStructureType sType; + void* pNext; + VkRenderPass renderPass; + uint32_t subpass; + }; + + struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + { + VkStructureType sType; + void* pNext; + VkBool32 subpassShading; + }; + + struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + { + VkStructureType sType; + void* pNext; + uint32_t maxSubpassShadingWorkgroupSizeAspectRatio; + }; + + struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + { + VkStructureType sType; + void* pNext; + VkBool32 invocationMask; + }; + + struct VkMemoryGetRemoteAddressInfoNV + { + VkStructureType sType; + const void* pNext; + VkDeviceMemory memory; + VkExternalMemoryHandleTypeFlagBits handleType; + }; + + struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV + { + VkStructureType sType; + void* pNext; + VkBool32 externalMemoryRDMA; + }; + + struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 extendedDynamicState2; + VkBool32 extendedDynamicState2LogicOp; + VkBool32 extendedDynamicState2PatchControlPoints; + }; + + struct VkPhysicalDeviceColorWriteEnableFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 colorWriteEnable; + }; + + struct VkPipelineColorWriteCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t attachmentCount; + const VkBool32* pColorWriteEnables; + }; + + struct VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 globalPriorityQuery; + }; + + struct VkQueueFamilyGlobalPriorityPropertiesEXT + { + VkStructureType sType; + void* pNext; + uint32_t priorityCount; + VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT]; + }; + + struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 minLod; + }; + + struct VkImageViewMinLodCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + float minLod; + }; + + struct VkPhysicalDeviceMultiDrawFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 multiDraw; + }; + + struct VkPhysicalDeviceMultiDrawPropertiesEXT + { + VkStructureType sType; + void* pNext; + uint32_t maxMultiDrawCount; + }; + + struct VkMultiDrawInfoEXT + { + uint32_t firstVertex; + uint32_t vertexCount; + }; + + struct VkMultiDrawIndexedInfoEXT + { + uint32_t firstIndex; + uint32_t indexCount; + int32_t vertexOffset; + }; + + struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 borderColorSwizzle; + VkBool32 borderColorSwizzleFromImage; + }; + + struct VkSamplerBorderColorComponentMappingCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkComponentMapping components; + VkBool32 srgb; + }; + + struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + { + VkStructureType sType; + void* pNext; + VkBool32 pageableDeviceLocalMemory; + }; + + union VkDeviceOrHostAddressKHR + { + VkDeviceAddress deviceAddress; + void* hostAddress; + }; + + struct VkAccelerationStructureBuildRangeInfoKHR + { + uint32_t primitiveCount; + uint32_t primitiveOffset; + uint32_t firstVertex; + uint32_t transformOffset; + }; + + struct VkAccelerationStructureGeometryTrianglesDataKHR + { + VkStructureType sType; + const void* pNext; + VkFormat vertexFormat; + VkDeviceOrHostAddressConstKHR vertexData; + VkDeviceSize vertexStride; + uint32_t maxVertex; + VkIndexType indexType; + VkDeviceOrHostAddressConstKHR indexData; + VkDeviceOrHostAddressConstKHR transformData; + }; + + struct VkAccelerationStructureGeometryAabbsDataKHR + { + VkStructureType sType; + const void* pNext; + VkDeviceOrHostAddressConstKHR data; + VkDeviceSize stride; + }; + + struct VkAccelerationStructureGeometryInstancesDataKHR + { + VkStructureType sType; + const void* pNext; + VkBool32 arrayOfPointers; + VkDeviceOrHostAddressConstKHR data; + }; + + union VkAccelerationStructureGeometryDataKHR + { + VkAccelerationStructureGeometryTrianglesDataKHR triangles; + VkAccelerationStructureGeometryAabbsDataKHR aabbs; + VkAccelerationStructureGeometryInstancesDataKHR instances; + }; + + struct VkAccelerationStructureGeometryKHR + { + VkStructureType sType; + const void* pNext; + VkGeometryTypeKHR geometryType; + VkAccelerationStructureGeometryDataKHR geometry; + VkGeometryFlagsKHR flags; + }; + + struct VkAccelerationStructureBuildGeometryInfoKHR + { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureTypeKHR type; + VkBuildAccelerationStructureFlagsKHR flags; + VkBuildAccelerationStructureModeKHR mode; + VkAccelerationStructureKHR srcAccelerationStructure; + VkAccelerationStructureKHR dstAccelerationStructure; + uint32_t geometryCount; + const VkAccelerationStructureGeometryKHR* pGeometries; + const VkAccelerationStructureGeometryKHR* const* ppGeometries; + VkDeviceOrHostAddressKHR scratchData; + }; + + struct VkAccelerationStructureCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureCreateFlagsKHR createFlags; + VkBuffer buffer; + VkDeviceSize offset; + VkDeviceSize size; + VkAccelerationStructureTypeKHR type; + VkDeviceAddress deviceAddress; + }; + + struct VkWriteDescriptorSetAccelerationStructureKHR + { + VkStructureType sType; + const void* pNext; + uint32_t accelerationStructureCount; + const VkAccelerationStructureKHR* pAccelerationStructures; + }; + + struct VkPhysicalDeviceAccelerationStructureFeaturesKHR + { + VkStructureType sType; + void* pNext; + VkBool32 accelerationStructure; + VkBool32 accelerationStructureCaptureReplay; + VkBool32 accelerationStructureIndirectBuild; + VkBool32 accelerationStructureHostCommands; + VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind; + }; + + struct VkPhysicalDeviceAccelerationStructurePropertiesKHR + { + VkStructureType sType; + void* pNext; + uint64_t maxGeometryCount; + uint64_t maxInstanceCount; + uint64_t maxPrimitiveCount; + uint32_t maxPerStageDescriptorAccelerationStructures; + uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures; + uint32_t maxDescriptorSetAccelerationStructures; + uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures; + uint32_t minAccelerationStructureScratchOffsetAlignment; + }; + + struct VkAccelerationStructureDeviceAddressInfoKHR + { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureKHR accelerationStructure; + }; + + struct VkAccelerationStructureVersionInfoKHR + { + VkStructureType sType; + const void* pNext; + const uint8_t* pVersionData; + }; + + struct VkCopyAccelerationStructureToMemoryInfoKHR + { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureKHR src; + VkDeviceOrHostAddressKHR dst; + VkCopyAccelerationStructureModeKHR mode; + }; + + struct VkCopyMemoryToAccelerationStructureInfoKHR + { + VkStructureType sType; + const void* pNext; + VkDeviceOrHostAddressConstKHR src; + VkAccelerationStructureKHR dst; + VkCopyAccelerationStructureModeKHR mode; + }; + + struct VkCopyAccelerationStructureInfoKHR + { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureKHR src; + VkAccelerationStructureKHR dst; + VkCopyAccelerationStructureModeKHR mode; + }; + + struct VkAccelerationStructureBuildSizesInfoKHR + { + VkStructureType sType; + const void* pNext; + VkDeviceSize accelerationStructureSize; + VkDeviceSize updateScratchSize; + VkDeviceSize buildScratchSize; + }; + + struct VkRayTracingShaderGroupCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkRayTracingShaderGroupTypeKHR type; + uint32_t generalShader; + uint32_t closestHitShader; + uint32_t anyHitShader; + uint32_t intersectionShader; + const void* pShaderGroupCaptureReplayHandle; + }; + + struct VkRayTracingPipelineInterfaceCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + uint32_t maxPipelineRayPayloadSize; + uint32_t maxPipelineRayHitAttributeSize; + }; + + struct VkRayTracingPipelineCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkPipelineCreateFlags flags; + uint32_t stageCount; + const VkPipelineShaderStageCreateInfo* pStages; + uint32_t groupCount; + const VkRayTracingShaderGroupCreateInfoKHR* pGroups; + uint32_t maxPipelineRayRecursionDepth; + const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; + const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface; + const VkPipelineDynamicStateCreateInfo* pDynamicState; + VkPipelineLayout layout; + VkPipeline basePipelineHandle; + int32_t basePipelineIndex; + }; + + struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR + { + VkStructureType sType; + void* pNext; + VkBool32 rayTracingPipeline; + VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay; + VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed; + VkBool32 rayTracingPipelineTraceRaysIndirect; + VkBool32 rayTraversalPrimitiveCulling; + }; + + struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR + { + VkStructureType sType; + void* pNext; + uint32_t shaderGroupHandleSize; + uint32_t maxRayRecursionDepth; + uint32_t maxShaderGroupStride; + uint32_t shaderGroupBaseAlignment; + uint32_t shaderGroupHandleCaptureReplaySize; + uint32_t maxRayDispatchInvocationCount; + uint32_t shaderGroupHandleAlignment; + uint32_t maxRayHitAttributeSize; + }; + + struct VkStridedDeviceAddressRegionKHR + { + VkDeviceAddress deviceAddress; + VkDeviceSize stride; + VkDeviceSize size; + }; + + struct VkTraceRaysIndirectCommandKHR + { + uint32_t width; + uint32_t height; + uint32_t depth; + }; + + struct VkPhysicalDeviceRayQueryFeaturesKHR + { + VkStructureType sType; + void* pNext; + VkBool32 rayQuery; + }; + + struct VkAndroidSurfaceCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkAndroidSurfaceCreateFlagsKHR flags; + struct pt::AndroidNativeWindowPtr window; + }; + + struct VkAndroidHardwareBufferUsageANDROID + { + VkStructureType sType; + void* pNext; + uint64_t androidHardwareBufferUsage; + }; + + struct VkAndroidHardwareBufferPropertiesANDROID + { + VkStructureType sType; + void* pNext; + VkDeviceSize allocationSize; + uint32_t memoryTypeBits; + }; + + struct VkAndroidHardwareBufferFormatPropertiesANDROID + { + VkStructureType sType; + void* pNext; + VkFormat format; + uint64_t externalFormat; + VkFormatFeatureFlags formatFeatures; + VkComponentMapping samplerYcbcrConversionComponents; + VkSamplerYcbcrModelConversion suggestedYcbcrModel; + VkSamplerYcbcrRange suggestedYcbcrRange; + VkChromaLocation suggestedXChromaOffset; + VkChromaLocation suggestedYChromaOffset; + }; + + struct VkImportAndroidHardwareBufferInfoANDROID + { + VkStructureType sType; + const void* pNext; + struct pt::AndroidHardwareBufferPtr buffer; + }; + + struct VkMemoryGetAndroidHardwareBufferInfoANDROID + { + VkStructureType sType; + const void* pNext; + VkDeviceMemory memory; + }; + + struct VkExternalFormatANDROID + { + VkStructureType sType; + void* pNext; + uint64_t externalFormat; + }; + + struct VkAndroidHardwareBufferFormatProperties2ANDROID + { + VkStructureType sType; + void* pNext; + VkFormat format; + uint64_t externalFormat; + VkFormatFeatureFlags2KHR formatFeatures; + VkComponentMapping samplerYcbcrConversionComponents; + VkSamplerYcbcrModelConversion suggestedYcbcrModel; + VkSamplerYcbcrRange suggestedYcbcrRange; + VkChromaLocation suggestedXChromaOffset; + VkChromaLocation suggestedYChromaOffset; + }; + + struct VkVideoQueueFamilyProperties2KHR + { + VkStructureType sType; + void* pNext; + VkVideoCodecOperationFlagsKHR videoCodecOperations; + }; + + struct VkVideoProfileKHR + { + VkStructureType sType; + void* pNext; + VkVideoCodecOperationFlagBitsKHR videoCodecOperation; + VkVideoChromaSubsamplingFlagsKHR chromaSubsampling; + VkVideoComponentBitDepthFlagsKHR lumaBitDepth; + VkVideoComponentBitDepthFlagsKHR chromaBitDepth; + }; + + struct VkVideoProfilesKHR + { + VkStructureType sType; + void* pNext; + uint32_t profileCount; + const VkVideoProfileKHR* pProfiles; + }; + + struct VkVideoCapabilitiesKHR + { + VkStructureType sType; + void* pNext; + VkVideoCapabilityFlagsKHR capabilityFlags; + VkDeviceSize minBitstreamBufferOffsetAlignment; + VkDeviceSize minBitstreamBufferSizeAlignment; + VkExtent2D videoPictureExtentGranularity; + VkExtent2D minExtent; + VkExtent2D maxExtent; + uint32_t maxReferencePicturesSlotsCount; + uint32_t maxReferencePicturesActiveCount; + }; + + struct VkPhysicalDeviceVideoFormatInfoKHR + { + VkStructureType sType; + void* pNext; + VkImageUsageFlags imageUsage; + const VkVideoProfilesKHR* pVideoProfiles; + }; + + struct VkVideoFormatPropertiesKHR + { + VkStructureType sType; + void* pNext; + VkFormat format; + }; + + struct VkVideoPictureResourceKHR + { + VkStructureType sType; + const void* pNext; + VkOffset2D codedOffset; + VkExtent2D codedExtent; + uint32_t baseArrayLayer; + VkImageView imageViewBinding; + }; + + struct VkVideoReferenceSlotKHR + { + VkStructureType sType; + const void* pNext; + int8_t slotIndex; + const VkVideoPictureResourceKHR* pPictureResource; + }; + + struct VkVideoGetMemoryPropertiesKHR + { + VkStructureType sType; + const void* pNext; + uint32_t memoryBindIndex; + VkMemoryRequirements2* pMemoryRequirements; + }; + + struct VkVideoBindMemoryKHR + { + VkStructureType sType; + const void* pNext; + uint32_t memoryBindIndex; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + VkDeviceSize memorySize; + }; + + struct VkVideoSessionCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + uint32_t queueFamilyIndex; + VkVideoSessionCreateFlagsKHR flags; + const VkVideoProfileKHR* pVideoProfile; + VkFormat pictureFormat; + VkExtent2D maxCodedExtent; + VkFormat referencePicturesFormat; + uint32_t maxReferencePicturesSlotsCount; + uint32_t maxReferencePicturesActiveCount; + }; + + struct VkVideoSessionParametersCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkVideoSessionParametersKHR videoSessionParametersTemplate; + VkVideoSessionKHR videoSession; + }; + + struct VkVideoSessionParametersUpdateInfoKHR + { + VkStructureType sType; + const void* pNext; + uint32_t updateSequenceCount; + }; + + struct VkVideoBeginCodingInfoKHR + { + VkStructureType sType; + const void* pNext; + VkVideoBeginCodingFlagsKHR flags; + VkVideoCodingQualityPresetFlagsKHR codecQualityPreset; + VkVideoSessionKHR videoSession; + VkVideoSessionParametersKHR videoSessionParameters; + uint32_t referenceSlotCount; + const VkVideoReferenceSlotKHR* pReferenceSlots; + }; + + struct VkVideoEndCodingInfoKHR + { + VkStructureType sType; + const void* pNext; + VkVideoEndCodingFlagsKHR flags; + }; + + struct VkVideoCodingControlInfoKHR + { + VkStructureType sType; + const void* pNext; + VkVideoCodingControlFlagsKHR flags; + }; + + struct VkVideoDecodeInfoKHR + { + VkStructureType sType; + const void* pNext; + VkVideoDecodeFlagsKHR flags; + VkOffset2D codedOffset; + VkExtent2D codedExtent; + VkBuffer srcBuffer; + VkDeviceSize srcBufferOffset; + VkDeviceSize srcBufferRange; + VkVideoPictureResourceKHR dstPictureResource; + const VkVideoReferenceSlotKHR* pSetupReferenceSlot; + uint32_t referenceSlotCount; + const VkVideoReferenceSlotKHR* pReferenceSlots; + }; + + struct VkPhysicalDevicePortabilitySubsetFeaturesKHR + { + VkStructureType sType; + void* pNext; + VkBool32 constantAlphaColorBlendFactors; + VkBool32 events; + VkBool32 imageViewFormatReinterpretation; + VkBool32 imageViewFormatSwizzle; + VkBool32 imageView2DOn3DImage; + VkBool32 multisampleArrayImage; + VkBool32 mutableComparisonSamplers; + VkBool32 pointPolygons; + VkBool32 samplerMipLodBias; + VkBool32 separateStencilMaskRef; + VkBool32 shaderSampleRateInterpolationFunctions; + VkBool32 tessellationIsolines; + VkBool32 tessellationPointMode; + VkBool32 triangleFans; + VkBool32 vertexAttributeAccessBeyondStride; + }; + + struct VkPhysicalDevicePortabilitySubsetPropertiesKHR + { + VkStructureType sType; + void* pNext; + uint32_t minVertexInputBindingStrideAlignment; + }; + + struct VkVideoEncodeInfoKHR + { + VkStructureType sType; + const void* pNext; + VkVideoEncodeFlagsKHR flags; + uint32_t qualityLevel; + VkExtent2D codedExtent; + VkBuffer dstBitstreamBuffer; + VkDeviceSize dstBitstreamBufferOffset; + VkDeviceSize dstBitstreamBufferMaxRange; + VkVideoPictureResourceKHR srcPictureResource; + const VkVideoReferenceSlotKHR* pSetupReferenceSlot; + uint32_t referenceSlotCount; + const VkVideoReferenceSlotKHR* pReferenceSlots; + uint32_t precedingExternallyEncodedBytes; + }; + + struct VkVideoEncodeRateControlLayerInfoKHR + { + VkStructureType sType; + const void* pNext; + uint32_t averageBitrate; + uint32_t maxBitrate; + uint32_t frameRateNumerator; + uint32_t frameRateDenominator; + uint32_t virtualBufferSizeInMs; + uint32_t initialVirtualBufferSizeInMs; + }; + + struct VkVideoEncodeRateControlInfoKHR + { + VkStructureType sType; + const void* pNext; + VkVideoEncodeRateControlFlagsKHR flags; + VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode; + uint8_t layerCount; + const VkVideoEncodeRateControlLayerInfoKHR* pLayerConfigs; + }; + + struct StdVideoH264SpsVuiFlags + { + uint32_t aspect_ratio_info_present_flag:1; + uint32_t overscan_info_present_flag:1; + uint32_t overscan_appropriate_flag:1; + uint32_t video_signal_type_present_flag:1; + uint32_t video_full_range_flag:1; + uint32_t color_description_present_flag:1; + uint32_t chroma_loc_info_present_flag:1; + uint32_t timing_info_present_flag:1; + uint32_t fixed_frame_rate_flag:1; + uint32_t bitstream_restriction_flag:1; + uint32_t nal_hrd_parameters_present_flag:1; + uint32_t vcl_hrd_parameters_present_flag:1; + }; + + struct StdVideoH264HrdParameters + { + uint8_t cpb_cnt_minus1; + uint8_t bit_rate_scale; + uint8_t cpb_size_scale; + uint32_t bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; + uint32_t cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; + uint8_t cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; + uint32_t initial_cpb_removal_delay_length_minus1; + uint32_t cpb_removal_delay_length_minus1; + uint32_t dpb_output_delay_length_minus1; + uint32_t time_offset_length; + }; + + struct StdVideoH264SequenceParameterSetVui + { + StdVideoH264AspectRatioIdc aspect_ratio_idc; + uint16_t sar_width; + uint16_t sar_height; + uint8_t video_format; + uint8_t color_primaries; + uint8_t transfer_characteristics; + uint8_t matrix_coefficients; + uint32_t num_units_in_tick; + uint32_t time_scale; + StdVideoH264HrdParameters* pHrdParameters; + uint8_t max_num_reorder_frames; + uint8_t max_dec_frame_buffering; + StdVideoH264SpsVuiFlags flags; + }; + + struct StdVideoH264SpsFlags + { + uint32_t constraint_set0_flag:1; + uint32_t constraint_set1_flag:1; + uint32_t constraint_set2_flag:1; + uint32_t constraint_set3_flag:1; + uint32_t constraint_set4_flag:1; + uint32_t constraint_set5_flag:1; + uint32_t direct_8x8_inference_flag:1; + uint32_t mb_adaptive_frame_field_flag:1; + uint32_t frame_mbs_only_flag:1; + uint32_t delta_pic_order_always_zero_flag:1; + uint32_t separate_colour_plane_flag:1; + uint32_t gaps_in_frame_num_value_allowed_flag:1; + uint32_t qpprime_y_zero_transform_bypass_flag:1; + uint32_t frame_cropping_flag:1; + uint32_t seq_scaling_matrix_present_flag:1; + uint32_t vui_parameters_present_flag:1; + }; + + struct StdVideoH264ScalingLists + { + uint8_t scaling_list_present_mask; + uint8_t use_default_scaling_matrix_mask; + uint8_t ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS]; + uint8_t ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS]; + }; + + struct StdVideoH264SequenceParameterSet + { + StdVideoH264ProfileIdc profile_idc; + StdVideoH264Level level_idc; + uint8_t seq_parameter_set_id; + StdVideoH264ChromaFormatIdc chroma_format_idc; + uint8_t bit_depth_luma_minus8; + uint8_t bit_depth_chroma_minus8; + uint8_t log2_max_frame_num_minus4; + StdVideoH264PocType pic_order_cnt_type; + uint8_t log2_max_pic_order_cnt_lsb_minus4; + int32_t offset_for_non_ref_pic; + int32_t offset_for_top_to_bottom_field; + uint8_t num_ref_frames_in_pic_order_cnt_cycle; + uint8_t max_num_ref_frames; + uint32_t pic_width_in_mbs_minus1; + uint32_t pic_height_in_map_units_minus1; + uint32_t frame_crop_left_offset; + uint32_t frame_crop_right_offset; + uint32_t frame_crop_top_offset; + uint32_t frame_crop_bottom_offset; + StdVideoH264SpsFlags flags; + int32_t* pOffsetForRefFrame; + StdVideoH264ScalingLists* pScalingLists; + StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui; + }; + + struct StdVideoH264PpsFlags + { + uint32_t transform_8x8_mode_flag:1; + uint32_t redundant_pic_cnt_present_flag:1; + uint32_t constrained_intra_pred_flag:1; + uint32_t deblocking_filter_control_present_flag:1; + uint32_t weighted_bipred_idc_flag:1; + uint32_t weighted_pred_flag:1; + uint32_t pic_order_present_flag:1; + uint32_t entropy_coding_mode_flag:1; + uint32_t pic_scaling_matrix_present_flag:1; + }; + + struct StdVideoH264PictureParameterSet + { + uint8_t seq_parameter_set_id; + uint8_t pic_parameter_set_id; + uint8_t num_ref_idx_l0_default_active_minus1; + uint8_t num_ref_idx_l1_default_active_minus1; + StdVideoH264WeightedBipredIdc weighted_bipred_idc; + int8_t pic_init_qp_minus26; + int8_t pic_init_qs_minus26; + int8_t chroma_qp_index_offset; + int8_t second_chroma_qp_index_offset; + StdVideoH264PpsFlags flags; + StdVideoH264ScalingLists* pScalingLists; + }; + + struct StdVideoEncodeH264SliceHeaderFlags + { + uint32_t idr_flag:1; + uint32_t is_reference_flag:1; + uint32_t num_ref_idx_active_override_flag:1; + uint32_t no_output_of_prior_pics_flag:1; + uint32_t long_term_reference_flag:1; + uint32_t adaptive_ref_pic_marking_mode_flag:1; + uint32_t no_prior_references_available_flag:1; + }; + + struct StdVideoEncodeH264PictureInfoFlags + { + uint32_t idr_flag:1; + uint32_t is_reference_flag:1; + uint32_t long_term_reference_flag:1; + }; + + struct StdVideoEncodeH264RefMgmtFlags + { + uint32_t ref_pic_list_modification_l0_flag:1; + uint32_t ref_pic_list_modification_l1_flag:1; + }; + + struct StdVideoEncodeH264RefListModEntry + { + StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc; + uint16_t abs_diff_pic_num_minus1; + uint16_t long_term_pic_num; + }; + + struct StdVideoEncodeH264RefPicMarkingEntry + { + StdVideoH264MemMgmtControlOp operation; + uint16_t difference_of_pic_nums_minus1; + uint16_t long_term_pic_num; + uint16_t long_term_frame_idx; + uint16_t max_long_term_frame_idx_plus1; + }; + + struct StdVideoEncodeH264RefMemMgmtCtrlOperations + { + StdVideoEncodeH264RefMgmtFlags flags; + uint8_t refList0ModOpCount; + StdVideoEncodeH264RefListModEntry* pRefList0ModOperations; + uint8_t refList1ModOpCount; + StdVideoEncodeH264RefListModEntry* pRefList1ModOperations; + uint8_t refPicMarkingOpCount; + StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations; + }; + + struct StdVideoEncodeH264PictureInfo + { + StdVideoEncodeH264PictureInfoFlags flags; + StdVideoH264PictureType pictureType; + uint32_t frameNum; + uint32_t pictureOrderCount; + uint16_t long_term_pic_num; + uint16_t long_term_frame_idx; + }; + + struct StdVideoEncodeH264SliceHeader + { + StdVideoEncodeH264SliceHeaderFlags flags; + StdVideoH264SliceType slice_type; + uint8_t seq_parameter_set_id; + uint8_t pic_parameter_set_id; + uint16_t idr_pic_id; + uint8_t num_ref_idx_l0_active_minus1; + uint8_t num_ref_idx_l1_active_minus1; + StdVideoH264CabacInitIdc cabac_init_idc; + StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc; + int8_t slice_alpha_c0_offset_div2; + int8_t slice_beta_offset_div2; + StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations; + }; + + struct VkVideoEncodeH264CapabilitiesEXT + { + VkStructureType sType; + const void* pNext; + VkVideoEncodeH264CapabilityFlagsEXT flags; + VkVideoEncodeH264InputModeFlagsEXT inputModeFlags; + VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags; + VkExtent2D minPictureSizeInMbs; + VkExtent2D maxPictureSizeInMbs; + VkExtent2D inputImageDataAlignment; + uint8_t maxNumL0ReferenceForP; + uint8_t maxNumL0ReferenceForB; + uint8_t maxNumL1Reference; + uint8_t qualityLevelCount; + VkExtensionProperties stdExtensionVersion; + }; + + struct VkVideoEncodeH264SessionCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkVideoEncodeH264CreateFlagsEXT flags; + VkExtent2D maxPictureSizeInMbs; + const VkExtensionProperties* pStdExtensionVersion; + }; + + struct VkVideoEncodeH264SessionParametersAddInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t spsStdCount; + const StdVideoH264SequenceParameterSet* pSpsStd; + uint32_t ppsStdCount; + const StdVideoH264PictureParameterSet* pPpsStd; + }; + + struct VkVideoEncodeH264SessionParametersCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t maxSpsStdCount; + uint32_t maxPpsStdCount; + const VkVideoEncodeH264SessionParametersAddInfoEXT* pParametersAddInfo; + }; + + struct VkVideoEncodeH264DpbSlotInfoEXT + { + VkStructureType sType; + const void* pNext; + int8_t slotIndex; + const StdVideoEncodeH264PictureInfo* pStdPictureInfo; + }; + + struct VkVideoEncodeH264NaluSliceEXT + { + VkStructureType sType; + const void* pNext; + const StdVideoEncodeH264SliceHeader* pSliceHeaderStd; + uint32_t mbCount; + uint8_t refFinalList0EntryCount; + const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList0Entries; + uint8_t refFinalList1EntryCount; + const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList1Entries; + }; + + struct VkVideoEncodeH264VclFrameInfoEXT + { + VkStructureType sType; + const void* pNext; + uint8_t refDefaultFinalList0EntryCount; + const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList0Entries; + uint8_t refDefaultFinalList1EntryCount; + const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList1Entries; + uint32_t naluSliceEntryCount; + const VkVideoEncodeH264NaluSliceEXT* pNaluSliceEntries; + const VkVideoEncodeH264DpbSlotInfoEXT* pCurrentPictureInfo; + }; + + struct VkVideoEncodeH264EmitPictureParametersEXT + { + VkStructureType sType; + const void* pNext; + uint8_t spsId; + VkBool32 emitSpsEnable; + uint32_t ppsIdEntryCount; + const uint8_t* ppsIdEntries; + }; + + struct VkVideoEncodeH264ProfileEXT + { + VkStructureType sType; + const void* pNext; + StdVideoH264ProfileIdc stdProfileIdc; + }; + + struct VkVideoEncodeH264RateControlInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t gopFrameCount; + uint32_t idrPeriod; + uint32_t consecutiveBFrameCount; + VkVideoEncodeH264RateControlStructureFlagBitsEXT rateControlStructure; + }; + + struct VkVideoEncodeH264QpEXT + { + int32_t qpI; + int32_t qpP; + int32_t qpB; + }; + + struct VkVideoEncodeH264FrameSizeEXT + { + uint32_t frameISize; + uint32_t framePSize; + uint32_t frameBSize; + }; + + struct VkVideoEncodeH264RateControlLayerInfoEXT + { + VkStructureType sType; + const void* pNext; + uint8_t temporalLayerId; + VkBool32 useInitialRcQp; + VkVideoEncodeH264QpEXT initialRcQp; + VkBool32 useMinQp; + VkVideoEncodeH264QpEXT minQp; + VkBool32 useMaxQp; + VkVideoEncodeH264QpEXT maxQp; + VkBool32 useMaxFrameSize; + VkVideoEncodeH264FrameSizeEXT maxFrameSize; + }; + + struct StdVideoH265DecPicBufMgr + { + uint32_t max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + uint8_t max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + uint8_t max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + }; + + struct StdVideoH265SubLayerHrdParameters + { + uint32_t bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + uint32_t cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + uint32_t cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + uint32_t bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + uint32_t cbr_flag; + }; + + struct StdVideoH265HrdFlags + { + uint32_t nal_hrd_parameters_present_flag:1; + uint32_t vcl_hrd_parameters_present_flag:1; + uint32_t sub_pic_hrd_params_present_flag:1; + uint32_t sub_pic_cpb_params_in_pic_timing_sei_flag:1; + uint32_t fixed_pic_rate_general_flag:8; + uint32_t fixed_pic_rate_within_cvs_flag:8; + uint32_t low_delay_hrd_flag:8; + }; + + struct StdVideoH265HrdParameters + { + uint8_t tick_divisor_minus2; + uint8_t du_cpb_removal_delay_increment_length_minus1; + uint8_t dpb_output_delay_du_length_minus1; + uint8_t bit_rate_scale; + uint8_t cpb_size_scale; + uint8_t cpb_size_du_scale; + uint8_t initial_cpb_removal_delay_length_minus1; + uint8_t au_cpb_removal_delay_length_minus1; + uint8_t dpb_output_delay_length_minus1; + uint8_t cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + uint16_t elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + StdVideoH265HrdFlags flags; + }; + + struct StdVideoH265VpsFlags + { + uint32_t vps_temporal_id_nesting_flag:1; + uint32_t vps_sub_layer_ordering_info_present_flag:1; + uint32_t vps_timing_info_present_flag:1; + uint32_t vps_poc_proportional_to_timing_flag:1; + }; + + struct StdVideoH265VideoParameterSet + { + uint8_t vps_video_parameter_set_id; + uint8_t vps_max_sub_layers_minus1; + uint32_t vps_num_units_in_tick; + uint32_t vps_time_scale; + uint32_t vps_num_ticks_poc_diff_one_minus1; + StdVideoH265DecPicBufMgr* pDecPicBufMgr; + StdVideoH265HrdParameters* pHrdParameters; + StdVideoH265VpsFlags flags; + }; + + struct StdVideoH265ScalingLists + { + uint8_t ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS]; + uint8_t ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS]; + uint8_t ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS]; + uint8_t ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS]; + uint8_t ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS]; + uint8_t ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS]; + }; + + struct StdVideoH265SpsVuiFlags + { + uint32_t aspect_ratio_info_present_flag:1; + uint32_t overscan_info_present_flag:1; + uint32_t overscan_appropriate_flag:1; + uint32_t video_signal_type_present_flag:1; + uint32_t video_full_range_flag:1; + uint32_t colour_description_present_flag:1; + uint32_t chroma_loc_info_present_flag:1; + uint32_t neutral_chroma_indication_flag:1; + uint32_t field_seq_flag:1; + uint32_t frame_field_info_present_flag:1; + uint32_t default_display_window_flag:1; + uint32_t vui_timing_info_present_flag:1; + uint32_t vui_poc_proportional_to_timing_flag:1; + uint32_t vui_hrd_parameters_present_flag:1; + uint32_t bitstream_restriction_flag:1; + uint32_t tiles_fixed_structure_flag:1; + uint32_t motion_vectors_over_pic_boundaries_flag:1; + uint32_t restricted_ref_pic_lists_flag:1; + }; + + struct StdVideoH265SequenceParameterSetVui + { + uint8_t aspect_ratio_idc; + uint16_t sar_width; + uint16_t sar_height; + uint8_t video_format; + uint8_t colour_primaries; + uint8_t transfer_characteristics; + uint8_t matrix_coeffs; + uint8_t chroma_sample_loc_type_top_field; + uint8_t chroma_sample_loc_type_bottom_field; + uint16_t def_disp_win_left_offset; + uint16_t def_disp_win_right_offset; + uint16_t def_disp_win_top_offset; + uint16_t def_disp_win_bottom_offset; + uint32_t vui_num_units_in_tick; + uint32_t vui_time_scale; + uint32_t vui_num_ticks_poc_diff_one_minus1; + StdVideoH265HrdParameters* pHrdParameters; + uint16_t min_spatial_segmentation_idc; + uint8_t max_bytes_per_pic_denom; + uint8_t max_bits_per_min_cu_denom; + uint8_t log2_max_mv_length_horizontal; + uint8_t log2_max_mv_length_vertical; + StdVideoH265SpsVuiFlags flags; + }; + + struct StdVideoH265PredictorPaletteEntries + { + uint16_t PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE]; + }; + + struct StdVideoH265SpsFlags + { + uint32_t sps_temporal_id_nesting_flag:1; + uint32_t separate_colour_plane_flag:1; + uint32_t scaling_list_enabled_flag:1; + uint32_t sps_scaling_list_data_present_flag:1; + uint32_t amp_enabled_flag:1; + uint32_t sample_adaptive_offset_enabled_flag:1; + uint32_t pcm_enabled_flag:1; + uint32_t pcm_loop_filter_disabled_flag:1; + uint32_t long_term_ref_pics_present_flag:1; + uint32_t sps_temporal_mvp_enabled_flag:1; + uint32_t strong_intra_smoothing_enabled_flag:1; + uint32_t vui_parameters_present_flag:1; + uint32_t sps_extension_present_flag:1; + uint32_t sps_range_extension_flag:1; + uint32_t transform_skip_rotation_enabled_flag:1; + uint32_t transform_skip_context_enabled_flag:1; + uint32_t implicit_rdpcm_enabled_flag:1; + uint32_t explicit_rdpcm_enabled_flag:1; + uint32_t extended_precision_processing_flag:1; + uint32_t intra_smoothing_disabled_flag:1; + uint32_t high_precision_offsets_enabled_flag:1; + uint32_t persistent_rice_adaptation_enabled_flag:1; + uint32_t cabac_bypass_alignment_enabled_flag:1; + uint32_t sps_curr_pic_ref_enabled_flag:1; + uint32_t palette_mode_enabled_flag:1; + uint32_t sps_palette_predictor_initializer_present_flag:1; + uint32_t intra_boundary_filtering_disabled_flag:1; + }; + + struct StdVideoH265SequenceParameterSet + { + StdVideoH265ProfileIdc profile_idc; + StdVideoH265Level level_idc; + uint32_t pic_width_in_luma_samples; + uint32_t pic_height_in_luma_samples; + uint8_t sps_video_parameter_set_id; + uint8_t sps_max_sub_layers_minus1; + uint8_t sps_seq_parameter_set_id; + uint8_t chroma_format_idc; + uint8_t bit_depth_luma_minus8; + uint8_t bit_depth_chroma_minus8; + uint8_t log2_max_pic_order_cnt_lsb_minus4; + uint8_t sps_max_dec_pic_buffering_minus1; + uint8_t log2_min_luma_coding_block_size_minus3; + uint8_t log2_diff_max_min_luma_coding_block_size; + uint8_t log2_min_luma_transform_block_size_minus2; + uint8_t log2_diff_max_min_luma_transform_block_size; + uint8_t max_transform_hierarchy_depth_inter; + uint8_t max_transform_hierarchy_depth_intra; + uint8_t num_short_term_ref_pic_sets; + uint8_t num_long_term_ref_pics_sps; + uint8_t pcm_sample_bit_depth_luma_minus1; + uint8_t pcm_sample_bit_depth_chroma_minus1; + uint8_t log2_min_pcm_luma_coding_block_size_minus3; + uint8_t log2_diff_max_min_pcm_luma_coding_block_size; + uint32_t conf_win_left_offset; + uint32_t conf_win_right_offset; + uint32_t conf_win_top_offset; + uint32_t conf_win_bottom_offset; + StdVideoH265DecPicBufMgr* pDecPicBufMgr; + StdVideoH265SpsFlags flags; + StdVideoH265ScalingLists* pScalingLists; + StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui; + uint8_t palette_max_size; + uint8_t delta_palette_max_predictor_size; + uint8_t motion_vector_resolution_control_idc; + uint8_t sps_num_palette_predictor_initializer_minus1; + StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; + }; + + struct StdVideoH265PpsFlags + { + uint32_t dependent_slice_segments_enabled_flag:1; + uint32_t output_flag_present_flag:1; + uint32_t sign_data_hiding_enabled_flag:1; + uint32_t cabac_init_present_flag:1; + uint32_t constrained_intra_pred_flag:1; + uint32_t transform_skip_enabled_flag:1; + uint32_t cu_qp_delta_enabled_flag:1; + uint32_t pps_slice_chroma_qp_offsets_present_flag:1; + uint32_t weighted_pred_flag:1; + uint32_t weighted_bipred_flag:1; + uint32_t transquant_bypass_enabled_flag:1; + uint32_t tiles_enabled_flag:1; + uint32_t entropy_coding_sync_enabled_flag:1; + uint32_t uniform_spacing_flag:1; + uint32_t loop_filter_across_tiles_enabled_flag:1; + uint32_t pps_loop_filter_across_slices_enabled_flag:1; + uint32_t deblocking_filter_control_present_flag:1; + uint32_t deblocking_filter_override_enabled_flag:1; + uint32_t pps_deblocking_filter_disabled_flag:1; + uint32_t pps_scaling_list_data_present_flag:1; + uint32_t lists_modification_present_flag:1; + uint32_t slice_segment_header_extension_present_flag:1; + uint32_t pps_extension_present_flag:1; + uint32_t cross_component_prediction_enabled_flag:1; + uint32_t chroma_qp_offset_list_enabled_flag:1; + uint32_t pps_curr_pic_ref_enabled_flag:1; + uint32_t residual_adaptive_colour_transform_enabled_flag:1; + uint32_t pps_slice_act_qp_offsets_present_flag:1; + uint32_t pps_palette_predictor_initializer_present_flag:1; + uint32_t monochrome_palette_flag:1; + uint32_t pps_range_extension_flag:1; + }; + + struct StdVideoH265PictureParameterSet + { + uint8_t pps_pic_parameter_set_id; + uint8_t pps_seq_parameter_set_id; + uint8_t num_extra_slice_header_bits; + uint8_t num_ref_idx_l0_default_active_minus1; + uint8_t num_ref_idx_l1_default_active_minus1; + int8_t init_qp_minus26; + uint8_t diff_cu_qp_delta_depth; + int8_t pps_cb_qp_offset; + int8_t pps_cr_qp_offset; + uint8_t num_tile_columns_minus1; + uint8_t num_tile_rows_minus1; + uint16_t column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE]; + uint16_t row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE]; + int8_t pps_beta_offset_div2; + int8_t pps_tc_offset_div2; + uint8_t log2_parallel_merge_level_minus2; + StdVideoH265PpsFlags flags; + StdVideoH265ScalingLists* pScalingLists; + uint8_t log2_max_transform_skip_block_size_minus2; + uint8_t diff_cu_chroma_qp_offset_depth; + uint8_t chroma_qp_offset_list_len_minus1; + int8_t cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; + int8_t cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; + uint8_t log2_sao_offset_scale_luma; + uint8_t log2_sao_offset_scale_chroma; + int8_t pps_act_y_qp_offset_plus5; + int8_t pps_act_cb_qp_offset_plus5; + int8_t pps_act_cr_qp_offset_plus5; + uint8_t pps_num_palette_predictor_initializer; + uint8_t luma_bit_depth_entry_minus8; + uint8_t chroma_bit_depth_entry_minus8; + StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; + }; + + struct StdVideoEncodeH265SliceHeaderFlags + { + uint32_t first_slice_segment_in_pic_flag:1; + uint32_t no_output_of_prior_pics_flag:1; + uint32_t dependent_slice_segment_flag:1; + uint32_t short_term_ref_pic_set_sps_flag:1; + uint32_t slice_temporal_mvp_enable_flag:1; + uint32_t slice_sao_luma_flag:1; + uint32_t slice_sao_chroma_flag:1; + uint32_t num_ref_idx_active_override_flag:1; + uint32_t mvd_l1_zero_flag:1; + uint32_t cabac_init_flag:1; + uint32_t slice_deblocking_filter_disable_flag:1; + uint32_t collocated_from_l0_flag:1; + uint32_t slice_loop_filter_across_slices_enabled_flag:1; + uint32_t bLastSliceInPic:1; + uint32_t reservedBits:18; + uint16_t luma_weight_l0_flag; + uint16_t chroma_weight_l0_flag; + uint16_t luma_weight_l1_flag; + uint16_t chroma_weight_l1_flag; + }; + + struct StdVideoEncodeH265SliceHeader + { + StdVideoH265SliceType slice_type; + uint8_t slice_pic_parameter_set_id; + uint8_t num_short_term_ref_pic_sets; + uint32_t slice_segment_address; + uint8_t short_term_ref_pic_set_idx; + uint8_t num_long_term_sps; + uint8_t num_long_term_pics; + uint8_t collocated_ref_idx; + uint8_t num_ref_idx_l0_active_minus1; + uint8_t num_ref_idx_l1_active_minus1; + uint8_t luma_log2_weight_denom; + int8_t delta_chroma_log2_weight_denom; + int8_t delta_luma_weight_l0[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE]; + int8_t luma_offset_l0[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE]; + int8_t delta_chroma_weight_l0[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM]; + int8_t delta_chroma_offset_l0[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM]; + int8_t delta_luma_weight_l1[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE]; + int8_t luma_offset_l1[STD_VIDEO_ENCODE_H265_LUMA_LIST_SIZE]; + int8_t delta_chroma_weight_l1[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM]; + int8_t delta_chroma_offset_l1[STD_VIDEO_ENCODE_H265_CHROMA_LIST_SIZE][STD_VIDEO_ENCODE_H265_CHROMA_LISTS_NUM]; + uint8_t MaxNumMergeCand; + int8_t slice_qp_delta; + int8_t slice_cb_qp_offset; + int8_t slice_cr_qp_offset; + int8_t slice_beta_offset_div2; + int8_t slice_tc_offset_div2; + int8_t slice_act_y_qp_offset; + int8_t slice_act_cb_qp_offset; + int8_t slice_act_cr_qp_offset; + StdVideoEncodeH265SliceHeaderFlags flags; + }; + + struct StdVideoEncodeH265ReferenceModificationFlags + { + uint32_t ref_pic_list_modification_flag_l0:1; + uint32_t ref_pic_list_modification_flag_l1:1; + }; + + struct StdVideoEncodeH265ReferenceModifications + { + StdVideoEncodeH265ReferenceModificationFlags flags; + uint8_t referenceList0ModificationsCount; + uint8_t* pReferenceList0Modifications; + uint8_t referenceList1ModificationsCount; + uint8_t* pReferenceList1Modifications; + }; + + struct StdVideoEncodeH265PictureInfoFlags + { + uint32_t is_reference_flag:1; + uint32_t IrapPicFlag:1; + uint32_t long_term_flag:1; + }; + + struct StdVideoEncodeH265PictureInfo + { + StdVideoH265PictureType PictureType; + uint8_t sps_video_parameter_set_id; + uint8_t pps_seq_parameter_set_id; + int32_t PicOrderCntVal; + uint8_t TemporalId; + StdVideoEncodeH265PictureInfoFlags flags; + }; + + struct StdVideoEncodeH265ReferenceInfoFlags + { + uint32_t is_long_term:1; + uint32_t isUsedFlag:1; + }; + + struct StdVideoEncodeH265ReferenceInfo + { + int32_t PicOrderCntVal; + uint8_t TemporalId; + StdVideoEncodeH265ReferenceInfoFlags flags; + }; + + struct VkVideoEncodeH265CapabilitiesEXT + { + VkStructureType sType; + const void* pNext; + VkVideoEncodeH265CapabilityFlagsEXT flags; + VkVideoEncodeH265InputModeFlagsEXT inputModeFlags; + VkVideoEncodeH265OutputModeFlagsEXT outputModeFlags; + VkVideoEncodeH265CtbSizeFlagsEXT ctbSizes; + VkExtent2D inputImageDataAlignment; + uint8_t maxNumL0ReferenceForP; + uint8_t maxNumL0ReferenceForB; + uint8_t maxNumL1Reference; + uint8_t maxNumSubLayers; + uint8_t qualityLevelCount; + VkExtensionProperties stdExtensionVersion; + }; + + struct VkVideoEncodeH265SessionCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkVideoEncodeH265CreateFlagsEXT flags; + const VkExtensionProperties* pStdExtensionVersion; + }; + + struct VkVideoEncodeH265SessionParametersAddInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t vpsStdCount; + const StdVideoH265VideoParameterSet* pVpsStd; + uint32_t spsStdCount; + const StdVideoH265SequenceParameterSet* pSpsStd; + uint32_t ppsStdCount; + const StdVideoH265PictureParameterSet* pPpsStd; + }; + + struct VkVideoEncodeH265SessionParametersCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t maxVpsStdCount; + uint32_t maxSpsStdCount; + uint32_t maxPpsStdCount; + const VkVideoEncodeH265SessionParametersAddInfoEXT* pParametersAddInfo; + }; + + struct VkVideoEncodeH265DpbSlotInfoEXT + { + VkStructureType sType; + const void* pNext; + int8_t slotIndex; + const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo; + }; + + struct VkVideoEncodeH265ReferenceListsEXT + { + VkStructureType sType; + const void* pNext; + uint8_t referenceList0EntryCount; + const VkVideoEncodeH265DpbSlotInfoEXT* pReferenceList0Entries; + uint8_t referenceList1EntryCount; + const VkVideoEncodeH265DpbSlotInfoEXT* pReferenceList1Entries; + const StdVideoEncodeH265ReferenceModifications* pReferenceModifications; + }; + + struct VkVideoEncodeH265NaluSliceEXT + { + VkStructureType sType; + const void* pNext; + uint32_t ctbCount; + const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists; + const StdVideoEncodeH265SliceHeader* pSliceHeaderStd; + }; + + struct VkVideoEncodeH265VclFrameInfoEXT + { + VkStructureType sType; + const void* pNext; + const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists; + uint32_t naluSliceEntryCount; + const VkVideoEncodeH265NaluSliceEXT* pNaluSliceEntries; + const StdVideoEncodeH265PictureInfo* pCurrentPictureInfo; + }; + + struct VkVideoEncodeH265EmitPictureParametersEXT + { + VkStructureType sType; + const void* pNext; + uint8_t vpsId; + uint8_t spsId; + VkBool32 emitVpsEnable; + VkBool32 emitSpsEnable; + uint32_t ppsIdEntryCount; + const uint8_t* ppsIdEntries; + }; + + struct VkVideoEncodeH265ProfileEXT + { + VkStructureType sType; + const void* pNext; + StdVideoH265ProfileIdc stdProfileIdc; + }; + + struct VkVideoEncodeH265RateControlInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t gopFrameCount; + uint32_t idrPeriod; + uint32_t consecutiveBFrameCount; + VkVideoEncodeH265RateControlStructureFlagBitsEXT rateControlStructure; + }; + + struct VkVideoEncodeH265QpEXT + { + int32_t qpI; + int32_t qpP; + int32_t qpB; + }; + + struct VkVideoEncodeH265FrameSizeEXT + { + uint32_t frameISize; + uint32_t framePSize; + uint32_t frameBSize; + }; + + struct VkVideoEncodeH265RateControlLayerInfoEXT + { + VkStructureType sType; + const void* pNext; + uint8_t temporalId; + VkBool32 useInitialRcQp; + VkVideoEncodeH265QpEXT initialRcQp; + VkBool32 useMinQp; + VkVideoEncodeH265QpEXT minQp; + VkBool32 useMaxQp; + VkVideoEncodeH265QpEXT maxQp; + VkBool32 useMaxFrameSize; + VkVideoEncodeH265FrameSizeEXT maxFrameSize; + }; + + struct StdVideoDecodeH264PictureInfoFlags + { + uint32_t field_pic_flag:1; + uint32_t is_intra:1; + uint32_t IdrPicFlag:1; + uint32_t bottom_field_flag:1; + uint32_t is_reference:1; + uint32_t complementary_field_pair:1; + }; + + struct StdVideoDecodeH264PictureInfo + { + uint8_t seq_parameter_set_id; + uint8_t pic_parameter_set_id; + uint16_t reserved; + uint16_t frame_num; + uint16_t idr_pic_id; + int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; + StdVideoDecodeH264PictureInfoFlags flags; + }; + + struct StdVideoDecodeH264ReferenceInfoFlags + { + uint32_t top_field_flag:1; + uint32_t bottom_field_flag:1; + uint32_t is_long_term:1; + uint32_t is_non_existing:1; + }; + + struct StdVideoDecodeH264ReferenceInfo + { + uint16_t FrameNum; + uint16_t reserved; + int32_t PicOrderCnt[2]; + StdVideoDecodeH264ReferenceInfoFlags flags; + }; + + struct StdVideoDecodeH264MvcElementFlags + { + uint32_t non_idr:1; + uint32_t anchor_pic:1; + uint32_t inter_view:1; + }; + + struct StdVideoDecodeH264MvcElement + { + StdVideoDecodeH264MvcElementFlags flags; + uint16_t viewOrderIndex; + uint16_t viewId; + uint16_t temporalId; + uint16_t priorityId; + uint16_t numOfAnchorRefsInL0; + uint16_t viewIdOfAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE]; + uint16_t numOfAnchorRefsInL1; + uint16_t viewIdOfAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE]; + uint16_t numOfNonAnchorRefsInL0; + uint16_t viewIdOfNonAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE]; + uint16_t numOfNonAnchorRefsInL1; + uint16_t viewIdOfNonAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE]; + }; + + struct StdVideoDecodeH264Mvc + { + uint32_t viewId0; + uint32_t mvcElementCount; + StdVideoDecodeH264MvcElement* pMvcElements; + }; + + struct VkVideoDecodeH264ProfileEXT + { + VkStructureType sType; + const void* pNext; + StdVideoH264ProfileIdc stdProfileIdc; + VkVideoDecodeH264PictureLayoutFlagsEXT pictureLayout; + }; + + struct VkVideoDecodeH264CapabilitiesEXT + { + VkStructureType sType; + void* pNext; + uint32_t maxLevel; + VkOffset2D fieldOffsetGranularity; + VkExtensionProperties stdExtensionVersion; + }; + + struct VkVideoDecodeH264SessionCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkVideoDecodeH264CreateFlagsEXT flags; + const VkExtensionProperties* pStdExtensionVersion; + }; + + struct VkVideoDecodeH264SessionParametersAddInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t spsStdCount; + const StdVideoH264SequenceParameterSet* pSpsStd; + uint32_t ppsStdCount; + const StdVideoH264PictureParameterSet* pPpsStd; + }; + + struct VkVideoDecodeH264SessionParametersCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t maxSpsStdCount; + uint32_t maxPpsStdCount; + const VkVideoDecodeH264SessionParametersAddInfoEXT* pParametersAddInfo; + }; + + struct VkVideoDecodeH264PictureInfoEXT + { + VkStructureType sType; + const void* pNext; + const StdVideoDecodeH264PictureInfo* pStdPictureInfo; + uint32_t slicesCount; + const uint32_t* pSlicesDataOffsets; + }; + + struct VkVideoDecodeH264MvcEXT + { + VkStructureType sType; + const void* pNext; + const StdVideoDecodeH264Mvc* pStdMvc; + }; + + struct VkVideoDecodeH264DpbSlotInfoEXT + { + VkStructureType sType; + const void* pNext; + const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo; + }; + + struct StdVideoDecodeH265PictureInfoFlags + { + uint32_t IrapPicFlag:1; + uint32_t IdrPicFlag:1; + uint32_t IsReference:1; + uint32_t short_term_ref_pic_set_sps_flag:1; + }; + + struct StdVideoDecodeH265PictureInfo + { + uint8_t vps_video_parameter_set_id; + uint8_t sps_seq_parameter_set_id; + uint8_t pps_pic_parameter_set_id; + uint8_t num_short_term_ref_pic_sets; + int32_t PicOrderCntVal; + uint16_t NumBitsForSTRefPicSetInSlice; + uint8_t NumDeltaPocsOfRefRpsIdx; + uint8_t RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; + uint8_t RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; + uint8_t RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; + StdVideoDecodeH265PictureInfoFlags flags; + }; + + struct StdVideoDecodeH265ReferenceInfoFlags + { + uint32_t is_long_term:1; + uint32_t is_non_existing:1; + }; + + struct StdVideoDecodeH265ReferenceInfo + { + int32_t PicOrderCntVal; + StdVideoDecodeH265ReferenceInfoFlags flags; + }; + + struct VkVideoDecodeH265ProfileEXT + { + VkStructureType sType; + const void* pNext; + StdVideoH265ProfileIdc stdProfileIdc; + }; + + struct VkVideoDecodeH265CapabilitiesEXT + { + VkStructureType sType; + void* pNext; + uint32_t maxLevel; + VkExtensionProperties stdExtensionVersion; + }; + + struct VkVideoDecodeH265SessionCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkVideoDecodeH265CreateFlagsEXT flags; + const VkExtensionProperties* pStdExtensionVersion; + }; + + struct VkVideoDecodeH265SessionParametersAddInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t spsStdCount; + const StdVideoH265SequenceParameterSet* pSpsStd; + uint32_t ppsStdCount; + const StdVideoH265PictureParameterSet* pPpsStd; + }; + + struct VkVideoDecodeH265SessionParametersCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + uint32_t maxSpsStdCount; + uint32_t maxPpsStdCount; + const VkVideoDecodeH265SessionParametersAddInfoEXT* pParametersAddInfo; + }; + + struct VkVideoDecodeH265PictureInfoEXT + { + VkStructureType sType; + const void* pNext; + StdVideoDecodeH265PictureInfo* pStdPictureInfo; + uint32_t slicesCount; + const uint32_t* pSlicesDataOffsets; + }; + + struct VkVideoDecodeH265DpbSlotInfoEXT + { + VkStructureType sType; + const void* pNext; + const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo; + }; + + struct VkImagePipeSurfaceCreateInfoFUCHSIA + { + VkStructureType sType; + const void* pNext; + VkImagePipeSurfaceCreateFlagsFUCHSIA flags; + pt::zx_handle_t imagePipeHandle; + }; + + struct VkImportMemoryZirconHandleInfoFUCHSIA + { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagBits handleType; + pt::zx_handle_t handle; + }; + + struct VkMemoryZirconHandlePropertiesFUCHSIA + { + VkStructureType sType; + void* pNext; + uint32_t memoryTypeBits; + }; + + struct VkMemoryGetZirconHandleInfoFUCHSIA + { + VkStructureType sType; + const void* pNext; + VkDeviceMemory memory; + VkExternalMemoryHandleTypeFlagBits handleType; + }; + + struct VkImportSemaphoreZirconHandleInfoFUCHSIA + { + VkStructureType sType; + const void* pNext; + VkSemaphore semaphore; + VkSemaphoreImportFlags flags; + VkExternalSemaphoreHandleTypeFlagBits handleType; + pt::zx_handle_t zirconHandle; + }; + + struct VkSemaphoreGetZirconHandleInfoFUCHSIA + { + VkStructureType sType; + const void* pNext; + VkSemaphore semaphore; + VkExternalSemaphoreHandleTypeFlagBits handleType; + }; + + struct VkBufferCollectionCreateInfoFUCHSIA + { + VkStructureType sType; + const void* pNext; + pt::zx_handle_t collectionToken; + }; + + struct VkImportMemoryBufferCollectionFUCHSIA + { + VkStructureType sType; + const void* pNext; + VkBufferCollectionFUCHSIA collection; + uint32_t index; + }; + + struct VkBufferCollectionImageCreateInfoFUCHSIA + { + VkStructureType sType; + const void* pNext; + VkBufferCollectionFUCHSIA collection; + uint32_t index; + }; + + struct VkBufferCollectionConstraintsInfoFUCHSIA + { + VkStructureType sType; + const void* pNext; + uint32_t minBufferCount; + uint32_t maxBufferCount; + uint32_t minBufferCountForCamping; + uint32_t minBufferCountForDedicatedSlack; + uint32_t minBufferCountForSharedSlack; + }; + + struct VkBufferConstraintsInfoFUCHSIA + { + VkStructureType sType; + const void* pNext; + VkBufferCreateInfo createInfo; + VkFormatFeatureFlags requiredFormatFeatures; + VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints; + }; + + struct VkBufferCollectionBufferCreateInfoFUCHSIA + { + VkStructureType sType; + const void* pNext; + VkBufferCollectionFUCHSIA collection; + uint32_t index; + }; + + struct VkSysmemColorSpaceFUCHSIA + { + VkStructureType sType; + const void* pNext; + uint32_t colorSpace; + }; + + struct VkBufferCollectionPropertiesFUCHSIA + { + VkStructureType sType; + void* pNext; + uint32_t memoryTypeBits; + uint32_t bufferCount; + uint32_t createInfoIndex; + uint64_t sysmemPixelFormat; + VkFormatFeatureFlags formatFeatures; + VkSysmemColorSpaceFUCHSIA sysmemColorSpaceIndex; + VkComponentMapping samplerYcbcrConversionComponents; + VkSamplerYcbcrModelConversion suggestedYcbcrModel; + VkSamplerYcbcrRange suggestedYcbcrRange; + VkChromaLocation suggestedXChromaOffset; + VkChromaLocation suggestedYChromaOffset; + }; + + struct VkImageFormatConstraintsInfoFUCHSIA + { + VkStructureType sType; + const void* pNext; + VkImageCreateInfo imageCreateInfo; + VkFormatFeatureFlags requiredFormatFeatures; + VkImageFormatConstraintsFlagsFUCHSIA flags; + uint64_t sysmemPixelFormat; + uint32_t colorSpaceCount; + const VkSysmemColorSpaceFUCHSIA* pColorSpaces; + }; + + struct VkImageConstraintsInfoFUCHSIA + { + VkStructureType sType; + const void* pNext; + uint32_t formatConstraintsCount; + const VkImageFormatConstraintsInfoFUCHSIA* pFormatConstraints; + VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints; + VkImageConstraintsInfoFlagsFUCHSIA flags; + }; + + struct VkStreamDescriptorSurfaceCreateInfoGGP + { + VkStructureType sType; + const void* pNext; + VkStreamDescriptorSurfaceCreateFlagsGGP flags; + pt::GgpStreamDescriptor streamDescriptor; + }; + + struct VkPresentFrameTokenGGP + { + VkStructureType sType; + const void* pNext; + pt::GgpFrameToken frameToken; + }; + + struct VkIOSSurfaceCreateInfoMVK + { + VkStructureType sType; + const void* pNext; + VkIOSSurfaceCreateFlagsMVK flags; + const void* pView; + }; + + struct VkMacOSSurfaceCreateInfoMVK + { + VkStructureType sType; + const void* pNext; + VkMacOSSurfaceCreateFlagsMVK flags; + const void* pView; + }; + + struct VkMetalSurfaceCreateInfoEXT + { + VkStructureType sType; + const void* pNext; + VkMetalSurfaceCreateFlagsEXT flags; + const pt::CAMetalLayer* pLayer; + }; + + struct VkViSurfaceCreateInfoNN + { + VkStructureType sType; + const void* pNext; + VkViSurfaceCreateFlagsNN flags; + void* window; + }; + + struct VkWaylandSurfaceCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkWaylandSurfaceCreateFlagsKHR flags; + pt::WaylandDisplayPtr display; + pt::WaylandSurfacePtr surface; + }; + + struct VkWin32SurfaceCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkWin32SurfaceCreateFlagsKHR flags; + pt::Win32InstanceHandle hinstance; + pt::Win32WindowHandle hwnd; + }; + + struct VkImportMemoryWin32HandleInfoKHR + { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagBits handleType; + pt::Win32Handle handle; + pt::Win32LPCWSTR name; + }; + + struct VkExportMemoryWin32HandleInfoKHR + { + VkStructureType sType; + const void* pNext; + pt::Win32SecurityAttributesPtr pAttributes; + uint32_t dwAccess; + pt::Win32LPCWSTR name; + }; + + struct VkMemoryWin32HandlePropertiesKHR + { + VkStructureType sType; + void* pNext; + uint32_t memoryTypeBits; + }; + + struct VkMemoryGetWin32HandleInfoKHR + { + VkStructureType sType; + const void* pNext; + VkDeviceMemory memory; + VkExternalMemoryHandleTypeFlagBits handleType; + }; + + struct VkWin32KeyedMutexAcquireReleaseInfoKHR + { + VkStructureType sType; + const void* pNext; + uint32_t acquireCount; + const VkDeviceMemory* pAcquireSyncs; + const uint64_t* pAcquireKeys; + const uint32_t* pAcquireTimeouts; + uint32_t releaseCount; + const VkDeviceMemory* pReleaseSyncs; + const uint64_t* pReleaseKeys; + }; + + struct VkImportSemaphoreWin32HandleInfoKHR + { + VkStructureType sType; + const void* pNext; + VkSemaphore semaphore; + VkSemaphoreImportFlags flags; + VkExternalSemaphoreHandleTypeFlagBits handleType; + pt::Win32Handle handle; + pt::Win32LPCWSTR name; + }; + + struct VkExportSemaphoreWin32HandleInfoKHR + { + VkStructureType sType; + const void* pNext; + pt::Win32SecurityAttributesPtr pAttributes; + uint32_t dwAccess; + pt::Win32LPCWSTR name; + }; + + struct VkD3D12FenceSubmitInfoKHR + { + VkStructureType sType; + const void* pNext; + uint32_t waitSemaphoreValuesCount; + const uint64_t* pWaitSemaphoreValues; + uint32_t signalSemaphoreValuesCount; + const uint64_t* pSignalSemaphoreValues; + }; + + struct VkSemaphoreGetWin32HandleInfoKHR + { + VkStructureType sType; + const void* pNext; + VkSemaphore semaphore; + VkExternalSemaphoreHandleTypeFlagBits handleType; + }; + + struct VkImportFenceWin32HandleInfoKHR + { + VkStructureType sType; + const void* pNext; + VkFence fence; + VkFenceImportFlags flags; + VkExternalFenceHandleTypeFlagBits handleType; + pt::Win32Handle handle; + pt::Win32LPCWSTR name; + }; + + struct VkExportFenceWin32HandleInfoKHR + { + VkStructureType sType; + const void* pNext; + pt::Win32SecurityAttributesPtr pAttributes; + uint32_t dwAccess; + pt::Win32LPCWSTR name; + }; + + struct VkFenceGetWin32HandleInfoKHR + { + VkStructureType sType; + const void* pNext; + VkFence fence; + VkExternalFenceHandleTypeFlagBits handleType; + }; + + struct VkImportMemoryWin32HandleInfoNV + { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagsNV handleType; + pt::Win32Handle handle; + }; + + struct VkExportMemoryWin32HandleInfoNV + { + VkStructureType sType; + const void* pNext; + pt::Win32SecurityAttributesPtr pAttributes; + uint32_t dwAccess; + }; + + struct VkWin32KeyedMutexAcquireReleaseInfoNV + { + VkStructureType sType; + const void* pNext; + uint32_t acquireCount; + const VkDeviceMemory* pAcquireSyncs; + const uint64_t* pAcquireKeys; + const uint32_t* pAcquireTimeoutMilliseconds; + uint32_t releaseCount; + const VkDeviceMemory* pReleaseSyncs; + const uint64_t* pReleaseKeys; + }; + + struct VkSurfaceFullScreenExclusiveInfoEXT + { + VkStructureType sType; + void* pNext; + VkFullScreenExclusiveEXT fullScreenExclusive; + }; + + struct VkSurfaceCapabilitiesFullScreenExclusiveEXT + { + VkStructureType sType; + void* pNext; + VkBool32 fullScreenExclusiveSupported; + }; + + struct VkSurfaceFullScreenExclusiveWin32InfoEXT + { + VkStructureType sType; + const void* pNext; + pt::Win32MonitorHandle hmonitor; + }; + + struct VkXcbSurfaceCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkXcbSurfaceCreateFlagsKHR flags; + pt::XcbConnectionPtr connection; + pt::XcbWindow window; + }; + + struct VkXlibSurfaceCreateInfoKHR + { + VkStructureType sType; + const void* pNext; + VkXlibSurfaceCreateFlagsKHR flags; + pt::XlibDisplayPtr dpy; + pt::XlibWindow window; + }; + + typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; + + typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; + + typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; + + typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; + + typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; + + typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; + + typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; + + typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; + + typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; + + typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; + + typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; + + typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; + + typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; + + typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; + + typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; + + typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; + + typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; + + typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; + + typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; + + typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; + + typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; + + typedef VkFormatProperties2 VkFormatProperties2KHR; + + typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; + + typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; + + typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; + + typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; + + typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; + + typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; + + typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; + + typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR; + + typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; + + typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; + + typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; + + typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; + + typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; + + typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; + + typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; + + typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; + + typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; + + typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; + + typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; + + typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; + + typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; + + typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; + + typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; + + typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; + + typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; + + typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; + + typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; + + typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; + + typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; + + typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; + + typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; + + typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; + + typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; + + typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; + + typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; + + typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; + + typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; + + typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; + + typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; + + typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; + + typedef VkConformanceVersion VkConformanceVersionKHR; + + typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; + + typedef VkAttachmentDescription2 VkAttachmentDescription2KHR; + + typedef VkAttachmentReference2 VkAttachmentReference2KHR; + + typedef VkSubpassDescription2 VkSubpassDescription2KHR; + + typedef VkSubpassDependency2 VkSubpassDependency2KHR; + + typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; + + typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; + + typedef VkSubpassEndInfo VkSubpassEndInfoKHR; + + typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; + + typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; + + typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; + + typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; + + typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; + + typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; + + typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; + + typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; + + typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; + + typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; + + typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; + + typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; + + typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; + + typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; + + typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; + + typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; + + typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; + + typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR; + + typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; + + typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; + + typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; + + typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; + + typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; + + typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; + + typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; + + typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; + + typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; + + typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; + + typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; + + typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; + + typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; + + typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; + + typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; + + typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; + + typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; + + typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; + ++typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT; ++ ++typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT; ++ ++typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; ++ ++typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; ++ ++typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; ++ ++typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; ++ ++typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; ++ ++typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; ++ ++typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; ++ ++typedef VkMemoryBarrier2 VkMemoryBarrier2KHR; ++ ++typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR; ++ ++typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR; ++ ++typedef VkDependencyInfo VkDependencyInfoKHR; ++ ++typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR; ++ ++typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR; ++ ++typedef VkSubmitInfo2 VkSubmitInfo2KHR; ++ ++typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; ++ ++typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; ++ ++typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT; ++ ++typedef VkBufferCopy2 VkBufferCopy2KHR; ++ ++typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR; ++ ++typedef VkImageCopy2 VkImageCopy2KHR; ++ ++typedef VkCopyImageInfo2 VkCopyImageInfo2KHR; ++ ++typedef VkBufferImageCopy2 VkBufferImageCopy2KHR; ++ ++typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; ++ ++typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; ++ ++typedef VkImageBlit2 VkImageBlit2KHR; ++ ++typedef VkBlitImageInfo2 VkBlitImageInfo2KHR; ++ ++typedef VkImageResolve2 VkImageResolve2KHR; ++ ++typedef VkResolveImageInfo2 VkResolveImageInfo2KHR; ++ ++typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; ++ ++typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; ++ ++typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; ++ ++typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT; ++ ++typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT; ++ ++typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT; ++ ++typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT; ++ ++typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; ++ ++typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR; ++ ++typedef VkRenderingInfo VkRenderingInfoKHR; ++ ++typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; ++ ++typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; ++ ++typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; ++ ++typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; ++ ++typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; ++ ++typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; ++ ++typedef VkFormatProperties3 VkFormatProperties3KHR; ++ ++typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; ++ ++typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; ++ ++typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; ++ ++typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; ++ + typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; + + typedef VkTransformMatrixKHR VkTransformMatrixNV; + + typedef VkAabbPositionsKHR VkAabbPositionsNV; + + typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV; + + typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL; + + typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; + diff --cc external/vulkancts/framework/vulkan/vkSupportedExtensions.inl index 0000000,d69413d..373fc97 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkSupportedExtensions.inl +++ b/external/vulkancts/framework/vulkan/vkSupportedExtensions.inl @@@ -1,0 -1,69 +1,93 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + + void getCoreDeviceExtensionsImpl (uint32_t coreVersion, ::std::vector& dst) + { + if (coreVersion >= VK_API_VERSION_1_2) + { + dst.push_back("VK_KHR_sampler_mirror_clamp_to_edge"); + dst.push_back("VK_KHR_shader_float16_int8"); + dst.push_back("VK_KHR_imageless_framebuffer"); + dst.push_back("VK_KHR_create_renderpass2"); + dst.push_back("VK_KHR_image_format_list"); + dst.push_back("VK_KHR_draw_indirect_count"); + dst.push_back("VK_KHR_shader_subgroup_extended_types"); + dst.push_back("VK_KHR_8bit_storage"); + dst.push_back("VK_KHR_shader_atomic_int64"); + dst.push_back("VK_KHR_driver_properties"); + dst.push_back("VK_KHR_shader_float_controls"); + dst.push_back("VK_KHR_depth_stencil_resolve"); + dst.push_back("VK_KHR_timeline_semaphore"); + dst.push_back("VK_KHR_vulkan_memory_model"); + dst.push_back("VK_KHR_spirv_1_4"); + dst.push_back("VK_KHR_separate_depth_stencil_layouts"); + dst.push_back("VK_KHR_uniform_buffer_standard_layout"); + dst.push_back("VK_KHR_buffer_device_address"); + dst.push_back("VK_EXT_sampler_filter_minmax"); + dst.push_back("VK_EXT_descriptor_indexing"); + dst.push_back("VK_EXT_shader_viewport_index_layer"); + dst.push_back("VK_EXT_scalar_block_layout"); + dst.push_back("VK_EXT_separate_stencil_usage"); + dst.push_back("VK_EXT_host_query_reset"); + } ++ if (coreVersion >= VK_API_VERSION_1_3) ++ { ++ dst.push_back("VK_KHR_dynamic_rendering"); ++ dst.push_back("VK_KHR_shader_terminate_invocation"); ++ dst.push_back("VK_KHR_shader_integer_dot_product"); ++ dst.push_back("VK_KHR_shader_non_semantic_info"); ++ dst.push_back("VK_KHR_synchronization2"); ++ dst.push_back("VK_KHR_zero_initialize_workgroup_memory"); ++ dst.push_back("VK_KHR_copy_commands2"); ++ dst.push_back("VK_KHR_format_feature_flags2"); ++ dst.push_back("VK_KHR_maintenance4"); ++ dst.push_back("VK_EXT_texture_compression_astc_hdr"); ++ dst.push_back("VK_EXT_inline_uniform_block"); ++ dst.push_back("VK_EXT_pipeline_creation_feedback"); ++ dst.push_back("VK_EXT_subgroup_size_control"); ++ dst.push_back("VK_EXT_tooling_info"); ++ dst.push_back("VK_EXT_extended_dynamic_state"); ++ dst.push_back("VK_EXT_shader_demote_to_helper_invocation"); ++ dst.push_back("VK_EXT_texel_buffer_alignment"); ++ dst.push_back("VK_EXT_private_data"); ++ dst.push_back("VK_EXT_pipeline_creation_cache_control"); ++ dst.push_back("VK_EXT_image_robustness"); ++ dst.push_back("VK_EXT_4444_formats"); ++ } + if (coreVersion >= VK_API_VERSION_1_1) + { + dst.push_back("VK_KHR_multiview"); + dst.push_back("VK_KHR_device_group"); + dst.push_back("VK_KHR_shader_draw_parameters"); + dst.push_back("VK_KHR_maintenance1"); + dst.push_back("VK_KHR_external_memory"); + dst.push_back("VK_KHR_external_semaphore"); + dst.push_back("VK_KHR_16bit_storage"); + dst.push_back("VK_KHR_descriptor_update_template"); + dst.push_back("VK_KHR_external_fence"); + dst.push_back("VK_KHR_maintenance2"); + dst.push_back("VK_KHR_variable_pointers"); + dst.push_back("VK_KHR_dedicated_allocation"); + dst.push_back("VK_KHR_storage_buffer_storage_class"); + dst.push_back("VK_KHR_relaxed_block_layout"); + dst.push_back("VK_KHR_get_memory_requirements2"); + dst.push_back("VK_KHR_sampler_ycbcr_conversion"); + dst.push_back("VK_KHR_bind_memory2"); + dst.push_back("VK_KHR_maintenance3"); + } + } + + void getCoreInstanceExtensionsImpl (uint32_t coreVersion, ::std::vector& dst) + { + if (coreVersion >= VK_API_VERSION_1_1) + { + dst.push_back("VK_KHR_get_physical_device_properties2"); + dst.push_back("VK_KHR_device_group_creation"); + dst.push_back("VK_KHR_external_memory_capabilities"); + dst.push_back("VK_KHR_external_semaphore_capabilities"); + dst.push_back("VK_KHR_external_fence_capabilities"); + } + } + diff --cc external/vulkancts/framework/vulkan/vkTypeUtil.inl index 0000000,77ce018..787d14a mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkTypeUtil.inl +++ b/external/vulkancts/framework/vulkan/vkTypeUtil.inl @@@ -1,0 -1,766 +1,766 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + + inline VkExtent2D makeExtent2D (uint32_t width, uint32_t height) + { + VkExtent2D res; + res.width = width; + res.height = height; + return res; + } + + inline VkExtent3D makeExtent3D (uint32_t width, uint32_t height, uint32_t depth) + { + VkExtent3D res; + res.width = width; + res.height = height; + res.depth = depth; + return res; + } + + inline VkOffset2D makeOffset2D (int32_t x, int32_t y) + { + VkOffset2D res; + res.x = x; + res.y = y; + return res; + } + + inline VkOffset3D makeOffset3D (int32_t x, int32_t y, int32_t z) + { + VkOffset3D res; + res.x = x; + res.y = y; + res.z = z; + return res; + } + + inline VkDispatchIndirectCommand makeDispatchIndirectCommand (uint32_t x, uint32_t y, uint32_t z) + { + VkDispatchIndirectCommand res; + res.x = x; + res.y = y; + res.z = z; + return res; + } + + inline VkDrawIndexedIndirectCommand makeDrawIndexedIndirectCommand (uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) + { + VkDrawIndexedIndirectCommand res; + res.indexCount = indexCount; + res.instanceCount = instanceCount; + res.firstIndex = firstIndex; + res.vertexOffset = vertexOffset; + res.firstInstance = firstInstance; + return res; + } + + inline VkDrawIndirectCommand makeDrawIndirectCommand (uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) + { + VkDrawIndirectCommand res; + res.vertexCount = vertexCount; + res.instanceCount = instanceCount; + res.firstVertex = firstVertex; + res.firstInstance = firstInstance; + return res; + } + + inline VkImageSubresourceRange makeImageSubresourceRange (VkImageAspectFlags aspectMask, uint32_t baseMipLevel, uint32_t levelCount, uint32_t baseArrayLayer, uint32_t layerCount) + { + VkImageSubresourceRange res; + res.aspectMask = aspectMask; + res.baseMipLevel = baseMipLevel; + res.levelCount = levelCount; + res.baseArrayLayer = baseArrayLayer; + res.layerCount = layerCount; + return res; + } + + inline VkAllocationCallbacks makeAllocationCallbacks (void* pUserData, PFN_vkAllocationFunction pfnAllocation, PFN_vkReallocationFunction pfnReallocation, PFN_vkFreeFunction pfnFree, PFN_vkInternalAllocationNotification pfnInternalAllocation, PFN_vkInternalFreeNotification pfnInternalFree) + { + VkAllocationCallbacks res; + res.pUserData = pUserData; + res.pfnAllocation = pfnAllocation; + res.pfnReallocation = pfnReallocation; + res.pfnFree = pfnFree; + res.pfnInternalAllocation = pfnInternalAllocation; + res.pfnInternalFree = pfnInternalFree; + return res; + } + + inline VkMemoryRequirements makeMemoryRequirements (VkDeviceSize size, VkDeviceSize alignment, uint32_t memoryTypeBits) + { + VkMemoryRequirements res; + res.size = size; + res.alignment = alignment; + res.memoryTypeBits = memoryTypeBits; + return res; + } + + inline VkSparseMemoryBind makeSparseMemoryBind (VkDeviceSize resourceOffset, VkDeviceSize size, VkDeviceMemory memory, VkDeviceSize memoryOffset, VkSparseMemoryBindFlags flags) + { + VkSparseMemoryBind res; + res.resourceOffset = resourceOffset; + res.size = size; + res.memory = memory; + res.memoryOffset = memoryOffset; + res.flags = flags; + return res; + } + + inline VkSparseBufferMemoryBindInfo makeSparseBufferMemoryBindInfo (VkBuffer buffer, uint32_t bindCount, const VkSparseMemoryBind* pBinds) + { + VkSparseBufferMemoryBindInfo res; + res.buffer = buffer; + res.bindCount = bindCount; + res.pBinds = pBinds; + return res; + } + + inline VkSparseImageOpaqueMemoryBindInfo makeSparseImageOpaqueMemoryBindInfo (VkImage image, uint32_t bindCount, const VkSparseMemoryBind* pBinds) + { + VkSparseImageOpaqueMemoryBindInfo res; + res.image = image; + res.bindCount = bindCount; + res.pBinds = pBinds; + return res; + } + + inline VkImageSubresource makeImageSubresource (VkImageAspectFlags aspectMask, uint32_t mipLevel, uint32_t arrayLayer) + { + VkImageSubresource res; + res.aspectMask = aspectMask; + res.mipLevel = mipLevel; + res.arrayLayer = arrayLayer; + return res; + } + + inline VkSparseImageMemoryBindInfo makeSparseImageMemoryBindInfo (VkImage image, uint32_t bindCount, const VkSparseImageMemoryBind* pBinds) + { + VkSparseImageMemoryBindInfo res; + res.image = image; + res.bindCount = bindCount; + res.pBinds = pBinds; + return res; + } + + inline VkSubresourceLayout makeSubresourceLayout (VkDeviceSize offset, VkDeviceSize size, VkDeviceSize rowPitch, VkDeviceSize arrayPitch, VkDeviceSize depthPitch) + { + VkSubresourceLayout res; + res.offset = offset; + res.size = size; + res.rowPitch = rowPitch; + res.arrayPitch = arrayPitch; + res.depthPitch = depthPitch; + return res; + } + + inline VkComponentMapping makeComponentMapping (VkComponentSwizzle r, VkComponentSwizzle g, VkComponentSwizzle b, VkComponentSwizzle a) + { + VkComponentMapping res; + res.r = r; + res.g = g; + res.b = b; + res.a = a; + return res; + } + + inline VkSpecializationMapEntry makeSpecializationMapEntry (uint32_t constantID, uint32_t offset, size_t size) + { + VkSpecializationMapEntry res; + res.constantID = constantID; + res.offset = offset; + res.size = size; + return res; + } + + inline VkSpecializationInfo makeSpecializationInfo (uint32_t mapEntryCount, const VkSpecializationMapEntry* pMapEntries, size_t dataSize, const void* pData) + { + VkSpecializationInfo res; + res.mapEntryCount = mapEntryCount; + res.pMapEntries = pMapEntries; + res.dataSize = dataSize; + res.pData = pData; + return res; + } + + inline VkVertexInputBindingDescription makeVertexInputBindingDescription (uint32_t binding, uint32_t stride, VkVertexInputRate inputRate) + { + VkVertexInputBindingDescription res; + res.binding = binding; + res.stride = stride; + res.inputRate = inputRate; + return res; + } + + inline VkVertexInputAttributeDescription makeVertexInputAttributeDescription (uint32_t location, uint32_t binding, VkFormat format, uint32_t offset) + { + VkVertexInputAttributeDescription res; + res.location = location; + res.binding = binding; + res.format = format; + res.offset = offset; + return res; + } + + inline VkViewport makeViewport (float x, float y, float width, float height, float minDepth, float maxDepth) + { + VkViewport res; + res.x = x; + res.y = y; + res.width = width; + res.height = height; + res.minDepth = minDepth; + res.maxDepth = maxDepth; + return res; + } + + inline VkStencilOpState makeStencilOpState (VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp, uint32_t compareMask, uint32_t writeMask, uint32_t reference) + { + VkStencilOpState res; + res.failOp = failOp; + res.passOp = passOp; + res.depthFailOp = depthFailOp; + res.compareOp = compareOp; + res.compareMask = compareMask; + res.writeMask = writeMask; + res.reference = reference; + return res; + } + + inline VkPipelineColorBlendAttachmentState makePipelineColorBlendAttachmentState (VkBool32 blendEnable, VkBlendFactor srcColorBlendFactor, VkBlendFactor dstColorBlendFactor, VkBlendOp colorBlendOp, VkBlendFactor srcAlphaBlendFactor, VkBlendFactor dstAlphaBlendFactor, VkBlendOp alphaBlendOp, VkColorComponentFlags colorWriteMask) + { + VkPipelineColorBlendAttachmentState res; + res.blendEnable = blendEnable; + res.srcColorBlendFactor = srcColorBlendFactor; + res.dstColorBlendFactor = dstColorBlendFactor; + res.colorBlendOp = colorBlendOp; + res.srcAlphaBlendFactor = srcAlphaBlendFactor; + res.dstAlphaBlendFactor = dstAlphaBlendFactor; + res.alphaBlendOp = alphaBlendOp; + res.colorWriteMask = colorWriteMask; + return res; + } + + inline VkPushConstantRange makePushConstantRange (VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size) + { + VkPushConstantRange res; + res.stageFlags = stageFlags; + res.offset = offset; + res.size = size; + return res; + } + + inline VkDescriptorBufferInfo makeDescriptorBufferInfo (VkBuffer buffer, VkDeviceSize offset, VkDeviceSize range) + { + VkDescriptorBufferInfo res; + res.buffer = buffer; + res.offset = offset; + res.range = range; + return res; + } + + inline VkDescriptorImageInfo makeDescriptorImageInfo (VkSampler sampler, VkImageView imageView, VkImageLayout imageLayout) + { + VkDescriptorImageInfo res; + res.sampler = sampler; + res.imageView = imageView; + res.imageLayout = imageLayout; + return res; + } + + inline VkDescriptorPoolSize makeDescriptorPoolSize (VkDescriptorType type, uint32_t descriptorCount) + { + VkDescriptorPoolSize res; + res.type = type; + res.descriptorCount = descriptorCount; + return res; + } + + inline VkDescriptorSetLayoutBinding makeDescriptorSetLayoutBinding (uint32_t binding, VkDescriptorType descriptorType, uint32_t descriptorCount, VkShaderStageFlags stageFlags, const VkSampler* pImmutableSamplers) + { + VkDescriptorSetLayoutBinding res; + res.binding = binding; + res.descriptorType = descriptorType; + res.descriptorCount = descriptorCount; + res.stageFlags = stageFlags; + res.pImmutableSamplers = pImmutableSamplers; + return res; + } + + inline VkAttachmentDescription makeAttachmentDescription (VkAttachmentDescriptionFlags flags, VkFormat format, VkSampleCountFlagBits samples, VkAttachmentLoadOp loadOp, VkAttachmentStoreOp storeOp, VkAttachmentLoadOp stencilLoadOp, VkAttachmentStoreOp stencilStoreOp, VkImageLayout initialLayout, VkImageLayout finalLayout) + { + VkAttachmentDescription res; + res.flags = flags; + res.format = format; + res.samples = samples; + res.loadOp = loadOp; + res.storeOp = storeOp; + res.stencilLoadOp = stencilLoadOp; + res.stencilStoreOp = stencilStoreOp; + res.initialLayout = initialLayout; + res.finalLayout = finalLayout; + return res; + } + + inline VkAttachmentReference makeAttachmentReference (uint32_t attachment, VkImageLayout layout) + { + VkAttachmentReference res; + res.attachment = attachment; + res.layout = layout; + return res; + } + + inline VkSubpassDescription makeSubpassDescription (VkSubpassDescriptionFlags flags, VkPipelineBindPoint pipelineBindPoint, uint32_t inputAttachmentCount, const VkAttachmentReference* pInputAttachments, uint32_t colorAttachmentCount, const VkAttachmentReference* pColorAttachments, const VkAttachmentReference* pResolveAttachments, const VkAttachmentReference* pDepthStencilAttachment, uint32_t preserveAttachmentCount, const uint32_t* pPreserveAttachments) + { + VkSubpassDescription res; + res.flags = flags; + res.pipelineBindPoint = pipelineBindPoint; + res.inputAttachmentCount = inputAttachmentCount; + res.pInputAttachments = pInputAttachments; + res.colorAttachmentCount = colorAttachmentCount; + res.pColorAttachments = pColorAttachments; + res.pResolveAttachments = pResolveAttachments; + res.pDepthStencilAttachment = pDepthStencilAttachment; + res.preserveAttachmentCount = preserveAttachmentCount; + res.pPreserveAttachments = pPreserveAttachments; + return res; + } + + inline VkSubpassDependency makeSubpassDependency (uint32_t srcSubpass, uint32_t dstSubpass, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask, VkDependencyFlags dependencyFlags) + { + VkSubpassDependency res; + res.srcSubpass = srcSubpass; + res.dstSubpass = dstSubpass; + res.srcStageMask = srcStageMask; + res.dstStageMask = dstStageMask; + res.srcAccessMask = srcAccessMask; + res.dstAccessMask = dstAccessMask; + res.dependencyFlags = dependencyFlags; + return res; + } + + inline VkBufferCopy makeBufferCopy (VkDeviceSize srcOffset, VkDeviceSize dstOffset, VkDeviceSize size) + { + VkBufferCopy res; + res.srcOffset = srcOffset; + res.dstOffset = dstOffset; + res.size = size; + return res; + } + + inline VkImageSubresourceLayers makeImageSubresourceLayers (VkImageAspectFlags aspectMask, uint32_t mipLevel, uint32_t baseArrayLayer, uint32_t layerCount) + { + VkImageSubresourceLayers res; + res.aspectMask = aspectMask; + res.mipLevel = mipLevel; + res.baseArrayLayer = baseArrayLayer; + res.layerCount = layerCount; + return res; + } + + inline VkClearDepthStencilValue makeClearDepthStencilValue (float depth, uint32_t stencil) + { + VkClearDepthStencilValue res; + res.depth = depth; + res.stencil = stencil; + return res; + } + + inline VkInputAttachmentAspectReference makeInputAttachmentAspectReference (uint32_t subpass, uint32_t inputAttachmentIndex, VkImageAspectFlags aspectMask) + { + VkInputAttachmentAspectReference res; + res.subpass = subpass; + res.inputAttachmentIndex = inputAttachmentIndex; + res.aspectMask = aspectMask; + return res; + } + + inline VkDescriptorUpdateTemplateEntry makeDescriptorUpdateTemplateEntry (uint32_t dstBinding, uint32_t dstArrayElement, uint32_t descriptorCount, VkDescriptorType descriptorType, size_t offset, size_t stride) + { + VkDescriptorUpdateTemplateEntry res; + res.dstBinding = dstBinding; + res.dstArrayElement = dstArrayElement; + res.descriptorCount = descriptorCount; + res.descriptorType = descriptorType; + res.offset = offset; + res.stride = stride; + return res; + } + + inline VkExternalMemoryProperties makeExternalMemoryProperties (VkExternalMemoryFeatureFlags externalMemoryFeatures, VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes, VkExternalMemoryHandleTypeFlags compatibleHandleTypes) + { + VkExternalMemoryProperties res; + res.externalMemoryFeatures = externalMemoryFeatures; + res.exportFromImportedHandleTypes = exportFromImportedHandleTypes; + res.compatibleHandleTypes = compatibleHandleTypes; + return res; + } + + inline VkConformanceVersion makeConformanceVersion (uint8_t major, uint8_t minor, uint8_t subminor, uint8_t patch) + { + VkConformanceVersion res; + res.major = major; + res.minor = minor; + res.subminor = subminor; + res.patch = patch; + return res; + } + ++inline VkPipelineCreationFeedback makePipelineCreationFeedback (VkPipelineCreationFeedbackFlags flags, uint64_t duration) ++{ ++ VkPipelineCreationFeedback res; ++ res.flags = flags; ++ res.duration = duration; ++ return res; ++} ++ + inline VkSurfaceFormatKHR makeSurfaceFormatKHR (VkFormat format, VkColorSpaceKHR colorSpace) + { + VkSurfaceFormatKHR res; + res.format = format; + res.colorSpace = colorSpace; + return res; + } + + inline VkDisplayPlanePropertiesKHR makeDisplayPlanePropertiesKHR (VkDisplayKHR currentDisplay, uint32_t currentStackIndex) + { + VkDisplayPlanePropertiesKHR res; + res.currentDisplay = currentDisplay; + res.currentStackIndex = currentStackIndex; + return res; + } + + inline VkPresentRegionKHR makePresentRegionKHR (uint32_t rectangleCount, const VkRectLayerKHR* pRectangles) + { + VkPresentRegionKHR res; + res.rectangleCount = rectangleCount; + res.pRectangles = pRectangles; + return res; + } + + inline VkShaderResourceUsageAMD makeShaderResourceUsageAMD (uint32_t numUsedVgprs, uint32_t numUsedSgprs, uint32_t ldsSizePerLocalWorkGroup, size_t ldsUsageSizeInBytes, size_t scratchMemUsageInBytes) + { + VkShaderResourceUsageAMD res; + res.numUsedVgprs = numUsedVgprs; + res.numUsedSgprs = numUsedSgprs; + res.ldsSizePerLocalWorkGroup = ldsSizePerLocalWorkGroup; + res.ldsUsageSizeInBytes = ldsUsageSizeInBytes; + res.scratchMemUsageInBytes = scratchMemUsageInBytes; + return res; + } + + inline VkViewportWScalingNV makeViewportWScalingNV (float xcoeff, float ycoeff) + { + VkViewportWScalingNV res; + res.xcoeff = xcoeff; + res.ycoeff = ycoeff; + return res; + } + + inline VkRefreshCycleDurationGOOGLE makeRefreshCycleDurationGOOGLE (uint64_t refreshDuration) + { + VkRefreshCycleDurationGOOGLE res; + res.refreshDuration = refreshDuration; + return res; + } + + inline VkPastPresentationTimingGOOGLE makePastPresentationTimingGOOGLE (uint32_t presentID, uint64_t desiredPresentTime, uint64_t actualPresentTime, uint64_t earliestPresentTime, uint64_t presentMargin) + { + VkPastPresentationTimingGOOGLE res; + res.presentID = presentID; + res.desiredPresentTime = desiredPresentTime; + res.actualPresentTime = actualPresentTime; + res.earliestPresentTime = earliestPresentTime; + res.presentMargin = presentMargin; + return res; + } + + inline VkPresentTimeGOOGLE makePresentTimeGOOGLE (uint32_t presentID, uint64_t desiredPresentTime) + { + VkPresentTimeGOOGLE res; + res.presentID = presentID; + res.desiredPresentTime = desiredPresentTime; + return res; + } + + inline VkViewportSwizzleNV makeViewportSwizzleNV (VkViewportCoordinateSwizzleNV x, VkViewportCoordinateSwizzleNV y, VkViewportCoordinateSwizzleNV z, VkViewportCoordinateSwizzleNV w) + { + VkViewportSwizzleNV res; + res.x = x; + res.y = y; + res.z = z; + res.w = w; + return res; + } + + inline VkXYColorEXT makeXYColorEXT (float x, float y) + { + VkXYColorEXT res; + res.x = x; + res.y = y; + return res; + } + + inline VkSampleLocationEXT makeSampleLocationEXT (float x, float y) + { + VkSampleLocationEXT res; + res.x = x; + res.y = y; + return res; + } + + inline VkDrmFormatModifierPropertiesEXT makeDrmFormatModifierPropertiesEXT (uint64_t drmFormatModifier, uint32_t drmFormatModifierPlaneCount, VkFormatFeatureFlags drmFormatModifierTilingFeatures) + { + VkDrmFormatModifierPropertiesEXT res; + res.drmFormatModifier = drmFormatModifier; + res.drmFormatModifierPlaneCount = drmFormatModifierPlaneCount; + res.drmFormatModifierTilingFeatures = drmFormatModifierTilingFeatures; + return res; + } + + inline VkDrmFormatModifierProperties2EXT makeDrmFormatModifierProperties2EXT (uint64_t drmFormatModifier, uint32_t drmFormatModifierPlaneCount, VkFormatFeatureFlags2KHR drmFormatModifierTilingFeatures) + { + VkDrmFormatModifierProperties2EXT res; + res.drmFormatModifier = drmFormatModifier; + res.drmFormatModifierPlaneCount = drmFormatModifierPlaneCount; + res.drmFormatModifierTilingFeatures = drmFormatModifierTilingFeatures; + return res; + } + + inline VkShadingRatePaletteNV makeShadingRatePaletteNV (uint32_t shadingRatePaletteEntryCount, const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries) + { + VkShadingRatePaletteNV res; + res.shadingRatePaletteEntryCount = shadingRatePaletteEntryCount; + res.pShadingRatePaletteEntries = pShadingRatePaletteEntries; + return res; + } + + inline VkCoarseSampleLocationNV makeCoarseSampleLocationNV (uint32_t pixelX, uint32_t pixelY, uint32_t sample) + { + VkCoarseSampleLocationNV res; + res.pixelX = pixelX; + res.pixelY = pixelY; + res.sample = sample; + return res; + } + + inline VkCoarseSampleOrderCustomNV makeCoarseSampleOrderCustomNV (VkShadingRatePaletteEntryNV shadingRate, uint32_t sampleCount, uint32_t sampleLocationCount, const VkCoarseSampleLocationNV* pSampleLocations) + { + VkCoarseSampleOrderCustomNV res; + res.shadingRate = shadingRate; + res.sampleCount = sampleCount; + res.sampleLocationCount = sampleLocationCount; + res.pSampleLocations = pSampleLocations; + return res; + } + + inline VkAabbPositionsKHR makeAabbPositionsKHR (float minX, float minY, float minZ, float maxX, float maxY, float maxZ) + { + VkAabbPositionsKHR res; + res.minX = minX; + res.minY = minY; + res.minZ = minZ; + res.maxX = maxX; + res.maxY = maxY; + res.maxZ = maxZ; + return res; + } + + inline VkVertexInputBindingDivisorDescriptionEXT makeVertexInputBindingDivisorDescriptionEXT (uint32_t binding, uint32_t divisor) + { + VkVertexInputBindingDivisorDescriptionEXT res; + res.binding = binding; + res.divisor = divisor; + return res; + } + -inline VkPipelineCreationFeedbackEXT makePipelineCreationFeedbackEXT (VkPipelineCreationFeedbackFlagsEXT flags, uint64_t duration) -{ - VkPipelineCreationFeedbackEXT res; - res.flags = flags; - res.duration = duration; - return res; -} - + inline VkDrawMeshTasksIndirectCommandNV makeDrawMeshTasksIndirectCommandNV (uint32_t taskCount, uint32_t firstTask) + { + VkDrawMeshTasksIndirectCommandNV res; + res.taskCount = taskCount; + res.firstTask = firstTask; + return res; + } + + inline VkBindShaderGroupIndirectCommandNV makeBindShaderGroupIndirectCommandNV (uint32_t groupIndex) + { + VkBindShaderGroupIndirectCommandNV res; + res.groupIndex = groupIndex; + return res; + } + + inline VkBindIndexBufferIndirectCommandNV makeBindIndexBufferIndirectCommandNV (VkDeviceAddress bufferAddress, uint32_t size, VkIndexType indexType) + { + VkBindIndexBufferIndirectCommandNV res; + res.bufferAddress = bufferAddress; + res.size = size; + res.indexType = indexType; + return res; + } + + inline VkBindVertexBufferIndirectCommandNV makeBindVertexBufferIndirectCommandNV (VkDeviceAddress bufferAddress, uint32_t size, uint32_t stride) + { + VkBindVertexBufferIndirectCommandNV res; + res.bufferAddress = bufferAddress; + res.size = size; + res.stride = stride; + return res; + } + + inline VkSetStateFlagsIndirectCommandNV makeSetStateFlagsIndirectCommandNV (uint32_t data) + { + VkSetStateFlagsIndirectCommandNV res; + res.data = data; + return res; + } + + inline VkIndirectCommandsStreamNV makeIndirectCommandsStreamNV (VkBuffer buffer, VkDeviceSize offset) + { + VkIndirectCommandsStreamNV res; + res.buffer = buffer; + res.offset = offset; + return res; + } + + inline VkSRTDataNV makeSRTDataNV (float sx, float a, float b, float pvx, float sy, float c, float pvy, float sz, float pvz, float qx, float qy, float qz, float qw, float tx, float ty, float tz) + { + VkSRTDataNV res; + res.sx = sx; + res.a = a; + res.b = b; + res.pvx = pvx; + res.sy = sy; + res.c = c; + res.pvy = pvy; + res.sz = sz; + res.pvz = pvz; + res.qx = qx; + res.qy = qy; + res.qz = qz; + res.qw = qw; + res.tx = tx; + res.ty = ty; + res.tz = tz; + return res; + } + + inline VkMutableDescriptorTypeListVALVE makeMutableDescriptorTypeListVALVE (uint32_t descriptorTypeCount, const VkDescriptorType* pDescriptorTypes) + { + VkMutableDescriptorTypeListVALVE res; + res.descriptorTypeCount = descriptorTypeCount; + res.pDescriptorTypes = pDescriptorTypes; + return res; + } + + inline VkMultiDrawInfoEXT makeMultiDrawInfoEXT (uint32_t firstVertex, uint32_t vertexCount) + { + VkMultiDrawInfoEXT res; + res.firstVertex = firstVertex; + res.vertexCount = vertexCount; + return res; + } + + inline VkMultiDrawIndexedInfoEXT makeMultiDrawIndexedInfoEXT (uint32_t firstIndex, uint32_t indexCount, int32_t vertexOffset) + { + VkMultiDrawIndexedInfoEXT res; + res.firstIndex = firstIndex; + res.indexCount = indexCount; + res.vertexOffset = vertexOffset; + return res; + } + + inline VkAccelerationStructureBuildRangeInfoKHR makeAccelerationStructureBuildRangeInfoKHR (uint32_t primitiveCount, uint32_t primitiveOffset, uint32_t firstVertex, uint32_t transformOffset) + { + VkAccelerationStructureBuildRangeInfoKHR res; + res.primitiveCount = primitiveCount; + res.primitiveOffset = primitiveOffset; + res.firstVertex = firstVertex; + res.transformOffset = transformOffset; + return res; + } + + inline VkStridedDeviceAddressRegionKHR makeStridedDeviceAddressRegionKHR (VkDeviceAddress deviceAddress, VkDeviceSize stride, VkDeviceSize size) + { + VkStridedDeviceAddressRegionKHR res; + res.deviceAddress = deviceAddress; + res.stride = stride; + res.size = size; + return res; + } + + inline VkTraceRaysIndirectCommandKHR makeTraceRaysIndirectCommandKHR (uint32_t width, uint32_t height, uint32_t depth) + { + VkTraceRaysIndirectCommandKHR res; + res.width = width; + res.height = height; + res.depth = depth; + return res; + } + + inline StdVideoEncodeH264RefListModEntry makeStdVideoEncodeH264RefListModEntry (StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc, uint16_t abs_diff_pic_num_minus1, uint16_t long_term_pic_num) + { + StdVideoEncodeH264RefListModEntry res; + res.modification_of_pic_nums_idc = modification_of_pic_nums_idc; + res.abs_diff_pic_num_minus1 = abs_diff_pic_num_minus1; + res.long_term_pic_num = long_term_pic_num; + return res; + } + + inline StdVideoEncodeH264RefPicMarkingEntry makeStdVideoEncodeH264RefPicMarkingEntry (StdVideoH264MemMgmtControlOp operation, uint16_t difference_of_pic_nums_minus1, uint16_t long_term_pic_num, uint16_t long_term_frame_idx, uint16_t max_long_term_frame_idx_plus1) + { + StdVideoEncodeH264RefPicMarkingEntry res; + res.operation = operation; + res.difference_of_pic_nums_minus1 = difference_of_pic_nums_minus1; + res.long_term_pic_num = long_term_pic_num; + res.long_term_frame_idx = long_term_frame_idx; + res.max_long_term_frame_idx_plus1 = max_long_term_frame_idx_plus1; + return res; + } + + inline VkVideoEncodeH264QpEXT makeVideoEncodeH264QpEXT (int32_t qpI, int32_t qpP, int32_t qpB) + { + VkVideoEncodeH264QpEXT res; + res.qpI = qpI; + res.qpP = qpP; + res.qpB = qpB; + return res; + } + + inline VkVideoEncodeH264FrameSizeEXT makeVideoEncodeH264FrameSizeEXT (uint32_t frameISize, uint32_t framePSize, uint32_t frameBSize) + { + VkVideoEncodeH264FrameSizeEXT res; + res.frameISize = frameISize; + res.framePSize = framePSize; + res.frameBSize = frameBSize; + return res; + } + + inline VkVideoEncodeH265QpEXT makeVideoEncodeH265QpEXT (int32_t qpI, int32_t qpP, int32_t qpB) + { + VkVideoEncodeH265QpEXT res; + res.qpI = qpI; + res.qpP = qpP; + res.qpB = qpB; + return res; + } + + inline VkVideoEncodeH265FrameSizeEXT makeVideoEncodeH265FrameSizeEXT (uint32_t frameISize, uint32_t framePSize, uint32_t frameBSize) + { + VkVideoEncodeH265FrameSizeEXT res; + res.frameISize = frameISize; + res.framePSize = framePSize; + res.frameBSize = frameBSize; + return res; + } + + inline StdVideoDecodeH264Mvc makeStdVideoDecodeH264Mvc (uint32_t viewId0, uint32_t mvcElementCount, StdVideoDecodeH264MvcElement* pMvcElements) + { + StdVideoDecodeH264Mvc res; + res.viewId0 = viewId0; + res.mvcElementCount = mvcElementCount; + res.pMvcElements = pMvcElements; + return res; + } diff --cc external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl index 0000000,0d56647..f783412 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl +++ b/external/vulkancts/framework/vulkan/vkVirtualDeviceInterface.inl @@@ -1,0 -1,378 +1,378 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + virtual PFN_vkVoidFunction getDeviceProcAddr (VkDevice device, const char* pName) const = 0; + virtual void destroyDevice (VkDevice device, const VkAllocationCallbacks* pAllocator) const = 0; + virtual void getDeviceQueue (VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue) const = 0; + virtual VkResult queueSubmit (VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence) const = 0; + virtual VkResult queueWaitIdle (VkQueue queue) const = 0; + virtual VkResult deviceWaitIdle (VkDevice device) const = 0; + virtual VkResult allocateMemory (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory) const = 0; + virtual void freeMemory (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult mapMemory (VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData) const = 0; + virtual void unmapMemory (VkDevice device, VkDeviceMemory memory) const = 0; + virtual VkResult flushMappedMemoryRanges (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0; + virtual VkResult invalidateMappedMemoryRanges (VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges) const = 0; + virtual void getDeviceMemoryCommitment (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes) const = 0; + virtual VkResult bindBufferMemory (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0; + virtual VkResult bindImageMemory (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset) const = 0; + virtual void getBufferMemoryRequirements (VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements) const = 0; + virtual void getImageMemoryRequirements (VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements) const = 0; + virtual void getImageSparseMemoryRequirements (VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements) const = 0; + virtual VkResult queueBindSparse (VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence) const = 0; + virtual VkResult createFence (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0; + virtual void destroyFence (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult resetFences (VkDevice device, uint32_t fenceCount, const VkFence* pFences) const = 0; + virtual VkResult getFenceStatus (VkDevice device, VkFence fence) const = 0; + virtual VkResult waitForFences (VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout) const = 0; + virtual VkResult createSemaphore (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore) const = 0; + virtual void destroySemaphore (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult createEvent (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent) const = 0; + virtual void destroyEvent (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult getEventStatus (VkDevice device, VkEvent event) const = 0; + virtual VkResult setEvent (VkDevice device, VkEvent event) const = 0; + virtual VkResult resetEvent (VkDevice device, VkEvent event) const = 0; + virtual VkResult createQueryPool (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool) const = 0; + virtual void destroyQueryPool (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult getQueryPoolResults (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags) const = 0; + virtual VkResult createBuffer (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer) const = 0; + virtual void destroyBuffer (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult createBufferView (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView) const = 0; + virtual void destroyBufferView (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult createImage (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage) const = 0; + virtual void destroyImage (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator) const = 0; + virtual void getImageSubresourceLayout (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout) const = 0; + virtual VkResult createImageView (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView) const = 0; + virtual void destroyImageView (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult createShaderModule (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule) const = 0; + virtual void destroyShaderModule (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult createPipelineCache (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache) const = 0; + virtual void destroyPipelineCache (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult getPipelineCacheData (VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData) const = 0; + virtual VkResult mergePipelineCaches (VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches) const = 0; + virtual VkResult createGraphicsPipelines (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0; + virtual VkResult createComputePipelines (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0; + virtual void destroyPipeline (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult createPipelineLayout (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout) const = 0; + virtual void destroyPipelineLayout (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult createSampler (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler) const = 0; + virtual void destroySampler (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult createDescriptorSetLayout (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout) const = 0; + virtual void destroyDescriptorSetLayout (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult createDescriptorPool (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool) const = 0; + virtual void destroyDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult resetDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags) const = 0; + virtual VkResult allocateDescriptorSets (VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets) const = 0; + virtual VkResult freeDescriptorSets (VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets) const = 0; + virtual void updateDescriptorSets (VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies) const = 0; + virtual VkResult createFramebuffer (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer) const = 0; + virtual void destroyFramebuffer (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult createRenderPass (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0; + virtual void destroyRenderPass (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator) const = 0; + virtual void getRenderAreaGranularity (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity) const = 0; + virtual VkResult createCommandPool (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool) const = 0; + virtual void destroyCommandPool (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult resetCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags) const = 0; + virtual VkResult allocateCommandBuffers (VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers) const = 0; + virtual void freeCommandBuffers (VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0; + virtual VkResult beginCommandBuffer (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) const = 0; + virtual VkResult endCommandBuffer (VkCommandBuffer commandBuffer) const = 0; + virtual VkResult resetCommandBuffer (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags) const = 0; + virtual void cmdBindPipeline (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) const = 0; + virtual void cmdSetViewport (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports) const = 0; + virtual void cmdSetScissor (VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors) const = 0; + virtual void cmdSetLineWidth (VkCommandBuffer commandBuffer, float lineWidth) const = 0; + virtual void cmdSetDepthBias (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor) const = 0; + virtual void cmdSetBlendConstants (VkCommandBuffer commandBuffer, const float blendConstants[4]) const = 0; + virtual void cmdSetDepthBounds (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds) const = 0; + virtual void cmdSetStencilCompareMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask) const = 0; + virtual void cmdSetStencilWriteMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask) const = 0; + virtual void cmdSetStencilReference (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) const = 0; + virtual void cmdBindDescriptorSets (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets) const = 0; + virtual void cmdBindIndexBuffer (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType) const = 0; + virtual void cmdBindVertexBuffers (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets) const = 0; + virtual void cmdDraw (VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance) const = 0; + virtual void cmdDrawIndexed (VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance) const = 0; + virtual void cmdDrawIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const = 0; + virtual void cmdDrawIndexedIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const = 0; + virtual void cmdDispatch (VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const = 0; + virtual void cmdDispatchIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset) const = 0; + virtual void cmdCopyBuffer (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions) const = 0; + virtual void cmdCopyImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions) const = 0; + virtual void cmdBlitImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter) const = 0; + virtual void cmdCopyBufferToImage (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions) const = 0; + virtual void cmdCopyImageToBuffer (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions) const = 0; + virtual void cmdUpdateBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData) const = 0; + virtual void cmdFillBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) const = 0; + virtual void cmdClearColorImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const = 0; + virtual void cmdClearDepthStencilImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) const = 0; + virtual void cmdClearAttachments (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects) const = 0; + virtual void cmdResolveImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) const = 0; + virtual void cmdSetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0; + virtual void cmdResetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask) const = 0; + virtual void cmdWaitEvents (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0; + virtual void cmdPipelineBarrier (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers) const = 0; + virtual void cmdBeginQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags) const = 0; + virtual void cmdEndQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query) const = 0; + virtual void cmdResetQueryPool (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const = 0; + virtual void cmdWriteTimestamp (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query) const = 0; + virtual void cmdCopyQueryPoolResults (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags) const = 0; + virtual void cmdPushConstants (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues) const = 0; + virtual void cmdBeginRenderPass (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents) const = 0; + virtual void cmdNextSubpass (VkCommandBuffer commandBuffer, VkSubpassContents contents) const = 0; + virtual void cmdEndRenderPass (VkCommandBuffer commandBuffer) const = 0; + virtual void cmdExecuteCommands (VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers) const = 0; + virtual VkResult bindBufferMemory2 (VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos) const = 0; + virtual VkResult bindImageMemory2 (VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo* pBindInfos) const = 0; + virtual void getDeviceGroupPeerMemoryFeatures (VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures) const = 0; + virtual void cmdSetDeviceMask (VkCommandBuffer commandBuffer, uint32_t deviceMask) const = 0; + virtual void cmdDispatchBase (VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ) const = 0; + virtual void getImageMemoryRequirements2 (VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0; + virtual void getBufferMemoryRequirements2 (VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0; + virtual void getImageSparseMemoryRequirements2 (VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const = 0; + virtual void trimCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags) const = 0; + virtual void getDeviceQueue2 (VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue) const = 0; + virtual VkResult createSamplerYcbcrConversion (VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion) const = 0; + virtual void destroySamplerYcbcrConversion (VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult createDescriptorUpdateTemplate (VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate) const = 0; + virtual void destroyDescriptorUpdateTemplate (VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator) const = 0; + virtual void updateDescriptorSetWithTemplate (VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData) const = 0; + virtual void getDescriptorSetLayoutSupport (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport) const = 0; + virtual void cmdDrawIndirectCount (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0; + virtual void cmdDrawIndexedIndirectCount (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0; + virtual VkResult createRenderPass2 (VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass) const = 0; + virtual void cmdBeginRenderPass2 (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo) const = 0; + virtual void cmdNextSubpass2 (VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo) const = 0; + virtual void cmdEndRenderPass2 (VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo) const = 0; + virtual void resetQueryPool (VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount) const = 0; + virtual VkResult getSemaphoreCounterValue (VkDevice device, VkSemaphore semaphore, uint64_t* pValue) const = 0; + virtual VkResult waitSemaphores (VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, uint64_t timeout) const = 0; + virtual VkResult signalSemaphore (VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo) const = 0; + virtual VkDeviceAddress getBufferDeviceAddress (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const = 0; + virtual uint64_t getBufferOpaqueCaptureAddress (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const = 0; + virtual uint64_t getDeviceMemoryOpaqueCaptureAddress (VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo) const = 0; ++virtual VkResult createPrivateDataSlot (VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot) const = 0; ++virtual void destroyPrivateDataSlot (VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator) const = 0; ++virtual VkResult setPrivateData (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data) const = 0; ++virtual void getPrivateData (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData) const = 0; ++virtual void cmdSetEvent2 (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo) const = 0; ++virtual void cmdResetEvent2 (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask) const = 0; ++virtual void cmdWaitEvents2 (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos) const = 0; ++virtual void cmdPipelineBarrier2 (VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo) const = 0; ++virtual void cmdWriteTimestamp2 (VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query) const = 0; ++virtual VkResult queueSubmit2 (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence) const = 0; ++virtual void cmdCopyBuffer2 (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo) const = 0; ++virtual void cmdCopyImage2 (VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo) const = 0; ++virtual void cmdCopyBufferToImage2 (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo) const = 0; ++virtual void cmdCopyImageToBuffer2 (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo) const = 0; ++virtual void cmdBlitImage2 (VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo) const = 0; ++virtual void cmdResolveImage2 (VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo) const = 0; ++virtual void cmdBeginRendering (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const = 0; ++virtual void cmdEndRendering (VkCommandBuffer commandBuffer) const = 0; ++virtual void cmdSetCullMode (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const = 0; ++virtual void cmdSetFrontFace (VkCommandBuffer commandBuffer, VkFrontFace frontFace) const = 0; ++virtual void cmdSetPrimitiveTopology (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) const = 0; ++virtual void cmdSetViewportWithCount (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) const = 0; ++virtual void cmdSetScissorWithCount (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) const = 0; ++virtual void cmdBindVertexBuffers2 (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) const = 0; ++virtual void cmdSetDepthTestEnable (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) const = 0; ++virtual void cmdSetDepthWriteEnable (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) const = 0; ++virtual void cmdSetDepthCompareOp (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) const = 0; ++virtual void cmdSetDepthBoundsTestEnable (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) const = 0; ++virtual void cmdSetStencilTestEnable (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) const = 0; ++virtual void cmdSetStencilOp (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) const = 0; ++virtual void cmdSetRasterizerDiscardEnable (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const = 0; ++virtual void cmdSetDepthBiasEnable (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const = 0; ++virtual void cmdSetPrimitiveRestartEnable (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const = 0; ++virtual void getDeviceBufferMemoryRequirements (VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0; ++virtual void getDeviceImageMemoryRequirements (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0; ++virtual void getDeviceImageSparseMemoryRequirements (VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const = 0; + virtual VkResult createSwapchainKHR (VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain) const = 0; + virtual void destroySwapchainKHR (VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult getSwapchainImagesKHR (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages) const = 0; + virtual VkResult acquireNextImageKHR (VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex) const = 0; + virtual VkResult queuePresentKHR (VkQueue queue, const VkPresentInfoKHR* pPresentInfo) const = 0; + virtual VkResult getDeviceGroupPresentCapabilitiesKHR (VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities) const = 0; + virtual VkResult getDeviceGroupSurfacePresentModesKHR (VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes) const = 0; + virtual VkResult acquireNextImage2KHR (VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, uint32_t* pImageIndex) const = 0; + virtual VkResult createSharedSwapchainsKHR (VkDevice device, uint32_t swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains) const = 0; -virtual void cmdBeginRenderingKHR (VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo) const = 0; -virtual void cmdEndRenderingKHR (VkCommandBuffer commandBuffer) const = 0; + virtual VkResult getMemoryFdKHR (VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0; + virtual VkResult getMemoryFdPropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties) const = 0; + virtual VkResult importSemaphoreFdKHR (VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo) const = 0; + virtual VkResult getSemaphoreFdKHR (VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0; + virtual void cmdPushDescriptorSetKHR (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites) const = 0; + virtual void cmdPushDescriptorSetWithTemplateKHR (VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const void* pData) const = 0; + virtual VkResult getSwapchainStatusKHR (VkDevice device, VkSwapchainKHR swapchain) const = 0; + virtual VkResult importFenceFdKHR (VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo) const = 0; + virtual VkResult getFenceFdKHR (VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd) const = 0; + virtual VkResult acquireProfilingLockKHR (VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo) const = 0; + virtual void releaseProfilingLockKHR (VkDevice device) const = 0; + virtual void cmdSetFragmentShadingRateKHR (VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const = 0; + virtual VkResult waitForPresentKHR (VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout) const = 0; + virtual VkResult createDeferredOperationKHR (VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation) const = 0; + virtual void destroyDeferredOperationKHR (VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator) const = 0; + virtual uint32_t getDeferredOperationMaxConcurrencyKHR (VkDevice device, VkDeferredOperationKHR operation) const = 0; + virtual VkResult getDeferredOperationResultKHR (VkDevice device, VkDeferredOperationKHR operation) const = 0; + virtual VkResult deferredOperationJoinKHR (VkDevice device, VkDeferredOperationKHR operation) const = 0; + virtual VkResult getPipelineExecutablePropertiesKHR (VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties) const = 0; + virtual VkResult getPipelineExecutableStatisticsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics) const = 0; + virtual VkResult getPipelineExecutableInternalRepresentationsKHR (VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations) const = 0; -virtual void cmdSetEvent2KHR (VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo) const = 0; -virtual void cmdResetEvent2KHR (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask) const = 0; -virtual void cmdWaitEvents2KHR (VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos) const = 0; -virtual void cmdPipelineBarrier2KHR (VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo) const = 0; -virtual void cmdWriteTimestamp2KHR (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, uint32_t query) const = 0; -virtual VkResult queueSubmit2KHR (VkQueue queue, uint32_t submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence) const = 0; + virtual void cmdWriteBufferMarker2AMD (VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const = 0; + virtual void getQueueCheckpointData2NV (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData) const = 0; -virtual void cmdCopyBuffer2KHR (VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) const = 0; -virtual void cmdCopyImage2KHR (VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) const = 0; -virtual void cmdCopyBufferToImage2KHR (VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) const = 0; -virtual void cmdCopyImageToBuffer2KHR (VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) const = 0; -virtual void cmdBlitImage2KHR (VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) const = 0; -virtual void cmdResolveImage2KHR (VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo) const = 0; -virtual void getDeviceBufferMemoryRequirementsKHR (VkDevice device, const VkDeviceBufferMemoryRequirementsKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0; -virtual void getDeviceImageMemoryRequirementsKHR (VkDevice device, const VkDeviceImageMemoryRequirementsKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0; -virtual void getDeviceImageSparseMemoryRequirementsKHR (VkDevice device, const VkDeviceImageMemoryRequirementsKHR* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements) const = 0; + virtual VkResult debugMarkerSetObjectTagEXT (VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo) const = 0; + virtual VkResult debugMarkerSetObjectNameEXT (VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo) const = 0; + virtual void cmdDebugMarkerBeginEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0; + virtual void cmdDebugMarkerEndEXT (VkCommandBuffer commandBuffer) const = 0; + virtual void cmdDebugMarkerInsertEXT (VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo) const = 0; + virtual void cmdBindTransformFeedbackBuffersEXT (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes) const = 0; + virtual void cmdBeginTransformFeedbackEXT (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const = 0; + virtual void cmdEndTransformFeedbackEXT (VkCommandBuffer commandBuffer, uint32_t firstCounterBuffer, uint32_t counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets) const = 0; + virtual void cmdBeginQueryIndexedEXT (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index) const = 0; + virtual void cmdEndQueryIndexedEXT (VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index) const = 0; + virtual void cmdDrawIndirectByteCountEXT (VkCommandBuffer commandBuffer, uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride) const = 0; + virtual VkResult createCuModuleNVX (VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule) const = 0; + virtual VkResult createCuFunctionNVX (VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction) const = 0; + virtual void destroyCuModuleNVX (VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator) const = 0; + virtual void destroyCuFunctionNVX (VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator) const = 0; + virtual void cmdCuLaunchKernelNVX (VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo) const = 0; + virtual uint32_t getImageViewHandleNVX (VkDevice device, const VkImageViewHandleInfoNVX* pInfo) const = 0; + virtual VkResult getImageViewAddressNVX (VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties) const = 0; + virtual void cmdDrawIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0; + virtual void cmdDrawIndexedIndirectCountAMD (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0; + virtual VkResult getShaderInfoAMD (VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo) const = 0; + virtual void cmdBeginConditionalRenderingEXT (VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin) const = 0; + virtual void cmdEndConditionalRenderingEXT (VkCommandBuffer commandBuffer) const = 0; + virtual void cmdSetViewportWScalingNV (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportWScalingNV* pViewportWScalings) const = 0; + virtual VkResult displayPowerControlEXT (VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo) const = 0; + virtual VkResult registerDeviceEventEXT (VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0; + virtual VkResult registerDisplayEventEXT (VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence) const = 0; + virtual VkResult getSwapchainCounterEXT (VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue) const = 0; + virtual VkResult getRefreshCycleDurationGOOGLE (VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties) const = 0; + virtual VkResult getPastPresentationTimingGOOGLE (VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings) const = 0; + virtual void cmdSetDiscardRectangleEXT (VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles) const = 0; + virtual void setHdrMetadataEXT (VkDevice device, uint32_t swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata) const = 0; + virtual VkResult setDebugUtilsObjectNameEXT (VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo) const = 0; + virtual VkResult setDebugUtilsObjectTagEXT (VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo) const = 0; + virtual void queueBeginDebugUtilsLabelEXT (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0; + virtual void queueEndDebugUtilsLabelEXT (VkQueue queue) const = 0; + virtual void queueInsertDebugUtilsLabelEXT (VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0; + virtual void cmdBeginDebugUtilsLabelEXT (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0; + virtual void cmdEndDebugUtilsLabelEXT (VkCommandBuffer commandBuffer) const = 0; + virtual void cmdInsertDebugUtilsLabelEXT (VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo) const = 0; + virtual void cmdSetSampleLocationsEXT (VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo) const = 0; + virtual VkResult getImageDrmFormatModifierPropertiesEXT (VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties) const = 0; + virtual VkResult createValidationCacheEXT (VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache) const = 0; + virtual void destroyValidationCacheEXT (VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult mergeValidationCachesEXT (VkDevice device, VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const VkValidationCacheEXT* pSrcCaches) const = 0; + virtual VkResult getValidationCacheDataEXT (VkDevice device, VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData) const = 0; + virtual void cmdBindShadingRateImageNV (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const = 0; + virtual void cmdSetViewportShadingRatePaletteNV (VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes) const = 0; + virtual void cmdSetCoarseSampleOrderNV (VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders) const = 0; + virtual VkResult createAccelerationStructureNV (VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure) const = 0; + virtual void destroyAccelerationStructureNV (VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator) const = 0; + virtual void getAccelerationStructureMemoryRequirementsNV (VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements) const = 0; + virtual VkResult bindAccelerationStructureMemoryNV (VkDevice device, uint32_t bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos) const = 0; + virtual void cmdBuildAccelerationStructureNV (VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset) const = 0; + virtual void cmdCopyAccelerationStructureNV (VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode) const = 0; + virtual void cmdTraceRaysNV (VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth) const = 0; + virtual VkResult createRayTracingPipelinesNV (VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0; + virtual VkResult getRayTracingShaderGroupHandlesKHR (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const = 0; + virtual VkResult getRayTracingShaderGroupHandlesNV (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const = 0; + virtual VkResult getAccelerationStructureHandleNV (VkDevice device, VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData) const = 0; + virtual void cmdWriteAccelerationStructuresPropertiesNV (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const = 0; + virtual VkResult compileDeferredNV (VkDevice device, VkPipeline pipeline, uint32_t shader) const = 0; + virtual VkResult getMemoryHostPointerPropertiesEXT (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties) const = 0; + virtual void cmdWriteBufferMarkerAMD (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker) const = 0; + virtual VkResult getCalibratedTimestampsEXT (VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation) const = 0; + virtual void cmdDrawMeshTasksNV (VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask) const = 0; + virtual void cmdDrawMeshTasksIndirectNV (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride) const = 0; + virtual void cmdDrawMeshTasksIndirectCountNV (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride) const = 0; + virtual void cmdSetExclusiveScissorNV (VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors) const = 0; + virtual void cmdSetCheckpointNV (VkCommandBuffer commandBuffer, const void* pCheckpointMarker) const = 0; + virtual void getQueueCheckpointDataNV (VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData) const = 0; + virtual VkResult initializePerformanceApiINTEL (VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo) const = 0; + virtual void uninitializePerformanceApiINTEL (VkDevice device) const = 0; + virtual VkResult cmdSetPerformanceMarkerINTEL (VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo) const = 0; + virtual VkResult cmdSetPerformanceStreamMarkerINTEL (VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo) const = 0; + virtual VkResult cmdSetPerformanceOverrideINTEL (VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo) const = 0; + virtual VkResult acquirePerformanceConfigurationINTEL (VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration) const = 0; + virtual VkResult releasePerformanceConfigurationINTEL (VkDevice device, VkPerformanceConfigurationINTEL configuration) const = 0; + virtual VkResult queueSetPerformanceConfigurationINTEL (VkQueue queue, VkPerformanceConfigurationINTEL configuration) const = 0; + virtual VkResult getPerformanceParameterINTEL (VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue) const = 0; + virtual void setLocalDimmingAMD (VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable) const = 0; + virtual VkDeviceAddress getBufferDeviceAddressEXT (VkDevice device, const VkBufferDeviceAddressInfo* pInfo) const = 0; + virtual void cmdSetLineStippleEXT (VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern) const = 0; -virtual void cmdSetCullModeEXT (VkCommandBuffer commandBuffer, VkCullModeFlags cullMode) const = 0; -virtual void cmdSetFrontFaceEXT (VkCommandBuffer commandBuffer, VkFrontFace frontFace) const = 0; -virtual void cmdSetPrimitiveTopologyEXT (VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology) const = 0; -virtual void cmdSetViewportWithCountEXT (VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport* pViewports) const = 0; -virtual void cmdSetScissorWithCountEXT (VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D* pScissors) const = 0; -virtual void cmdBindVertexBuffers2EXT (VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides) const = 0; -virtual void cmdSetDepthTestEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthTestEnable) const = 0; -virtual void cmdSetDepthWriteEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable) const = 0; -virtual void cmdSetDepthCompareOpEXT (VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp) const = 0; -virtual void cmdSetDepthBoundsTestEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable) const = 0; -virtual void cmdSetStencilTestEnableEXT (VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable) const = 0; -virtual void cmdSetStencilOpEXT (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp) const = 0; + virtual void getGeneratedCommandsMemoryRequirementsNV (VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements) const = 0; + virtual void cmdPreprocessGeneratedCommandsNV (VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const = 0; + virtual void cmdExecuteGeneratedCommandsNV (VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo) const = 0; + virtual void cmdBindPipelineShaderGroupNV (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex) const = 0; + virtual VkResult createIndirectCommandsLayoutNV (VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout) const = 0; + virtual void destroyIndirectCommandsLayoutNV (VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult createPrivateDataSlotEXT (VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot) const = 0; -virtual void destroyPrivateDataSlotEXT (VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator) const = 0; -virtual VkResult setPrivateDataEXT (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t data) const = 0; -virtual void getPrivateDataEXT (VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlotEXT privateDataSlot, uint64_t* pData) const = 0; + virtual void cmdSetFragmentShadingRateEnumNV (VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const = 0; + virtual void cmdSetVertexInputEXT (VkCommandBuffer commandBuffer, uint32_t vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions) const = 0; + virtual VkResult getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI (VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize) const = 0; + virtual void cmdSubpassShadingHUAWEI (VkCommandBuffer commandBuffer) const = 0; + virtual void cmdBindInvocationMaskHUAWEI (VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout) const = 0; + virtual VkResult getMemoryRemoteAddressNV (VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) const = 0; + virtual void cmdSetPatchControlPointsEXT (VkCommandBuffer commandBuffer, uint32_t patchControlPoints) const = 0; -virtual void cmdSetRasterizerDiscardEnableEXT (VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable) const = 0; -virtual void cmdSetDepthBiasEnableEXT (VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable) const = 0; + virtual void cmdSetLogicOpEXT (VkCommandBuffer commandBuffer, VkLogicOp logicOp) const = 0; -virtual void cmdSetPrimitiveRestartEnableEXT (VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable) const = 0; + virtual void cmdSetColorWriteEnableEXT (VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables) const = 0; + virtual void cmdDrawMultiEXT (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawInfoEXT* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride) const = 0; + virtual void cmdDrawMultiIndexedEXT (VkCommandBuffer commandBuffer, uint32_t drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const int32_t* pVertexOffset) const = 0; + virtual void setDeviceMemoryPriorityEXT (VkDevice device, VkDeviceMemory memory, float priority) const = 0; + virtual VkResult createAccelerationStructureKHR (VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure) const = 0; + virtual void destroyAccelerationStructureKHR (VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator) const = 0; + virtual void cmdBuildAccelerationStructuresKHR (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const = 0; + virtual void cmdBuildAccelerationStructuresIndirectKHR (VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const uint32_t* pIndirectStrides, const uint32_t* const* ppMaxPrimitiveCounts) const = 0; + virtual VkResult buildAccelerationStructuresKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos) const = 0; + virtual VkResult copyAccelerationStructureKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo) const = 0; + virtual VkResult copyAccelerationStructureToMemoryKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const = 0; + virtual VkResult copyMemoryToAccelerationStructureKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const = 0; + virtual VkResult writeAccelerationStructuresPropertiesKHR (VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride) const = 0; + virtual void cmdCopyAccelerationStructureKHR (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo) const = 0; + virtual void cmdCopyAccelerationStructureToMemoryKHR (VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo) const = 0; + virtual void cmdCopyMemoryToAccelerationStructureKHR (VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo) const = 0; + virtual VkDeviceAddress getAccelerationStructureDeviceAddressKHR (VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo) const = 0; + virtual void cmdWriteAccelerationStructuresPropertiesKHR (VkCommandBuffer commandBuffer, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery) const = 0; + virtual void getDeviceAccelerationStructureCompatibilityKHR (VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility) const = 0; + virtual void getAccelerationStructureBuildSizesKHR (VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const uint32_t* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo) const = 0; + virtual void cmdTraceRaysKHR (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth) const = 0; + virtual VkResult createRayTracingPipelinesKHR (VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines) const = 0; + virtual VkResult getRayTracingCaptureReplayShaderGroupHandlesKHR (VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData) const = 0; + virtual void cmdTraceRaysIndirectKHR (VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress) const = 0; + virtual VkDeviceSize getRayTracingShaderGroupStackSizeKHR (VkDevice device, VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader) const = 0; + virtual void cmdSetRayTracingPipelineStackSizeKHR (VkCommandBuffer commandBuffer, uint32_t pipelineStackSize) const = 0; + virtual VkResult getAndroidHardwareBufferPropertiesANDROID (VkDevice device, const struct pt::AndroidHardwareBufferPtr buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties) const = 0; + virtual VkResult getMemoryAndroidHardwareBufferANDROID (VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct pt::AndroidHardwareBufferPtr* pBuffer) const = 0; + virtual VkResult createVideoSessionKHR (VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession) const = 0; + virtual void destroyVideoSessionKHR (VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult getVideoSessionMemoryRequirementsKHR (VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pVideoSessionMemoryRequirementsCount, VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements) const = 0; + virtual VkResult bindVideoSessionMemoryKHR (VkDevice device, VkVideoSessionKHR videoSession, uint32_t videoSessionBindMemoryCount, const VkVideoBindMemoryKHR* pVideoSessionBindMemories) const = 0; + virtual VkResult createVideoSessionParametersKHR (VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters) const = 0; + virtual VkResult updateVideoSessionParametersKHR (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo) const = 0; + virtual void destroyVideoSessionParametersKHR (VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator) const = 0; + virtual void cmdBeginVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo) const = 0; + virtual void cmdEndVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo) const = 0; + virtual void cmdControlVideoCodingKHR (VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo) const = 0; + virtual void cmdDecodeVideoKHR (VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo) const = 0; + virtual void cmdEncodeVideoKHR (VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo) const = 0; + virtual VkResult getMemoryZirconHandleFUCHSIA (VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const = 0; + virtual VkResult getMemoryZirconHandlePropertiesFUCHSIA (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties) const = 0; + virtual VkResult importSemaphoreZirconHandleFUCHSIA (VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo) const = 0; + virtual VkResult getSemaphoreZirconHandleFUCHSIA (VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, pt::zx_handle_t* pZirconHandle) const = 0; + virtual VkResult createBufferCollectionFUCHSIA (VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection) const = 0; + virtual VkResult setBufferCollectionImageConstraintsFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const = 0; + virtual VkResult setBufferCollectionBufferConstraintsFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) const = 0; + virtual void destroyBufferCollectionFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult getBufferCollectionPropertiesFUCHSIA (VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties) const = 0; + virtual VkResult getMemoryWin32HandleKHR (VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0; + virtual VkResult getMemoryWin32HandlePropertiesKHR (VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, pt::Win32Handle handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties) const = 0; + virtual VkResult importSemaphoreWin32HandleKHR (VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo) const = 0; + virtual VkResult getSemaphoreWin32HandleKHR (VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0; + virtual VkResult importFenceWin32HandleKHR (VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo) const = 0; + virtual VkResult getFenceWin32HandleKHR (VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, pt::Win32Handle* pHandle) const = 0; + virtual VkResult getMemoryWin32HandleNV (VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, pt::Win32Handle* pHandle) const = 0; + virtual VkResult acquireFullScreenExclusiveModeEXT (VkDevice device, VkSwapchainKHR swapchain) const = 0; + virtual VkResult releaseFullScreenExclusiveModeEXT (VkDevice device, VkSwapchainKHR swapchain) const = 0; + virtual VkResult getDeviceGroupSurfacePresentModes2EXT (VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes) const = 0; diff --cc external/vulkancts/framework/vulkan/vkVirtualInstanceInterface.inl index 0000000,bc229af..b225272 mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkVirtualInstanceInterface.inl +++ b/external/vulkancts/framework/vulkan/vkVirtualInstanceInterface.inl @@@ -1,0 -1,88 +1,88 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + * This file was generated by /scripts/gen_framework.py + */ + virtual void destroyInstance (VkInstance instance, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult enumeratePhysicalDevices (VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices) const = 0; + virtual void getPhysicalDeviceFeatures (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures) const = 0; + virtual void getPhysicalDeviceFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties) const = 0; + virtual VkResult getPhysicalDeviceImageFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties) const = 0; + virtual void getPhysicalDeviceProperties (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties) const = 0; + virtual void getPhysicalDeviceQueueFamilyProperties (VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties) const = 0; + virtual void getPhysicalDeviceMemoryProperties (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties) const = 0; + virtual VkResult createDevice (VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice) const = 0; + virtual VkResult enumerateDeviceExtensionProperties (VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties) const = 0; + virtual VkResult enumerateDeviceLayerProperties (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties) const = 0; + virtual void getPhysicalDeviceSparseImageFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties) const = 0; + virtual VkResult enumeratePhysicalDeviceGroups (VkInstance instance, uint32_t* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties) const = 0; + virtual void getPhysicalDeviceFeatures2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures) const = 0; + virtual void getPhysicalDeviceProperties2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties) const = 0; + virtual void getPhysicalDeviceFormatProperties2 (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties) const = 0; + virtual VkResult getPhysicalDeviceImageFormatProperties2 (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties) const = 0; + virtual void getPhysicalDeviceQueueFamilyProperties2 (VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties) const = 0; + virtual void getPhysicalDeviceMemoryProperties2 (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties) const = 0; + virtual void getPhysicalDeviceSparseImageFormatProperties2 (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, uint32_t* pPropertyCount, VkSparseImageFormatProperties2* pProperties) const = 0; + virtual void getPhysicalDeviceExternalBufferProperties (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties) const = 0; + virtual void getPhysicalDeviceExternalFenceProperties (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties) const = 0; + virtual void getPhysicalDeviceExternalSemaphoreProperties (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties) const = 0; ++virtual VkResult getPhysicalDeviceToolProperties (VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties) const = 0; + virtual void destroySurfaceKHR (VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator) const = 0; + virtual VkResult getPhysicalDeviceSurfaceSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported) const = 0; + virtual VkResult getPhysicalDeviceSurfaceCapabilitiesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) const = 0; + virtual VkResult getPhysicalDeviceSurfaceFormatsKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats) const = 0; + virtual VkResult getPhysicalDeviceSurfacePresentModesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) const = 0; + virtual VkResult getPhysicalDevicePresentRectanglesKHR (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t* pRectCount, VkRect2D* pRects) const = 0; + virtual VkResult getPhysicalDeviceDisplayPropertiesKHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPropertiesKHR* pProperties) const = 0; + virtual VkResult getPhysicalDeviceDisplayPlanePropertiesKHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties) const = 0; + virtual VkResult getDisplayPlaneSupportedDisplaysKHR (VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays) const = 0; + virtual VkResult getDisplayModePropertiesKHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties) const = 0; + virtual VkResult createDisplayModeKHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode) const = 0; + virtual VkResult getDisplayPlaneCapabilitiesKHR (VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities) const = 0; + virtual VkResult createDisplayPlaneSurfaceKHR (VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; + virtual VkResult enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, uint32_t* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions) const = 0; + virtual void getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR (VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, uint32_t* pNumPasses) const = 0; + virtual VkResult getPhysicalDeviceSurfaceCapabilities2KHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities) const = 0; + virtual VkResult getPhysicalDeviceSurfaceFormats2KHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats) const = 0; + virtual VkResult getPhysicalDeviceDisplayProperties2KHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties) const = 0; + virtual VkResult getPhysicalDeviceDisplayPlaneProperties2KHR (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties) const = 0; + virtual VkResult getDisplayModeProperties2KHR (VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties) const = 0; + virtual VkResult getDisplayPlaneCapabilities2KHR (VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities) const = 0; + virtual VkResult getPhysicalDeviceFragmentShadingRatesKHR (VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates) const = 0; + virtual VkResult createDebugReportCallbackEXT (VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback) const = 0; + virtual void destroyDebugReportCallbackEXT (VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator) const = 0; + virtual void debugReportMessageEXT (VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage) const = 0; + virtual VkResult getPhysicalDeviceExternalImageFormatPropertiesNV (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties) const = 0; + virtual VkResult releaseDisplayEXT (VkPhysicalDevice physicalDevice, VkDisplayKHR display) const = 0; + virtual VkResult getPhysicalDeviceSurfaceCapabilities2EXT (VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities) const = 0; + virtual VkResult createDebugUtilsMessengerEXT (VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger) const = 0; + virtual void destroyDebugUtilsMessengerEXT (VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator) const = 0; + virtual void submitDebugUtilsMessageEXT (VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData) const = 0; + virtual void getPhysicalDeviceMultisamplePropertiesEXT (VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties) const = 0; + virtual VkResult getPhysicalDeviceCalibrateableTimeDomainsEXT (VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains) const = 0; -virtual VkResult getPhysicalDeviceToolPropertiesEXT (VkPhysicalDevice physicalDevice, uint32_t* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties) const = 0; + virtual VkResult getPhysicalDeviceCooperativeMatrixPropertiesNV (VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties) const = 0; + virtual VkResult getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV (VkPhysicalDevice physicalDevice, uint32_t* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations) const = 0; + virtual VkResult createHeadlessSurfaceEXT (VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; + virtual VkResult acquireDrmDisplayEXT (VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display) const = 0; + virtual VkResult getDrmDisplayEXT (VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR* display) const = 0; + virtual VkResult acquireWinrtDisplayNV (VkPhysicalDevice physicalDevice, VkDisplayKHR display) const = 0; + virtual VkResult getWinrtDisplayNV (VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay) const = 0; + virtual VkResult createAndroidSurfaceKHR (VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; + virtual VkResult getPhysicalDeviceVideoCapabilitiesKHR (VkPhysicalDevice physicalDevice, const VkVideoProfileKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities) const = 0; + virtual VkResult getPhysicalDeviceVideoFormatPropertiesKHR (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties) const = 0; + virtual VkResult createImagePipeSurfaceFUCHSIA (VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; + virtual VkResult createStreamDescriptorSurfaceGGP (VkInstance instance, const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; + virtual VkResult createIOSSurfaceMVK (VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; + virtual VkResult createMacOSSurfaceMVK (VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; + virtual VkResult createMetalSurfaceEXT (VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; + virtual VkResult createViSurfaceNN (VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; + virtual VkResult createWaylandSurfaceKHR (VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; + virtual VkBool32 getPhysicalDeviceWaylandPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::WaylandDisplayPtr display) const = 0; + virtual VkResult createWin32SurfaceKHR (VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; + virtual VkBool32 getPhysicalDeviceWin32PresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex) const = 0; + virtual VkResult getPhysicalDeviceSurfacePresentModes2EXT (VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes) const = 0; + virtual VkResult createXcbSurfaceKHR (VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; + virtual VkBool32 getPhysicalDeviceXcbPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::XcbConnectionPtr connection, pt::XcbVisualid visual_id) const = 0; + virtual VkResult createXlibSurfaceKHR (VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) const = 0; + virtual VkBool32 getPhysicalDeviceXlibPresentationSupportKHR (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, pt::XlibDisplayPtr dpy, pt::XlibVisualID visualID) const = 0; + virtual VkResult acquireXlibDisplayEXT (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, VkDisplayKHR display) const = 0; + virtual VkResult getRandROutputDisplayEXT (VkPhysicalDevice physicalDevice, pt::XlibDisplayPtr dpy, pt::RROutput rrOutput, VkDisplayKHR* pDisplay) const = 0; diff --cc external/vulkancts/framework/vulkan/vkVulkan_c.inl index 0000000,911bdfb..8dfe66e mode 000000,100644..100644 --- a/external/vulkancts/framework/vulkan/vkVulkan_c.inl +++ b/external/vulkancts/framework/vulkan/vkVulkan_c.inl @@@ -1,0 -1,14587 +1,15205 @@@ + /* WARNING: This is auto-generated file. Do not modify, since changes will + * be lost! Modify the generating script instead. + */ + /* + ** Copyright (c) 2019-2021 The Khronos Group Inc. + ** + ** SPDX-License-Identifier: Apache-2.0 + */ + + #ifndef VULKAN_VIDEO_CODEC_COMMON_H_ + #define VULKAN_VIDEO_CODEC_COMMON_H_ 1 + + #ifdef __cplusplus + extern "C" { + #endif + + #define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \ + ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch))) + + #ifdef __cplusplus + } + #endif + + #endif // VULKAN_VIDEO_CODEC_COMMON_H_ + /* + ** Copyright (c) 2019-2021 The Khronos Group Inc. + ** + ** SPDX-License-Identifier: Apache-2.0 + */ + + #ifndef VULKAN_VIDEO_CODEC_H264STD_H_ + #define VULKAN_VIDEO_CODEC_H264STD_H_ 1 + + #ifdef __cplusplus + extern "C" { + #endif + + + + // Vulkan 0.9 provisional Vulkan video H.264 encode and decode std specification version number + #define VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5 VK_MAKE_VIDEO_STD_VERSION(0, 9, 5) // Patch version should always be set to 0 + + // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor. + #define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9_5 + #define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264" + + // ************************************************* + // Video H.264 common definitions: + // ************************************************* + + #define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32 + #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6 + #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16 + #define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 2 + #define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64 + + typedef enum StdVideoH264ChromaFormatIdc { + STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_420 = 1, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_422 = 2, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_444 = 3, + STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF + } StdVideoH264ChromaFormatIdc; + + typedef enum StdVideoH264ProfileIdc { + STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66, /* Only constrained baseline is supported */ + STD_VIDEO_H264_PROFILE_IDC_MAIN = 77, + STD_VIDEO_H264_PROFILE_IDC_HIGH = 100, + STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244, + STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF + } StdVideoH264ProfileIdc; + + typedef enum StdVideoH264Level { + STD_VIDEO_H264_LEVEL_1_0 = 0, + STD_VIDEO_H264_LEVEL_1_1 = 1, + STD_VIDEO_H264_LEVEL_1_2 = 2, + STD_VIDEO_H264_LEVEL_1_3 = 3, + STD_VIDEO_H264_LEVEL_2_0 = 4, + STD_VIDEO_H264_LEVEL_2_1 = 5, + STD_VIDEO_H264_LEVEL_2_2 = 6, + STD_VIDEO_H264_LEVEL_3_0 = 7, + STD_VIDEO_H264_LEVEL_3_1 = 8, + STD_VIDEO_H264_LEVEL_3_2 = 9, + STD_VIDEO_H264_LEVEL_4_0 = 10, + STD_VIDEO_H264_LEVEL_4_1 = 11, + STD_VIDEO_H264_LEVEL_4_2 = 12, + STD_VIDEO_H264_LEVEL_5_0 = 13, + STD_VIDEO_H264_LEVEL_5_1 = 14, + STD_VIDEO_H264_LEVEL_5_2 = 15, + STD_VIDEO_H264_LEVEL_6_0 = 16, + STD_VIDEO_H264_LEVEL_6_1 = 17, + STD_VIDEO_H264_LEVEL_6_2 = 18, + STD_VIDEO_H264_LEVEL_INVALID = 0x7FFFFFFF + } StdVideoH264Level; + + typedef enum StdVideoH264PocType { + STD_VIDEO_H264_POC_TYPE_0 = 0, + STD_VIDEO_H264_POC_TYPE_1 = 1, + STD_VIDEO_H264_POC_TYPE_2 = 2, + STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF + } StdVideoH264PocType; + + typedef enum StdVideoH264AspectRatioIdc { + STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED = 0, + STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE = 1, + STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11 = 2, + STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11 = 3, + STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11 = 4, + STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33 = 5, + STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11 = 6, + STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11 = 7, + STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11 = 8, + STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33 = 9, + STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11 = 10, + STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11 = 11, + STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33 = 12, + STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99 = 13, + STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3 = 14, + STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2 = 15, + STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1 = 16, + STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR = 255, + STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF + } StdVideoH264AspectRatioIdc; + + typedef enum StdVideoH264WeightedBipredIdc { + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT = 0, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT = 1, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT = 2, + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID = 0x7FFFFFFF + } StdVideoH264WeightedBipredIdc; + + typedef enum StdVideoH264ModificationOfPicNumsIdc { + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT = 0, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD = 1, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM = 2, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END = 3, + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID = 0x7FFFFFFF + } StdVideoH264ModificationOfPicNumsIdc; + + typedef enum StdVideoH264MemMgmtControlOp { + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END = 0, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM = 1, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM = 2, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM = 3, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX = 4, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL = 5, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM = 6, + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID = 0x7FFFFFFF + } StdVideoH264MemMgmtControlOp; + + typedef enum StdVideoH264CabacInitIdc { + STD_VIDEO_H264_CABAC_INIT_IDC_0 = 0, + STD_VIDEO_H264_CABAC_INIT_IDC_1 = 1, + STD_VIDEO_H264_CABAC_INIT_IDC_2 = 2, + STD_VIDEO_H264_CABAC_INIT_IDC_INVALID = 0x7FFFFFFF + } StdVideoH264CabacInitIdc; + + typedef enum StdVideoH264DisableDeblockingFilterIdc { + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED = 0, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED = 1, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL = 2, + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID = 0x7FFFFFFF + } StdVideoH264DisableDeblockingFilterIdc; + + typedef enum StdVideoH264SliceType { + STD_VIDEO_H264_SLICE_TYPE_P = 0, + STD_VIDEO_H264_SLICE_TYPE_B = 1, + STD_VIDEO_H264_SLICE_TYPE_I = 2, + // reserved STD_VIDEO_H264_SLICE_TYPE_SP = 3, + // reserved STD_VIDEO_H264_SLICE_TYPE_SI = 4, + STD_VIDEO_H264_SLICE_TYPE_INVALID = 0x7FFFFFFF + } StdVideoH264SliceType; + + typedef enum StdVideoH264PictureType { + STD_VIDEO_H264_PICTURE_TYPE_P = 0, + STD_VIDEO_H264_PICTURE_TYPE_B = 1, + STD_VIDEO_H264_PICTURE_TYPE_I = 2, + // reserved STD_VIDEO_H264_PICTURE_TYPE_SP = 3, + // reserved STD_VIDEO_H264_PICTURE_TYPE_SI = 4, + STD_VIDEO_H264_PICTURE_TYPE_IDR = 5, + STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF + } StdVideoH264PictureType; + + typedef enum StdVideoH264NonVclNaluType { + STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS = 0, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS = 1, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD = 2, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX = 3, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE = 4, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM = 5, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED = 6, + STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID = 0x7FFFFFFF + } StdVideoH264NonVclNaluType; + + typedef struct StdVideoH264SpsVuiFlags { + deUint32 aspect_ratio_info_present_flag : 1; + deUint32 overscan_info_present_flag : 1; + deUint32 overscan_appropriate_flag : 1; + deUint32 video_signal_type_present_flag : 1; + deUint32 video_full_range_flag : 1; + deUint32 color_description_present_flag : 1; + deUint32 chroma_loc_info_present_flag : 1; + deUint32 timing_info_present_flag : 1; + deUint32 fixed_frame_rate_flag : 1; + deUint32 bitstream_restriction_flag : 1; + deUint32 nal_hrd_parameters_present_flag : 1; + deUint32 vcl_hrd_parameters_present_flag : 1; + } StdVideoH264SpsVuiFlags; + + typedef struct StdVideoH264HrdParameters { // hrd_parameters + deUint8 cpb_cnt_minus1; + deUint8 bit_rate_scale; + deUint8 cpb_size_scale; + deUint32 bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; // cpb_cnt_minus1 number of valid elements + deUint32 cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; // cpb_cnt_minus1 number of valid elements + deUint8 cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; // cpb_cnt_minus1 number of valid elements + deUint32 initial_cpb_removal_delay_length_minus1; + deUint32 cpb_removal_delay_length_minus1; + deUint32 dpb_output_delay_length_minus1; + deUint32 time_offset_length; + } StdVideoH264HrdParameters; + + typedef struct StdVideoH264SequenceParameterSetVui { + StdVideoH264AspectRatioIdc aspect_ratio_idc; + deUint16 sar_width; + deUint16 sar_height; + deUint8 video_format; + deUint8 color_primaries; + deUint8 transfer_characteristics; + deUint8 matrix_coefficients; + deUint32 num_units_in_tick; + deUint32 time_scale; + StdVideoH264HrdParameters* pHrdParameters; // must be a valid ptr to hrd_parameters, if nal_hrd_parameters_present_flag or vcl_hrd_parameters_present_flag are set + deUint8 max_num_reorder_frames; + deUint8 max_dec_frame_buffering; + StdVideoH264SpsVuiFlags flags; + } StdVideoH264SequenceParameterSetVui; + + typedef struct StdVideoH264SpsFlags { + deUint32 constraint_set0_flag : 1; + deUint32 constraint_set1_flag : 1; + deUint32 constraint_set2_flag : 1; + deUint32 constraint_set3_flag : 1; + deUint32 constraint_set4_flag : 1; + deUint32 constraint_set5_flag : 1; + deUint32 direct_8x8_inference_flag : 1; + deUint32 mb_adaptive_frame_field_flag : 1; + deUint32 frame_mbs_only_flag : 1; + deUint32 delta_pic_order_always_zero_flag : 1; + deUint32 separate_colour_plane_flag : 1; + deUint32 gaps_in_frame_num_value_allowed_flag : 1; + deUint32 qpprime_y_zero_transform_bypass_flag : 1; + deUint32 frame_cropping_flag : 1; + deUint32 seq_scaling_matrix_present_flag : 1; + deUint32 vui_parameters_present_flag : 1; + } StdVideoH264SpsFlags; + + typedef struct StdVideoH264ScalingLists + { + // scaling_list_present_mask has one bit for each + // seq_scaling_list_present_flag[i] for SPS OR + // pic_scaling_list_present_flag[i] for PPS, + // bit 0 - 5 are for each entry of ScalingList4x4 + // bit 6 - 7 are for each entry plus 6 for ScalingList8x8 + deUint8 scaling_list_present_mask; + // use_default_scaling_matrix_mask has one bit for each + // UseDefaultScalingMatrix4x4Flag[ i ] and + // UseDefaultScalingMatrix8x8Flag[ i - 6 ] for SPS OR PPS + // bit 0 - 5 are for each entry of ScalingList4x4 + // bit 6 - 7 are for each entry plus 6 for ScalingList8x8 + deUint8 use_default_scaling_matrix_mask; + deUint8 ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS]; + deUint8 ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS]; + } StdVideoH264ScalingLists; + + typedef struct StdVideoH264SequenceParameterSet + { + StdVideoH264ProfileIdc profile_idc; + StdVideoH264Level level_idc; + deUint8 seq_parameter_set_id; + StdVideoH264ChromaFormatIdc chroma_format_idc; + deUint8 bit_depth_luma_minus8; + deUint8 bit_depth_chroma_minus8; + deUint8 log2_max_frame_num_minus4; + StdVideoH264PocType pic_order_cnt_type; + deUint8 log2_max_pic_order_cnt_lsb_minus4; + deInt32 offset_for_non_ref_pic; + deInt32 offset_for_top_to_bottom_field; + deUint8 num_ref_frames_in_pic_order_cnt_cycle; + deUint8 max_num_ref_frames; + deUint32 pic_width_in_mbs_minus1; + deUint32 pic_height_in_map_units_minus1; + deUint32 frame_crop_left_offset; + deUint32 frame_crop_right_offset; + deUint32 frame_crop_top_offset; + deUint32 frame_crop_bottom_offset; + StdVideoH264SpsFlags flags; + // pOffsetForRefFrame is a pointer representing the offset_for_ref_frame array with num_ref_frames_in_pic_order_cnt_cycle number of elements + // If pOffsetForRefFrame has nullptr value, then num_ref_frames_in_pic_order_cnt_cycle must also be "0". + deInt32* pOffsetForRefFrame; + StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if seq_scaling_matrix_present_flag is set + StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH264SpsFlags:vui_parameters_present_flag is set + } StdVideoH264SequenceParameterSet; + + typedef struct StdVideoH264PpsFlags { + deUint32 transform_8x8_mode_flag : 1; + deUint32 redundant_pic_cnt_present_flag : 1; + deUint32 constrained_intra_pred_flag : 1; + deUint32 deblocking_filter_control_present_flag : 1; + deUint32 weighted_bipred_idc_flag : 1; + deUint32 weighted_pred_flag : 1; + deUint32 pic_order_present_flag : 1; + deUint32 entropy_coding_mode_flag : 1; + deUint32 pic_scaling_matrix_present_flag : 1; + } StdVideoH264PpsFlags; + + typedef struct StdVideoH264PictureParameterSet + { + deUint8 seq_parameter_set_id; + deUint8 pic_parameter_set_id; + deUint8 num_ref_idx_l0_default_active_minus1; + deUint8 num_ref_idx_l1_default_active_minus1; + StdVideoH264WeightedBipredIdc weighted_bipred_idc; + deInt8 pic_init_qp_minus26; + deInt8 pic_init_qs_minus26; + deInt8 chroma_qp_index_offset; + deInt8 second_chroma_qp_index_offset; + StdVideoH264PpsFlags flags; + StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if StdVideoH264PpsFlags::pic_scaling_matrix_present_flag is set. + } StdVideoH264PictureParameterSet; + + #ifdef __cplusplus + } + #endif + + #endif // VULKAN_VIDEO_CODEC_H264STD_H_ + /* + ** Copyright (c) 2019-2021 The Khronos Group Inc. + ** + ** SPDX-License-Identifier: Apache-2.0 + */ + + #ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ + #define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1 + + #ifdef __cplusplus + extern "C" { + #endif + + + + // ************************************************* + // Video H.264 Encode related parameters: + // ************************************************* + + typedef struct StdVideoEncodeH264SliceHeaderFlags { + deUint32 idr_flag : 1; + deUint32 is_reference_flag : 1; + deUint32 num_ref_idx_active_override_flag : 1; + deUint32 no_output_of_prior_pics_flag : 1; + deUint32 long_term_reference_flag : 1; + deUint32 adaptive_ref_pic_marking_mode_flag : 1; + deUint32 no_prior_references_available_flag : 1; + } StdVideoEncodeH264SliceHeaderFlags; + + typedef struct StdVideoEncodeH264PictureInfoFlags { + deUint32 idr_flag : 1; + deUint32 is_reference_flag : 1; + deUint32 long_term_reference_flag : 1; + } StdVideoEncodeH264PictureInfoFlags; + + typedef struct StdVideoEncodeH264RefMgmtFlags { + deUint32 ref_pic_list_modification_l0_flag : 1; + deUint32 ref_pic_list_modification_l1_flag : 1; + } StdVideoEncodeH264RefMgmtFlags; + + typedef struct StdVideoEncodeH264RefListModEntry { + StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc; + deUint16 abs_diff_pic_num_minus1; + deUint16 long_term_pic_num; + } StdVideoEncodeH264RefListModEntry; + + typedef struct StdVideoEncodeH264RefPicMarkingEntry { + StdVideoH264MemMgmtControlOp operation; + deUint16 difference_of_pic_nums_minus1; + deUint16 long_term_pic_num; + deUint16 long_term_frame_idx; + deUint16 max_long_term_frame_idx_plus1; + } StdVideoEncodeH264RefPicMarkingEntry; + + typedef struct StdVideoEncodeH264RefMemMgmtCtrlOperations { + StdVideoEncodeH264RefMgmtFlags flags; + deUint8 refList0ModOpCount; + StdVideoEncodeH264RefListModEntry* pRefList0ModOperations; + deUint8 refList1ModOpCount; + StdVideoEncodeH264RefListModEntry* pRefList1ModOperations; + deUint8 refPicMarkingOpCount; + StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations; + } StdVideoEncodeH264RefMemMgmtCtrlOperations; + + typedef struct StdVideoEncodeH264PictureInfo { + StdVideoEncodeH264PictureInfoFlags flags; + StdVideoH264PictureType pictureType; + deUint32 frameNum; + deUint32 pictureOrderCount; + deUint16 long_term_pic_num; + deUint16 long_term_frame_idx; + } StdVideoEncodeH264PictureInfo; + + typedef struct StdVideoEncodeH264SliceHeader { + StdVideoEncodeH264SliceHeaderFlags flags; + StdVideoH264SliceType slice_type; + deUint8 seq_parameter_set_id; + deUint8 pic_parameter_set_id; + deUint16 idr_pic_id; + deUint8 num_ref_idx_l0_active_minus1; + deUint8 num_ref_idx_l1_active_minus1; + StdVideoH264CabacInitIdc cabac_init_idc; + StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc; + deInt8 slice_alpha_c0_offset_div2; + deInt8 slice_beta_offset_div2; + StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations; + } StdVideoEncodeH264SliceHeader; + + + #ifdef __cplusplus + } + #endif + + #endif // VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ + /* + ** Copyright (c) 2019-2021 The Khronos Group Inc. + ** + ** SPDX-License-Identifier: Apache-2.0 + */ + + #ifndef VULKAN_VIDEO_CODEC_H265STD_H_ + #define VULKAN_VIDEO_CODEC_H265STD_H_ 1 + + #ifdef __cplusplus + extern "C" { + #endif + + + + // Vulkan 0.5 version number WIP + #define VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_9_5 VK_MAKE_VIDEO_STD_VERSION(0, 9, 5) // Patch version should always be set to 0 + + // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor. + #define VK_STD_VULKAN_VIDEO_CODEC_H265_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_9_5 + #define VK_STD_VULKAN_VIDEO_CODEC_H265_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265" + + #define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32 + #define STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE 7 + #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6 + #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16 + #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6 + #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS 64 + #define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS 6 + #define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64 + #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2 + #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64 + #define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6 + #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19 + #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21 + #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3 + #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128 + + typedef enum StdVideoH265ChromaFormatIdc { + STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3, + STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF + } StdVideoH265ChromaFormatIdc; + + typedef enum StdVideoH265ProfileIdc { + STD_VIDEO_H265_PROFILE_IDC_MAIN = 1, + STD_VIDEO_H265_PROFILE_IDC_MAIN_10 = 2, + STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE = 3, + STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4, + STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9, + STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF + } StdVideoH265ProfileIdc; + + typedef enum StdVideoH265Level { + STD_VIDEO_H265_LEVEL_1_0 = 0, + STD_VIDEO_H265_LEVEL_2_0 = 1, + STD_VIDEO_H265_LEVEL_2_1 = 2, + STD_VIDEO_H265_LEVEL_3_0 = 3, + STD_VIDEO_H265_LEVEL_3_1 = 4, + STD_VIDEO_H265_LEVEL_4_0 = 5, + STD_VIDEO_H265_LEVEL_4_1 = 6, + STD_VIDEO_H265_LEVEL_5_0 = 7, + STD_VIDEO_H265_LEVEL_5_1 = 8, + STD_VIDEO_H265_LEVEL_5_2 = 9, + STD_VIDEO_H265_LEVEL_6_0 = 10, + STD_VIDEO_H265_LEVEL_6_1 = 11, + STD_VIDEO_H265_LEVEL_6_2 = 12, + STD_VIDEO_H265_LEVEL_INVALID = 0x7FFFFFFF + } StdVideoH265Level; + + typedef enum StdVideoH265SliceType { + STD_VIDEO_H265_SLICE_TYPE_B = 0, + STD_VIDEO_H265_SLICE_TYPE_P = 1, + STD_VIDEO_H265_SLICE_TYPE_I = 2, + STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF + } StdVideoH265SliceType; + + typedef enum StdVideoH265PictureType { + STD_VIDEO_H265_PICTURE_TYPE_P = 0, + STD_VIDEO_H265_PICTURE_TYPE_B = 1, + STD_VIDEO_H265_PICTURE_TYPE_I = 2, + STD_VIDEO_H265_PICTURE_TYPE_IDR = 3, + STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF + } StdVideoH265PictureType; + + typedef struct StdVideoH265DecPicBufMgr + { + deUint32 max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + deUint8 max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + deUint8 max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + } StdVideoH265DecPicBufMgr; + + typedef struct StdVideoH265SubLayerHrdParameters { // sub_layer_hrd_parameters + deUint32 bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + deUint32 cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + deUint32 cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + deUint32 bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; + deUint32 cbr_flag; // each bit represents a range of CpbCounts (bit 0 - cpb_cnt_minus1) per sub-layer + } StdVideoH265SubLayerHrdParameters; + + typedef struct StdVideoH265HrdFlags { + deUint32 nal_hrd_parameters_present_flag : 1; + deUint32 vcl_hrd_parameters_present_flag : 1; + deUint32 sub_pic_hrd_params_present_flag : 1; + deUint32 sub_pic_cpb_params_in_pic_timing_sei_flag : 1; + deUint32 fixed_pic_rate_general_flag : 8; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1 + deUint32 fixed_pic_rate_within_cvs_flag : 8; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1 + deUint32 low_delay_hrd_flag : 8; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1 + } StdVideoH265HrdFlags; + + typedef struct StdVideoH265HrdParameters { + deUint8 tick_divisor_minus2; + deUint8 du_cpb_removal_delay_increment_length_minus1; + deUint8 dpb_output_delay_du_length_minus1; + deUint8 bit_rate_scale; + deUint8 cpb_size_scale; + deUint8 cpb_size_du_scale; + deUint8 initial_cpb_removal_delay_length_minus1; + deUint8 au_cpb_removal_delay_length_minus1; + deUint8 dpb_output_delay_length_minus1; + deUint8 cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + deUint16 elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; + StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; // NAL per layer ptr to sub_layer_hrd_parameters + StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE]; // VCL per layer ptr to sub_layer_hrd_parameters + StdVideoH265HrdFlags flags; + } StdVideoH265HrdParameters; + + typedef struct StdVideoH265VpsFlags { + deUint32 vps_temporal_id_nesting_flag : 1; + deUint32 vps_sub_layer_ordering_info_present_flag : 1; + deUint32 vps_timing_info_present_flag : 1; + deUint32 vps_poc_proportional_to_timing_flag : 1; + } StdVideoH265VpsFlags; + + typedef struct StdVideoH265VideoParameterSet + { + deUint8 vps_video_parameter_set_id; + deUint8 vps_max_sub_layers_minus1; + deUint32 vps_num_units_in_tick; + deUint32 vps_time_scale; + deUint32 vps_num_ticks_poc_diff_one_minus1; + StdVideoH265DecPicBufMgr* pDecPicBufMgr; + StdVideoH265HrdParameters* pHrdParameters; + StdVideoH265VpsFlags flags; + } StdVideoH265VideoParameterSet; + + typedef struct StdVideoH265ScalingLists + { + deUint8 ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS]; // ScalingList[ 0 ][ MatrixID ][ i ] (sizeID = 0) + deUint8 ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS]; // ScalingList[ 1 ][ MatrixID ][ i ] (sizeID = 1) + deUint8 ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS]; // ScalingList[ 2 ][ MatrixID ][ i ] (sizeID = 2) + deUint8 ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS]; // ScalingList[ 3 ][ MatrixID ][ i ] (sizeID = 3) + deUint8 ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8, sizeID = 2 + deUint8 ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8. sizeID = 3 + } StdVideoH265ScalingLists; + + typedef struct StdVideoH265SpsVuiFlags { + deUint32 aspect_ratio_info_present_flag : 1; + deUint32 overscan_info_present_flag : 1; + deUint32 overscan_appropriate_flag : 1; + deUint32 video_signal_type_present_flag : 1; + deUint32 video_full_range_flag : 1; + deUint32 colour_description_present_flag : 1; + deUint32 chroma_loc_info_present_flag : 1; + deUint32 neutral_chroma_indication_flag : 1; + deUint32 field_seq_flag : 1; + deUint32 frame_field_info_present_flag : 1; + deUint32 default_display_window_flag : 1; + deUint32 vui_timing_info_present_flag : 1; + deUint32 vui_poc_proportional_to_timing_flag : 1; + deUint32 vui_hrd_parameters_present_flag : 1; + deUint32 bitstream_restriction_flag : 1; + deUint32 tiles_fixed_structure_flag : 1; + deUint32 motion_vectors_over_pic_boundaries_flag : 1; + deUint32 restricted_ref_pic_lists_flag : 1; + } StdVideoH265SpsVuiFlags; + + typedef struct StdVideoH265SequenceParameterSetVui { + deUint8 aspect_ratio_idc; + deUint16 sar_width; + deUint16 sar_height; + deUint8 video_format; + deUint8 colour_primaries; + deUint8 transfer_characteristics; + deUint8 matrix_coeffs; + deUint8 chroma_sample_loc_type_top_field; + deUint8 chroma_sample_loc_type_bottom_field; + deUint16 def_disp_win_left_offset; + deUint16 def_disp_win_right_offset; + deUint16 def_disp_win_top_offset; + deUint16 def_disp_win_bottom_offset; + deUint32 vui_num_units_in_tick; + deUint32 vui_time_scale; + deUint32 vui_num_ticks_poc_diff_one_minus1; + StdVideoH265HrdParameters* pHrdParameters; + deUint16 min_spatial_segmentation_idc; + deUint8 max_bytes_per_pic_denom; + deUint8 max_bits_per_min_cu_denom; + deUint8 log2_max_mv_length_horizontal; + deUint8 log2_max_mv_length_vertical; + StdVideoH265SpsVuiFlags flags; + } StdVideoH265SequenceParameterSetVui; + + typedef struct StdVideoH265PredictorPaletteEntries + { + deUint16 PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE]; + } StdVideoH265PredictorPaletteEntries; + + typedef struct StdVideoH265SpsFlags { + deUint32 sps_temporal_id_nesting_flag : 1; + deUint32 separate_colour_plane_flag : 1; + deUint32 scaling_list_enabled_flag : 1; + deUint32 sps_scaling_list_data_present_flag : 1; + deUint32 amp_enabled_flag : 1; + deUint32 sample_adaptive_offset_enabled_flag : 1; + deUint32 pcm_enabled_flag : 1; + deUint32 pcm_loop_filter_disabled_flag : 1; + deUint32 long_term_ref_pics_present_flag : 1; + deUint32 sps_temporal_mvp_enabled_flag : 1; + deUint32 strong_intra_smoothing_enabled_flag : 1; + deUint32 vui_parameters_present_flag : 1; + deUint32 sps_extension_present_flag : 1; + deUint32 sps_range_extension_flag : 1; + + // extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set + deUint32 transform_skip_rotation_enabled_flag : 1; + deUint32 transform_skip_context_enabled_flag : 1; + deUint32 implicit_rdpcm_enabled_flag : 1; + deUint32 explicit_rdpcm_enabled_flag : 1; + deUint32 extended_precision_processing_flag : 1; + deUint32 intra_smoothing_disabled_flag : 1; + deUint32 high_precision_offsets_enabled_flag : 1; + deUint32 persistent_rice_adaptation_enabled_flag : 1; + deUint32 cabac_bypass_alignment_enabled_flag : 1; + + // extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set + deUint32 sps_curr_pic_ref_enabled_flag : 1; + deUint32 palette_mode_enabled_flag : 1; + deUint32 sps_palette_predictor_initializer_present_flag : 1; + deUint32 intra_boundary_filtering_disabled_flag : 1; + } StdVideoH265SpsFlags; + + typedef struct StdVideoH265SequenceParameterSet + { + StdVideoH265ProfileIdc profile_idc; + StdVideoH265Level level_idc; + deUint32 pic_width_in_luma_samples; + deUint32 pic_height_in_luma_samples; + deUint8 sps_video_parameter_set_id; + deUint8 sps_max_sub_layers_minus1; + deUint8 sps_seq_parameter_set_id; + deUint8 chroma_format_idc; + deUint8 bit_depth_luma_minus8; + deUint8 bit_depth_chroma_minus8; + deUint8 log2_max_pic_order_cnt_lsb_minus4; + deUint8 sps_max_dec_pic_buffering_minus1; + deUint8 log2_min_luma_coding_block_size_minus3; + deUint8 log2_diff_max_min_luma_coding_block_size; + deUint8 log2_min_luma_transform_block_size_minus2; + deUint8 log2_diff_max_min_luma_transform_block_size; + deUint8 max_transform_hierarchy_depth_inter; + deUint8 max_transform_hierarchy_depth_intra; + deUint8 num_short_term_ref_pic_sets; + deUint8 num_long_term_ref_pics_sps; + deUint8 pcm_sample_bit_depth_luma_minus1; + deUint8 pcm_sample_bit_depth_chroma_minus1; + deUint8 log2_min_pcm_luma_coding_block_size_minus3; + deUint8 log2_diff_max_min_pcm_luma_coding_block_size; + deUint32 conf_win_left_offset; + deUint32 conf_win_right_offset; + deUint32 conf_win_top_offset; + deUint32 conf_win_bottom_offset; + StdVideoH265DecPicBufMgr* pDecPicBufMgr; + StdVideoH265SpsFlags flags; + StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if sps_scaling_list_data_present_flag is set + StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH265SpsFlags:vui_parameters_present_flag is set palette_max_size; + + // extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set + deUint8 palette_max_size; + deUint8 delta_palette_max_predictor_size; + deUint8 motion_vector_resolution_control_idc; + deUint8 sps_num_palette_predictor_initializer_minus1; + StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if sps_palette_predictor_initializer_present_flag is set + } StdVideoH265SequenceParameterSet; + + + typedef struct StdVideoH265PpsFlags { + deUint32 dependent_slice_segments_enabled_flag : 1; + deUint32 output_flag_present_flag : 1; + deUint32 sign_data_hiding_enabled_flag : 1; + deUint32 cabac_init_present_flag : 1; + deUint32 constrained_intra_pred_flag : 1; + deUint32 transform_skip_enabled_flag : 1; + deUint32 cu_qp_delta_enabled_flag : 1; + deUint32 pps_slice_chroma_qp_offsets_present_flag : 1; + deUint32 weighted_pred_flag : 1; + deUint32 weighted_bipred_flag : 1; + deUint32 transquant_bypass_enabled_flag : 1; + deUint32 tiles_enabled_flag : 1; + deUint32 entropy_coding_sync_enabled_flag : 1; + deUint32 uniform_spacing_flag : 1; + deUint32 loop_filter_across_tiles_enabled_flag : 1; + deUint32 pps_loop_filter_across_slices_enabled_flag : 1; + deUint32 deblocking_filter_control_present_flag : 1; + deUint32 deblocking_filter_override_enabled_flag : 1; + deUint32 pps_deblocking_filter_disabled_flag : 1; + deUint32 pps_scaling_list_data_present_flag : 1; + deUint32 lists_modification_present_flag : 1; + deUint32 slice_segment_header_extension_present_flag : 1; + deUint32 pps_extension_present_flag : 1; + + // extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set + deUint32 cross_component_prediction_enabled_flag : 1; + deUint32 chroma_qp_offset_list_enabled_flag : 1; + + // extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set + deUint32 pps_curr_pic_ref_enabled_flag : 1; + deUint32 residual_adaptive_colour_transform_enabled_flag : 1; + deUint32 pps_slice_act_qp_offsets_present_flag : 1; + deUint32 pps_palette_predictor_initializer_present_flag : 1; + deUint32 monochrome_palette_flag : 1; + deUint32 pps_range_extension_flag : 1; + } StdVideoH265PpsFlags; + + typedef struct StdVideoH265PictureParameterSet + { + deUint8 pps_pic_parameter_set_id; + deUint8 pps_seq_parameter_set_id; + deUint8 num_extra_slice_header_bits; + deUint8 num_ref_idx_l0_default_active_minus1; + deUint8 num_ref_idx_l1_default_active_minus1; + deInt8 init_qp_minus26; + deUint8 diff_cu_qp_delta_depth; + deInt8 pps_cb_qp_offset; + deInt8 pps_cr_qp_offset; + deUint8 num_tile_columns_minus1; + deUint8 num_tile_rows_minus1; + deUint16 column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE]; + deUint16 row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE]; + deInt8 pps_beta_offset_div2; + deInt8 pps_tc_offset_div2; + deUint8 log2_parallel_merge_level_minus2; + StdVideoH265PpsFlags flags; + StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if pps_scaling_list_data_present_flag is set + + // extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set + deUint8 log2_max_transform_skip_block_size_minus2; + deUint8 diff_cu_chroma_qp_offset_depth; + deUint8 chroma_qp_offset_list_len_minus1; + deInt8 cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; + deInt8 cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; + deUint8 log2_sao_offset_scale_luma; + deUint8 log2_sao_offset_scale_chroma; + + // extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set + deInt8 pps_act_y_qp_offset_plus5; + deInt8 pps_act_cb_qp_offset_plus5; + deInt8 pps_act_cr_qp_offset_plus5; + deUint8 pps_num_palette_predictor_initializer; + deUint8 luma_bit_depth_entry_minus8; + deUint8 chroma_bit_depth_entry_minus8; + StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if pps_palette_predictor_initializer_present_flag is set + } StdVideoH265PictureParameterSet; + + #ifdef __cplusplus + } + #endif + + #endif // VULKAN_VIDEO_CODEC_H265STD_H_ + /* + ** Copyright (c) 2019-2020 The Khronos Group Inc. + ** + ** SPDX-License-Identifier: Apache-2.0 + */ + + #ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ + #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1 + + #ifdef __cplusplus + extern "C" { + #endif + + + + // ************************************************* + // Video H.264 Decode related parameters: + // ************************************************* + + #define STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE 15 + + typedef enum StdVideoDecodeH264FieldOrderCount { + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE = 2, + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF + } StdVideoDecodeH264FieldOrderCnt; + + typedef struct StdVideoDecodeH264PictureInfoFlags { + deUint32 field_pic_flag : 1; // Is field picture + deUint32 is_intra : 1; // Is intra picture + deUint32 IdrPicFlag : 1; // instantaneous decoding refresh (IDR) picture + deUint32 bottom_field_flag : 1; // bottom (true) or top (false) field if field_pic_flag is set. + deUint32 is_reference : 1; // This only applies to picture info, and not to the DPB lists. + deUint32 complementary_field_pair : 1; // complementary field pair, complementary non-reference field pair, complementary reference field pair + } StdVideoDecodeH264PictureInfoFlags; + + typedef struct StdVideoDecodeH264PictureInfo { + deUint8 seq_parameter_set_id; // Selecting SPS from the Picture Parameters + deUint8 pic_parameter_set_id; // Selecting PPS from the Picture Parameters and the SPS + deUint16 reserved; // for structure members 32-bit packing/alignment + deUint16 frame_num; // 7.4.3 Slice header semantics + deUint16 idr_pic_id; // 7.4.3 Slice header semantics + // PicOrderCnt is based on TopFieldOrderCnt and BottomFieldOrderCnt. See 8.2.1 Decoding process for picture order count type 0 - 2 + deInt32 PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; // TopFieldOrderCnt and BottomFieldOrderCnt fields. + StdVideoDecodeH264PictureInfoFlags flags; + } StdVideoDecodeH264PictureInfo; + + typedef struct StdVideoDecodeH264ReferenceInfoFlags { + deUint32 top_field_flag : 1; // Reference is used for top field reference. + deUint32 bottom_field_flag : 1; // Reference is used for bottom field reference. + deUint32 is_long_term : 1; // this is a long term reference + deUint32 is_non_existing : 1; // Must be handled in accordance with 8.2.5.2: Decoding process for gaps in frame_num + } StdVideoDecodeH264ReferenceInfoFlags; + + typedef struct StdVideoDecodeH264ReferenceInfo { + // FrameNum = is_long_term ? long_term_frame_idx : frame_num + deUint16 FrameNum; // 7.4.3.3 Decoded reference picture marking semantics + deUint16 reserved; // for structure members 32-bit packing/alignment + deInt32 PicOrderCnt[2]; // TopFieldOrderCnt and BottomFieldOrderCnt fields. + StdVideoDecodeH264ReferenceInfoFlags flags; + } StdVideoDecodeH264ReferenceInfo; + + typedef struct StdVideoDecodeH264MvcElementFlags { + deUint32 non_idr : 1; + deUint32 anchor_pic : 1; + deUint32 inter_view : 1; + } StdVideoDecodeH264MvcElementFlags; + + typedef struct StdVideoDecodeH264MvcElement { + StdVideoDecodeH264MvcElementFlags flags; + deUint16 viewOrderIndex; + deUint16 viewId; + deUint16 temporalId; // move out? + deUint16 priorityId; // move out? + deUint16 numOfAnchorRefsInL0; + deUint16 viewIdOfAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE]; + deUint16 numOfAnchorRefsInL1; + deUint16 viewIdOfAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE]; + deUint16 numOfNonAnchorRefsInL0; + deUint16 viewIdOfNonAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE]; + deUint16 numOfNonAnchorRefsInL1; + deUint16 viewIdOfNonAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE]; + } StdVideoDecodeH264MvcElement; + + typedef struct StdVideoDecodeH264Mvc { + deUint32 viewId0; + deUint32 mvcElementCount; + StdVideoDecodeH264MvcElement* pMvcElements; + } StdVideoDecodeH264Mvc; + + + #ifdef __cplusplus + } + #endif + + #endif // VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ + /* + ** Copyright (c) 2019-2021 The Khronos Group Inc. + ** + ** SPDX-License-Identifier: Apache-2.0 + */ + + #ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ + #define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1 + + #ifdef __cplusplus + extern "C" { + #endif + + + + // ************************************************* + // Video h265 Decode related parameters: + // ************************************************* + + #define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8 + + typedef struct StdVideoDecodeH265PictureInfoFlags { + deUint32 IrapPicFlag : 1; + deUint32 IdrPicFlag : 1; + deUint32 IsReference : 1; + deUint32 short_term_ref_pic_set_sps_flag : 1; + } StdVideoDecodeH265PictureInfoFlags; + + typedef struct StdVideoDecodeH265PictureInfo { + deUint8 vps_video_parameter_set_id; + deUint8 sps_seq_parameter_set_id; + deUint8 pps_pic_parameter_set_id; + deUint8 num_short_term_ref_pic_sets; + deInt32 PicOrderCntVal; + deUint16 NumBitsForSTRefPicSetInSlice; // number of bits used in st_ref_pic_set() + //when short_term_ref_pic_set_sps_flag is 0; otherwise set to 0. + deUint8 NumDeltaPocsOfRefRpsIdx; // NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0 + deUint8 RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; // slotIndex as used in + // VkVideoReferenceSlotKHR structures representing + //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex + deUint8 RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; // slotIndex as used in + // VkVideoReferenceSlotKHR structures representing + //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex + deUint8 RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; // slotIndex as used in + // VkVideoReferenceSlotKHR structures representing + //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex + StdVideoDecodeH265PictureInfoFlags flags; + } StdVideoDecodeH265PictureInfo; + + typedef struct StdVideoDecodeH265ReferenceInfoFlags { + deUint32 is_long_term : 1; + deUint32 is_non_existing : 1; + } StdVideoDecodeH265ReferenceInfoFlags; + + typedef struct StdVideoDecodeH265ReferenceInfo { + deInt32 PicOrderCntVal; + StdVideoDecodeH265ReferenceInfoFlags flags; + } StdVideoDecodeH265ReferenceInfo; + + #ifdef __cplusplus + } + #endif + + #endif // VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ + #ifndef VULKAN_CORE_H_ + #define VULKAN_CORE_H_ 1 + + /* + ** Copyright 2015-2021 The Khronos Group Inc. + ** + ** SPDX-License-Identifier: Apache-2.0 + */ + + /* + ** This header is generated from the Khronos Vulkan XML API Registry. + ** + */ + + + #ifdef __cplusplus + extern "C" { + #endif + + + + #define VK_VERSION_1_0 1 + + + #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; + + + #ifndef VK_USE_64_BIT_PTR_DEFINES + #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) + #define VK_USE_64_BIT_PTR_DEFINES 1 + #else + #define VK_USE_64_BIT_PTR_DEFINES 0 + #endif + #endif + + + #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE + #if (VK_USE_64_BIT_PTR_DEFINES==1) + #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L)) + #define VK_NULL_HANDLE nullptr + #else + #define VK_NULL_HANDLE ((void*)0) + #endif + #else + #define VK_NULL_HANDLE 0ULL + #endif + #endif + #ifndef VK_NULL_HANDLE + #define VK_NULL_HANDLE 0 + #endif + + + #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE + #if (VK_USE_64_BIT_PTR_DEFINES==1) + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; + #else + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object; + #endif + #endif + + // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. + #define VK_MAKE_VERSION(major, minor, patch) \ + ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch))) + + // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. + //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 + + #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ + ((((deUint32)(variant)) << 29) | (((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch))) + + // Vulkan 1.0 version number + #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 + + // Version of this file + #define VK_HEADER_VERSION 201 + + // Complete version of this file -#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) ++#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + + // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. + #define VK_VERSION_MAJOR(version) ((deUint32)(version) >> 22) + + // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. + #define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU) + + // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. + #define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU) + + #define VK_API_VERSION_VARIANT(version) ((deUint32)(version) >> 29) + #define VK_API_VERSION_MAJOR(version) (((deUint32)(version) >> 22) & 0x7FU) + #define VK_API_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU) + #define VK_API_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU) + typedef deUint32 VkBool32; + typedef deUint64 VkDeviceAddress; + typedef deUint64 VkDeviceSize; + typedef deUint32 VkFlags; + typedef deUint32 VkSampleMask; + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) + VK_DEFINE_HANDLE(VkInstance) + VK_DEFINE_HANDLE(VkPhysicalDevice) + VK_DEFINE_HANDLE(VkDevice) + VK_DEFINE_HANDLE(VkQueue) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) + VK_DEFINE_HANDLE(VkCommandBuffer) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) + #define VK_UUID_SIZE 16U + #define VK_ATTACHMENT_UNUSED (~0U) + #define VK_FALSE 0U + #define VK_LOD_CLAMP_NONE 1000.0F + #define VK_QUEUE_FAMILY_IGNORED (~0U) + #define VK_REMAINING_ARRAY_LAYERS (~0U) + #define VK_REMAINING_MIP_LEVELS (~0U) + #define VK_SUBPASS_EXTERNAL (~0U) + #define VK_TRUE 1U + #define VK_WHOLE_SIZE (~0ULL) + #define VK_MAX_MEMORY_TYPES 32U + #define VK_MAX_MEMORY_HEAPS 16U + #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U + #define VK_MAX_EXTENSION_NAME_SIZE 256U + #define VK_MAX_DESCRIPTION_SIZE 256U + + typedef enum VkResult { + VK_SUCCESS = 0, + VK_NOT_READY = 1, + VK_TIMEOUT = 2, + VK_EVENT_SET = 3, + VK_EVENT_RESET = 4, + VK_INCOMPLETE = 5, + VK_ERROR_OUT_OF_HOST_MEMORY = -1, + VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, + VK_ERROR_INITIALIZATION_FAILED = -3, + VK_ERROR_DEVICE_LOST = -4, + VK_ERROR_MEMORY_MAP_FAILED = -5, + VK_ERROR_LAYER_NOT_PRESENT = -6, + VK_ERROR_EXTENSION_NOT_PRESENT = -7, + VK_ERROR_FEATURE_NOT_PRESENT = -8, + VK_ERROR_INCOMPATIBLE_DRIVER = -9, + VK_ERROR_TOO_MANY_OBJECTS = -10, + VK_ERROR_FORMAT_NOT_SUPPORTED = -11, + VK_ERROR_FRAGMENTED_POOL = -12, + VK_ERROR_UNKNOWN = -13, + VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, + VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, + VK_ERROR_FRAGMENTATION = -1000161000, + VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, ++ VK_PIPELINE_COMPILE_REQUIRED = 1000297000, + VK_ERROR_SURFACE_LOST_KHR = -1000000000, + VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, + VK_SUBOPTIMAL_KHR = 1000001003, + VK_ERROR_OUT_OF_DATE_KHR = -1000001004, + VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, + VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, + VK_ERROR_INVALID_SHADER_NV = -1000012000, + VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, + VK_ERROR_NOT_PERMITTED_EXT = -1000174001, + VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, + VK_THREAD_IDLE_KHR = 1000268000, + VK_THREAD_DONE_KHR = 1000268001, + VK_OPERATION_DEFERRED_KHR = 1000268002, + VK_OPERATION_NOT_DEFERRED_KHR = 1000268003, - VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000, + VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, + VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE, + VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION, + VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, + VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, - VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT, ++ VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, ++ VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, + VK_RESULT_MAX_ENUM = 0x7FFFFFFF + } VkResult; + + typedef enum VkStructureType { + VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, + VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, + VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, + VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, + VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, + VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, + VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, + VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, + VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, + VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, + VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, + VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, + VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, + VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, + VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, + VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, + VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, + VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, + VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, + VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, + VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, + VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, + VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, + VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, + VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, + VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, + VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, + VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, + VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, + VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, + VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, + VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, + VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, + VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, + VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, + VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, + VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, + VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, + VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, + VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, + VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, + VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, + VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, + VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, + VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, + VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006, + VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, + VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, + VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, + VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, + VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002, + VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, + VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, + VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, + VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, + VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, + VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, + VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, + VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, + VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, + VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, + VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, + VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, + VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, + VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, + VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, + VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, + VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, + VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, + VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, + VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, + VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, + VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, + VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, + VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, + VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, + VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, + VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, + VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, + VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, + VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, + VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, + VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, + VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, + VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, + VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, + VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, + VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, + VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, + VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, + VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, + VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, + VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, + VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, + VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, + VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, + VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54, ++ VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000, ++ VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001, ++ VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000, ++ VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000, ++ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001, ++ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002, ++ VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003, ++ VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004, ++ VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005, ++ VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000, ++ VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000, ++ VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001, ++ VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002, ++ VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003, ++ VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004, ++ VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005, ++ VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006, ++ VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007, ++ VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008, ++ VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009, ++ VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000, ++ VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001, ++ VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002, ++ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000, ++ VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000, ++ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001, ++ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003, ++ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001, ++ VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001, ++ VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002, ++ VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003, + VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, + VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, + VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, + VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, + VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, + VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, + VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, + VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, + VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, + VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, + VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, + VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, + VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, + VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, + VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, + VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, + VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, + VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, + VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000, + #endif + VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, + VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, + VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002, + VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000, + VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001, + VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002, + VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000, + VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038009, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038010, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT = 1000039001, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039002, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039003, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039004, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039005, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT = 1000039006, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT = 1000039007, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT = 1000039008, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT = 1000039009, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039010, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039011, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007, + #endif + VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, - VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = 1000044000, - VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = 1000044001, - VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = 1000044002, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = 1000044003, - VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = 1000044004, + VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, + VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007, + VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008, + VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009, + VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000, + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, + VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, + VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, + VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, + VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, + VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000, + VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000, + VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001, + VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002, + VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, + VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, + VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, + VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000, + VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000, + VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001, + VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002, + VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003, + VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, + VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001, + VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002, + VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, + VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000, + VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, + VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, + VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, + VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, + VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, + VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, + VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, + VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, + VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, + VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, + VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002, + VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, + VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, + VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, + VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, + VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, + VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, + VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, + VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, + VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, + VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, + VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, + VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, + VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, + VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, + VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, + VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, + VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, + VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, + VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002, + VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, + VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, + VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, + VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, + VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001, - VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002, - VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003, + VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, + VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, + VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, + VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, + VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, + VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, + VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009, + VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010, + VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011, + VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001, + VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015, + VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016, + VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013, + VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001, + VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, + VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, + VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, + VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, + VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006, + VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, + VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, + #endif + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005, + VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001, + VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003, + VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004, + VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005, + VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006, + VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009, + VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000, + VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, + VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, + VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, + VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000, + VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006, + #endif + VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, + VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002, + VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000, - VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002, + VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000, + VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000, + VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000, + VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001, + VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002, + VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003, + VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004, + VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, + VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000, + VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001, + VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000, + VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001, + VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000, - VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002, + VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, + VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000, + VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001, + VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000, + VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000, + VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000, + VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, + VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, + VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002, + VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, + VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002, + VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, + VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000, + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, + VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, + VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, + VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, + VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, + VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000, + VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, + VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002, + VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003, + VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004, + VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005, + VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = 1000280000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = 1000280001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, + VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000, + VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001, + VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, + VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, + VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, + VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000, - VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001, - VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002, + #endif + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, + VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, - VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000, - VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001, - VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002, - VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003, - VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004, - VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005, - VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007, + VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, + VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001, + VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001, + VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000, - VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000, - VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001, - VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002, - VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003, - VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004, - VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005, - VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006, - VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007, - VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008, - VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009, - VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = 1000342000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, + VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000, + VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, + VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, + VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, - VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = 1000360000, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000, + VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001, + VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002, + VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000, + VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001, + VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000, + VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001, + VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002, + VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003, + VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004, + VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005, + VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006, + VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007, + VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008, + VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009, + VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000, + VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, + VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, + VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = 1000388000, + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = 1000388001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000, + VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, + VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = 1000413000, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = 1000413001, - VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = 1000413002, - VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = 1000413003, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, + VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, ++ VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO, ++ VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, ++ VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, ++ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, + VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, + VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, + VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, + VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, + VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, + VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, + VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, + VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, + VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, + VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, + VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, + VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, + VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, + VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, + VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, + VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, + VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, + VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, + VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO, + VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, + VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, + VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, + VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, + VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, + VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, + VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, + VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, + VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, + VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, + VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, + VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, + VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, + VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, + VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, ++ VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK, ++ VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO, + VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, + VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, + VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, + VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, + VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, + VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, + VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, + VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, + VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, + VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, ++ VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, + VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, + VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, + VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, + VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, + VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, + VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, ++ VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, + VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, + VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, + VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES, + VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, + VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, + VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, + VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, + VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, ++ VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO, ++ VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, ++ VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, ++ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, ++ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, ++ VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, ++ VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, ++ VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, ++ VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, ++ VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2, ++ VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2, ++ VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2, ++ VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2, ++ VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2, ++ VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2, ++ VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2, ++ VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2, ++ VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, ++ VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, ++ VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, ++ VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, ++ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, ++ VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, ++ VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, + VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF + } VkStructureType; + + typedef enum VkImageLayout { + VK_IMAGE_LAYOUT_UNDEFINED = 0, + VK_IMAGE_LAYOUT_GENERAL = 1, + VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, + VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, + VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, + VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, + VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, + VK_IMAGE_LAYOUT_PREINITIALIZED = 8, + VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, + VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, + VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, + VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, + VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, + VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, ++ VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, ++ VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, + VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002, + #endif + VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, + VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, + #endif - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000, - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001, + VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, + VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR, + VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, + VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, + VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, + VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, ++ VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, ++ VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, + VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF + } VkImageLayout; + + typedef enum VkObjectType { + VK_OBJECT_TYPE_UNKNOWN = 0, + VK_OBJECT_TYPE_INSTANCE = 1, + VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, + VK_OBJECT_TYPE_DEVICE = 3, + VK_OBJECT_TYPE_QUEUE = 4, + VK_OBJECT_TYPE_SEMAPHORE = 5, + VK_OBJECT_TYPE_COMMAND_BUFFER = 6, + VK_OBJECT_TYPE_FENCE = 7, + VK_OBJECT_TYPE_DEVICE_MEMORY = 8, + VK_OBJECT_TYPE_BUFFER = 9, + VK_OBJECT_TYPE_IMAGE = 10, + VK_OBJECT_TYPE_EVENT = 11, + VK_OBJECT_TYPE_QUERY_POOL = 12, + VK_OBJECT_TYPE_BUFFER_VIEW = 13, + VK_OBJECT_TYPE_IMAGE_VIEW = 14, + VK_OBJECT_TYPE_SHADER_MODULE = 15, + VK_OBJECT_TYPE_PIPELINE_CACHE = 16, + VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, + VK_OBJECT_TYPE_RENDER_PASS = 18, + VK_OBJECT_TYPE_PIPELINE = 19, + VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, + VK_OBJECT_TYPE_SAMPLER = 21, + VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, + VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, + VK_OBJECT_TYPE_FRAMEBUFFER = 24, + VK_OBJECT_TYPE_COMMAND_POOL = 25, + VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, + VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, ++ VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000, + VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, + VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, + VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, + VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, + VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001, + #endif + VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, + VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, + VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, + VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, + VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, + VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, + VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, + VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, + VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, - VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000, + VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000, + VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, + VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, ++ VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, + VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF + } VkObjectType; + + typedef enum VkPipelineCacheHeaderVersion { + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF + } VkPipelineCacheHeaderVersion; + + typedef enum VkVendorId { + VK_VENDOR_ID_VIV = 0x10001, + VK_VENDOR_ID_VSI = 0x10002, + VK_VENDOR_ID_KAZAN = 0x10003, + VK_VENDOR_ID_CODEPLAY = 0x10004, + VK_VENDOR_ID_MESA = 0x10005, + VK_VENDOR_ID_POCL = 0x10006, + VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF + } VkVendorId; + + typedef enum VkSystemAllocationScope { + VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, + VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, + VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, + VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, + VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, + VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF + } VkSystemAllocationScope; + + typedef enum VkInternalAllocationType { + VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, + VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF + } VkInternalAllocationType; + + typedef enum VkFormat { + VK_FORMAT_UNDEFINED = 0, + VK_FORMAT_R4G4_UNORM_PACK8 = 1, + VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, + VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, + VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, + VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, + VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, + VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, + VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, + VK_FORMAT_R8_UNORM = 9, + VK_FORMAT_R8_SNORM = 10, + VK_FORMAT_R8_USCALED = 11, + VK_FORMAT_R8_SSCALED = 12, + VK_FORMAT_R8_UINT = 13, + VK_FORMAT_R8_SINT = 14, + VK_FORMAT_R8_SRGB = 15, + VK_FORMAT_R8G8_UNORM = 16, + VK_FORMAT_R8G8_SNORM = 17, + VK_FORMAT_R8G8_USCALED = 18, + VK_FORMAT_R8G8_SSCALED = 19, + VK_FORMAT_R8G8_UINT = 20, + VK_FORMAT_R8G8_SINT = 21, + VK_FORMAT_R8G8_SRGB = 22, + VK_FORMAT_R8G8B8_UNORM = 23, + VK_FORMAT_R8G8B8_SNORM = 24, + VK_FORMAT_R8G8B8_USCALED = 25, + VK_FORMAT_R8G8B8_SSCALED = 26, + VK_FORMAT_R8G8B8_UINT = 27, + VK_FORMAT_R8G8B8_SINT = 28, + VK_FORMAT_R8G8B8_SRGB = 29, + VK_FORMAT_B8G8R8_UNORM = 30, + VK_FORMAT_B8G8R8_SNORM = 31, + VK_FORMAT_B8G8R8_USCALED = 32, + VK_FORMAT_B8G8R8_SSCALED = 33, + VK_FORMAT_B8G8R8_UINT = 34, + VK_FORMAT_B8G8R8_SINT = 35, + VK_FORMAT_B8G8R8_SRGB = 36, + VK_FORMAT_R8G8B8A8_UNORM = 37, + VK_FORMAT_R8G8B8A8_SNORM = 38, + VK_FORMAT_R8G8B8A8_USCALED = 39, + VK_FORMAT_R8G8B8A8_SSCALED = 40, + VK_FORMAT_R8G8B8A8_UINT = 41, + VK_FORMAT_R8G8B8A8_SINT = 42, + VK_FORMAT_R8G8B8A8_SRGB = 43, + VK_FORMAT_B8G8R8A8_UNORM = 44, + VK_FORMAT_B8G8R8A8_SNORM = 45, + VK_FORMAT_B8G8R8A8_USCALED = 46, + VK_FORMAT_B8G8R8A8_SSCALED = 47, + VK_FORMAT_B8G8R8A8_UINT = 48, + VK_FORMAT_B8G8R8A8_SINT = 49, + VK_FORMAT_B8G8R8A8_SRGB = 50, + VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, + VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, + VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, + VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, + VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, + VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, + VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, + VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, + VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, + VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, + VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, + VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, + VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, + VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, + VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, + VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, + VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, + VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, + VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, + VK_FORMAT_R16_UNORM = 70, + VK_FORMAT_R16_SNORM = 71, + VK_FORMAT_R16_USCALED = 72, + VK_FORMAT_R16_SSCALED = 73, + VK_FORMAT_R16_UINT = 74, + VK_FORMAT_R16_SINT = 75, + VK_FORMAT_R16_SFLOAT = 76, + VK_FORMAT_R16G16_UNORM = 77, + VK_FORMAT_R16G16_SNORM = 78, + VK_FORMAT_R16G16_USCALED = 79, + VK_FORMAT_R16G16_SSCALED = 80, + VK_FORMAT_R16G16_UINT = 81, + VK_FORMAT_R16G16_SINT = 82, + VK_FORMAT_R16G16_SFLOAT = 83, + VK_FORMAT_R16G16B16_UNORM = 84, + VK_FORMAT_R16G16B16_SNORM = 85, + VK_FORMAT_R16G16B16_USCALED = 86, + VK_FORMAT_R16G16B16_SSCALED = 87, + VK_FORMAT_R16G16B16_UINT = 88, + VK_FORMAT_R16G16B16_SINT = 89, + VK_FORMAT_R16G16B16_SFLOAT = 90, + VK_FORMAT_R16G16B16A16_UNORM = 91, + VK_FORMAT_R16G16B16A16_SNORM = 92, + VK_FORMAT_R16G16B16A16_USCALED = 93, + VK_FORMAT_R16G16B16A16_SSCALED = 94, + VK_FORMAT_R16G16B16A16_UINT = 95, + VK_FORMAT_R16G16B16A16_SINT = 96, + VK_FORMAT_R16G16B16A16_SFLOAT = 97, + VK_FORMAT_R32_UINT = 98, + VK_FORMAT_R32_SINT = 99, + VK_FORMAT_R32_SFLOAT = 100, + VK_FORMAT_R32G32_UINT = 101, + VK_FORMAT_R32G32_SINT = 102, + VK_FORMAT_R32G32_SFLOAT = 103, + VK_FORMAT_R32G32B32_UINT = 104, + VK_FORMAT_R32G32B32_SINT = 105, + VK_FORMAT_R32G32B32_SFLOAT = 106, + VK_FORMAT_R32G32B32A32_UINT = 107, + VK_FORMAT_R32G32B32A32_SINT = 108, + VK_FORMAT_R32G32B32A32_SFLOAT = 109, + VK_FORMAT_R64_UINT = 110, + VK_FORMAT_R64_SINT = 111, + VK_FORMAT_R64_SFLOAT = 112, + VK_FORMAT_R64G64_UINT = 113, + VK_FORMAT_R64G64_SINT = 114, + VK_FORMAT_R64G64_SFLOAT = 115, + VK_FORMAT_R64G64B64_UINT = 116, + VK_FORMAT_R64G64B64_SINT = 117, + VK_FORMAT_R64G64B64_SFLOAT = 118, + VK_FORMAT_R64G64B64A64_UINT = 119, + VK_FORMAT_R64G64B64A64_SINT = 120, + VK_FORMAT_R64G64B64A64_SFLOAT = 121, + VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, + VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, + VK_FORMAT_D16_UNORM = 124, + VK_FORMAT_X8_D24_UNORM_PACK32 = 125, + VK_FORMAT_D32_SFLOAT = 126, + VK_FORMAT_S8_UINT = 127, + VK_FORMAT_D16_UNORM_S8_UINT = 128, + VK_FORMAT_D24_UNORM_S8_UINT = 129, + VK_FORMAT_D32_SFLOAT_S8_UINT = 130, + VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, + VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, + VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, + VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, + VK_FORMAT_BC2_UNORM_BLOCK = 135, + VK_FORMAT_BC2_SRGB_BLOCK = 136, + VK_FORMAT_BC3_UNORM_BLOCK = 137, + VK_FORMAT_BC3_SRGB_BLOCK = 138, + VK_FORMAT_BC4_UNORM_BLOCK = 139, + VK_FORMAT_BC4_SNORM_BLOCK = 140, + VK_FORMAT_BC5_UNORM_BLOCK = 141, + VK_FORMAT_BC5_SNORM_BLOCK = 142, + VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, + VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, + VK_FORMAT_BC7_UNORM_BLOCK = 145, + VK_FORMAT_BC7_SRGB_BLOCK = 146, + VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, + VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, + VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, + VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, + VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, + VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, + VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, + VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, + VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, + VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, + VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, + VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, + VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, + VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, + VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, + VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, + VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, + VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, + VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, + VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, + VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, + VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, + VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, + VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, + VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, + VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, + VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, + VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, + VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, + VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, + VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, + VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, + VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, + VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, + VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, + VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, + VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, + VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, + VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, + VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, + VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, + VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, + VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, + VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, + VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, + VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, + VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, + VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, + VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, + VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, + VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, + VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, + VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, + VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, + VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, + VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, + VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, + VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, + VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, + VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, + VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, + VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, + VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, + VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, + VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, + VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, ++ VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, ++ VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, ++ VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, ++ VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003, ++ VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000, ++ VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001, ++ VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000, ++ VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001, ++ VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002, ++ VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003, ++ VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004, ++ VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005, ++ VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006, ++ VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007, ++ VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008, ++ VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009, ++ VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010, ++ VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011, ++ VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012, ++ VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013, + VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, + VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, + VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, + VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, + VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, + VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, + VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, + VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, - VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000, - VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001, - VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002, - VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003, - VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004, - VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005, - VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006, - VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007, - VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008, - VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009, - VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010, - VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011, - VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012, - VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013, - VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000, - VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001, - VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002, - VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003, - VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000, - VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001, ++ VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK, ++ VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK, + VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, + VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, + VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, + VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, + VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, + VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, + VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, + VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, + VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, + VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, + VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, + VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, + VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, + VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, + VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, + VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, + VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, + VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, + VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, + VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, + VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, + VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, + VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, + VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, + VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, + VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, + VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, + VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, + VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, + VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, ++ VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, ++ VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, ++ VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, ++ VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, ++ VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16, ++ VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16, + VK_FORMAT_MAX_ENUM = 0x7FFFFFFF + } VkFormat; + + typedef enum VkImageTiling { + VK_IMAGE_TILING_OPTIMAL = 0, + VK_IMAGE_TILING_LINEAR = 1, + VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, + VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF + } VkImageTiling; + + typedef enum VkImageType { + VK_IMAGE_TYPE_1D = 0, + VK_IMAGE_TYPE_2D = 1, + VK_IMAGE_TYPE_3D = 2, + VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF + } VkImageType; + + typedef enum VkPhysicalDeviceType { + VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, + VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, + VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, + VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, + VK_PHYSICAL_DEVICE_TYPE_CPU = 4, + VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF + } VkPhysicalDeviceType; + + typedef enum VkQueryType { + VK_QUERY_TYPE_OCCLUSION = 0, + VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, + VK_QUERY_TYPE_TIMESTAMP = 2, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, + #endif + VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, + VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, + VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, + VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, + VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, + VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000, + #endif + VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF + } VkQueryType; + + typedef enum VkSharingMode { + VK_SHARING_MODE_EXCLUSIVE = 0, + VK_SHARING_MODE_CONCURRENT = 1, + VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF + } VkSharingMode; + + typedef enum VkComponentSwizzle { + VK_COMPONENT_SWIZZLE_IDENTITY = 0, + VK_COMPONENT_SWIZZLE_ZERO = 1, + VK_COMPONENT_SWIZZLE_ONE = 2, + VK_COMPONENT_SWIZZLE_R = 3, + VK_COMPONENT_SWIZZLE_G = 4, + VK_COMPONENT_SWIZZLE_B = 5, + VK_COMPONENT_SWIZZLE_A = 6, + VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF + } VkComponentSwizzle; + + typedef enum VkImageViewType { + VK_IMAGE_VIEW_TYPE_1D = 0, + VK_IMAGE_VIEW_TYPE_2D = 1, + VK_IMAGE_VIEW_TYPE_3D = 2, + VK_IMAGE_VIEW_TYPE_CUBE = 3, + VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, + VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, + VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, + VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF + } VkImageViewType; + + typedef enum VkBlendFactor { + VK_BLEND_FACTOR_ZERO = 0, + VK_BLEND_FACTOR_ONE = 1, + VK_BLEND_FACTOR_SRC_COLOR = 2, + VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, + VK_BLEND_FACTOR_DST_COLOR = 4, + VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, + VK_BLEND_FACTOR_SRC_ALPHA = 6, + VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, + VK_BLEND_FACTOR_DST_ALPHA = 8, + VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, + VK_BLEND_FACTOR_CONSTANT_COLOR = 10, + VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, + VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, + VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, + VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, + VK_BLEND_FACTOR_SRC1_COLOR = 15, + VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, + VK_BLEND_FACTOR_SRC1_ALPHA = 17, + VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, + VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF + } VkBlendFactor; + + typedef enum VkBlendOp { + VK_BLEND_OP_ADD = 0, + VK_BLEND_OP_SUBTRACT = 1, + VK_BLEND_OP_REVERSE_SUBTRACT = 2, + VK_BLEND_OP_MIN = 3, + VK_BLEND_OP_MAX = 4, + VK_BLEND_OP_ZERO_EXT = 1000148000, + VK_BLEND_OP_SRC_EXT = 1000148001, + VK_BLEND_OP_DST_EXT = 1000148002, + VK_BLEND_OP_SRC_OVER_EXT = 1000148003, + VK_BLEND_OP_DST_OVER_EXT = 1000148004, + VK_BLEND_OP_SRC_IN_EXT = 1000148005, + VK_BLEND_OP_DST_IN_EXT = 1000148006, + VK_BLEND_OP_SRC_OUT_EXT = 1000148007, + VK_BLEND_OP_DST_OUT_EXT = 1000148008, + VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, + VK_BLEND_OP_DST_ATOP_EXT = 1000148010, + VK_BLEND_OP_XOR_EXT = 1000148011, + VK_BLEND_OP_MULTIPLY_EXT = 1000148012, + VK_BLEND_OP_SCREEN_EXT = 1000148013, + VK_BLEND_OP_OVERLAY_EXT = 1000148014, + VK_BLEND_OP_DARKEN_EXT = 1000148015, + VK_BLEND_OP_LIGHTEN_EXT = 1000148016, + VK_BLEND_OP_COLORDODGE_EXT = 1000148017, + VK_BLEND_OP_COLORBURN_EXT = 1000148018, + VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, + VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, + VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, + VK_BLEND_OP_EXCLUSION_EXT = 1000148022, + VK_BLEND_OP_INVERT_EXT = 1000148023, + VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, + VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, + VK_BLEND_OP_LINEARBURN_EXT = 1000148026, + VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, + VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, + VK_BLEND_OP_PINLIGHT_EXT = 1000148029, + VK_BLEND_OP_HARDMIX_EXT = 1000148030, + VK_BLEND_OP_HSL_HUE_EXT = 1000148031, + VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, + VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, + VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, + VK_BLEND_OP_PLUS_EXT = 1000148035, + VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, + VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, + VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, + VK_BLEND_OP_MINUS_EXT = 1000148039, + VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, + VK_BLEND_OP_CONTRAST_EXT = 1000148041, + VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, + VK_BLEND_OP_RED_EXT = 1000148043, + VK_BLEND_OP_GREEN_EXT = 1000148044, + VK_BLEND_OP_BLUE_EXT = 1000148045, + VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF + } VkBlendOp; + + typedef enum VkCompareOp { + VK_COMPARE_OP_NEVER = 0, + VK_COMPARE_OP_LESS = 1, + VK_COMPARE_OP_EQUAL = 2, + VK_COMPARE_OP_LESS_OR_EQUAL = 3, + VK_COMPARE_OP_GREATER = 4, + VK_COMPARE_OP_NOT_EQUAL = 5, + VK_COMPARE_OP_GREATER_OR_EQUAL = 6, + VK_COMPARE_OP_ALWAYS = 7, + VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF + } VkCompareOp; + + typedef enum VkDynamicState { + VK_DYNAMIC_STATE_VIEWPORT = 0, + VK_DYNAMIC_STATE_SCISSOR = 1, + VK_DYNAMIC_STATE_LINE_WIDTH = 2, + VK_DYNAMIC_STATE_DEPTH_BIAS = 3, + VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, + VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, + VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, + VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, + VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, ++ VK_DYNAMIC_STATE_CULL_MODE = 1000267000, ++ VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, ++ VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, ++ VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, ++ VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, ++ VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, ++ VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, ++ VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, ++ VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, ++ VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, ++ VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, ++ VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, ++ VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, ++ VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, ++ VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, + VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, + VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, + VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, + VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, + VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, + VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, + VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, + VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, + VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000, - VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000, - VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001, - VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002, - VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003, - VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004, - VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005, - VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006, - VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007, - VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008, - VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009, - VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010, - VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011, + VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, - VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001, - VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002, + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, - VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004, + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, ++ VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, ++ VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, ++ VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, ++ VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, ++ VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, ++ VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, ++ VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, ++ VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, ++ VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, ++ VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, ++ VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, ++ VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP, ++ VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, ++ VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, ++ VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, + VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF + } VkDynamicState; + + typedef enum VkFrontFace { + VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, + VK_FRONT_FACE_CLOCKWISE = 1, + VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF + } VkFrontFace; + + typedef enum VkVertexInputRate { + VK_VERTEX_INPUT_RATE_VERTEX = 0, + VK_VERTEX_INPUT_RATE_INSTANCE = 1, + VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF + } VkVertexInputRate; + + typedef enum VkPrimitiveTopology { + VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, + VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, + VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, + VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, + VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, + VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, + VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF + } VkPrimitiveTopology; + + typedef enum VkPolygonMode { + VK_POLYGON_MODE_FILL = 0, + VK_POLYGON_MODE_LINE = 1, + VK_POLYGON_MODE_POINT = 2, + VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, + VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF + } VkPolygonMode; + + typedef enum VkStencilOp { + VK_STENCIL_OP_KEEP = 0, + VK_STENCIL_OP_ZERO = 1, + VK_STENCIL_OP_REPLACE = 2, + VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, + VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, + VK_STENCIL_OP_INVERT = 5, + VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, + VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, + VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF + } VkStencilOp; + + typedef enum VkLogicOp { + VK_LOGIC_OP_CLEAR = 0, + VK_LOGIC_OP_AND = 1, + VK_LOGIC_OP_AND_REVERSE = 2, + VK_LOGIC_OP_COPY = 3, + VK_LOGIC_OP_AND_INVERTED = 4, + VK_LOGIC_OP_NO_OP = 5, + VK_LOGIC_OP_XOR = 6, + VK_LOGIC_OP_OR = 7, + VK_LOGIC_OP_NOR = 8, + VK_LOGIC_OP_EQUIVALENT = 9, + VK_LOGIC_OP_INVERT = 10, + VK_LOGIC_OP_OR_REVERSE = 11, + VK_LOGIC_OP_COPY_INVERTED = 12, + VK_LOGIC_OP_OR_INVERTED = 13, + VK_LOGIC_OP_NAND = 14, + VK_LOGIC_OP_SET = 15, + VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF + } VkLogicOp; + + typedef enum VkBorderColor { + VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, + VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, + VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, + VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, + VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, + VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, + VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, + VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, + VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF + } VkBorderColor; + + typedef enum VkFilter { + VK_FILTER_NEAREST = 0, + VK_FILTER_LINEAR = 1, + VK_FILTER_CUBIC_IMG = 1000015000, + VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG, + VK_FILTER_MAX_ENUM = 0x7FFFFFFF + } VkFilter; + + typedef enum VkSamplerAddressMode { + VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, + VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, + VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, + VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, + VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF + } VkSamplerAddressMode; + + typedef enum VkSamplerMipmapMode { + VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, + VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, + VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF + } VkSamplerMipmapMode; + + typedef enum VkDescriptorType { + VK_DESCRIPTOR_TYPE_SAMPLER = 0, + VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, + VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, + VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, + VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, + VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, + VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, + VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, + VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, + VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, + VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, - VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000, ++ VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, + VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, + VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, + VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000, ++ VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, + VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF + } VkDescriptorType; + + typedef enum VkAttachmentLoadOp { + VK_ATTACHMENT_LOAD_OP_LOAD = 0, + VK_ATTACHMENT_LOAD_OP_CLEAR = 1, + VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, + VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000, + VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF + } VkAttachmentLoadOp; + + typedef enum VkAttachmentStoreOp { + VK_ATTACHMENT_STORE_OP_STORE = 0, + VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, - VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000, - VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE_KHR, - VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE_KHR, ++ VK_ATTACHMENT_STORE_OP_NONE = 1000301000, ++ VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE, ++ VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE, ++ VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE, + VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF + } VkAttachmentStoreOp; + + typedef enum VkPipelineBindPoint { + VK_PIPELINE_BIND_POINT_GRAPHICS = 0, + VK_PIPELINE_BIND_POINT_COMPUTE = 1, + VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, + VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003, + VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, + VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF + } VkPipelineBindPoint; + + typedef enum VkCommandBufferLevel { + VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, + VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, + VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF + } VkCommandBufferLevel; + + typedef enum VkIndexType { + VK_INDEX_TYPE_UINT16 = 0, + VK_INDEX_TYPE_UINT32 = 1, + VK_INDEX_TYPE_NONE_KHR = 1000165000, + VK_INDEX_TYPE_UINT8_EXT = 1000265000, + VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR, + VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF + } VkIndexType; + + typedef enum VkSubpassContents { + VK_SUBPASS_CONTENTS_INLINE = 0, + VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, + VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF + } VkSubpassContents; + + typedef enum VkAccessFlagBits { + VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, + VK_ACCESS_INDEX_READ_BIT = 0x00000002, + VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, + VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, + VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, + VK_ACCESS_SHADER_READ_BIT = 0x00000020, + VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, + VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, + VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, + VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, + VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, + VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, + VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, + VK_ACCESS_HOST_READ_BIT = 0x00002000, + VK_ACCESS_HOST_WRITE_BIT = 0x00004000, + VK_ACCESS_MEMORY_READ_BIT = 0x00008000, + VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, ++ VK_ACCESS_NONE = 0, + VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000, + VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000, + VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000, + VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000, + VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, + VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000, + VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000, + VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000, + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, + VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000, + VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000, - VK_ACCESS_NONE_KHR = 0, + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, + VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, + VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, ++ VK_ACCESS_NONE_KHR = VK_ACCESS_NONE, + VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkAccessFlagBits; + typedef VkFlags VkAccessFlags; + + typedef enum VkImageAspectFlagBits { + VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, + VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, + VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, + VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, + VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, + VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, + VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, + VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, + VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, + VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, + VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, + VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, + VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, + VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, + VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkImageAspectFlagBits; + typedef VkFlags VkImageAspectFlags; + + typedef enum VkFormatFeatureFlagBits { + VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, + VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, + VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, + VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, + VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, + VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, + VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, + VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, + VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, + VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, + VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, + VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, + VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, + VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, + VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, + VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, + VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000, + #endif + VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, + VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, + VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000, + #endif + VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, + VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, + VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, + VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT, + VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, + VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG, + VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkFormatFeatureFlagBits; + typedef VkFlags VkFormatFeatureFlags; + + typedef enum VkImageCreateFlagBits { + VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, + VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, + VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, + VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, + VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, + VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, + VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, + VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, + VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, + VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, + VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, + VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, + VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, + VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, + VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, + VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, + VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, + VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, + VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, + VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, + VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, + VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkImageCreateFlagBits; + typedef VkFlags VkImageCreateFlags; + + typedef enum VkSampleCountFlagBits { + VK_SAMPLE_COUNT_1_BIT = 0x00000001, + VK_SAMPLE_COUNT_2_BIT = 0x00000002, + VK_SAMPLE_COUNT_4_BIT = 0x00000004, + VK_SAMPLE_COUNT_8_BIT = 0x00000008, + VK_SAMPLE_COUNT_16_BIT = 0x00000010, + VK_SAMPLE_COUNT_32_BIT = 0x00000020, + VK_SAMPLE_COUNT_64_BIT = 0x00000040, + VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkSampleCountFlagBits; + typedef VkFlags VkSampleCountFlags; + + typedef enum VkImageUsageFlagBits { + VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, + VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, + VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, + VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, + VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, + VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, + VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000, + #endif + VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, + VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000, + #endif + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000, + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, + VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkImageUsageFlagBits; + typedef VkFlags VkImageUsageFlags; + typedef VkFlags VkInstanceCreateFlags; + + typedef enum VkMemoryHeapFlagBits { + VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, + VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, + VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, + VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkMemoryHeapFlagBits; + typedef VkFlags VkMemoryHeapFlags; + + typedef enum VkMemoryPropertyFlagBits { + VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, + VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, + VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, + VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, + VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, + VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, + VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040, + VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080, + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100, + VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkMemoryPropertyFlagBits; + typedef VkFlags VkMemoryPropertyFlags; + + typedef enum VkQueueFlagBits { + VK_QUEUE_GRAPHICS_BIT = 0x00000001, + VK_QUEUE_COMPUTE_BIT = 0x00000002, + VK_QUEUE_TRANSFER_BIT = 0x00000004, + VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, + VK_QUEUE_PROTECTED_BIT = 0x00000010, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040, + #endif + VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkQueueFlagBits; + typedef VkFlags VkQueueFlags; + typedef VkFlags VkDeviceCreateFlags; + + typedef enum VkDeviceQueueCreateFlagBits { + VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, + VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkDeviceQueueCreateFlagBits; + typedef VkFlags VkDeviceQueueCreateFlags; + + typedef enum VkPipelineStageFlagBits { + VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, + VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, + VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, + VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, + VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, + VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, + VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, + VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, + VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, + VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, + VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, + VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, + VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, + VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, + VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, + VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, + VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, ++ VK_PIPELINE_STAGE_NONE = 0, + VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000, + VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000, + VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000, + VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000, + VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000, + VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000, + VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000, + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, + VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000, - VK_PIPELINE_STAGE_NONE_KHR = 0, + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, + VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, + VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, ++ VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE, + VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkPipelineStageFlagBits; + typedef VkFlags VkPipelineStageFlags; + typedef VkFlags VkMemoryMapFlags; + + typedef enum VkSparseMemoryBindFlagBits { + VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, + VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkSparseMemoryBindFlagBits; + typedef VkFlags VkSparseMemoryBindFlags; + + typedef enum VkSparseImageFormatFlagBits { + VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, + VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, + VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, + VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkSparseImageFormatFlagBits; + typedef VkFlags VkSparseImageFormatFlags; + + typedef enum VkFenceCreateFlagBits { + VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, + VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkFenceCreateFlagBits; + typedef VkFlags VkFenceCreateFlags; + typedef VkFlags VkSemaphoreCreateFlags; + + typedef enum VkEventCreateFlagBits { - VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001, ++ VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001, ++ VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT, + VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkEventCreateFlagBits; + typedef VkFlags VkEventCreateFlags; + + typedef enum VkQueryPipelineStatisticFlagBits { + VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, + VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, + VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, + VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, + VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, + VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, + VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, + VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, + VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, + VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, + VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, + VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkQueryPipelineStatisticFlagBits; + typedef VkFlags VkQueryPipelineStatisticFlags; + typedef VkFlags VkQueryPoolCreateFlags; + + typedef enum VkQueryResultFlagBits { + VK_QUERY_RESULT_64_BIT = 0x00000001, + VK_QUERY_RESULT_WAIT_BIT = 0x00000002, + VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, + VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, + #endif + VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkQueryResultFlagBits; + typedef VkFlags VkQueryResultFlags; + + typedef enum VkBufferCreateFlagBits { + VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, + VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, + VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, + VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, + VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, + VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, + VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, + VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkBufferCreateFlagBits; + typedef VkFlags VkBufferCreateFlags; + + typedef enum VkBufferUsageFlagBits { + VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, + VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, + VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, + VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, + VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, + VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, + VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, + VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, + VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, + VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000, + #endif + VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, + VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, + VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, + VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, + VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, + VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000, + #endif + #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000, + #endif + VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, + VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, + VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, + VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkBufferUsageFlagBits; + typedef VkFlags VkBufferUsageFlags; + typedef VkFlags VkBufferViewCreateFlags; + + typedef enum VkImageViewCreateFlagBits { + VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, + VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, + VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkImageViewCreateFlagBits; + typedef VkFlags VkImageViewCreateFlags; + typedef VkFlags VkShaderModuleCreateFlags; + + typedef enum VkPipelineCacheCreateFlagBits { - VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001, ++ VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, ++ VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, + VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkPipelineCacheCreateFlagBits; + typedef VkFlags VkPipelineCacheCreateFlags; + + typedef enum VkColorComponentFlagBits { + VK_COLOR_COMPONENT_R_BIT = 0x00000001, + VK_COLOR_COMPONENT_G_BIT = 0x00000002, + VK_COLOR_COMPONENT_B_BIT = 0x00000004, + VK_COLOR_COMPONENT_A_BIT = 0x00000008, + VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkColorComponentFlagBits; + typedef VkFlags VkColorComponentFlags; + + typedef enum VkPipelineCreateFlagBits { + VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, + VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, + VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, + VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, + VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, ++ VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100, ++ VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200, + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, + VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, + VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, + VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, + VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000, + VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000, + VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000, + VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000, + VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020, + VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040, + VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, + VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, + VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100, - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200, + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, + VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, + VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, + VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE, ++ VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, ++ VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, + VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkPipelineCreateFlagBits; + typedef VkFlags VkPipelineCreateFlags; + + typedef enum VkPipelineShaderStageCreateFlagBits { - VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001, - VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002, ++ VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001, ++ VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002, ++ VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, ++ VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, + VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkPipelineShaderStageCreateFlagBits; + typedef VkFlags VkPipelineShaderStageCreateFlags; + + typedef enum VkShaderStageFlagBits { + VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, + VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, + VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, + VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, + VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, + VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, + VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, + VK_SHADER_STAGE_ALL = 0x7FFFFFFF, + VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100, + VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200, + VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400, + VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800, + VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000, + VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000, + VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040, + VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080, + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, + VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, + VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, + VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, + VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR, + VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, + VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR, + VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkShaderStageFlagBits; + + typedef enum VkCullModeFlagBits { + VK_CULL_MODE_NONE = 0, + VK_CULL_MODE_FRONT_BIT = 0x00000001, + VK_CULL_MODE_BACK_BIT = 0x00000002, + VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, + VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkCullModeFlagBits; + typedef VkFlags VkCullModeFlags; + typedef VkFlags VkPipelineVertexInputStateCreateFlags; + typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; + typedef VkFlags VkPipelineTessellationStateCreateFlags; + typedef VkFlags VkPipelineViewportStateCreateFlags; + typedef VkFlags VkPipelineRasterizationStateCreateFlags; + typedef VkFlags VkPipelineMultisampleStateCreateFlags; + + typedef enum VkPipelineDepthStencilStateCreateFlagBits { + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 0x00000001, + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 0x00000002, + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkPipelineDepthStencilStateCreateFlagBits; + typedef VkFlags VkPipelineDepthStencilStateCreateFlags; + + typedef enum VkPipelineColorBlendStateCreateFlagBits { + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 0x00000001, + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkPipelineColorBlendStateCreateFlagBits; + typedef VkFlags VkPipelineColorBlendStateCreateFlags; + typedef VkFlags VkPipelineDynamicStateCreateFlags; + typedef VkFlags VkPipelineLayoutCreateFlags; + typedef VkFlags VkShaderStageFlags; + + typedef enum VkSamplerCreateFlagBits { + VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, + VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, + VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkSamplerCreateFlagBits; + typedef VkFlags VkSamplerCreateFlags; + + typedef enum VkDescriptorPoolCreateFlagBits { + VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, + VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, + VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004, + VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, + VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkDescriptorPoolCreateFlagBits; + typedef VkFlags VkDescriptorPoolCreateFlags; + typedef VkFlags VkDescriptorPoolResetFlags; + + typedef enum VkDescriptorSetLayoutCreateFlagBits { + VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, + VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001, + VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004, + VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, + VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkDescriptorSetLayoutCreateFlagBits; + typedef VkFlags VkDescriptorSetLayoutCreateFlags; + + typedef enum VkAttachmentDescriptionFlagBits { + VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, + VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkAttachmentDescriptionFlagBits; + typedef VkFlags VkAttachmentDescriptionFlags; + + typedef enum VkDependencyFlagBits { + VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, + VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, + VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, + VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT, + VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, + VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkDependencyFlagBits; + typedef VkFlags VkDependencyFlags; + + typedef enum VkFramebufferCreateFlagBits { + VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, + VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, + VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkFramebufferCreateFlagBits; + typedef VkFlags VkFramebufferCreateFlags; + + typedef enum VkRenderPassCreateFlagBits { + VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002, + VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkRenderPassCreateFlagBits; + typedef VkFlags VkRenderPassCreateFlags; + + typedef enum VkSubpassDescriptionFlagBits { + VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, + VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, + VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, + VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 0x00000010, + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 0x00000020, + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 0x00000040, + VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkSubpassDescriptionFlagBits; + typedef VkFlags VkSubpassDescriptionFlags; + + typedef enum VkCommandPoolCreateFlagBits { + VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, + VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, + VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, + VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkCommandPoolCreateFlagBits; + typedef VkFlags VkCommandPoolCreateFlags; + + typedef enum VkCommandPoolResetFlagBits { + VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, + VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkCommandPoolResetFlagBits; + typedef VkFlags VkCommandPoolResetFlags; + + typedef enum VkCommandBufferUsageFlagBits { + VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, + VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, + VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, + VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkCommandBufferUsageFlagBits; + typedef VkFlags VkCommandBufferUsageFlags; + + typedef enum VkQueryControlFlagBits { + VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, + VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkQueryControlFlagBits; + typedef VkFlags VkQueryControlFlags; + + typedef enum VkCommandBufferResetFlagBits { + VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, + VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkCommandBufferResetFlagBits; + typedef VkFlags VkCommandBufferResetFlags; + + typedef enum VkStencilFaceFlagBits { + VK_STENCIL_FACE_FRONT_BIT = 0x00000001, + VK_STENCIL_FACE_BACK_BIT = 0x00000002, + VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, + VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK, + VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkStencilFaceFlagBits; + typedef VkFlags VkStencilFaceFlags; + typedef struct VkExtent2D { + deUint32 width; + deUint32 height; + } VkExtent2D; + + typedef struct VkExtent3D { + deUint32 width; + deUint32 height; + deUint32 depth; + } VkExtent3D; + + typedef struct VkOffset2D { + deInt32 x; + deInt32 y; + } VkOffset2D; + + typedef struct VkOffset3D { + deInt32 x; + deInt32 y; + deInt32 z; + } VkOffset3D; + + typedef struct VkRect2D { + VkOffset2D offset; + VkExtent2D extent; + } VkRect2D; + + typedef struct VkBaseInStructure { + VkStructureType sType; + const struct VkBaseInStructure* pNext; + } VkBaseInStructure; + + typedef struct VkBaseOutStructure { + VkStructureType sType; + struct VkBaseOutStructure* pNext; + } VkBaseOutStructure; + + typedef struct VkBufferMemoryBarrier { + VkStructureType sType; + const void* pNext; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + deUint32 srcQueueFamilyIndex; + deUint32 dstQueueFamilyIndex; + VkBuffer buffer; + VkDeviceSize offset; + VkDeviceSize size; + } VkBufferMemoryBarrier; + + typedef struct VkDispatchIndirectCommand { + deUint32 x; + deUint32 y; + deUint32 z; + } VkDispatchIndirectCommand; + + typedef struct VkDrawIndexedIndirectCommand { + deUint32 indexCount; + deUint32 instanceCount; + deUint32 firstIndex; + deInt32 vertexOffset; + deUint32 firstInstance; + } VkDrawIndexedIndirectCommand; + + typedef struct VkDrawIndirectCommand { + deUint32 vertexCount; + deUint32 instanceCount; + deUint32 firstVertex; + deUint32 firstInstance; + } VkDrawIndirectCommand; + + typedef struct VkImageSubresourceRange { + VkImageAspectFlags aspectMask; + deUint32 baseMipLevel; + deUint32 levelCount; + deUint32 baseArrayLayer; + deUint32 layerCount; + } VkImageSubresourceRange; + + typedef struct VkImageMemoryBarrier { + VkStructureType sType; + const void* pNext; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + VkImageLayout oldLayout; + VkImageLayout newLayout; + deUint32 srcQueueFamilyIndex; + deUint32 dstQueueFamilyIndex; + VkImage image; + VkImageSubresourceRange subresourceRange; + } VkImageMemoryBarrier; + + typedef struct VkMemoryBarrier { + VkStructureType sType; + const void* pNext; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + } VkMemoryBarrier; + + typedef struct VkPipelineCacheHeaderVersionOne { + deUint32 headerSize; + VkPipelineCacheHeaderVersion headerVersion; + deUint32 vendorID; + deUint32 deviceID; + deUint8 pipelineCacheUUID[VK_UUID_SIZE]; + } VkPipelineCacheHeaderVersionOne; + + typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( + void* pUserData, + deUintptr size, + deUintptr alignment, + VkSystemAllocationScope allocationScope); + + typedef void (VKAPI_PTR *PFN_vkFreeFunction)( + void* pUserData, + void* pMemory); + + typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( + void* pUserData, + deUintptr size, + VkInternalAllocationType allocationType, + VkSystemAllocationScope allocationScope); + + typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( + void* pUserData, + deUintptr size, + VkInternalAllocationType allocationType, + VkSystemAllocationScope allocationScope); + + typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( + void* pUserData, + void* pOriginal, + deUintptr size, + deUintptr alignment, + VkSystemAllocationScope allocationScope); + + typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); + typedef struct VkAllocationCallbacks { + void* pUserData; + PFN_vkAllocationFunction pfnAllocation; + PFN_vkReallocationFunction pfnReallocation; + PFN_vkFreeFunction pfnFree; + PFN_vkInternalAllocationNotification pfnInternalAllocation; + PFN_vkInternalFreeNotification pfnInternalFree; + } VkAllocationCallbacks; + + typedef struct VkApplicationInfo { + VkStructureType sType; + const void* pNext; + const char* pApplicationName; + deUint32 applicationVersion; + const char* pEngineName; + deUint32 engineVersion; + deUint32 apiVersion; + } VkApplicationInfo; + + typedef struct VkFormatProperties { + VkFormatFeatureFlags linearTilingFeatures; + VkFormatFeatureFlags optimalTilingFeatures; + VkFormatFeatureFlags bufferFeatures; + } VkFormatProperties; + + typedef struct VkImageFormatProperties { + VkExtent3D maxExtent; + deUint32 maxMipLevels; + deUint32 maxArrayLayers; + VkSampleCountFlags sampleCounts; + VkDeviceSize maxResourceSize; + } VkImageFormatProperties; + + typedef struct VkInstanceCreateInfo { + VkStructureType sType; + const void* pNext; + VkInstanceCreateFlags flags; + const VkApplicationInfo* pApplicationInfo; + deUint32 enabledLayerCount; + const char* const* ppEnabledLayerNames; + deUint32 enabledExtensionCount; + const char* const* ppEnabledExtensionNames; + } VkInstanceCreateInfo; + + typedef struct VkMemoryHeap { + VkDeviceSize size; + VkMemoryHeapFlags flags; + } VkMemoryHeap; + + typedef struct VkMemoryType { + VkMemoryPropertyFlags propertyFlags; + deUint32 heapIndex; + } VkMemoryType; + + typedef struct VkPhysicalDeviceFeatures { + VkBool32 robustBufferAccess; + VkBool32 fullDrawIndexUint32; + VkBool32 imageCubeArray; + VkBool32 independentBlend; + VkBool32 geometryShader; + VkBool32 tessellationShader; + VkBool32 sampleRateShading; + VkBool32 dualSrcBlend; + VkBool32 logicOp; + VkBool32 multiDrawIndirect; + VkBool32 drawIndirectFirstInstance; + VkBool32 depthClamp; + VkBool32 depthBiasClamp; + VkBool32 fillModeNonSolid; + VkBool32 depthBounds; + VkBool32 wideLines; + VkBool32 largePoints; + VkBool32 alphaToOne; + VkBool32 multiViewport; + VkBool32 samplerAnisotropy; + VkBool32 textureCompressionETC2; + VkBool32 textureCompressionASTC_LDR; + VkBool32 textureCompressionBC; + VkBool32 occlusionQueryPrecise; + VkBool32 pipelineStatisticsQuery; + VkBool32 vertexPipelineStoresAndAtomics; + VkBool32 fragmentStoresAndAtomics; + VkBool32 shaderTessellationAndGeometryPointSize; + VkBool32 shaderImageGatherExtended; + VkBool32 shaderStorageImageExtendedFormats; + VkBool32 shaderStorageImageMultisample; + VkBool32 shaderStorageImageReadWithoutFormat; + VkBool32 shaderStorageImageWriteWithoutFormat; + VkBool32 shaderUniformBufferArrayDynamicIndexing; + VkBool32 shaderSampledImageArrayDynamicIndexing; + VkBool32 shaderStorageBufferArrayDynamicIndexing; + VkBool32 shaderStorageImageArrayDynamicIndexing; + VkBool32 shaderClipDistance; + VkBool32 shaderCullDistance; + VkBool32 shaderFloat64; + VkBool32 shaderInt64; + VkBool32 shaderInt16; + VkBool32 shaderResourceResidency; + VkBool32 shaderResourceMinLod; + VkBool32 sparseBinding; + VkBool32 sparseResidencyBuffer; + VkBool32 sparseResidencyImage2D; + VkBool32 sparseResidencyImage3D; + VkBool32 sparseResidency2Samples; + VkBool32 sparseResidency4Samples; + VkBool32 sparseResidency8Samples; + VkBool32 sparseResidency16Samples; + VkBool32 sparseResidencyAliased; + VkBool32 variableMultisampleRate; + VkBool32 inheritedQueries; + } VkPhysicalDeviceFeatures; + + typedef struct VkPhysicalDeviceLimits { + deUint32 maxImageDimension1D; + deUint32 maxImageDimension2D; + deUint32 maxImageDimension3D; + deUint32 maxImageDimensionCube; + deUint32 maxImageArrayLayers; + deUint32 maxTexelBufferElements; + deUint32 maxUniformBufferRange; + deUint32 maxStorageBufferRange; + deUint32 maxPushConstantsSize; + deUint32 maxMemoryAllocationCount; + deUint32 maxSamplerAllocationCount; + VkDeviceSize bufferImageGranularity; + VkDeviceSize sparseAddressSpaceSize; + deUint32 maxBoundDescriptorSets; + deUint32 maxPerStageDescriptorSamplers; + deUint32 maxPerStageDescriptorUniformBuffers; + deUint32 maxPerStageDescriptorStorageBuffers; + deUint32 maxPerStageDescriptorSampledImages; + deUint32 maxPerStageDescriptorStorageImages; + deUint32 maxPerStageDescriptorInputAttachments; + deUint32 maxPerStageResources; + deUint32 maxDescriptorSetSamplers; + deUint32 maxDescriptorSetUniformBuffers; + deUint32 maxDescriptorSetUniformBuffersDynamic; + deUint32 maxDescriptorSetStorageBuffers; + deUint32 maxDescriptorSetStorageBuffersDynamic; + deUint32 maxDescriptorSetSampledImages; + deUint32 maxDescriptorSetStorageImages; + deUint32 maxDescriptorSetInputAttachments; + deUint32 maxVertexInputAttributes; + deUint32 maxVertexInputBindings; + deUint32 maxVertexInputAttributeOffset; + deUint32 maxVertexInputBindingStride; + deUint32 maxVertexOutputComponents; + deUint32 maxTessellationGenerationLevel; + deUint32 maxTessellationPatchSize; + deUint32 maxTessellationControlPerVertexInputComponents; + deUint32 maxTessellationControlPerVertexOutputComponents; + deUint32 maxTessellationControlPerPatchOutputComponents; + deUint32 maxTessellationControlTotalOutputComponents; + deUint32 maxTessellationEvaluationInputComponents; + deUint32 maxTessellationEvaluationOutputComponents; + deUint32 maxGeometryShaderInvocations; + deUint32 maxGeometryInputComponents; + deUint32 maxGeometryOutputComponents; + deUint32 maxGeometryOutputVertices; + deUint32 maxGeometryTotalOutputComponents; + deUint32 maxFragmentInputComponents; + deUint32 maxFragmentOutputAttachments; + deUint32 maxFragmentDualSrcAttachments; + deUint32 maxFragmentCombinedOutputResources; + deUint32 maxComputeSharedMemorySize; + deUint32 maxComputeWorkGroupCount[3]; + deUint32 maxComputeWorkGroupInvocations; + deUint32 maxComputeWorkGroupSize[3]; + deUint32 subPixelPrecisionBits; + deUint32 subTexelPrecisionBits; + deUint32 mipmapPrecisionBits; + deUint32 maxDrawIndexedIndexValue; + deUint32 maxDrawIndirectCount; + float maxSamplerLodBias; + float maxSamplerAnisotropy; + deUint32 maxViewports; + deUint32 maxViewportDimensions[2]; + float viewportBoundsRange[2]; + deUint32 viewportSubPixelBits; + deUintptr minMemoryMapAlignment; + VkDeviceSize minTexelBufferOffsetAlignment; + VkDeviceSize minUniformBufferOffsetAlignment; + VkDeviceSize minStorageBufferOffsetAlignment; + deInt32 minTexelOffset; + deUint32 maxTexelOffset; + deInt32 minTexelGatherOffset; + deUint32 maxTexelGatherOffset; + float minInterpolationOffset; + float maxInterpolationOffset; + deUint32 subPixelInterpolationOffsetBits; + deUint32 maxFramebufferWidth; + deUint32 maxFramebufferHeight; + deUint32 maxFramebufferLayers; + VkSampleCountFlags framebufferColorSampleCounts; + VkSampleCountFlags framebufferDepthSampleCounts; + VkSampleCountFlags framebufferStencilSampleCounts; + VkSampleCountFlags framebufferNoAttachmentsSampleCounts; + deUint32 maxColorAttachments; + VkSampleCountFlags sampledImageColorSampleCounts; + VkSampleCountFlags sampledImageIntegerSampleCounts; + VkSampleCountFlags sampledImageDepthSampleCounts; + VkSampleCountFlags sampledImageStencilSampleCounts; + VkSampleCountFlags storageImageSampleCounts; + deUint32 maxSampleMaskWords; + VkBool32 timestampComputeAndGraphics; + float timestampPeriod; + deUint32 maxClipDistances; + deUint32 maxCullDistances; + deUint32 maxCombinedClipAndCullDistances; + deUint32 discreteQueuePriorities; + float pointSizeRange[2]; + float lineWidthRange[2]; + float pointSizeGranularity; + float lineWidthGranularity; + VkBool32 strictLines; + VkBool32 standardSampleLocations; + VkDeviceSize optimalBufferCopyOffsetAlignment; + VkDeviceSize optimalBufferCopyRowPitchAlignment; + VkDeviceSize nonCoherentAtomSize; + } VkPhysicalDeviceLimits; + + typedef struct VkPhysicalDeviceMemoryProperties { + deUint32 memoryTypeCount; + VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; + deUint32 memoryHeapCount; + VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; + } VkPhysicalDeviceMemoryProperties; + + typedef struct VkPhysicalDeviceSparseProperties { + VkBool32 residencyStandard2DBlockShape; + VkBool32 residencyStandard2DMultisampleBlockShape; + VkBool32 residencyStandard3DBlockShape; + VkBool32 residencyAlignedMipSize; + VkBool32 residencyNonResidentStrict; + } VkPhysicalDeviceSparseProperties; + + typedef struct VkPhysicalDeviceProperties { + deUint32 apiVersion; + deUint32 driverVersion; + deUint32 vendorID; + deUint32 deviceID; + VkPhysicalDeviceType deviceType; + char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; + deUint8 pipelineCacheUUID[VK_UUID_SIZE]; + VkPhysicalDeviceLimits limits; + VkPhysicalDeviceSparseProperties sparseProperties; + } VkPhysicalDeviceProperties; + + typedef struct VkQueueFamilyProperties { + VkQueueFlags queueFlags; + deUint32 queueCount; + deUint32 timestampValidBits; + VkExtent3D minImageTransferGranularity; + } VkQueueFamilyProperties; + + typedef struct VkDeviceQueueCreateInfo { + VkStructureType sType; + const void* pNext; + VkDeviceQueueCreateFlags flags; + deUint32 queueFamilyIndex; + deUint32 queueCount; + const float* pQueuePriorities; + } VkDeviceQueueCreateInfo; + + typedef struct VkDeviceCreateInfo { + VkStructureType sType; + const void* pNext; + VkDeviceCreateFlags flags; + deUint32 queueCreateInfoCount; + const VkDeviceQueueCreateInfo* pQueueCreateInfos; + deUint32 enabledLayerCount; + const char* const* ppEnabledLayerNames; + deUint32 enabledExtensionCount; + const char* const* ppEnabledExtensionNames; + const VkPhysicalDeviceFeatures* pEnabledFeatures; + } VkDeviceCreateInfo; + + typedef struct VkExtensionProperties { + char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; + deUint32 specVersion; + } VkExtensionProperties; + + typedef struct VkLayerProperties { + char layerName[VK_MAX_EXTENSION_NAME_SIZE]; + deUint32 specVersion; + deUint32 implementationVersion; + char description[VK_MAX_DESCRIPTION_SIZE]; + } VkLayerProperties; + + typedef struct VkSubmitInfo { + VkStructureType sType; + const void* pNext; + deUint32 waitSemaphoreCount; + const VkSemaphore* pWaitSemaphores; + const VkPipelineStageFlags* pWaitDstStageMask; + deUint32 commandBufferCount; + const VkCommandBuffer* pCommandBuffers; + deUint32 signalSemaphoreCount; + const VkSemaphore* pSignalSemaphores; + } VkSubmitInfo; + + typedef struct VkMappedMemoryRange { + VkStructureType sType; + const void* pNext; + VkDeviceMemory memory; + VkDeviceSize offset; + VkDeviceSize size; + } VkMappedMemoryRange; + + typedef struct VkMemoryAllocateInfo { + VkStructureType sType; + const void* pNext; + VkDeviceSize allocationSize; + deUint32 memoryTypeIndex; + } VkMemoryAllocateInfo; + + typedef struct VkMemoryRequirements { + VkDeviceSize size; + VkDeviceSize alignment; + deUint32 memoryTypeBits; + } VkMemoryRequirements; + + typedef struct VkSparseMemoryBind { + VkDeviceSize resourceOffset; + VkDeviceSize size; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + VkSparseMemoryBindFlags flags; + } VkSparseMemoryBind; + + typedef struct VkSparseBufferMemoryBindInfo { + VkBuffer buffer; + deUint32 bindCount; + const VkSparseMemoryBind* pBinds; + } VkSparseBufferMemoryBindInfo; + + typedef struct VkSparseImageOpaqueMemoryBindInfo { + VkImage image; + deUint32 bindCount; + const VkSparseMemoryBind* pBinds; + } VkSparseImageOpaqueMemoryBindInfo; + + typedef struct VkImageSubresource { + VkImageAspectFlags aspectMask; + deUint32 mipLevel; + deUint32 arrayLayer; + } VkImageSubresource; + + typedef struct VkSparseImageMemoryBind { + VkImageSubresource subresource; + VkOffset3D offset; + VkExtent3D extent; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + VkSparseMemoryBindFlags flags; + } VkSparseImageMemoryBind; + + typedef struct VkSparseImageMemoryBindInfo { + VkImage image; + deUint32 bindCount; + const VkSparseImageMemoryBind* pBinds; + } VkSparseImageMemoryBindInfo; + + typedef struct VkBindSparseInfo { + VkStructureType sType; + const void* pNext; + deUint32 waitSemaphoreCount; + const VkSemaphore* pWaitSemaphores; + deUint32 bufferBindCount; + const VkSparseBufferMemoryBindInfo* pBufferBinds; + deUint32 imageOpaqueBindCount; + const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; + deUint32 imageBindCount; + const VkSparseImageMemoryBindInfo* pImageBinds; + deUint32 signalSemaphoreCount; + const VkSemaphore* pSignalSemaphores; + } VkBindSparseInfo; + + typedef struct VkSparseImageFormatProperties { + VkImageAspectFlags aspectMask; + VkExtent3D imageGranularity; + VkSparseImageFormatFlags flags; + } VkSparseImageFormatProperties; + + typedef struct VkSparseImageMemoryRequirements { + VkSparseImageFormatProperties formatProperties; + deUint32 imageMipTailFirstLod; + VkDeviceSize imageMipTailSize; + VkDeviceSize imageMipTailOffset; + VkDeviceSize imageMipTailStride; + } VkSparseImageMemoryRequirements; + + typedef struct VkFenceCreateInfo { + VkStructureType sType; + const void* pNext; + VkFenceCreateFlags flags; + } VkFenceCreateInfo; + + typedef struct VkSemaphoreCreateInfo { + VkStructureType sType; + const void* pNext; + VkSemaphoreCreateFlags flags; + } VkSemaphoreCreateInfo; + + typedef struct VkEventCreateInfo { + VkStructureType sType; + const void* pNext; + VkEventCreateFlags flags; + } VkEventCreateInfo; + + typedef struct VkQueryPoolCreateInfo { + VkStructureType sType; + const void* pNext; + VkQueryPoolCreateFlags flags; + VkQueryType queryType; + deUint32 queryCount; + VkQueryPipelineStatisticFlags pipelineStatistics; + } VkQueryPoolCreateInfo; + + typedef struct VkBufferCreateInfo { + VkStructureType sType; + const void* pNext; + VkBufferCreateFlags flags; + VkDeviceSize size; + VkBufferUsageFlags usage; + VkSharingMode sharingMode; + deUint32 queueFamilyIndexCount; + const deUint32* pQueueFamilyIndices; + } VkBufferCreateInfo; + + typedef struct VkBufferViewCreateInfo { + VkStructureType sType; + const void* pNext; + VkBufferViewCreateFlags flags; + VkBuffer buffer; + VkFormat format; + VkDeviceSize offset; + VkDeviceSize range; + } VkBufferViewCreateInfo; + + typedef struct VkImageCreateInfo { + VkStructureType sType; + const void* pNext; + VkImageCreateFlags flags; + VkImageType imageType; + VkFormat format; + VkExtent3D extent; + deUint32 mipLevels; + deUint32 arrayLayers; + VkSampleCountFlagBits samples; + VkImageTiling tiling; + VkImageUsageFlags usage; + VkSharingMode sharingMode; + deUint32 queueFamilyIndexCount; + const deUint32* pQueueFamilyIndices; + VkImageLayout initialLayout; + } VkImageCreateInfo; + + typedef struct VkSubresourceLayout { + VkDeviceSize offset; + VkDeviceSize size; + VkDeviceSize rowPitch; + VkDeviceSize arrayPitch; + VkDeviceSize depthPitch; + } VkSubresourceLayout; + + typedef struct VkComponentMapping { + VkComponentSwizzle r; + VkComponentSwizzle g; + VkComponentSwizzle b; + VkComponentSwizzle a; + } VkComponentMapping; + + typedef struct VkImageViewCreateInfo { + VkStructureType sType; + const void* pNext; + VkImageViewCreateFlags flags; + VkImage image; + VkImageViewType viewType; + VkFormat format; + VkComponentMapping components; + VkImageSubresourceRange subresourceRange; + } VkImageViewCreateInfo; + + typedef struct VkShaderModuleCreateInfo { + VkStructureType sType; + const void* pNext; + VkShaderModuleCreateFlags flags; + deUintptr codeSize; + const deUint32* pCode; + } VkShaderModuleCreateInfo; + + typedef struct VkPipelineCacheCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineCacheCreateFlags flags; + deUintptr initialDataSize; + const void* pInitialData; + } VkPipelineCacheCreateInfo; + + typedef struct VkSpecializationMapEntry { + deUint32 constantID; + deUint32 offset; + deUintptr size; + } VkSpecializationMapEntry; + + typedef struct VkSpecializationInfo { + deUint32 mapEntryCount; + const VkSpecializationMapEntry* pMapEntries; + deUintptr dataSize; + const void* pData; + } VkSpecializationInfo; + + typedef struct VkPipelineShaderStageCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineShaderStageCreateFlags flags; + VkShaderStageFlagBits stage; + VkShaderModule module; + const char* pName; + const VkSpecializationInfo* pSpecializationInfo; + } VkPipelineShaderStageCreateInfo; + + typedef struct VkComputePipelineCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineCreateFlags flags; + VkPipelineShaderStageCreateInfo stage; + VkPipelineLayout layout; + VkPipeline basePipelineHandle; + deInt32 basePipelineIndex; + } VkComputePipelineCreateInfo; + + typedef struct VkVertexInputBindingDescription { + deUint32 binding; + deUint32 stride; + VkVertexInputRate inputRate; + } VkVertexInputBindingDescription; + + typedef struct VkVertexInputAttributeDescription { + deUint32 location; + deUint32 binding; + VkFormat format; + deUint32 offset; + } VkVertexInputAttributeDescription; + + typedef struct VkPipelineVertexInputStateCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineVertexInputStateCreateFlags flags; + deUint32 vertexBindingDescriptionCount; + const VkVertexInputBindingDescription* pVertexBindingDescriptions; + deUint32 vertexAttributeDescriptionCount; + const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; + } VkPipelineVertexInputStateCreateInfo; + + typedef struct VkPipelineInputAssemblyStateCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineInputAssemblyStateCreateFlags flags; + VkPrimitiveTopology topology; + VkBool32 primitiveRestartEnable; + } VkPipelineInputAssemblyStateCreateInfo; + + typedef struct VkPipelineTessellationStateCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineTessellationStateCreateFlags flags; + deUint32 patchControlPoints; + } VkPipelineTessellationStateCreateInfo; + + typedef struct VkViewport { + float x; + float y; + float width; + float height; + float minDepth; + float maxDepth; + } VkViewport; + + typedef struct VkPipelineViewportStateCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineViewportStateCreateFlags flags; + deUint32 viewportCount; + const VkViewport* pViewports; + deUint32 scissorCount; + const VkRect2D* pScissors; + } VkPipelineViewportStateCreateInfo; + + typedef struct VkPipelineRasterizationStateCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineRasterizationStateCreateFlags flags; + VkBool32 depthClampEnable; + VkBool32 rasterizerDiscardEnable; + VkPolygonMode polygonMode; + VkCullModeFlags cullMode; + VkFrontFace frontFace; + VkBool32 depthBiasEnable; + float depthBiasConstantFactor; + float depthBiasClamp; + float depthBiasSlopeFactor; + float lineWidth; + } VkPipelineRasterizationStateCreateInfo; + + typedef struct VkPipelineMultisampleStateCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineMultisampleStateCreateFlags flags; + VkSampleCountFlagBits rasterizationSamples; + VkBool32 sampleShadingEnable; + float minSampleShading; + const VkSampleMask* pSampleMask; + VkBool32 alphaToCoverageEnable; + VkBool32 alphaToOneEnable; + } VkPipelineMultisampleStateCreateInfo; + + typedef struct VkStencilOpState { + VkStencilOp failOp; + VkStencilOp passOp; + VkStencilOp depthFailOp; + VkCompareOp compareOp; + deUint32 compareMask; + deUint32 writeMask; + deUint32 reference; + } VkStencilOpState; + + typedef struct VkPipelineDepthStencilStateCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineDepthStencilStateCreateFlags flags; + VkBool32 depthTestEnable; + VkBool32 depthWriteEnable; + VkCompareOp depthCompareOp; + VkBool32 depthBoundsTestEnable; + VkBool32 stencilTestEnable; + VkStencilOpState front; + VkStencilOpState back; + float minDepthBounds; + float maxDepthBounds; + } VkPipelineDepthStencilStateCreateInfo; + + typedef struct VkPipelineColorBlendAttachmentState { + VkBool32 blendEnable; + VkBlendFactor srcColorBlendFactor; + VkBlendFactor dstColorBlendFactor; + VkBlendOp colorBlendOp; + VkBlendFactor srcAlphaBlendFactor; + VkBlendFactor dstAlphaBlendFactor; + VkBlendOp alphaBlendOp; + VkColorComponentFlags colorWriteMask; + } VkPipelineColorBlendAttachmentState; + + typedef struct VkPipelineColorBlendStateCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineColorBlendStateCreateFlags flags; + VkBool32 logicOpEnable; + VkLogicOp logicOp; + deUint32 attachmentCount; + const VkPipelineColorBlendAttachmentState* pAttachments; + float blendConstants[4]; + } VkPipelineColorBlendStateCreateInfo; + + typedef struct VkPipelineDynamicStateCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineDynamicStateCreateFlags flags; + deUint32 dynamicStateCount; + const VkDynamicState* pDynamicStates; + } VkPipelineDynamicStateCreateInfo; + + typedef struct VkGraphicsPipelineCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineCreateFlags flags; + deUint32 stageCount; + const VkPipelineShaderStageCreateInfo* pStages; + const VkPipelineVertexInputStateCreateInfo* pVertexInputState; + const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; + const VkPipelineTessellationStateCreateInfo* pTessellationState; + const VkPipelineViewportStateCreateInfo* pViewportState; + const VkPipelineRasterizationStateCreateInfo* pRasterizationState; + const VkPipelineMultisampleStateCreateInfo* pMultisampleState; + const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; + const VkPipelineColorBlendStateCreateInfo* pColorBlendState; + const VkPipelineDynamicStateCreateInfo* pDynamicState; + VkPipelineLayout layout; + VkRenderPass renderPass; + deUint32 subpass; + VkPipeline basePipelineHandle; + deInt32 basePipelineIndex; + } VkGraphicsPipelineCreateInfo; + + typedef struct VkPushConstantRange { + VkShaderStageFlags stageFlags; + deUint32 offset; + deUint32 size; + } VkPushConstantRange; + + typedef struct VkPipelineLayoutCreateInfo { + VkStructureType sType; + const void* pNext; + VkPipelineLayoutCreateFlags flags; + deUint32 setLayoutCount; + const VkDescriptorSetLayout* pSetLayouts; + deUint32 pushConstantRangeCount; + const VkPushConstantRange* pPushConstantRanges; + } VkPipelineLayoutCreateInfo; + + typedef struct VkSamplerCreateInfo { + VkStructureType sType; + const void* pNext; + VkSamplerCreateFlags flags; + VkFilter magFilter; + VkFilter minFilter; + VkSamplerMipmapMode mipmapMode; + VkSamplerAddressMode addressModeU; + VkSamplerAddressMode addressModeV; + VkSamplerAddressMode addressModeW; + float mipLodBias; + VkBool32 anisotropyEnable; + float maxAnisotropy; + VkBool32 compareEnable; + VkCompareOp compareOp; + float minLod; + float maxLod; + VkBorderColor borderColor; + VkBool32 unnormalizedCoordinates; + } VkSamplerCreateInfo; + + typedef struct VkCopyDescriptorSet { + VkStructureType sType; + const void* pNext; + VkDescriptorSet srcSet; + deUint32 srcBinding; + deUint32 srcArrayElement; + VkDescriptorSet dstSet; + deUint32 dstBinding; + deUint32 dstArrayElement; + deUint32 descriptorCount; + } VkCopyDescriptorSet; + + typedef struct VkDescriptorBufferInfo { + VkBuffer buffer; + VkDeviceSize offset; + VkDeviceSize range; + } VkDescriptorBufferInfo; + + typedef struct VkDescriptorImageInfo { + VkSampler sampler; + VkImageView imageView; + VkImageLayout imageLayout; + } VkDescriptorImageInfo; + + typedef struct VkDescriptorPoolSize { + VkDescriptorType type; + deUint32 descriptorCount; + } VkDescriptorPoolSize; + + typedef struct VkDescriptorPoolCreateInfo { + VkStructureType sType; + const void* pNext; + VkDescriptorPoolCreateFlags flags; + deUint32 maxSets; + deUint32 poolSizeCount; + const VkDescriptorPoolSize* pPoolSizes; + } VkDescriptorPoolCreateInfo; + + typedef struct VkDescriptorSetAllocateInfo { + VkStructureType sType; + const void* pNext; + VkDescriptorPool descriptorPool; + deUint32 descriptorSetCount; + const VkDescriptorSetLayout* pSetLayouts; + } VkDescriptorSetAllocateInfo; + + typedef struct VkDescriptorSetLayoutBinding { + deUint32 binding; + VkDescriptorType descriptorType; + deUint32 descriptorCount; + VkShaderStageFlags stageFlags; + const VkSampler* pImmutableSamplers; + } VkDescriptorSetLayoutBinding; + + typedef struct VkDescriptorSetLayoutCreateInfo { + VkStructureType sType; + const void* pNext; + VkDescriptorSetLayoutCreateFlags flags; + deUint32 bindingCount; + const VkDescriptorSetLayoutBinding* pBindings; + } VkDescriptorSetLayoutCreateInfo; + + typedef struct VkWriteDescriptorSet { + VkStructureType sType; + const void* pNext; + VkDescriptorSet dstSet; + deUint32 dstBinding; + deUint32 dstArrayElement; + deUint32 descriptorCount; + VkDescriptorType descriptorType; + const VkDescriptorImageInfo* pImageInfo; + const VkDescriptorBufferInfo* pBufferInfo; + const VkBufferView* pTexelBufferView; + } VkWriteDescriptorSet; + + typedef struct VkAttachmentDescription { + VkAttachmentDescriptionFlags flags; + VkFormat format; + VkSampleCountFlagBits samples; + VkAttachmentLoadOp loadOp; + VkAttachmentStoreOp storeOp; + VkAttachmentLoadOp stencilLoadOp; + VkAttachmentStoreOp stencilStoreOp; + VkImageLayout initialLayout; + VkImageLayout finalLayout; + } VkAttachmentDescription; + + typedef struct VkAttachmentReference { + deUint32 attachment; + VkImageLayout layout; + } VkAttachmentReference; + + typedef struct VkFramebufferCreateInfo { + VkStructureType sType; + const void* pNext; + VkFramebufferCreateFlags flags; + VkRenderPass renderPass; + deUint32 attachmentCount; + const VkImageView* pAttachments; + deUint32 width; + deUint32 height; + deUint32 layers; + } VkFramebufferCreateInfo; + + typedef struct VkSubpassDescription { + VkSubpassDescriptionFlags flags; + VkPipelineBindPoint pipelineBindPoint; + deUint32 inputAttachmentCount; + const VkAttachmentReference* pInputAttachments; + deUint32 colorAttachmentCount; + const VkAttachmentReference* pColorAttachments; + const VkAttachmentReference* pResolveAttachments; + const VkAttachmentReference* pDepthStencilAttachment; + deUint32 preserveAttachmentCount; + const deUint32* pPreserveAttachments; + } VkSubpassDescription; + + typedef struct VkSubpassDependency { + deUint32 srcSubpass; + deUint32 dstSubpass; + VkPipelineStageFlags srcStageMask; + VkPipelineStageFlags dstStageMask; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + VkDependencyFlags dependencyFlags; + } VkSubpassDependency; + + typedef struct VkRenderPassCreateInfo { + VkStructureType sType; + const void* pNext; + VkRenderPassCreateFlags flags; + deUint32 attachmentCount; + const VkAttachmentDescription* pAttachments; + deUint32 subpassCount; + const VkSubpassDescription* pSubpasses; + deUint32 dependencyCount; + const VkSubpassDependency* pDependencies; + } VkRenderPassCreateInfo; + + typedef struct VkCommandPoolCreateInfo { + VkStructureType sType; + const void* pNext; + VkCommandPoolCreateFlags flags; + deUint32 queueFamilyIndex; + } VkCommandPoolCreateInfo; + + typedef struct VkCommandBufferAllocateInfo { + VkStructureType sType; + const void* pNext; + VkCommandPool commandPool; + VkCommandBufferLevel level; + deUint32 commandBufferCount; + } VkCommandBufferAllocateInfo; + + typedef struct VkCommandBufferInheritanceInfo { + VkStructureType sType; + const void* pNext; + VkRenderPass renderPass; + deUint32 subpass; + VkFramebuffer framebuffer; + VkBool32 occlusionQueryEnable; + VkQueryControlFlags queryFlags; + VkQueryPipelineStatisticFlags pipelineStatistics; + } VkCommandBufferInheritanceInfo; + + typedef struct VkCommandBufferBeginInfo { + VkStructureType sType; + const void* pNext; + VkCommandBufferUsageFlags flags; + const VkCommandBufferInheritanceInfo* pInheritanceInfo; + } VkCommandBufferBeginInfo; + + typedef struct VkBufferCopy { + VkDeviceSize srcOffset; + VkDeviceSize dstOffset; + VkDeviceSize size; + } VkBufferCopy; + + typedef struct VkImageSubresourceLayers { + VkImageAspectFlags aspectMask; + deUint32 mipLevel; + deUint32 baseArrayLayer; + deUint32 layerCount; + } VkImageSubresourceLayers; + + typedef struct VkBufferImageCopy { + VkDeviceSize bufferOffset; + deUint32 bufferRowLength; + deUint32 bufferImageHeight; + VkImageSubresourceLayers imageSubresource; + VkOffset3D imageOffset; + VkExtent3D imageExtent; + } VkBufferImageCopy; + + typedef union VkClearColorValue { + float float32[4]; + deInt32 int32[4]; + deUint32 uint32[4]; + } VkClearColorValue; + + typedef struct VkClearDepthStencilValue { + float depth; + deUint32 stencil; + } VkClearDepthStencilValue; + + typedef union VkClearValue { + VkClearColorValue color; + VkClearDepthStencilValue depthStencil; + } VkClearValue; + + typedef struct VkClearAttachment { + VkImageAspectFlags aspectMask; + deUint32 colorAttachment; + VkClearValue clearValue; + } VkClearAttachment; + + typedef struct VkClearRect { + VkRect2D rect; + deUint32 baseArrayLayer; + deUint32 layerCount; + } VkClearRect; + + typedef struct VkImageBlit { + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffsets[2]; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffsets[2]; + } VkImageBlit; + + typedef struct VkImageCopy { + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffset; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffset; + VkExtent3D extent; + } VkImageCopy; + + typedef struct VkImageResolve { + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffset; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffset; + VkExtent3D extent; + } VkImageResolve; + + typedef struct VkRenderPassBeginInfo { + VkStructureType sType; + const void* pNext; + VkRenderPass renderPass; + VkFramebuffer framebuffer; + VkRect2D renderArea; + deUint32 clearValueCount; + const VkClearValue* pClearValues; + } VkRenderPassBeginInfo; + + typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); + typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); + typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); + typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); + typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); + typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties); + typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties); + typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties); + typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties); + typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue); + typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence); + typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); + typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); + typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); + typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); + typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); + typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); + typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); + typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); + typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); + typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); + typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); + typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); + typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties); + typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); + typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); + typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences); + typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); + typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout); + typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); + typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); + typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); + typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); + typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); + typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); + typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); + typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); + typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); + typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); + typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); + typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); + typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); + typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); + typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); + typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData); + typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches); + typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); + typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); + typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); + typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); + typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); + typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); + typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); + typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); + typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets); + typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); + typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); + typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); + typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); + typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); + typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); + typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); + typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); + typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers); + typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); + typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); + typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); + typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); + typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports); + typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors); + typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); + typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); + typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); + typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); + typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask); + typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask); + typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference); + typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets); + typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); + typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); + typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance); + typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance); + typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride); + typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride); + typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); + typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); + typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions); + typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions); + typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter); + typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions); + typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions); + typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); + typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data); + typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges); + typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges); + typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects); + typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions); + typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); + typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); + typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); + typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); + typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags); + typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query); + typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount); + typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query); + typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); + typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues); + typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); + typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); + typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); + typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( + const VkInstanceCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkInstance* pInstance); + + VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( + VkInstance instance, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( + VkInstance instance, + deUint32* pPhysicalDeviceCount, + VkPhysicalDevice* pPhysicalDevices); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( + VkPhysicalDevice physicalDevice, + VkPhysicalDeviceFeatures* pFeatures); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( + VkPhysicalDevice physicalDevice, + VkFormat format, + VkFormatProperties* pFormatProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( + VkPhysicalDevice physicalDevice, + VkFormat format, + VkImageType type, + VkImageTiling tiling, + VkImageUsageFlags usage, + VkImageCreateFlags flags, + VkImageFormatProperties* pImageFormatProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( + VkPhysicalDevice physicalDevice, + VkPhysicalDeviceProperties* pProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( + VkPhysicalDevice physicalDevice, + deUint32* pQueueFamilyPropertyCount, + VkQueueFamilyProperties* pQueueFamilyProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( + VkPhysicalDevice physicalDevice, + VkPhysicalDeviceMemoryProperties* pMemoryProperties); + + VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( + VkInstance instance, + const char* pName); + + VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( + VkDevice device, + const char* pName); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( + VkPhysicalDevice physicalDevice, + const VkDeviceCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkDevice* pDevice); + + VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( + VkDevice device, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( + const char* pLayerName, + deUint32* pPropertyCount, + VkExtensionProperties* pProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( + VkPhysicalDevice physicalDevice, + const char* pLayerName, + deUint32* pPropertyCount, + VkExtensionProperties* pProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( + deUint32* pPropertyCount, + VkLayerProperties* pProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( + VkPhysicalDevice physicalDevice, + deUint32* pPropertyCount, + VkLayerProperties* pProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( + VkDevice device, + deUint32 queueFamilyIndex, + deUint32 queueIndex, + VkQueue* pQueue); + + VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( + VkQueue queue, + deUint32 submitCount, + const VkSubmitInfo* pSubmits, + VkFence fence); + + VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( + VkQueue queue); + + VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( + VkDevice device); + + VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( + VkDevice device, + const VkMemoryAllocateInfo* pAllocateInfo, + const VkAllocationCallbacks* pAllocator, + VkDeviceMemory* pMemory); + + VKAPI_ATTR void VKAPI_CALL vkFreeMemory( + VkDevice device, + VkDeviceMemory memory, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( + VkDevice device, + VkDeviceMemory memory, + VkDeviceSize offset, + VkDeviceSize size, + VkMemoryMapFlags flags, + void** ppData); + + VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( + VkDevice device, + VkDeviceMemory memory); + + VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( + VkDevice device, + deUint32 memoryRangeCount, + const VkMappedMemoryRange* pMemoryRanges); + + VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( + VkDevice device, + deUint32 memoryRangeCount, + const VkMappedMemoryRange* pMemoryRanges); + + VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( + VkDevice device, + VkDeviceMemory memory, + VkDeviceSize* pCommittedMemoryInBytes); + + VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( + VkDevice device, + VkBuffer buffer, + VkDeviceMemory memory, + VkDeviceSize memoryOffset); + + VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( + VkDevice device, + VkImage image, + VkDeviceMemory memory, + VkDeviceSize memoryOffset); + + VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( + VkDevice device, + VkBuffer buffer, + VkMemoryRequirements* pMemoryRequirements); + + VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( + VkDevice device, + VkImage image, + VkMemoryRequirements* pMemoryRequirements); + + VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( + VkDevice device, + VkImage image, + deUint32* pSparseMemoryRequirementCount, + VkSparseImageMemoryRequirements* pSparseMemoryRequirements); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( + VkPhysicalDevice physicalDevice, + VkFormat format, + VkImageType type, + VkSampleCountFlagBits samples, + VkImageUsageFlags usage, + VkImageTiling tiling, + deUint32* pPropertyCount, + VkSparseImageFormatProperties* pProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( + VkQueue queue, + deUint32 bindInfoCount, + const VkBindSparseInfo* pBindInfo, + VkFence fence); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( + VkDevice device, + const VkFenceCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkFence* pFence); + + VKAPI_ATTR void VKAPI_CALL vkDestroyFence( + VkDevice device, + VkFence fence, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( + VkDevice device, + deUint32 fenceCount, + const VkFence* pFences); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( + VkDevice device, + VkFence fence); + + VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( + VkDevice device, + deUint32 fenceCount, + const VkFence* pFences, + VkBool32 waitAll, + deUint64 timeout); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( + VkDevice device, + const VkSemaphoreCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkSemaphore* pSemaphore); + + VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( + VkDevice device, + VkSemaphore semaphore, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( + VkDevice device, + const VkEventCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkEvent* pEvent); + + VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( + VkDevice device, + VkEvent event, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( + VkDevice device, + VkEvent event); + + VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( + VkDevice device, + VkEvent event); + + VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( + VkDevice device, + VkEvent event); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( + VkDevice device, + const VkQueryPoolCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkQueryPool* pQueryPool); + + VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( + VkDevice device, + VkQueryPool queryPool, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( + VkDevice device, + VkQueryPool queryPool, + deUint32 firstQuery, + deUint32 queryCount, + deUintptr dataSize, + void* pData, + VkDeviceSize stride, + VkQueryResultFlags flags); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( + VkDevice device, + const VkBufferCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkBuffer* pBuffer); + + VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( + VkDevice device, + VkBuffer buffer, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( + VkDevice device, + const VkBufferViewCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkBufferView* pView); + + VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( + VkDevice device, + VkBufferView bufferView, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( + VkDevice device, + const VkImageCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkImage* pImage); + + VKAPI_ATTR void VKAPI_CALL vkDestroyImage( + VkDevice device, + VkImage image, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( + VkDevice device, + VkImage image, + const VkImageSubresource* pSubresource, + VkSubresourceLayout* pLayout); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( + VkDevice device, + const VkImageViewCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkImageView* pView); + + VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( + VkDevice device, + VkImageView imageView, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( + VkDevice device, + const VkShaderModuleCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkShaderModule* pShaderModule); + + VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( + VkDevice device, + VkShaderModule shaderModule, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( + VkDevice device, + const VkPipelineCacheCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkPipelineCache* pPipelineCache); + + VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( + VkDevice device, + VkPipelineCache pipelineCache, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( + VkDevice device, + VkPipelineCache pipelineCache, + deUintptr* pDataSize, + void* pData); + + VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( + VkDevice device, + VkPipelineCache dstCache, + deUint32 srcCacheCount, + const VkPipelineCache* pSrcCaches); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( + VkDevice device, + VkPipelineCache pipelineCache, + deUint32 createInfoCount, + const VkGraphicsPipelineCreateInfo* pCreateInfos, + const VkAllocationCallbacks* pAllocator, + VkPipeline* pPipelines); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( + VkDevice device, + VkPipelineCache pipelineCache, + deUint32 createInfoCount, + const VkComputePipelineCreateInfo* pCreateInfos, + const VkAllocationCallbacks* pAllocator, + VkPipeline* pPipelines); + + VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( + VkDevice device, + VkPipeline pipeline, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( + VkDevice device, + const VkPipelineLayoutCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkPipelineLayout* pPipelineLayout); + + VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( + VkDevice device, + VkPipelineLayout pipelineLayout, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( + VkDevice device, + const VkSamplerCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkSampler* pSampler); + + VKAPI_ATTR void VKAPI_CALL vkDestroySampler( + VkDevice device, + VkSampler sampler, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( + VkDevice device, + const VkDescriptorSetLayoutCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkDescriptorSetLayout* pSetLayout); + + VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( + VkDevice device, + VkDescriptorSetLayout descriptorSetLayout, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( + VkDevice device, + const VkDescriptorPoolCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkDescriptorPool* pDescriptorPool); + + VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( + VkDevice device, + VkDescriptorPool descriptorPool, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( + VkDevice device, + VkDescriptorPool descriptorPool, + VkDescriptorPoolResetFlags flags); + + VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( + VkDevice device, + const VkDescriptorSetAllocateInfo* pAllocateInfo, + VkDescriptorSet* pDescriptorSets); + + VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( + VkDevice device, + VkDescriptorPool descriptorPool, + deUint32 descriptorSetCount, + const VkDescriptorSet* pDescriptorSets); + + VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( + VkDevice device, + deUint32 descriptorWriteCount, + const VkWriteDescriptorSet* pDescriptorWrites, + deUint32 descriptorCopyCount, + const VkCopyDescriptorSet* pDescriptorCopies); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( + VkDevice device, + const VkFramebufferCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkFramebuffer* pFramebuffer); + + VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( + VkDevice device, + VkFramebuffer framebuffer, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( + VkDevice device, + const VkRenderPassCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkRenderPass* pRenderPass); + + VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( + VkDevice device, + VkRenderPass renderPass, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( + VkDevice device, + VkRenderPass renderPass, + VkExtent2D* pGranularity); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( + VkDevice device, + const VkCommandPoolCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkCommandPool* pCommandPool); + + VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( + VkDevice device, + VkCommandPool commandPool, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( + VkDevice device, + VkCommandPool commandPool, + VkCommandPoolResetFlags flags); + + VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( + VkDevice device, + const VkCommandBufferAllocateInfo* pAllocateInfo, + VkCommandBuffer* pCommandBuffers); + + VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( + VkDevice device, + VkCommandPool commandPool, + deUint32 commandBufferCount, + const VkCommandBuffer* pCommandBuffers); + + VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( + VkCommandBuffer commandBuffer, + const VkCommandBufferBeginInfo* pBeginInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( + VkCommandBuffer commandBuffer); + + VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( + VkCommandBuffer commandBuffer, + VkCommandBufferResetFlags flags); + + VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( + VkCommandBuffer commandBuffer, + VkPipelineBindPoint pipelineBindPoint, + VkPipeline pipeline); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( + VkCommandBuffer commandBuffer, + deUint32 firstViewport, + deUint32 viewportCount, + const VkViewport* pViewports); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( + VkCommandBuffer commandBuffer, + deUint32 firstScissor, + deUint32 scissorCount, + const VkRect2D* pScissors); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( + VkCommandBuffer commandBuffer, + float lineWidth); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( + VkCommandBuffer commandBuffer, + float depthBiasConstantFactor, + float depthBiasClamp, + float depthBiasSlopeFactor); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( + VkCommandBuffer commandBuffer, + const float blendConstants[4]); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( + VkCommandBuffer commandBuffer, + float minDepthBounds, + float maxDepthBounds); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( + VkCommandBuffer commandBuffer, + VkStencilFaceFlags faceMask, + deUint32 compareMask); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( + VkCommandBuffer commandBuffer, + VkStencilFaceFlags faceMask, + deUint32 writeMask); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( + VkCommandBuffer commandBuffer, + VkStencilFaceFlags faceMask, + deUint32 reference); + + VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( + VkCommandBuffer commandBuffer, + VkPipelineBindPoint pipelineBindPoint, + VkPipelineLayout layout, + deUint32 firstSet, + deUint32 descriptorSetCount, + const VkDescriptorSet* pDescriptorSets, + deUint32 dynamicOffsetCount, + const deUint32* pDynamicOffsets); + + VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkIndexType indexType); + + VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( + VkCommandBuffer commandBuffer, + deUint32 firstBinding, + deUint32 bindingCount, + const VkBuffer* pBuffers, + const VkDeviceSize* pOffsets); + + VKAPI_ATTR void VKAPI_CALL vkCmdDraw( + VkCommandBuffer commandBuffer, + deUint32 vertexCount, + deUint32 instanceCount, + deUint32 firstVertex, + deUint32 firstInstance); + + VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( + VkCommandBuffer commandBuffer, + deUint32 indexCount, + deUint32 instanceCount, + deUint32 firstIndex, + deInt32 vertexOffset, + deUint32 firstInstance); + + VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + deUint32 drawCount, + deUint32 stride); + + VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + deUint32 drawCount, + deUint32 stride); + + VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( + VkCommandBuffer commandBuffer, + deUint32 groupCountX, + deUint32 groupCountY, + deUint32 groupCountZ); + + VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset); + + VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( + VkCommandBuffer commandBuffer, + VkBuffer srcBuffer, + VkBuffer dstBuffer, + deUint32 regionCount, + const VkBufferCopy* pRegions); + + VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( + VkCommandBuffer commandBuffer, + VkImage srcImage, + VkImageLayout srcImageLayout, + VkImage dstImage, + VkImageLayout dstImageLayout, + deUint32 regionCount, + const VkImageCopy* pRegions); + + VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( + VkCommandBuffer commandBuffer, + VkImage srcImage, + VkImageLayout srcImageLayout, + VkImage dstImage, + VkImageLayout dstImageLayout, + deUint32 regionCount, + const VkImageBlit* pRegions, + VkFilter filter); + + VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( + VkCommandBuffer commandBuffer, + VkBuffer srcBuffer, + VkImage dstImage, + VkImageLayout dstImageLayout, + deUint32 regionCount, + const VkBufferImageCopy* pRegions); + + VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( + VkCommandBuffer commandBuffer, + VkImage srcImage, + VkImageLayout srcImageLayout, + VkBuffer dstBuffer, + deUint32 regionCount, + const VkBufferImageCopy* pRegions); + + VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( + VkCommandBuffer commandBuffer, + VkBuffer dstBuffer, + VkDeviceSize dstOffset, + VkDeviceSize dataSize, + const void* pData); + + VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( + VkCommandBuffer commandBuffer, + VkBuffer dstBuffer, + VkDeviceSize dstOffset, + VkDeviceSize size, + deUint32 data); + + VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( + VkCommandBuffer commandBuffer, + VkImage image, + VkImageLayout imageLayout, + const VkClearColorValue* pColor, + deUint32 rangeCount, + const VkImageSubresourceRange* pRanges); + + VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( + VkCommandBuffer commandBuffer, + VkImage image, + VkImageLayout imageLayout, + const VkClearDepthStencilValue* pDepthStencil, + deUint32 rangeCount, + const VkImageSubresourceRange* pRanges); + + VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( + VkCommandBuffer commandBuffer, + deUint32 attachmentCount, + const VkClearAttachment* pAttachments, + deUint32 rectCount, + const VkClearRect* pRects); + + VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( + VkCommandBuffer commandBuffer, + VkImage srcImage, + VkImageLayout srcImageLayout, + VkImage dstImage, + VkImageLayout dstImageLayout, + deUint32 regionCount, + const VkImageResolve* pRegions); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( + VkCommandBuffer commandBuffer, + VkEvent event, + VkPipelineStageFlags stageMask); + + VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( + VkCommandBuffer commandBuffer, + VkEvent event, + VkPipelineStageFlags stageMask); + + VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( + VkCommandBuffer commandBuffer, + deUint32 eventCount, + const VkEvent* pEvents, + VkPipelineStageFlags srcStageMask, + VkPipelineStageFlags dstStageMask, + deUint32 memoryBarrierCount, + const VkMemoryBarrier* pMemoryBarriers, + deUint32 bufferMemoryBarrierCount, + const VkBufferMemoryBarrier* pBufferMemoryBarriers, + deUint32 imageMemoryBarrierCount, + const VkImageMemoryBarrier* pImageMemoryBarriers); + + VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( + VkCommandBuffer commandBuffer, + VkPipelineStageFlags srcStageMask, + VkPipelineStageFlags dstStageMask, + VkDependencyFlags dependencyFlags, + deUint32 memoryBarrierCount, + const VkMemoryBarrier* pMemoryBarriers, + deUint32 bufferMemoryBarrierCount, + const VkBufferMemoryBarrier* pBufferMemoryBarriers, + deUint32 imageMemoryBarrierCount, + const VkImageMemoryBarrier* pImageMemoryBarriers); + + VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( + VkCommandBuffer commandBuffer, + VkQueryPool queryPool, + deUint32 query, + VkQueryControlFlags flags); + + VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( + VkCommandBuffer commandBuffer, + VkQueryPool queryPool, + deUint32 query); + + VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( + VkCommandBuffer commandBuffer, + VkQueryPool queryPool, + deUint32 firstQuery, + deUint32 queryCount); + + VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( + VkCommandBuffer commandBuffer, + VkPipelineStageFlagBits pipelineStage, + VkQueryPool queryPool, + deUint32 query); + + VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( + VkCommandBuffer commandBuffer, + VkQueryPool queryPool, + deUint32 firstQuery, + deUint32 queryCount, + VkBuffer dstBuffer, + VkDeviceSize dstOffset, + VkDeviceSize stride, + VkQueryResultFlags flags); + + VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( + VkCommandBuffer commandBuffer, + VkPipelineLayout layout, + VkShaderStageFlags stageFlags, + deUint32 offset, + deUint32 size, + const void* pValues); + + VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( + VkCommandBuffer commandBuffer, + const VkRenderPassBeginInfo* pRenderPassBegin, + VkSubpassContents contents); + + VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( + VkCommandBuffer commandBuffer, + VkSubpassContents contents); + + VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( + VkCommandBuffer commandBuffer); + + VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( + VkCommandBuffer commandBuffer, + deUint32 commandBufferCount, + const VkCommandBuffer* pCommandBuffers); + #endif + + + #define VK_VERSION_1_1 1 + // Vulkan 1.1 version number + #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 + + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) + #define VK_MAX_DEVICE_GROUP_SIZE 32U + #define VK_LUID_SIZE 8U + #define VK_QUEUE_FAMILY_EXTERNAL (~1U) + + typedef enum VkPointClippingBehavior { + VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, + VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, + VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, + VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, + VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF + } VkPointClippingBehavior; + + typedef enum VkTessellationDomainOrigin { + VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, + VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, + VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, + VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, + VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF + } VkTessellationDomainOrigin; + + typedef enum VkSamplerYcbcrModelConversion { + VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, + VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF + } VkSamplerYcbcrModelConversion; + + typedef enum VkSamplerYcbcrRange { + VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, + VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, + VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, + VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, + VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF + } VkSamplerYcbcrRange; + + typedef enum VkChromaLocation { + VK_CHROMA_LOCATION_COSITED_EVEN = 0, + VK_CHROMA_LOCATION_MIDPOINT = 1, + VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN, + VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT, + VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF + } VkChromaLocation; + + typedef enum VkDescriptorUpdateTemplateType { + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0, + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1, + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, + VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF + } VkDescriptorUpdateTemplateType; + + typedef enum VkSubgroupFeatureFlagBits { + VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, + VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, + VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, + VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, + VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, + VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, + VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, + VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, + VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, + VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkSubgroupFeatureFlagBits; + typedef VkFlags VkSubgroupFeatureFlags; + + typedef enum VkPeerMemoryFeatureFlagBits { + VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, + VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, + VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, + VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, + VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, + VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, + VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, + VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, + VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkPeerMemoryFeatureFlagBits; + typedef VkFlags VkPeerMemoryFeatureFlags; + + typedef enum VkMemoryAllocateFlagBits { + VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, + VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, + VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, + VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, + VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, + VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, + VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkMemoryAllocateFlagBits; + typedef VkFlags VkMemoryAllocateFlags; + typedef VkFlags VkCommandPoolTrimFlags; + typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; + + typedef enum VkExternalMemoryHandleTypeFlagBits { + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkExternalMemoryHandleTypeFlagBits; + typedef VkFlags VkExternalMemoryHandleTypeFlags; + + typedef enum VkExternalMemoryFeatureFlagBits { + VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, + VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, + VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, + VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, + VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, + VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, + VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkExternalMemoryFeatureFlagBits; + typedef VkFlags VkExternalMemoryFeatureFlags; + + typedef enum VkExternalFenceHandleTypeFlagBits { + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, + VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, + VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, + VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, + VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkExternalFenceHandleTypeFlagBits; + typedef VkFlags VkExternalFenceHandleTypeFlags; + + typedef enum VkExternalFenceFeatureFlagBits { + VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, + VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, + VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, + VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, + VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkExternalFenceFeatureFlagBits; + typedef VkFlags VkExternalFenceFeatureFlags; + + typedef enum VkFenceImportFlagBits { + VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, + VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT, + VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkFenceImportFlagBits; + typedef VkFlags VkFenceImportFlags; + + typedef enum VkSemaphoreImportFlagBits { + VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, + VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, + VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkSemaphoreImportFlagBits; + typedef VkFlags VkSemaphoreImportFlags; + + typedef enum VkExternalSemaphoreHandleTypeFlagBits { + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkExternalSemaphoreHandleTypeFlagBits; + typedef VkFlags VkExternalSemaphoreHandleTypeFlags; + + typedef enum VkExternalSemaphoreFeatureFlagBits { + VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, + VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, + VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, + VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, + VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkExternalSemaphoreFeatureFlagBits; + typedef VkFlags VkExternalSemaphoreFeatureFlags; + typedef struct VkPhysicalDeviceSubgroupProperties { + VkStructureType sType; + void* pNext; + deUint32 subgroupSize; + VkShaderStageFlags supportedStages; + VkSubgroupFeatureFlags supportedOperations; + VkBool32 quadOperationsInAllStages; + } VkPhysicalDeviceSubgroupProperties; + + typedef struct VkBindBufferMemoryInfo { + VkStructureType sType; + const void* pNext; + VkBuffer buffer; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + } VkBindBufferMemoryInfo; + + typedef struct VkBindImageMemoryInfo { + VkStructureType sType; + const void* pNext; + VkImage image; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + } VkBindImageMemoryInfo; + + typedef struct VkPhysicalDevice16BitStorageFeatures { + VkStructureType sType; + void* pNext; + VkBool32 storageBuffer16BitAccess; + VkBool32 uniformAndStorageBuffer16BitAccess; + VkBool32 storagePushConstant16; + VkBool32 storageInputOutput16; + } VkPhysicalDevice16BitStorageFeatures; + + typedef struct VkMemoryDedicatedRequirements { + VkStructureType sType; + void* pNext; + VkBool32 prefersDedicatedAllocation; + VkBool32 requiresDedicatedAllocation; + } VkMemoryDedicatedRequirements; + + typedef struct VkMemoryDedicatedAllocateInfo { + VkStructureType sType; + const void* pNext; + VkImage image; + VkBuffer buffer; + } VkMemoryDedicatedAllocateInfo; + + typedef struct VkMemoryAllocateFlagsInfo { + VkStructureType sType; + const void* pNext; + VkMemoryAllocateFlags flags; + deUint32 deviceMask; + } VkMemoryAllocateFlagsInfo; + + typedef struct VkDeviceGroupRenderPassBeginInfo { + VkStructureType sType; + const void* pNext; + deUint32 deviceMask; + deUint32 deviceRenderAreaCount; + const VkRect2D* pDeviceRenderAreas; + } VkDeviceGroupRenderPassBeginInfo; + + typedef struct VkDeviceGroupCommandBufferBeginInfo { + VkStructureType sType; + const void* pNext; + deUint32 deviceMask; + } VkDeviceGroupCommandBufferBeginInfo; + + typedef struct VkDeviceGroupSubmitInfo { + VkStructureType sType; + const void* pNext; + deUint32 waitSemaphoreCount; + const deUint32* pWaitSemaphoreDeviceIndices; + deUint32 commandBufferCount; + const deUint32* pCommandBufferDeviceMasks; + deUint32 signalSemaphoreCount; + const deUint32* pSignalSemaphoreDeviceIndices; + } VkDeviceGroupSubmitInfo; + + typedef struct VkDeviceGroupBindSparseInfo { + VkStructureType sType; + const void* pNext; + deUint32 resourceDeviceIndex; + deUint32 memoryDeviceIndex; + } VkDeviceGroupBindSparseInfo; + + typedef struct VkBindBufferMemoryDeviceGroupInfo { + VkStructureType sType; + const void* pNext; + deUint32 deviceIndexCount; + const deUint32* pDeviceIndices; + } VkBindBufferMemoryDeviceGroupInfo; + + typedef struct VkBindImageMemoryDeviceGroupInfo { + VkStructureType sType; + const void* pNext; + deUint32 deviceIndexCount; + const deUint32* pDeviceIndices; + deUint32 splitInstanceBindRegionCount; + const VkRect2D* pSplitInstanceBindRegions; + } VkBindImageMemoryDeviceGroupInfo; + + typedef struct VkPhysicalDeviceGroupProperties { + VkStructureType sType; + void* pNext; + deUint32 physicalDeviceCount; + VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; + VkBool32 subsetAllocation; + } VkPhysicalDeviceGroupProperties; + + typedef struct VkDeviceGroupDeviceCreateInfo { + VkStructureType sType; + const void* pNext; + deUint32 physicalDeviceCount; + const VkPhysicalDevice* pPhysicalDevices; + } VkDeviceGroupDeviceCreateInfo; + + typedef struct VkBufferMemoryRequirementsInfo2 { + VkStructureType sType; + const void* pNext; + VkBuffer buffer; + } VkBufferMemoryRequirementsInfo2; + + typedef struct VkImageMemoryRequirementsInfo2 { + VkStructureType sType; + const void* pNext; + VkImage image; + } VkImageMemoryRequirementsInfo2; + + typedef struct VkImageSparseMemoryRequirementsInfo2 { + VkStructureType sType; + const void* pNext; + VkImage image; + } VkImageSparseMemoryRequirementsInfo2; + + typedef struct VkMemoryRequirements2 { + VkStructureType sType; + void* pNext; + VkMemoryRequirements memoryRequirements; + } VkMemoryRequirements2; + + typedef struct VkSparseImageMemoryRequirements2 { + VkStructureType sType; + void* pNext; + VkSparseImageMemoryRequirements memoryRequirements; + } VkSparseImageMemoryRequirements2; + + typedef struct VkPhysicalDeviceFeatures2 { + VkStructureType sType; + void* pNext; + VkPhysicalDeviceFeatures features; + } VkPhysicalDeviceFeatures2; + + typedef struct VkPhysicalDeviceProperties2 { + VkStructureType sType; + void* pNext; + VkPhysicalDeviceProperties properties; + } VkPhysicalDeviceProperties2; + + typedef struct VkFormatProperties2 { + VkStructureType sType; + void* pNext; + VkFormatProperties formatProperties; + } VkFormatProperties2; + + typedef struct VkImageFormatProperties2 { + VkStructureType sType; + void* pNext; + VkImageFormatProperties imageFormatProperties; + } VkImageFormatProperties2; + + typedef struct VkPhysicalDeviceImageFormatInfo2 { + VkStructureType sType; + const void* pNext; + VkFormat format; + VkImageType type; + VkImageTiling tiling; + VkImageUsageFlags usage; + VkImageCreateFlags flags; + } VkPhysicalDeviceImageFormatInfo2; + + typedef struct VkQueueFamilyProperties2 { + VkStructureType sType; + void* pNext; + VkQueueFamilyProperties queueFamilyProperties; + } VkQueueFamilyProperties2; + + typedef struct VkPhysicalDeviceMemoryProperties2 { + VkStructureType sType; + void* pNext; + VkPhysicalDeviceMemoryProperties memoryProperties; + } VkPhysicalDeviceMemoryProperties2; + + typedef struct VkSparseImageFormatProperties2 { + VkStructureType sType; + void* pNext; + VkSparseImageFormatProperties properties; + } VkSparseImageFormatProperties2; + + typedef struct VkPhysicalDeviceSparseImageFormatInfo2 { + VkStructureType sType; + const void* pNext; + VkFormat format; + VkImageType type; + VkSampleCountFlagBits samples; + VkImageUsageFlags usage; + VkImageTiling tiling; + } VkPhysicalDeviceSparseImageFormatInfo2; + + typedef struct VkPhysicalDevicePointClippingProperties { + VkStructureType sType; + void* pNext; + VkPointClippingBehavior pointClippingBehavior; + } VkPhysicalDevicePointClippingProperties; + + typedef struct VkInputAttachmentAspectReference { + deUint32 subpass; + deUint32 inputAttachmentIndex; + VkImageAspectFlags aspectMask; + } VkInputAttachmentAspectReference; + + typedef struct VkRenderPassInputAttachmentAspectCreateInfo { + VkStructureType sType; + const void* pNext; + deUint32 aspectReferenceCount; + const VkInputAttachmentAspectReference* pAspectReferences; + } VkRenderPassInputAttachmentAspectCreateInfo; + + typedef struct VkImageViewUsageCreateInfo { + VkStructureType sType; + const void* pNext; + VkImageUsageFlags usage; + } VkImageViewUsageCreateInfo; + + typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { + VkStructureType sType; + const void* pNext; + VkTessellationDomainOrigin domainOrigin; + } VkPipelineTessellationDomainOriginStateCreateInfo; + + typedef struct VkRenderPassMultiviewCreateInfo { + VkStructureType sType; + const void* pNext; + deUint32 subpassCount; + const deUint32* pViewMasks; + deUint32 dependencyCount; + const deInt32* pViewOffsets; + deUint32 correlationMaskCount; + const deUint32* pCorrelationMasks; + } VkRenderPassMultiviewCreateInfo; + + typedef struct VkPhysicalDeviceMultiviewFeatures { + VkStructureType sType; + void* pNext; + VkBool32 multiview; + VkBool32 multiviewGeometryShader; + VkBool32 multiviewTessellationShader; + } VkPhysicalDeviceMultiviewFeatures; + + typedef struct VkPhysicalDeviceMultiviewProperties { + VkStructureType sType; + void* pNext; + deUint32 maxMultiviewViewCount; + deUint32 maxMultiviewInstanceIndex; + } VkPhysicalDeviceMultiviewProperties; + + typedef struct VkPhysicalDeviceVariablePointersFeatures { + VkStructureType sType; + void* pNext; + VkBool32 variablePointersStorageBuffer; + VkBool32 variablePointers; + } VkPhysicalDeviceVariablePointersFeatures; + + typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; + + typedef struct VkPhysicalDeviceProtectedMemoryFeatures { + VkStructureType sType; + void* pNext; + VkBool32 protectedMemory; + } VkPhysicalDeviceProtectedMemoryFeatures; + + typedef struct VkPhysicalDeviceProtectedMemoryProperties { + VkStructureType sType; + void* pNext; + VkBool32 protectedNoFault; + } VkPhysicalDeviceProtectedMemoryProperties; + + typedef struct VkDeviceQueueInfo2 { + VkStructureType sType; + const void* pNext; + VkDeviceQueueCreateFlags flags; + deUint32 queueFamilyIndex; + deUint32 queueIndex; + } VkDeviceQueueInfo2; + + typedef struct VkProtectedSubmitInfo { + VkStructureType sType; + const void* pNext; + VkBool32 protectedSubmit; + } VkProtectedSubmitInfo; + + typedef struct VkSamplerYcbcrConversionCreateInfo { + VkStructureType sType; + const void* pNext; + VkFormat format; + VkSamplerYcbcrModelConversion ycbcrModel; + VkSamplerYcbcrRange ycbcrRange; + VkComponentMapping components; + VkChromaLocation xChromaOffset; + VkChromaLocation yChromaOffset; + VkFilter chromaFilter; + VkBool32 forceExplicitReconstruction; + } VkSamplerYcbcrConversionCreateInfo; + + typedef struct VkSamplerYcbcrConversionInfo { + VkStructureType sType; + const void* pNext; + VkSamplerYcbcrConversion conversion; + } VkSamplerYcbcrConversionInfo; + + typedef struct VkBindImagePlaneMemoryInfo { + VkStructureType sType; + const void* pNext; + VkImageAspectFlagBits planeAspect; + } VkBindImagePlaneMemoryInfo; + + typedef struct VkImagePlaneMemoryRequirementsInfo { + VkStructureType sType; + const void* pNext; + VkImageAspectFlagBits planeAspect; + } VkImagePlaneMemoryRequirementsInfo; + + typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { + VkStructureType sType; + void* pNext; + VkBool32 samplerYcbcrConversion; + } VkPhysicalDeviceSamplerYcbcrConversionFeatures; + + typedef struct VkSamplerYcbcrConversionImageFormatProperties { + VkStructureType sType; + void* pNext; + deUint32 combinedImageSamplerDescriptorCount; + } VkSamplerYcbcrConversionImageFormatProperties; + + typedef struct VkDescriptorUpdateTemplateEntry { + deUint32 dstBinding; + deUint32 dstArrayElement; + deUint32 descriptorCount; + VkDescriptorType descriptorType; + deUintptr offset; + deUintptr stride; + } VkDescriptorUpdateTemplateEntry; + + typedef struct VkDescriptorUpdateTemplateCreateInfo { + VkStructureType sType; + const void* pNext; + VkDescriptorUpdateTemplateCreateFlags flags; + deUint32 descriptorUpdateEntryCount; + const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; + VkDescriptorUpdateTemplateType templateType; + VkDescriptorSetLayout descriptorSetLayout; + VkPipelineBindPoint pipelineBindPoint; + VkPipelineLayout pipelineLayout; + deUint32 set; + } VkDescriptorUpdateTemplateCreateInfo; + + typedef struct VkExternalMemoryProperties { + VkExternalMemoryFeatureFlags externalMemoryFeatures; + VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; + VkExternalMemoryHandleTypeFlags compatibleHandleTypes; + } VkExternalMemoryProperties; + + typedef struct VkPhysicalDeviceExternalImageFormatInfo { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagBits handleType; + } VkPhysicalDeviceExternalImageFormatInfo; + + typedef struct VkExternalImageFormatProperties { + VkStructureType sType; + void* pNext; + VkExternalMemoryProperties externalMemoryProperties; + } VkExternalImageFormatProperties; + + typedef struct VkPhysicalDeviceExternalBufferInfo { + VkStructureType sType; + const void* pNext; + VkBufferCreateFlags flags; + VkBufferUsageFlags usage; + VkExternalMemoryHandleTypeFlagBits handleType; + } VkPhysicalDeviceExternalBufferInfo; + + typedef struct VkExternalBufferProperties { + VkStructureType sType; + void* pNext; + VkExternalMemoryProperties externalMemoryProperties; + } VkExternalBufferProperties; + + typedef struct VkPhysicalDeviceIDProperties { + VkStructureType sType; + void* pNext; + deUint8 deviceUUID[VK_UUID_SIZE]; + deUint8 driverUUID[VK_UUID_SIZE]; + deUint8 deviceLUID[VK_LUID_SIZE]; + deUint32 deviceNodeMask; + VkBool32 deviceLUIDValid; + } VkPhysicalDeviceIDProperties; + + typedef struct VkExternalMemoryImageCreateInfo { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlags handleTypes; + } VkExternalMemoryImageCreateInfo; + + typedef struct VkExternalMemoryBufferCreateInfo { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlags handleTypes; + } VkExternalMemoryBufferCreateInfo; + + typedef struct VkExportMemoryAllocateInfo { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlags handleTypes; + } VkExportMemoryAllocateInfo; + + typedef struct VkPhysicalDeviceExternalFenceInfo { + VkStructureType sType; + const void* pNext; + VkExternalFenceHandleTypeFlagBits handleType; + } VkPhysicalDeviceExternalFenceInfo; + + typedef struct VkExternalFenceProperties { + VkStructureType sType; + void* pNext; + VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; + VkExternalFenceHandleTypeFlags compatibleHandleTypes; + VkExternalFenceFeatureFlags externalFenceFeatures; + } VkExternalFenceProperties; + + typedef struct VkExportFenceCreateInfo { + VkStructureType sType; + const void* pNext; + VkExternalFenceHandleTypeFlags handleTypes; + } VkExportFenceCreateInfo; + + typedef struct VkExportSemaphoreCreateInfo { + VkStructureType sType; + const void* pNext; + VkExternalSemaphoreHandleTypeFlags handleTypes; + } VkExportSemaphoreCreateInfo; + + typedef struct VkPhysicalDeviceExternalSemaphoreInfo { + VkStructureType sType; + const void* pNext; + VkExternalSemaphoreHandleTypeFlagBits handleType; + } VkPhysicalDeviceExternalSemaphoreInfo; + + typedef struct VkExternalSemaphoreProperties { + VkStructureType sType; + void* pNext; + VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; + VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; + VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; + } VkExternalSemaphoreProperties; + + typedef struct VkPhysicalDeviceMaintenance3Properties { + VkStructureType sType; + void* pNext; + deUint32 maxPerSetDescriptors; + VkDeviceSize maxMemoryAllocationSize; + } VkPhysicalDeviceMaintenance3Properties; + + typedef struct VkDescriptorSetLayoutSupport { + VkStructureType sType; + void* pNext; + VkBool32 supported; + } VkDescriptorSetLayoutSupport; + + typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { + VkStructureType sType; + void* pNext; + VkBool32 shaderDrawParameters; + } VkPhysicalDeviceShaderDrawParametersFeatures; + + typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; + + typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion); + typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); + typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); + typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); + typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask); + typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); + typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); + typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); + typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); + typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties); + typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); + typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); + typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); + typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); + typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); + typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); + typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion( + deUint32* pApiVersion); + + VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2( + VkDevice device, + deUint32 bindInfoCount, + const VkBindBufferMemoryInfo* pBindInfos); + + VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2( + VkDevice device, + deUint32 bindInfoCount, + const VkBindImageMemoryInfo* pBindInfos); + + VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures( + VkDevice device, + deUint32 heapIndex, + deUint32 localDeviceIndex, + deUint32 remoteDeviceIndex, + VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask( + VkCommandBuffer commandBuffer, + deUint32 deviceMask); + + VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase( + VkCommandBuffer commandBuffer, + deUint32 baseGroupX, + deUint32 baseGroupY, + deUint32 baseGroupZ, + deUint32 groupCountX, + deUint32 groupCountY, + deUint32 groupCountZ); + + VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups( + VkInstance instance, + deUint32* pPhysicalDeviceGroupCount, + VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2( + VkDevice device, + const VkImageMemoryRequirementsInfo2* pInfo, + VkMemoryRequirements2* pMemoryRequirements); + + VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2( + VkDevice device, + const VkBufferMemoryRequirementsInfo2* pInfo, + VkMemoryRequirements2* pMemoryRequirements); + + VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2( + VkDevice device, + const VkImageSparseMemoryRequirementsInfo2* pInfo, + deUint32* pSparseMemoryRequirementCount, + VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2( + VkPhysicalDevice physicalDevice, + VkPhysicalDeviceFeatures2* pFeatures); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2( + VkPhysicalDevice physicalDevice, + VkPhysicalDeviceProperties2* pProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2( + VkPhysicalDevice physicalDevice, + VkFormat format, + VkFormatProperties2* pFormatProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, + VkImageFormatProperties2* pImageFormatProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2( + VkPhysicalDevice physicalDevice, + deUint32* pQueueFamilyPropertyCount, + VkQueueFamilyProperties2* pQueueFamilyProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2( + VkPhysicalDevice physicalDevice, + VkPhysicalDeviceMemoryProperties2* pMemoryProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, + deUint32* pPropertyCount, + VkSparseImageFormatProperties2* pProperties); + + VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool( + VkDevice device, + VkCommandPool commandPool, + VkCommandPoolTrimFlags flags); + + VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2( + VkDevice device, + const VkDeviceQueueInfo2* pQueueInfo, + VkQueue* pQueue); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion( + VkDevice device, + const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkSamplerYcbcrConversion* pYcbcrConversion); + + VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion( + VkDevice device, + VkSamplerYcbcrConversion ycbcrConversion, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate( + VkDevice device, + const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); + + VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate( + VkDevice device, + VkDescriptorUpdateTemplate descriptorUpdateTemplate, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate( + VkDevice device, + VkDescriptorSet descriptorSet, + VkDescriptorUpdateTemplate descriptorUpdateTemplate, + const void* pData); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, + VkExternalBufferProperties* pExternalBufferProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, + VkExternalFenceProperties* pExternalFenceProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, + VkExternalSemaphoreProperties* pExternalSemaphoreProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport( + VkDevice device, + const VkDescriptorSetLayoutCreateInfo* pCreateInfo, + VkDescriptorSetLayoutSupport* pSupport); + #endif + + + #define VK_VERSION_1_2 1 + // Vulkan 1.2 version number + #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 + + #define VK_MAX_DRIVER_NAME_SIZE 256U + #define VK_MAX_DRIVER_INFO_SIZE 256U + + typedef enum VkDriverId { + VK_DRIVER_ID_AMD_PROPRIETARY = 1, + VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, + VK_DRIVER_ID_MESA_RADV = 3, + VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, + VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, + VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, + VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, + VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, + VK_DRIVER_ID_ARM_PROPRIETARY = 9, + VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, + VK_DRIVER_ID_GGP_PROPRIETARY = 11, + VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, + VK_DRIVER_ID_MESA_LLVMPIPE = 13, + VK_DRIVER_ID_MOLTENVK = 14, + VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, + VK_DRIVER_ID_JUICE_PROPRIETARY = 16, + VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, + VK_DRIVER_ID_MESA_TURNIP = 18, + VK_DRIVER_ID_MESA_V3DV = 19, + VK_DRIVER_ID_MESA_PANVK = 20, + VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, + VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, + VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, + VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, + VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY, + VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, + VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, + VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, + VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY, + VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY, + VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, + VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY, + VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY, + VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF + } VkDriverId; + + typedef enum VkShaderFloatControlsIndependence { + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE, + VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF + } VkShaderFloatControlsIndependence; + + typedef enum VkSamplerReductionMode { + VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, + VK_SAMPLER_REDUCTION_MODE_MIN = 1, + VK_SAMPLER_REDUCTION_MODE_MAX = 2, + VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, + VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN, + VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX, + VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF + } VkSamplerReductionMode; + + typedef enum VkSemaphoreType { + VK_SEMAPHORE_TYPE_BINARY = 0, + VK_SEMAPHORE_TYPE_TIMELINE = 1, + VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY, + VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE, + VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF + } VkSemaphoreType; + + typedef enum VkResolveModeFlagBits { + VK_RESOLVE_MODE_NONE = 0, + VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, + VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, + VK_RESOLVE_MODE_MIN_BIT = 0x00000004, + VK_RESOLVE_MODE_MAX_BIT = 0x00000008, + VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE, + VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, + VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT, + VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT, + VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT, + VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkResolveModeFlagBits; + typedef VkFlags VkResolveModeFlags; + + typedef enum VkDescriptorBindingFlagBits { + VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, + VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, + VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, + VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, + VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, + VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, + VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, + VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, + VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkDescriptorBindingFlagBits; + typedef VkFlags VkDescriptorBindingFlags; + + typedef enum VkSemaphoreWaitFlagBits { + VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, + VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT, + VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF + } VkSemaphoreWaitFlagBits; + typedef VkFlags VkSemaphoreWaitFlags; + typedef struct VkPhysicalDeviceVulkan11Features { + VkStructureType sType; + void* pNext; + VkBool32 storageBuffer16BitAccess; + VkBool32 uniformAndStorageBuffer16BitAccess; + VkBool32 storagePushConstant16; + VkBool32 storageInputOutput16; + VkBool32 multiview; + VkBool32 multiviewGeometryShader; + VkBool32 multiviewTessellationShader; + VkBool32 variablePointersStorageBuffer; + VkBool32 variablePointers; + VkBool32 protectedMemory; + VkBool32 samplerYcbcrConversion; + VkBool32 shaderDrawParameters; + } VkPhysicalDeviceVulkan11Features; + + typedef struct VkPhysicalDeviceVulkan11Properties { + VkStructureType sType; + void* pNext; + deUint8 deviceUUID[VK_UUID_SIZE]; + deUint8 driverUUID[VK_UUID_SIZE]; + deUint8 deviceLUID[VK_LUID_SIZE]; + deUint32 deviceNodeMask; + VkBool32 deviceLUIDValid; + deUint32 subgroupSize; + VkShaderStageFlags subgroupSupportedStages; + VkSubgroupFeatureFlags subgroupSupportedOperations; + VkBool32 subgroupQuadOperationsInAllStages; + VkPointClippingBehavior pointClippingBehavior; + deUint32 maxMultiviewViewCount; + deUint32 maxMultiviewInstanceIndex; + VkBool32 protectedNoFault; + deUint32 maxPerSetDescriptors; + VkDeviceSize maxMemoryAllocationSize; + } VkPhysicalDeviceVulkan11Properties; + + typedef struct VkPhysicalDeviceVulkan12Features { + VkStructureType sType; + void* pNext; + VkBool32 samplerMirrorClampToEdge; + VkBool32 drawIndirectCount; + VkBool32 storageBuffer8BitAccess; + VkBool32 uniformAndStorageBuffer8BitAccess; + VkBool32 storagePushConstant8; + VkBool32 shaderBufferInt64Atomics; + VkBool32 shaderSharedInt64Atomics; + VkBool32 shaderFloat16; + VkBool32 shaderInt8; + VkBool32 descriptorIndexing; + VkBool32 shaderInputAttachmentArrayDynamicIndexing; + VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; + VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; + VkBool32 shaderUniformBufferArrayNonUniformIndexing; + VkBool32 shaderSampledImageArrayNonUniformIndexing; + VkBool32 shaderStorageBufferArrayNonUniformIndexing; + VkBool32 shaderStorageImageArrayNonUniformIndexing; + VkBool32 shaderInputAttachmentArrayNonUniformIndexing; + VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; + VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; + VkBool32 descriptorBindingUniformBufferUpdateAfterBind; + VkBool32 descriptorBindingSampledImageUpdateAfterBind; + VkBool32 descriptorBindingStorageImageUpdateAfterBind; + VkBool32 descriptorBindingStorageBufferUpdateAfterBind; + VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingUpdateUnusedWhilePending; + VkBool32 descriptorBindingPartiallyBound; + VkBool32 descriptorBindingVariableDescriptorCount; + VkBool32 runtimeDescriptorArray; + VkBool32 samplerFilterMinmax; + VkBool32 scalarBlockLayout; + VkBool32 imagelessFramebuffer; + VkBool32 uniformBufferStandardLayout; + VkBool32 shaderSubgroupExtendedTypes; + VkBool32 separateDepthStencilLayouts; + VkBool32 hostQueryReset; + VkBool32 timelineSemaphore; + VkBool32 bufferDeviceAddress; + VkBool32 bufferDeviceAddressCaptureReplay; + VkBool32 bufferDeviceAddressMultiDevice; + VkBool32 vulkanMemoryModel; + VkBool32 vulkanMemoryModelDeviceScope; + VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; + VkBool32 shaderOutputViewportIndex; + VkBool32 shaderOutputLayer; + VkBool32 subgroupBroadcastDynamicId; + } VkPhysicalDeviceVulkan12Features; + + typedef struct VkConformanceVersion { + deUint8 major; + deUint8 minor; + deUint8 subminor; + deUint8 patch; + } VkConformanceVersion; + + typedef struct VkPhysicalDeviceVulkan12Properties { + VkStructureType sType; + void* pNext; + VkDriverId driverID; + char driverName[VK_MAX_DRIVER_NAME_SIZE]; + char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; + VkConformanceVersion conformanceVersion; + VkShaderFloatControlsIndependence denormBehaviorIndependence; + VkShaderFloatControlsIndependence roundingModeIndependence; + VkBool32 shaderSignedZeroInfNanPreserveFloat16; + VkBool32 shaderSignedZeroInfNanPreserveFloat32; + VkBool32 shaderSignedZeroInfNanPreserveFloat64; + VkBool32 shaderDenormPreserveFloat16; + VkBool32 shaderDenormPreserveFloat32; + VkBool32 shaderDenormPreserveFloat64; + VkBool32 shaderDenormFlushToZeroFloat16; + VkBool32 shaderDenormFlushToZeroFloat32; + VkBool32 shaderDenormFlushToZeroFloat64; + VkBool32 shaderRoundingModeRTEFloat16; + VkBool32 shaderRoundingModeRTEFloat32; + VkBool32 shaderRoundingModeRTEFloat64; + VkBool32 shaderRoundingModeRTZFloat16; + VkBool32 shaderRoundingModeRTZFloat32; + VkBool32 shaderRoundingModeRTZFloat64; + deUint32 maxUpdateAfterBindDescriptorsInAllPools; + VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; + VkBool32 shaderSampledImageArrayNonUniformIndexingNative; + VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; + VkBool32 shaderStorageImageArrayNonUniformIndexingNative; + VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; + VkBool32 robustBufferAccessUpdateAfterBind; + VkBool32 quadDivergentImplicitLod; + deUint32 maxPerStageDescriptorUpdateAfterBindSamplers; + deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers; + deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers; + deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages; + deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages; + deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments; + deUint32 maxPerStageUpdateAfterBindResources; + deUint32 maxDescriptorSetUpdateAfterBindSamplers; + deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers; + deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; + deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers; + deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; + deUint32 maxDescriptorSetUpdateAfterBindSampledImages; + deUint32 maxDescriptorSetUpdateAfterBindStorageImages; + deUint32 maxDescriptorSetUpdateAfterBindInputAttachments; + VkResolveModeFlags supportedDepthResolveModes; + VkResolveModeFlags supportedStencilResolveModes; + VkBool32 independentResolveNone; + VkBool32 independentResolve; + VkBool32 filterMinmaxSingleComponentFormats; + VkBool32 filterMinmaxImageComponentMapping; + deUint64 maxTimelineSemaphoreValueDifference; + VkSampleCountFlags framebufferIntegerColorSampleCounts; + } VkPhysicalDeviceVulkan12Properties; + + typedef struct VkImageFormatListCreateInfo { + VkStructureType sType; + const void* pNext; + deUint32 viewFormatCount; + const VkFormat* pViewFormats; + } VkImageFormatListCreateInfo; + + typedef struct VkAttachmentDescription2 { + VkStructureType sType; + const void* pNext; + VkAttachmentDescriptionFlags flags; + VkFormat format; + VkSampleCountFlagBits samples; + VkAttachmentLoadOp loadOp; + VkAttachmentStoreOp storeOp; + VkAttachmentLoadOp stencilLoadOp; + VkAttachmentStoreOp stencilStoreOp; + VkImageLayout initialLayout; + VkImageLayout finalLayout; + } VkAttachmentDescription2; + + typedef struct VkAttachmentReference2 { + VkStructureType sType; + const void* pNext; + deUint32 attachment; + VkImageLayout layout; + VkImageAspectFlags aspectMask; + } VkAttachmentReference2; + + typedef struct VkSubpassDescription2 { + VkStructureType sType; + const void* pNext; + VkSubpassDescriptionFlags flags; + VkPipelineBindPoint pipelineBindPoint; + deUint32 viewMask; + deUint32 inputAttachmentCount; + const VkAttachmentReference2* pInputAttachments; + deUint32 colorAttachmentCount; + const VkAttachmentReference2* pColorAttachments; + const VkAttachmentReference2* pResolveAttachments; + const VkAttachmentReference2* pDepthStencilAttachment; + deUint32 preserveAttachmentCount; + const deUint32* pPreserveAttachments; + } VkSubpassDescription2; + + typedef struct VkSubpassDependency2 { + VkStructureType sType; + const void* pNext; + deUint32 srcSubpass; + deUint32 dstSubpass; + VkPipelineStageFlags srcStageMask; + VkPipelineStageFlags dstStageMask; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + VkDependencyFlags dependencyFlags; + deInt32 viewOffset; + } VkSubpassDependency2; + + typedef struct VkRenderPassCreateInfo2 { + VkStructureType sType; + const void* pNext; + VkRenderPassCreateFlags flags; + deUint32 attachmentCount; + const VkAttachmentDescription2* pAttachments; + deUint32 subpassCount; + const VkSubpassDescription2* pSubpasses; + deUint32 dependencyCount; + const VkSubpassDependency2* pDependencies; + deUint32 correlatedViewMaskCount; + const deUint32* pCorrelatedViewMasks; + } VkRenderPassCreateInfo2; + + typedef struct VkSubpassBeginInfo { + VkStructureType sType; + const void* pNext; + VkSubpassContents contents; + } VkSubpassBeginInfo; + + typedef struct VkSubpassEndInfo { + VkStructureType sType; + const void* pNext; + } VkSubpassEndInfo; + + typedef struct VkPhysicalDevice8BitStorageFeatures { + VkStructureType sType; + void* pNext; + VkBool32 storageBuffer8BitAccess; + VkBool32 uniformAndStorageBuffer8BitAccess; + VkBool32 storagePushConstant8; + } VkPhysicalDevice8BitStorageFeatures; + + typedef struct VkPhysicalDeviceDriverProperties { + VkStructureType sType; + void* pNext; + VkDriverId driverID; + char driverName[VK_MAX_DRIVER_NAME_SIZE]; + char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; + VkConformanceVersion conformanceVersion; + } VkPhysicalDeviceDriverProperties; + + typedef struct VkPhysicalDeviceShaderAtomicInt64Features { + VkStructureType sType; + void* pNext; + VkBool32 shaderBufferInt64Atomics; + VkBool32 shaderSharedInt64Atomics; + } VkPhysicalDeviceShaderAtomicInt64Features; + + typedef struct VkPhysicalDeviceShaderFloat16Int8Features { + VkStructureType sType; + void* pNext; + VkBool32 shaderFloat16; + VkBool32 shaderInt8; + } VkPhysicalDeviceShaderFloat16Int8Features; + + typedef struct VkPhysicalDeviceFloatControlsProperties { + VkStructureType sType; + void* pNext; + VkShaderFloatControlsIndependence denormBehaviorIndependence; + VkShaderFloatControlsIndependence roundingModeIndependence; + VkBool32 shaderSignedZeroInfNanPreserveFloat16; + VkBool32 shaderSignedZeroInfNanPreserveFloat32; + VkBool32 shaderSignedZeroInfNanPreserveFloat64; + VkBool32 shaderDenormPreserveFloat16; + VkBool32 shaderDenormPreserveFloat32; + VkBool32 shaderDenormPreserveFloat64; + VkBool32 shaderDenormFlushToZeroFloat16; + VkBool32 shaderDenormFlushToZeroFloat32; + VkBool32 shaderDenormFlushToZeroFloat64; + VkBool32 shaderRoundingModeRTEFloat16; + VkBool32 shaderRoundingModeRTEFloat32; + VkBool32 shaderRoundingModeRTEFloat64; + VkBool32 shaderRoundingModeRTZFloat16; + VkBool32 shaderRoundingModeRTZFloat32; + VkBool32 shaderRoundingModeRTZFloat64; + } VkPhysicalDeviceFloatControlsProperties; + + typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { + VkStructureType sType; + const void* pNext; + deUint32 bindingCount; + const VkDescriptorBindingFlags* pBindingFlags; + } VkDescriptorSetLayoutBindingFlagsCreateInfo; + + typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { + VkStructureType sType; + void* pNext; + VkBool32 shaderInputAttachmentArrayDynamicIndexing; + VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; + VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; + VkBool32 shaderUniformBufferArrayNonUniformIndexing; + VkBool32 shaderSampledImageArrayNonUniformIndexing; + VkBool32 shaderStorageBufferArrayNonUniformIndexing; + VkBool32 shaderStorageImageArrayNonUniformIndexing; + VkBool32 shaderInputAttachmentArrayNonUniformIndexing; + VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; + VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; + VkBool32 descriptorBindingUniformBufferUpdateAfterBind; + VkBool32 descriptorBindingSampledImageUpdateAfterBind; + VkBool32 descriptorBindingStorageImageUpdateAfterBind; + VkBool32 descriptorBindingStorageBufferUpdateAfterBind; + VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingUpdateUnusedWhilePending; + VkBool32 descriptorBindingPartiallyBound; + VkBool32 descriptorBindingVariableDescriptorCount; + VkBool32 runtimeDescriptorArray; + } VkPhysicalDeviceDescriptorIndexingFeatures; + + typedef struct VkPhysicalDeviceDescriptorIndexingProperties { + VkStructureType sType; + void* pNext; + deUint32 maxUpdateAfterBindDescriptorsInAllPools; + VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; + VkBool32 shaderSampledImageArrayNonUniformIndexingNative; + VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; + VkBool32 shaderStorageImageArrayNonUniformIndexingNative; + VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; + VkBool32 robustBufferAccessUpdateAfterBind; + VkBool32 quadDivergentImplicitLod; + deUint32 maxPerStageDescriptorUpdateAfterBindSamplers; + deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers; + deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers; + deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages; + deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages; + deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments; + deUint32 maxPerStageUpdateAfterBindResources; + deUint32 maxDescriptorSetUpdateAfterBindSamplers; + deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers; + deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; + deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers; + deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; + deUint32 maxDescriptorSetUpdateAfterBindSampledImages; + deUint32 maxDescriptorSetUpdateAfterBindStorageImages; + deUint32 maxDescriptorSetUpdateAfterBindInputAttachments; + } VkPhysicalDeviceDescriptorIndexingProperties; + + typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { + VkStructureType sType; + const void* pNext; + deUint32 descriptorSetCount; + const deUint32* pDescriptorCounts; + } VkDescriptorSetVariableDescriptorCountAllocateInfo; + + typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { + VkStructureType sType; + void* pNext; + deUint32 maxVariableDescriptorCount; + } VkDescriptorSetVariableDescriptorCountLayoutSupport; + + typedef struct VkSubpassDescriptionDepthStencilResolve { + VkStructureType sType; + const void* pNext; + VkResolveModeFlagBits depthResolveMode; + VkResolveModeFlagBits stencilResolveMode; + const VkAttachmentReference2* pDepthStencilResolveAttachment; + } VkSubpassDescriptionDepthStencilResolve; + + typedef struct VkPhysicalDeviceDepthStencilResolveProperties { + VkStructureType sType; + void* pNext; + VkResolveModeFlags supportedDepthResolveModes; + VkResolveModeFlags supportedStencilResolveModes; + VkBool32 independentResolveNone; + VkBool32 independentResolve; + } VkPhysicalDeviceDepthStencilResolveProperties; + + typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { + VkStructureType sType; + void* pNext; + VkBool32 scalarBlockLayout; + } VkPhysicalDeviceScalarBlockLayoutFeatures; + + typedef struct VkImageStencilUsageCreateInfo { + VkStructureType sType; + const void* pNext; + VkImageUsageFlags stencilUsage; + } VkImageStencilUsageCreateInfo; + + typedef struct VkSamplerReductionModeCreateInfo { + VkStructureType sType; + const void* pNext; + VkSamplerReductionMode reductionMode; + } VkSamplerReductionModeCreateInfo; + + typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { + VkStructureType sType; + void* pNext; + VkBool32 filterMinmaxSingleComponentFormats; + VkBool32 filterMinmaxImageComponentMapping; + } VkPhysicalDeviceSamplerFilterMinmaxProperties; + + typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { + VkStructureType sType; + void* pNext; + VkBool32 vulkanMemoryModel; + VkBool32 vulkanMemoryModelDeviceScope; + VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; + } VkPhysicalDeviceVulkanMemoryModelFeatures; + + typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { + VkStructureType sType; + void* pNext; + VkBool32 imagelessFramebuffer; + } VkPhysicalDeviceImagelessFramebufferFeatures; + + typedef struct VkFramebufferAttachmentImageInfo { + VkStructureType sType; + const void* pNext; + VkImageCreateFlags flags; + VkImageUsageFlags usage; + deUint32 width; + deUint32 height; + deUint32 layerCount; + deUint32 viewFormatCount; + const VkFormat* pViewFormats; + } VkFramebufferAttachmentImageInfo; + + typedef struct VkFramebufferAttachmentsCreateInfo { + VkStructureType sType; + const void* pNext; + deUint32 attachmentImageInfoCount; + const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; + } VkFramebufferAttachmentsCreateInfo; + + typedef struct VkRenderPassAttachmentBeginInfo { + VkStructureType sType; + const void* pNext; + deUint32 attachmentCount; + const VkImageView* pAttachments; + } VkRenderPassAttachmentBeginInfo; + + typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { + VkStructureType sType; + void* pNext; + VkBool32 uniformBufferStandardLayout; + } VkPhysicalDeviceUniformBufferStandardLayoutFeatures; + + typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { + VkStructureType sType; + void* pNext; + VkBool32 shaderSubgroupExtendedTypes; + } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; + + typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { + VkStructureType sType; + void* pNext; + VkBool32 separateDepthStencilLayouts; + } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; + + typedef struct VkAttachmentReferenceStencilLayout { + VkStructureType sType; + void* pNext; + VkImageLayout stencilLayout; + } VkAttachmentReferenceStencilLayout; + + typedef struct VkAttachmentDescriptionStencilLayout { + VkStructureType sType; + void* pNext; + VkImageLayout stencilInitialLayout; + VkImageLayout stencilFinalLayout; + } VkAttachmentDescriptionStencilLayout; + + typedef struct VkPhysicalDeviceHostQueryResetFeatures { + VkStructureType sType; + void* pNext; + VkBool32 hostQueryReset; + } VkPhysicalDeviceHostQueryResetFeatures; + + typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { + VkStructureType sType; + void* pNext; + VkBool32 timelineSemaphore; + } VkPhysicalDeviceTimelineSemaphoreFeatures; + + typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { + VkStructureType sType; + void* pNext; + deUint64 maxTimelineSemaphoreValueDifference; + } VkPhysicalDeviceTimelineSemaphoreProperties; + + typedef struct VkSemaphoreTypeCreateInfo { + VkStructureType sType; + const void* pNext; + VkSemaphoreType semaphoreType; + deUint64 initialValue; + } VkSemaphoreTypeCreateInfo; + + typedef struct VkTimelineSemaphoreSubmitInfo { + VkStructureType sType; + const void* pNext; + deUint32 waitSemaphoreValueCount; + const deUint64* pWaitSemaphoreValues; + deUint32 signalSemaphoreValueCount; + const deUint64* pSignalSemaphoreValues; + } VkTimelineSemaphoreSubmitInfo; + + typedef struct VkSemaphoreWaitInfo { + VkStructureType sType; + const void* pNext; + VkSemaphoreWaitFlags flags; + deUint32 semaphoreCount; + const VkSemaphore* pSemaphores; + const deUint64* pValues; + } VkSemaphoreWaitInfo; + + typedef struct VkSemaphoreSignalInfo { + VkStructureType sType; + const void* pNext; + VkSemaphore semaphore; + deUint64 value; + } VkSemaphoreSignalInfo; + + typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { + VkStructureType sType; + void* pNext; + VkBool32 bufferDeviceAddress; + VkBool32 bufferDeviceAddressCaptureReplay; + VkBool32 bufferDeviceAddressMultiDevice; + } VkPhysicalDeviceBufferDeviceAddressFeatures; + + typedef struct VkBufferDeviceAddressInfo { + VkStructureType sType; + const void* pNext; + VkBuffer buffer; + } VkBufferDeviceAddressInfo; + + typedef struct VkBufferOpaqueCaptureAddressCreateInfo { + VkStructureType sType; + const void* pNext; + deUint64 opaqueCaptureAddress; + } VkBufferOpaqueCaptureAddressCreateInfo; + + typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { + VkStructureType sType; + const void* pNext; + deUint64 opaqueCaptureAddress; + } VkMemoryOpaqueCaptureAddressAllocateInfo; + + typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { + VkStructureType sType; + const void* pNext; + VkDeviceMemory memory; + } VkDeviceMemoryOpaqueCaptureAddressInfo; + + typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); + typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); + typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); + typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); + typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); + typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); + typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount); + typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue); + typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout); + typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); + typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); + typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); + typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkBuffer countBuffer, + VkDeviceSize countBufferOffset, + deUint32 maxDrawCount, + deUint32 stride); + + VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkBuffer countBuffer, + VkDeviceSize countBufferOffset, + deUint32 maxDrawCount, + deUint32 stride); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2( + VkDevice device, + const VkRenderPassCreateInfo2* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkRenderPass* pRenderPass); + + VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2( + VkCommandBuffer commandBuffer, + const VkRenderPassBeginInfo* pRenderPassBegin, + const VkSubpassBeginInfo* pSubpassBeginInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2( + VkCommandBuffer commandBuffer, + const VkSubpassBeginInfo* pSubpassBeginInfo, + const VkSubpassEndInfo* pSubpassEndInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2( + VkCommandBuffer commandBuffer, + const VkSubpassEndInfo* pSubpassEndInfo); + + VKAPI_ATTR void VKAPI_CALL vkResetQueryPool( + VkDevice device, + VkQueryPool queryPool, + deUint32 firstQuery, + deUint32 queryCount); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue( + VkDevice device, + VkSemaphore semaphore, + deUint64* pValue); + + VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores( + VkDevice device, + const VkSemaphoreWaitInfo* pWaitInfo, + deUint64 timeout); + + VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore( + VkDevice device, + const VkSemaphoreSignalInfo* pSignalInfo); + + VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress( + VkDevice device, + const VkBufferDeviceAddressInfo* pInfo); + + VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress( + VkDevice device, + const VkBufferDeviceAddressInfo* pInfo); + + VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress( + VkDevice device, + const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); + #endif + + ++#define VK_VERSION_1_3 1 ++// Vulkan 1.3 version number ++#define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 ++ ++typedef deUint64 VkFlags64; ++VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) ++ ++typedef enum VkPipelineCreationFeedbackFlagBits { ++ VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001, ++ VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002, ++ VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004, ++ VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, ++ VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, ++ VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, ++ VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF ++} VkPipelineCreationFeedbackFlagBits; ++typedef VkFlags VkPipelineCreationFeedbackFlags; ++ ++typedef enum VkToolPurposeFlagBits { ++ VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001, ++ VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002, ++ VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004, ++ VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008, ++ VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010, ++ VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, ++ VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, ++ VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT, ++ VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT, ++ VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT, ++ VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, ++ VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, ++ VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF ++} VkToolPurposeFlagBits; ++typedef VkFlags VkToolPurposeFlags; ++ ++typedef enum VkPrivateDataSlotCreateFlagBits { ++ VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF ++} VkPrivateDataSlotCreateFlagBits; ++typedef VkFlags VkPrivateDataSlotCreateFlags; ++typedef VkFlags64 VkPipelineStageFlags2; ++ ++// Flag bits for VkPipelineStageFlagBits2 ++typedef VkFlags64 VkPipelineStageFlagBits2; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; ++#ifdef VK_ENABLE_BETA_EXTENSIONS ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; ++#endif ++#ifdef VK_ENABLE_BETA_EXTENSIONS ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; ++#endif ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; ++static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; ++ ++typedef VkFlags64 VkAccessFlags2; ++ ++// Flag bits for VkAccessFlagBits2 ++typedef VkFlags64 VkAccessFlagBits2; ++static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; ++#ifdef VK_ENABLE_BETA_EXTENSIONS ++static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; ++#endif ++#ifdef VK_ENABLE_BETA_EXTENSIONS ++static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; ++#endif ++#ifdef VK_ENABLE_BETA_EXTENSIONS ++static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; ++#endif ++#ifdef VK_ENABLE_BETA_EXTENSIONS ++static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; ++#endif ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; ++static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; ++ ++ ++typedef enum VkSubmitFlagBits { ++ VK_SUBMIT_PROTECTED_BIT = 0x00000001, ++ VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT, ++ VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF ++} VkSubmitFlagBits; ++typedef VkFlags VkSubmitFlags; ++ ++typedef enum VkRenderingFlagBits { ++ VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001, ++ VK_RENDERING_SUSPENDING_BIT = 0x00000002, ++ VK_RENDERING_RESUMING_BIT = 0x00000004, ++ VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, ++ VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, ++ VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT, ++ VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF ++} VkRenderingFlagBits; ++typedef VkFlags VkRenderingFlags; ++typedef VkFlags64 VkFormatFeatureFlags2; ++ ++// Flag bits for VkFormatFeatureFlagBits2 ++typedef VkFlags64 VkFormatFeatureFlagBits2; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; ++#ifdef VK_ENABLE_BETA_EXTENSIONS ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; ++#endif ++#ifdef VK_ENABLE_BETA_EXTENSIONS ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; ++#endif ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; ++#ifdef VK_ENABLE_BETA_EXTENSIONS ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; ++#endif ++#ifdef VK_ENABLE_BETA_EXTENSIONS ++static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; ++#endif ++ ++typedef struct VkPhysicalDeviceVulkan13Features { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 robustImageAccess; ++ VkBool32 inlineUniformBlock; ++ VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; ++ VkBool32 pipelineCreationCacheControl; ++ VkBool32 privateData; ++ VkBool32 shaderDemoteToHelperInvocation; ++ VkBool32 shaderTerminateInvocation; ++ VkBool32 subgroupSizeControl; ++ VkBool32 computeFullSubgroups; ++ VkBool32 synchronization2; ++ VkBool32 textureCompressionASTC_HDR; ++ VkBool32 shaderZeroInitializeWorkgroupMemory; ++ VkBool32 dynamicRendering; ++ VkBool32 shaderIntegerDotProduct; ++ VkBool32 maintenance4; ++} VkPhysicalDeviceVulkan13Features; ++ ++typedef struct VkPhysicalDeviceVulkan13Properties { ++ VkStructureType sType; ++ void* pNext; ++ deUint32 minSubgroupSize; ++ deUint32 maxSubgroupSize; ++ deUint32 maxComputeWorkgroupSubgroups; ++ VkShaderStageFlags requiredSubgroupSizeStages; ++ deUint32 maxInlineUniformBlockSize; ++ deUint32 maxPerStageDescriptorInlineUniformBlocks; ++ deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; ++ deUint32 maxDescriptorSetInlineUniformBlocks; ++ deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks; ++ deUint32 maxInlineUniformTotalSize; ++ VkBool32 integerDotProduct8BitUnsignedAccelerated; ++ VkBool32 integerDotProduct8BitSignedAccelerated; ++ VkBool32 integerDotProduct8BitMixedSignednessAccelerated; ++ VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; ++ VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; ++ VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; ++ VkBool32 integerDotProduct16BitUnsignedAccelerated; ++ VkBool32 integerDotProduct16BitSignedAccelerated; ++ VkBool32 integerDotProduct16BitMixedSignednessAccelerated; ++ VkBool32 integerDotProduct32BitUnsignedAccelerated; ++ VkBool32 integerDotProduct32BitSignedAccelerated; ++ VkBool32 integerDotProduct32BitMixedSignednessAccelerated; ++ VkBool32 integerDotProduct64BitUnsignedAccelerated; ++ VkBool32 integerDotProduct64BitSignedAccelerated; ++ VkBool32 integerDotProduct64BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; ++ VkDeviceSize storageTexelBufferOffsetAlignmentBytes; ++ VkBool32 storageTexelBufferOffsetSingleTexelAlignment; ++ VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; ++ VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; ++ VkDeviceSize maxBufferSize; ++} VkPhysicalDeviceVulkan13Properties; ++ ++typedef struct VkPipelineCreationFeedback { ++ VkPipelineCreationFeedbackFlags flags; ++ deUint64 duration; ++} VkPipelineCreationFeedback; ++ ++typedef struct VkPipelineCreationFeedbackCreateInfo { ++ VkStructureType sType; ++ const void* pNext; ++ VkPipelineCreationFeedback* pPipelineCreationFeedback; ++ deUint32 pipelineStageCreationFeedbackCount; ++ VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks; ++} VkPipelineCreationFeedbackCreateInfo; ++ ++typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 shaderTerminateInvocation; ++} VkPhysicalDeviceShaderTerminateInvocationFeatures; ++ ++typedef struct VkPhysicalDeviceToolProperties { ++ VkStructureType sType; ++ void* pNext; ++ char name[VK_MAX_EXTENSION_NAME_SIZE]; ++ char version[VK_MAX_EXTENSION_NAME_SIZE]; ++ VkToolPurposeFlags purposes; ++ char description[VK_MAX_DESCRIPTION_SIZE]; ++ char layer[VK_MAX_EXTENSION_NAME_SIZE]; ++} VkPhysicalDeviceToolProperties; ++ ++typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 shaderDemoteToHelperInvocation; ++} VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures; ++ ++typedef struct VkPhysicalDevicePrivateDataFeatures { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 privateData; ++} VkPhysicalDevicePrivateDataFeatures; ++ ++typedef struct VkDevicePrivateDataCreateInfo { ++ VkStructureType sType; ++ const void* pNext; ++ deUint32 privateDataSlotRequestCount; ++} VkDevicePrivateDataCreateInfo; ++ ++typedef struct VkPrivateDataSlotCreateInfo { ++ VkStructureType sType; ++ const void* pNext; ++ VkPrivateDataSlotCreateFlags flags; ++} VkPrivateDataSlotCreateInfo; ++ ++typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 pipelineCreationCacheControl; ++} VkPhysicalDevicePipelineCreationCacheControlFeatures; ++ ++typedef struct VkMemoryBarrier2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkPipelineStageFlags2 srcStageMask; ++ VkAccessFlags2 srcAccessMask; ++ VkPipelineStageFlags2 dstStageMask; ++ VkAccessFlags2 dstAccessMask; ++} VkMemoryBarrier2; ++ ++typedef struct VkBufferMemoryBarrier2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkPipelineStageFlags2 srcStageMask; ++ VkAccessFlags2 srcAccessMask; ++ VkPipelineStageFlags2 dstStageMask; ++ VkAccessFlags2 dstAccessMask; ++ deUint32 srcQueueFamilyIndex; ++ deUint32 dstQueueFamilyIndex; ++ VkBuffer buffer; ++ VkDeviceSize offset; ++ VkDeviceSize size; ++} VkBufferMemoryBarrier2; ++ ++typedef struct VkImageMemoryBarrier2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkPipelineStageFlags2 srcStageMask; ++ VkAccessFlags2 srcAccessMask; ++ VkPipelineStageFlags2 dstStageMask; ++ VkAccessFlags2 dstAccessMask; ++ VkImageLayout oldLayout; ++ VkImageLayout newLayout; ++ deUint32 srcQueueFamilyIndex; ++ deUint32 dstQueueFamilyIndex; ++ VkImage image; ++ VkImageSubresourceRange subresourceRange; ++} VkImageMemoryBarrier2; ++ ++typedef struct VkDependencyInfo { ++ VkStructureType sType; ++ const void* pNext; ++ VkDependencyFlags dependencyFlags; ++ deUint32 memoryBarrierCount; ++ const VkMemoryBarrier2* pMemoryBarriers; ++ deUint32 bufferMemoryBarrierCount; ++ const VkBufferMemoryBarrier2* pBufferMemoryBarriers; ++ deUint32 imageMemoryBarrierCount; ++ const VkImageMemoryBarrier2* pImageMemoryBarriers; ++} VkDependencyInfo; ++ ++typedef struct VkSemaphoreSubmitInfo { ++ VkStructureType sType; ++ const void* pNext; ++ VkSemaphore semaphore; ++ deUint64 value; ++ VkPipelineStageFlags2 stageMask; ++ deUint32 deviceIndex; ++} VkSemaphoreSubmitInfo; ++ ++typedef struct VkCommandBufferSubmitInfo { ++ VkStructureType sType; ++ const void* pNext; ++ VkCommandBuffer commandBuffer; ++ deUint32 deviceMask; ++} VkCommandBufferSubmitInfo; ++ ++typedef struct VkSubmitInfo2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkSubmitFlags flags; ++ deUint32 waitSemaphoreInfoCount; ++ const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos; ++ deUint32 commandBufferInfoCount; ++ const VkCommandBufferSubmitInfo* pCommandBufferInfos; ++ deUint32 signalSemaphoreInfoCount; ++ const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos; ++} VkSubmitInfo2; ++ ++typedef struct VkPhysicalDeviceSynchronization2Features { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 synchronization2; ++} VkPhysicalDeviceSynchronization2Features; ++ ++typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 shaderZeroInitializeWorkgroupMemory; ++} VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures; ++ ++typedef struct VkPhysicalDeviceImageRobustnessFeatures { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 robustImageAccess; ++} VkPhysicalDeviceImageRobustnessFeatures; ++ ++typedef struct VkBufferCopy2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkDeviceSize srcOffset; ++ VkDeviceSize dstOffset; ++ VkDeviceSize size; ++} VkBufferCopy2; ++ ++typedef struct VkCopyBufferInfo2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkBuffer srcBuffer; ++ VkBuffer dstBuffer; ++ deUint32 regionCount; ++ const VkBufferCopy2* pRegions; ++} VkCopyBufferInfo2; ++ ++typedef struct VkImageCopy2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkImageSubresourceLayers srcSubresource; ++ VkOffset3D srcOffset; ++ VkImageSubresourceLayers dstSubresource; ++ VkOffset3D dstOffset; ++ VkExtent3D extent; ++} VkImageCopy2; ++ ++typedef struct VkCopyImageInfo2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkImage srcImage; ++ VkImageLayout srcImageLayout; ++ VkImage dstImage; ++ VkImageLayout dstImageLayout; ++ deUint32 regionCount; ++ const VkImageCopy2* pRegions; ++} VkCopyImageInfo2; ++ ++typedef struct VkBufferImageCopy2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkDeviceSize bufferOffset; ++ deUint32 bufferRowLength; ++ deUint32 bufferImageHeight; ++ VkImageSubresourceLayers imageSubresource; ++ VkOffset3D imageOffset; ++ VkExtent3D imageExtent; ++} VkBufferImageCopy2; ++ ++typedef struct VkCopyBufferToImageInfo2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkBuffer srcBuffer; ++ VkImage dstImage; ++ VkImageLayout dstImageLayout; ++ deUint32 regionCount; ++ const VkBufferImageCopy2* pRegions; ++} VkCopyBufferToImageInfo2; ++ ++typedef struct VkCopyImageToBufferInfo2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkImage srcImage; ++ VkImageLayout srcImageLayout; ++ VkBuffer dstBuffer; ++ deUint32 regionCount; ++ const VkBufferImageCopy2* pRegions; ++} VkCopyImageToBufferInfo2; ++ ++typedef struct VkImageBlit2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkImageSubresourceLayers srcSubresource; ++ VkOffset3D srcOffsets[2]; ++ VkImageSubresourceLayers dstSubresource; ++ VkOffset3D dstOffsets[2]; ++} VkImageBlit2; ++ ++typedef struct VkBlitImageInfo2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkImage srcImage; ++ VkImageLayout srcImageLayout; ++ VkImage dstImage; ++ VkImageLayout dstImageLayout; ++ deUint32 regionCount; ++ const VkImageBlit2* pRegions; ++ VkFilter filter; ++} VkBlitImageInfo2; ++ ++typedef struct VkImageResolve2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkImageSubresourceLayers srcSubresource; ++ VkOffset3D srcOffset; ++ VkImageSubresourceLayers dstSubresource; ++ VkOffset3D dstOffset; ++ VkExtent3D extent; ++} VkImageResolve2; ++ ++typedef struct VkResolveImageInfo2 { ++ VkStructureType sType; ++ const void* pNext; ++ VkImage srcImage; ++ VkImageLayout srcImageLayout; ++ VkImage dstImage; ++ VkImageLayout dstImageLayout; ++ deUint32 regionCount; ++ const VkImageResolve2* pRegions; ++} VkResolveImageInfo2; ++ ++typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 subgroupSizeControl; ++ VkBool32 computeFullSubgroups; ++} VkPhysicalDeviceSubgroupSizeControlFeatures; ++ ++typedef struct VkPhysicalDeviceSubgroupSizeControlProperties { ++ VkStructureType sType; ++ void* pNext; ++ deUint32 minSubgroupSize; ++ deUint32 maxSubgroupSize; ++ deUint32 maxComputeWorkgroupSubgroups; ++ VkShaderStageFlags requiredSubgroupSizeStages; ++} VkPhysicalDeviceSubgroupSizeControlProperties; ++ ++typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo { ++ VkStructureType sType; ++ void* pNext; ++ deUint32 requiredSubgroupSize; ++} VkPipelineShaderStageRequiredSubgroupSizeCreateInfo; ++ ++typedef struct VkPhysicalDeviceInlineUniformBlockFeatures { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 inlineUniformBlock; ++ VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; ++} VkPhysicalDeviceInlineUniformBlockFeatures; ++ ++typedef struct VkPhysicalDeviceInlineUniformBlockProperties { ++ VkStructureType sType; ++ void* pNext; ++ deUint32 maxInlineUniformBlockSize; ++ deUint32 maxPerStageDescriptorInlineUniformBlocks; ++ deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; ++ deUint32 maxDescriptorSetInlineUniformBlocks; ++ deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks; ++} VkPhysicalDeviceInlineUniformBlockProperties; ++ ++typedef struct VkWriteDescriptorSetInlineUniformBlock { ++ VkStructureType sType; ++ const void* pNext; ++ deUint32 dataSize; ++ const void* pData; ++} VkWriteDescriptorSetInlineUniformBlock; ++ ++typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo { ++ VkStructureType sType; ++ const void* pNext; ++ deUint32 maxInlineUniformBlockBindings; ++} VkDescriptorPoolInlineUniformBlockCreateInfo; ++ ++typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 textureCompressionASTC_HDR; ++} VkPhysicalDeviceTextureCompressionASTCHDRFeatures; ++ ++typedef struct VkRenderingAttachmentInfo { ++ VkStructureType sType; ++ const void* pNext; ++ VkImageView imageView; ++ VkImageLayout imageLayout; ++ VkResolveModeFlagBits resolveMode; ++ VkImageView resolveImageView; ++ VkImageLayout resolveImageLayout; ++ VkAttachmentLoadOp loadOp; ++ VkAttachmentStoreOp storeOp; ++ VkClearValue clearValue; ++} VkRenderingAttachmentInfo; ++ ++typedef struct VkRenderingInfo { ++ VkStructureType sType; ++ const void* pNext; ++ VkRenderingFlags flags; ++ VkRect2D renderArea; ++ deUint32 layerCount; ++ deUint32 viewMask; ++ deUint32 colorAttachmentCount; ++ const VkRenderingAttachmentInfo* pColorAttachments; ++ const VkRenderingAttachmentInfo* pDepthAttachment; ++ const VkRenderingAttachmentInfo* pStencilAttachment; ++} VkRenderingInfo; ++ ++typedef struct VkPipelineRenderingCreateInfo { ++ VkStructureType sType; ++ const void* pNext; ++ deUint32 viewMask; ++ deUint32 colorAttachmentCount; ++ const VkFormat* pColorAttachmentFormats; ++ VkFormat depthAttachmentFormat; ++ VkFormat stencilAttachmentFormat; ++} VkPipelineRenderingCreateInfo; ++ ++typedef struct VkPhysicalDeviceDynamicRenderingFeatures { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 dynamicRendering; ++} VkPhysicalDeviceDynamicRenderingFeatures; ++ ++typedef struct VkCommandBufferInheritanceRenderingInfo { ++ VkStructureType sType; ++ const void* pNext; ++ VkRenderingFlags flags; ++ deUint32 viewMask; ++ deUint32 colorAttachmentCount; ++ const VkFormat* pColorAttachmentFormats; ++ VkFormat depthAttachmentFormat; ++ VkFormat stencilAttachmentFormat; ++ VkSampleCountFlagBits rasterizationSamples; ++} VkCommandBufferInheritanceRenderingInfo; ++ ++typedef VkRenderingInfo VkRenderingInfoKHR; ++ ++typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 shaderIntegerDotProduct; ++} VkPhysicalDeviceShaderIntegerDotProductFeatures; ++ ++typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 integerDotProduct8BitUnsignedAccelerated; ++ VkBool32 integerDotProduct8BitSignedAccelerated; ++ VkBool32 integerDotProduct8BitMixedSignednessAccelerated; ++ VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; ++ VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; ++ VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; ++ VkBool32 integerDotProduct16BitUnsignedAccelerated; ++ VkBool32 integerDotProduct16BitSignedAccelerated; ++ VkBool32 integerDotProduct16BitMixedSignednessAccelerated; ++ VkBool32 integerDotProduct32BitUnsignedAccelerated; ++ VkBool32 integerDotProduct32BitSignedAccelerated; ++ VkBool32 integerDotProduct32BitMixedSignednessAccelerated; ++ VkBool32 integerDotProduct64BitUnsignedAccelerated; ++ VkBool32 integerDotProduct64BitSignedAccelerated; ++ VkBool32 integerDotProduct64BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; ++ VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; ++} VkPhysicalDeviceShaderIntegerDotProductProperties; ++ ++typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties { ++ VkStructureType sType; ++ void* pNext; ++ VkDeviceSize storageTexelBufferOffsetAlignmentBytes; ++ VkBool32 storageTexelBufferOffsetSingleTexelAlignment; ++ VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; ++ VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; ++} VkPhysicalDeviceTexelBufferAlignmentProperties; ++ ++typedef struct VkFormatProperties3 { ++ VkStructureType sType; ++ void* pNext; ++ VkFormatFeatureFlags2 linearTilingFeatures; ++ VkFormatFeatureFlags2 optimalTilingFeatures; ++ VkFormatFeatureFlags2 bufferFeatures; ++} VkFormatProperties3; ++ ++typedef struct VkPhysicalDeviceMaintenance4Features { ++ VkStructureType sType; ++ void* pNext; ++ VkBool32 maintenance4; ++} VkPhysicalDeviceMaintenance4Features; ++ ++typedef struct VkPhysicalDeviceMaintenance4Properties { ++ VkStructureType sType; ++ void* pNext; ++ VkDeviceSize maxBufferSize; ++} VkPhysicalDeviceMaintenance4Properties; ++ ++typedef struct VkDeviceBufferMemoryRequirements { ++ VkStructureType sType; ++ const void* pNext; ++ const VkBufferCreateInfo* pCreateInfo; ++} VkDeviceBufferMemoryRequirements; ++ ++typedef struct VkDeviceImageMemoryRequirements { ++ VkStructureType sType; ++ const void* pNext; ++ const VkImageCreateInfo* pCreateInfo; ++ VkImageAspectFlagBits planeAspect; ++} VkDeviceImageMemoryRequirements; ++ ++typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); ++typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); ++typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); ++typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64 data); ++typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64* pData); ++typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); ++typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); ++typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query); ++typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); ++typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer); ++typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); ++typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); ++typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); ++typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports); ++typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors); ++typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides); ++typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); ++typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); ++typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); ++typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); ++typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); ++typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); ++typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); ++typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); ++typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); ++typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); ++typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); ++typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); ++ ++#ifndef VK_NO_PROTOTYPES ++VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties( ++ VkPhysicalDevice physicalDevice, ++ deUint32* pToolCount, ++ VkPhysicalDeviceToolProperties* pToolProperties); ++ ++VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot( ++ VkDevice device, ++ const VkPrivateDataSlotCreateInfo* pCreateInfo, ++ const VkAllocationCallbacks* pAllocator, ++ VkPrivateDataSlot* pPrivateDataSlot); ++ ++VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot( ++ VkDevice device, ++ VkPrivateDataSlot privateDataSlot, ++ const VkAllocationCallbacks* pAllocator); ++ ++VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData( ++ VkDevice device, ++ VkObjectType objectType, ++ deUint64 objectHandle, ++ VkPrivateDataSlot privateDataSlot, ++ deUint64 data); ++ ++VKAPI_ATTR void VKAPI_CALL vkGetPrivateData( ++ VkDevice device, ++ VkObjectType objectType, ++ deUint64 objectHandle, ++ VkPrivateDataSlot privateDataSlot, ++ deUint64* pData); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2( ++ VkCommandBuffer commandBuffer, ++ VkEvent event, ++ const VkDependencyInfo* pDependencyInfo); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2( ++ VkCommandBuffer commandBuffer, ++ VkEvent event, ++ VkPipelineStageFlags2 stageMask); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2( ++ VkCommandBuffer commandBuffer, ++ deUint32 eventCount, ++ const VkEvent* pEvents, ++ const VkDependencyInfo* pDependencyInfos); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2( ++ VkCommandBuffer commandBuffer, ++ const VkDependencyInfo* pDependencyInfo); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2( ++ VkCommandBuffer commandBuffer, ++ VkPipelineStageFlags2 stage, ++ VkQueryPool queryPool, ++ deUint32 query); ++ ++VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2( ++ VkQueue queue, ++ deUint32 submitCount, ++ const VkSubmitInfo2* pSubmits, ++ VkFence fence); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2( ++ VkCommandBuffer commandBuffer, ++ const VkCopyBufferInfo2* pCopyBufferInfo); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2( ++ VkCommandBuffer commandBuffer, ++ const VkCopyImageInfo2* pCopyImageInfo); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2( ++ VkCommandBuffer commandBuffer, ++ const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2( ++ VkCommandBuffer commandBuffer, ++ const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2( ++ VkCommandBuffer commandBuffer, ++ const VkBlitImageInfo2* pBlitImageInfo); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2( ++ VkCommandBuffer commandBuffer, ++ const VkResolveImageInfo2* pResolveImageInfo); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering( ++ VkCommandBuffer commandBuffer, ++ const VkRenderingInfoKHR* pRenderingInfo); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering( ++ VkCommandBuffer commandBuffer); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode( ++ VkCommandBuffer commandBuffer, ++ VkCullModeFlags cullMode); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace( ++ VkCommandBuffer commandBuffer, ++ VkFrontFace frontFace); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology( ++ VkCommandBuffer commandBuffer, ++ VkPrimitiveTopology primitiveTopology); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount( ++ VkCommandBuffer commandBuffer, ++ deUint32 viewportCount, ++ const VkViewport* pViewports); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount( ++ VkCommandBuffer commandBuffer, ++ deUint32 scissorCount, ++ const VkRect2D* pScissors); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2( ++ VkCommandBuffer commandBuffer, ++ deUint32 firstBinding, ++ deUint32 bindingCount, ++ const VkBuffer* pBuffers, ++ const VkDeviceSize* pOffsets, ++ const VkDeviceSize* pSizes, ++ const VkDeviceSize* pStrides); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable( ++ VkCommandBuffer commandBuffer, ++ VkBool32 depthTestEnable); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable( ++ VkCommandBuffer commandBuffer, ++ VkBool32 depthWriteEnable); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp( ++ VkCommandBuffer commandBuffer, ++ VkCompareOp depthCompareOp); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable( ++ VkCommandBuffer commandBuffer, ++ VkBool32 depthBoundsTestEnable); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable( ++ VkCommandBuffer commandBuffer, ++ VkBool32 stencilTestEnable); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp( ++ VkCommandBuffer commandBuffer, ++ VkStencilFaceFlags faceMask, ++ VkStencilOp failOp, ++ VkStencilOp passOp, ++ VkStencilOp depthFailOp, ++ VkCompareOp compareOp); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable( ++ VkCommandBuffer commandBuffer, ++ VkBool32 rasterizerDiscardEnable); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable( ++ VkCommandBuffer commandBuffer, ++ VkBool32 depthBiasEnable); ++ ++VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable( ++ VkCommandBuffer commandBuffer, ++ VkBool32 primitiveRestartEnable); ++ ++VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements( ++ VkDevice device, ++ const VkDeviceBufferMemoryRequirements* pInfo, ++ VkMemoryRequirements2* pMemoryRequirements); ++ ++VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements( ++ VkDevice device, ++ const VkDeviceImageMemoryRequirements* pInfo, ++ VkMemoryRequirements2* pMemoryRequirements); ++ ++VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements( ++ VkDevice device, ++ const VkDeviceImageMemoryRequirements* pInfo, ++ deUint32* pSparseMemoryRequirementCount, ++ VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); ++#endif ++ ++ + #define VK_KHR_surface 1 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) + #define VK_KHR_SURFACE_SPEC_VERSION 25 + #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" + + typedef enum VkPresentModeKHR { + VK_PRESENT_MODE_IMMEDIATE_KHR = 0, + VK_PRESENT_MODE_MAILBOX_KHR = 1, + VK_PRESENT_MODE_FIFO_KHR = 2, + VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, + VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, + VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, + VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF + } VkPresentModeKHR; + + typedef enum VkColorSpaceKHR { + VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, + VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, + VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, + VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, + VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, + VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, + VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, + VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, + VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, + VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, + VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, + VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, + VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, + VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, + VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, + VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000, + VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, + VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF + } VkColorSpaceKHR; + + typedef enum VkSurfaceTransformFlagBitsKHR { + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF + } VkSurfaceTransformFlagBitsKHR; + + typedef enum VkCompositeAlphaFlagBitsKHR { + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF + } VkCompositeAlphaFlagBitsKHR; + typedef VkFlags VkCompositeAlphaFlagsKHR; + typedef VkFlags VkSurfaceTransformFlagsKHR; + typedef struct VkSurfaceCapabilitiesKHR { + deUint32 minImageCount; + deUint32 maxImageCount; + VkExtent2D currentExtent; + VkExtent2D minImageExtent; + VkExtent2D maxImageExtent; + deUint32 maxImageArrayLayers; + VkSurfaceTransformFlagsKHR supportedTransforms; + VkSurfaceTransformFlagBitsKHR currentTransform; + VkCompositeAlphaFlagsKHR supportedCompositeAlpha; + VkImageUsageFlags supportedUsageFlags; + } VkSurfaceCapabilitiesKHR; + + typedef struct VkSurfaceFormatKHR { + VkFormat format; + VkColorSpaceKHR colorSpace; + } VkSurfaceFormatKHR; + + typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( + VkInstance instance, + VkSurfaceKHR surface, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( + VkPhysicalDevice physicalDevice, + deUint32 queueFamilyIndex, + VkSurfaceKHR surface, + VkBool32* pSupported); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( + VkPhysicalDevice physicalDevice, + VkSurfaceKHR surface, + VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( + VkPhysicalDevice physicalDevice, + VkSurfaceKHR surface, + deUint32* pSurfaceFormatCount, + VkSurfaceFormatKHR* pSurfaceFormats); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( + VkPhysicalDevice physicalDevice, + VkSurfaceKHR surface, + deUint32* pPresentModeCount, + VkPresentModeKHR* pPresentModes); + #endif + + + #define VK_KHR_swapchain 1 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) + #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 + #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" + + typedef enum VkSwapchainCreateFlagBitsKHR { + VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, + VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, + VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, + VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF + } VkSwapchainCreateFlagBitsKHR; + typedef VkFlags VkSwapchainCreateFlagsKHR; + + typedef enum VkDeviceGroupPresentModeFlagBitsKHR { + VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, + VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, + VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, + VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, + VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF + } VkDeviceGroupPresentModeFlagBitsKHR; + typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; + typedef struct VkSwapchainCreateInfoKHR { + VkStructureType sType; + const void* pNext; + VkSwapchainCreateFlagsKHR flags; + VkSurfaceKHR surface; + deUint32 minImageCount; + VkFormat imageFormat; + VkColorSpaceKHR imageColorSpace; + VkExtent2D imageExtent; + deUint32 imageArrayLayers; + VkImageUsageFlags imageUsage; + VkSharingMode imageSharingMode; + deUint32 queueFamilyIndexCount; + const deUint32* pQueueFamilyIndices; + VkSurfaceTransformFlagBitsKHR preTransform; + VkCompositeAlphaFlagBitsKHR compositeAlpha; + VkPresentModeKHR presentMode; + VkBool32 clipped; + VkSwapchainKHR oldSwapchain; + } VkSwapchainCreateInfoKHR; + + typedef struct VkPresentInfoKHR { + VkStructureType sType; + const void* pNext; + deUint32 waitSemaphoreCount; + const VkSemaphore* pWaitSemaphores; + deUint32 swapchainCount; + const VkSwapchainKHR* pSwapchains; + const deUint32* pImageIndices; + VkResult* pResults; + } VkPresentInfoKHR; + + typedef struct VkImageSwapchainCreateInfoKHR { + VkStructureType sType; + const void* pNext; + VkSwapchainKHR swapchain; + } VkImageSwapchainCreateInfoKHR; + + typedef struct VkBindImageMemorySwapchainInfoKHR { + VkStructureType sType; + const void* pNext; + VkSwapchainKHR swapchain; + deUint32 imageIndex; + } VkBindImageMemorySwapchainInfoKHR; + + typedef struct VkAcquireNextImageInfoKHR { + VkStructureType sType; + const void* pNext; + VkSwapchainKHR swapchain; + deUint64 timeout; + VkSemaphore semaphore; + VkFence fence; + deUint32 deviceMask; + } VkAcquireNextImageInfoKHR; + + typedef struct VkDeviceGroupPresentCapabilitiesKHR { + VkStructureType sType; + void* pNext; + deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE]; + VkDeviceGroupPresentModeFlagsKHR modes; + } VkDeviceGroupPresentCapabilitiesKHR; + + typedef struct VkDeviceGroupPresentInfoKHR { + VkStructureType sType; + const void* pNext; + deUint32 swapchainCount; + const deUint32* pDeviceMasks; + VkDeviceGroupPresentModeFlagBitsKHR mode; + } VkDeviceGroupPresentInfoKHR; + + typedef struct VkDeviceGroupSwapchainCreateInfoKHR { + VkStructureType sType; + const void* pNext; + VkDeviceGroupPresentModeFlagsKHR modes; + } VkDeviceGroupSwapchainCreateInfoKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); + typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages); + typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex); + typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); + typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); + typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects); + typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( + VkDevice device, + const VkSwapchainCreateInfoKHR* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkSwapchainKHR* pSwapchain); + + VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( + VkDevice device, + VkSwapchainKHR swapchain, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( + VkDevice device, + VkSwapchainKHR swapchain, + deUint32* pSwapchainImageCount, + VkImage* pSwapchainImages); + + VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( + VkDevice device, + VkSwapchainKHR swapchain, + deUint64 timeout, + VkSemaphore semaphore, + VkFence fence, + deUint32* pImageIndex); + + VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( + VkQueue queue, + const VkPresentInfoKHR* pPresentInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR( + VkDevice device, + VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR( + VkDevice device, + VkSurfaceKHR surface, + VkDeviceGroupPresentModeFlagsKHR* pModes); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR( + VkPhysicalDevice physicalDevice, + VkSurfaceKHR surface, + deUint32* pRectCount, + VkRect2D* pRects); + + VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR( + VkDevice device, + const VkAcquireNextImageInfoKHR* pAcquireInfo, + deUint32* pImageIndex); + #endif + + + #define VK_KHR_display 1 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) + #define VK_KHR_DISPLAY_SPEC_VERSION 23 + #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" + typedef VkFlags VkDisplayModeCreateFlagsKHR; + + typedef enum VkDisplayPlaneAlphaFlagBitsKHR { + VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, + VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, + VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, + VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, + VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF + } VkDisplayPlaneAlphaFlagBitsKHR; + typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; + typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; + typedef struct VkDisplayModeParametersKHR { + VkExtent2D visibleRegion; + deUint32 refreshRate; + } VkDisplayModeParametersKHR; + + typedef struct VkDisplayModeCreateInfoKHR { + VkStructureType sType; + const void* pNext; + VkDisplayModeCreateFlagsKHR flags; + VkDisplayModeParametersKHR parameters; + } VkDisplayModeCreateInfoKHR; + + typedef struct VkDisplayModePropertiesKHR { + VkDisplayModeKHR displayMode; + VkDisplayModeParametersKHR parameters; + } VkDisplayModePropertiesKHR; + + typedef struct VkDisplayPlaneCapabilitiesKHR { + VkDisplayPlaneAlphaFlagsKHR supportedAlpha; + VkOffset2D minSrcPosition; + VkOffset2D maxSrcPosition; + VkExtent2D minSrcExtent; + VkExtent2D maxSrcExtent; + VkOffset2D minDstPosition; + VkOffset2D maxDstPosition; + VkExtent2D minDstExtent; + VkExtent2D maxDstExtent; + } VkDisplayPlaneCapabilitiesKHR; + + typedef struct VkDisplayPlanePropertiesKHR { + VkDisplayKHR currentDisplay; + deUint32 currentStackIndex; + } VkDisplayPlanePropertiesKHR; + + typedef struct VkDisplayPropertiesKHR { + VkDisplayKHR display; + const char* displayName; + VkExtent2D physicalDimensions; + VkExtent2D physicalResolution; + VkSurfaceTransformFlagsKHR supportedTransforms; + VkBool32 planeReorderPossible; + VkBool32 persistentContent; + } VkDisplayPropertiesKHR; + + typedef struct VkDisplaySurfaceCreateInfoKHR { + VkStructureType sType; + const void* pNext; + VkDisplaySurfaceCreateFlagsKHR flags; + VkDisplayModeKHR displayMode; + deUint32 planeIndex; + deUint32 planeStackIndex; + VkSurfaceTransformFlagBitsKHR transform; + float globalAlpha; + VkDisplayPlaneAlphaFlagBitsKHR alphaMode; + VkExtent2D imageExtent; + } VkDisplaySurfaceCreateInfoKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties); + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); + typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays); + typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); + typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); + typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); + typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( + VkPhysicalDevice physicalDevice, + deUint32* pPropertyCount, + VkDisplayPropertiesKHR* pProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( + VkPhysicalDevice physicalDevice, + deUint32* pPropertyCount, + VkDisplayPlanePropertiesKHR* pProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( + VkPhysicalDevice physicalDevice, + deUint32 planeIndex, + deUint32* pDisplayCount, + VkDisplayKHR* pDisplays); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( + VkPhysicalDevice physicalDevice, + VkDisplayKHR display, + deUint32* pPropertyCount, + VkDisplayModePropertiesKHR* pProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( + VkPhysicalDevice physicalDevice, + VkDisplayKHR display, + const VkDisplayModeCreateInfoKHR* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkDisplayModeKHR* pMode); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( + VkPhysicalDevice physicalDevice, + VkDisplayModeKHR mode, + deUint32 planeIndex, + VkDisplayPlaneCapabilitiesKHR* pCapabilities); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( + VkInstance instance, + const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkSurfaceKHR* pSurface); + #endif + + + #define VK_KHR_display_swapchain 1 + #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 + #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" + typedef struct VkDisplayPresentInfoKHR { + VkStructureType sType; + const void* pNext; + VkRect2D srcRect; + VkRect2D dstRect; + VkBool32 persistent; + } VkDisplayPresentInfoKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( + VkDevice device, + deUint32 swapchainCount, + const VkSwapchainCreateInfoKHR* pCreateInfos, + const VkAllocationCallbacks* pAllocator, + VkSwapchainKHR* pSwapchains); + #endif + + + #define VK_KHR_sampler_mirror_clamp_to_edge 1 + #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3 + #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" + + + #define VK_KHR_dynamic_rendering 1 + #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 + #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" ++typedef VkRenderingFlags VkRenderingFlagsKHR; + -typedef enum VkRenderingFlagBitsKHR { - VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 0x00000001, - VK_RENDERING_SUSPENDING_BIT_KHR = 0x00000002, - VK_RENDERING_RESUMING_BIT_KHR = 0x00000004, - VK_RENDERING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF -} VkRenderingFlagBitsKHR; -typedef VkFlags VkRenderingFlagsKHR; -typedef struct VkRenderingAttachmentInfoKHR { - VkStructureType sType; - const void* pNext; - VkImageView imageView; - VkImageLayout imageLayout; - VkResolveModeFlagBits resolveMode; - VkImageView resolveImageView; - VkImageLayout resolveImageLayout; - VkAttachmentLoadOp loadOp; - VkAttachmentStoreOp storeOp; - VkClearValue clearValue; -} VkRenderingAttachmentInfoKHR; ++typedef VkRenderingFlagBits VkRenderingFlagBitsKHR; + -typedef struct VkRenderingInfoKHR { - VkStructureType sType; - const void* pNext; - VkRenderingFlagsKHR flags; - VkRect2D renderArea; - deUint32 layerCount; - deUint32 viewMask; - deUint32 colorAttachmentCount; - const VkRenderingAttachmentInfoKHR* pColorAttachments; - const VkRenderingAttachmentInfoKHR* pDepthAttachment; - const VkRenderingAttachmentInfoKHR* pStencilAttachment; -} VkRenderingInfoKHR; - -typedef struct VkPipelineRenderingCreateInfoKHR { - VkStructureType sType; - const void* pNext; - deUint32 viewMask; - deUint32 colorAttachmentCount; - const VkFormat* pColorAttachmentFormats; - VkFormat depthAttachmentFormat; - VkFormat stencilAttachmentFormat; -} VkPipelineRenderingCreateInfoKHR; ++typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR; + -typedef struct VkPhysicalDeviceDynamicRenderingFeaturesKHR { - VkStructureType sType; - void* pNext; - VkBool32 dynamicRendering; -} VkPhysicalDeviceDynamicRenderingFeaturesKHR; ++typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; + -typedef struct VkCommandBufferInheritanceRenderingInfoKHR { - VkStructureType sType; - const void* pNext; - VkRenderingFlagsKHR flags; - deUint32 viewMask; - deUint32 colorAttachmentCount; - const VkFormat* pColorAttachmentFormats; - VkFormat depthAttachmentFormat; - VkFormat stencilAttachmentFormat; - VkSampleCountFlagBits rasterizationSamples; -} VkCommandBufferInheritanceRenderingInfoKHR; ++typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; ++ ++typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; + + typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR { + VkStructureType sType; + const void* pNext; + VkImageView imageView; + VkImageLayout imageLayout; + VkExtent2D shadingRateAttachmentTexelSize; + } VkRenderingFragmentShadingRateAttachmentInfoKHR; + + typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT { + VkStructureType sType; + const void* pNext; + VkImageView imageView; + VkImageLayout imageLayout; + } VkRenderingFragmentDensityMapAttachmentInfoEXT; + + typedef struct VkAttachmentSampleCountInfoAMD { + VkStructureType sType; + const void* pNext; + deUint32 colorAttachmentCount; + const VkSampleCountFlagBits* pColorAttachmentSamples; + VkSampleCountFlagBits depthStencilAttachmentSamples; + } VkAttachmentSampleCountInfoAMD; + + typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; + + typedef struct VkMultiviewPerViewAttributesInfoNVX { + VkStructureType sType; + const void* pNext; + VkBool32 perViewAttributes; + VkBool32 perViewAttributesPositionXOnly; + } VkMultiviewPerViewAttributesInfoNVX; + + typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo); + typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR( + VkCommandBuffer commandBuffer, + const VkRenderingInfoKHR* pRenderingInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR( + VkCommandBuffer commandBuffer); + #endif + + + #define VK_KHR_multiview 1 + #define VK_KHR_MULTIVIEW_SPEC_VERSION 1 + #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" + typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; + + typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; + + typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; + + + + #define VK_KHR_get_physical_device_properties2 1 + #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 + #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" + typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; + + typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; + + typedef VkFormatProperties2 VkFormatProperties2KHR; + + typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; + + typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; + + typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; + + typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; + + typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; + + typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; + + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( + VkPhysicalDevice physicalDevice, + VkPhysicalDeviceFeatures2* pFeatures); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( + VkPhysicalDevice physicalDevice, + VkPhysicalDeviceProperties2* pProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( + VkPhysicalDevice physicalDevice, + VkFormat format, + VkFormatProperties2* pFormatProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, + VkImageFormatProperties2* pImageFormatProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( + VkPhysicalDevice physicalDevice, + deUint32* pQueueFamilyPropertyCount, + VkQueueFamilyProperties2* pQueueFamilyProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( + VkPhysicalDevice physicalDevice, + VkPhysicalDeviceMemoryProperties2* pMemoryProperties); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, + deUint32* pPropertyCount, + VkSparseImageFormatProperties2* pProperties); + #endif + + + #define VK_KHR_device_group 1 + #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 + #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group" + typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; + + typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR; + + typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR; + + typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR; + + typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; + + typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; + + typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; + + typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; + + typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; + + typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; + + typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; + + typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); + typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask); + typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR( + VkDevice device, + deUint32 heapIndex, + deUint32 localDeviceIndex, + deUint32 remoteDeviceIndex, + VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR( + VkCommandBuffer commandBuffer, + deUint32 deviceMask); + + VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR( + VkCommandBuffer commandBuffer, + deUint32 baseGroupX, + deUint32 baseGroupY, + deUint32 baseGroupZ, + deUint32 groupCountX, + deUint32 groupCountY, + deUint32 groupCountZ); + #endif + + + #define VK_KHR_shader_draw_parameters 1 + #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 + #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" + + + #define VK_KHR_maintenance1 1 + #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2 + #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1" + #define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION + #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME + typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; + + typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR( + VkDevice device, + VkCommandPool commandPool, + VkCommandPoolTrimFlags flags); + #endif + + + #define VK_KHR_device_group_creation 1 + #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 + #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation" + #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE + typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; + + typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR( + VkInstance instance, + deUint32* pPhysicalDeviceGroupCount, + VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); + #endif + + + #define VK_KHR_external_memory_capabilities 1 + #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" + #define VK_LUID_SIZE_KHR VK_LUID_SIZE + typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; + + typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR; + + typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; + + typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR; + + typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; + + typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; + + typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; + + typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; + + typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; + + typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; + + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, + VkExternalBufferProperties* pExternalBufferProperties); + #endif + + + #define VK_KHR_external_memory 1 + #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory" + #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL + typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; + + typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; + + typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; + + + + #define VK_KHR_external_memory_fd 1 + #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" + typedef struct VkImportMemoryFdInfoKHR { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagBits handleType; + int fd; + } VkImportMemoryFdInfoKHR; + + typedef struct VkMemoryFdPropertiesKHR { + VkStructureType sType; + void* pNext; + deUint32 memoryTypeBits; + } VkMemoryFdPropertiesKHR; + + typedef struct VkMemoryGetFdInfoKHR { + VkStructureType sType; + const void* pNext; + VkDeviceMemory memory; + VkExternalMemoryHandleTypeFlagBits handleType; + } VkMemoryGetFdInfoKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); + typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR( + VkDevice device, + const VkMemoryGetFdInfoKHR* pGetFdInfo, + int* pFd); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR( + VkDevice device, + VkExternalMemoryHandleTypeFlagBits handleType, + int fd, + VkMemoryFdPropertiesKHR* pMemoryFdProperties); + #endif + + + #define VK_KHR_external_semaphore_capabilities 1 + #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" + typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR; + + typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR; + + typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR; + + typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR; + + typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; + + typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; + + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, + VkExternalSemaphoreProperties* pExternalSemaphoreProperties); + #endif + + + #define VK_KHR_external_semaphore 1 + #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore" + typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR; + + typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR; + + typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; + + + + #define VK_KHR_external_semaphore_fd 1 + #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" + typedef struct VkImportSemaphoreFdInfoKHR { + VkStructureType sType; + const void* pNext; + VkSemaphore semaphore; + VkSemaphoreImportFlags flags; + VkExternalSemaphoreHandleTypeFlagBits handleType; + int fd; + } VkImportSemaphoreFdInfoKHR; + + typedef struct VkSemaphoreGetFdInfoKHR { + VkStructureType sType; + const void* pNext; + VkSemaphore semaphore; + VkExternalSemaphoreHandleTypeFlagBits handleType; + } VkSemaphoreGetFdInfoKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); + typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR( + VkDevice device, + const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR( + VkDevice device, + const VkSemaphoreGetFdInfoKHR* pGetFdInfo, + int* pFd); + #endif + + + #define VK_KHR_push_descriptor 1 + #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 + #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" + typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR { + VkStructureType sType; + void* pNext; + deUint32 maxPushDescriptors; + } VkPhysicalDevicePushDescriptorPropertiesKHR; + + typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); + typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR( + VkCommandBuffer commandBuffer, + VkPipelineBindPoint pipelineBindPoint, + VkPipelineLayout layout, + deUint32 set, + deUint32 descriptorWriteCount, + const VkWriteDescriptorSet* pDescriptorWrites); + + VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR( + VkCommandBuffer commandBuffer, + VkDescriptorUpdateTemplate descriptorUpdateTemplate, + VkPipelineLayout layout, + deUint32 set, + const void* pData); + #endif + + + #define VK_KHR_shader_float16_int8 1 + #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1 + #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8" + typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; + + typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR; + + + + #define VK_KHR_16bit_storage 1 + #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 + #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" + typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; + + + + #define VK_KHR_incremental_present 1 + #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 + #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" + typedef struct VkRectLayerKHR { + VkOffset2D offset; + VkExtent2D extent; + deUint32 layer; + } VkRectLayerKHR; + + typedef struct VkPresentRegionKHR { + deUint32 rectangleCount; + const VkRectLayerKHR* pRectangles; + } VkPresentRegionKHR; + + typedef struct VkPresentRegionsKHR { + VkStructureType sType; + const void* pNext; + deUint32 swapchainCount; + const VkPresentRegionKHR* pRegions; + } VkPresentRegionsKHR; + + + + #define VK_KHR_descriptor_update_template 1 + typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR; + + #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 + #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" + typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR; + + typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR; + + typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; + + typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); + typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); + typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR( + VkDevice device, + const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); + + VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR( + VkDevice device, + VkDescriptorUpdateTemplate descriptorUpdateTemplate, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR( + VkDevice device, + VkDescriptorSet descriptorSet, + VkDescriptorUpdateTemplate descriptorUpdateTemplate, + const void* pData); + #endif + + + #define VK_KHR_imageless_framebuffer 1 + #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1 + #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer" + typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; + + typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; + + typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR; + + typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; + + + + #define VK_KHR_create_renderpass2 1 + #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 + #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" + typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; + + typedef VkAttachmentDescription2 VkAttachmentDescription2KHR; + + typedef VkAttachmentReference2 VkAttachmentReference2KHR; + + typedef VkSubpassDescription2 VkSubpassDescription2KHR; + + typedef VkSubpassDependency2 VkSubpassDependency2KHR; + + typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; + + typedef VkSubpassEndInfo VkSubpassEndInfoKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); + typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); + typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); + typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR( + VkDevice device, + const VkRenderPassCreateInfo2* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkRenderPass* pRenderPass); + + VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR( + VkCommandBuffer commandBuffer, + const VkRenderPassBeginInfo* pRenderPassBegin, + const VkSubpassBeginInfo* pSubpassBeginInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR( + VkCommandBuffer commandBuffer, + const VkSubpassBeginInfo* pSubpassBeginInfo, + const VkSubpassEndInfo* pSubpassEndInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR( + VkCommandBuffer commandBuffer, + const VkSubpassEndInfo* pSubpassEndInfo); + #endif + + + #define VK_KHR_shared_presentable_image 1 + #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 + #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" + typedef struct VkSharedPresentSurfaceCapabilitiesKHR { + VkStructureType sType; + void* pNext; + VkImageUsageFlags sharedPresentSupportedUsageFlags; + } VkSharedPresentSurfaceCapabilitiesKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR( + VkDevice device, + VkSwapchainKHR swapchain); + #endif + + + #define VK_KHR_external_fence_capabilities 1 + #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" + typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR; + + typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR; + + typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; + + typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR; + + typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; + + typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; + + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, + VkExternalFenceProperties* pExternalFenceProperties); + #endif + + + #define VK_KHR_external_fence 1 + #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence" + typedef VkFenceImportFlags VkFenceImportFlagsKHR; + + typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR; + + typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; + + + + #define VK_KHR_external_fence_fd 1 + #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 + #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" + typedef struct VkImportFenceFdInfoKHR { + VkStructureType sType; + const void* pNext; + VkFence fence; + VkFenceImportFlags flags; + VkExternalFenceHandleTypeFlagBits handleType; + int fd; + } VkImportFenceFdInfoKHR; + + typedef struct VkFenceGetFdInfoKHR { + VkStructureType sType; + const void* pNext; + VkFence fence; + VkExternalFenceHandleTypeFlagBits handleType; + } VkFenceGetFdInfoKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); + typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR( + VkDevice device, + const VkImportFenceFdInfoKHR* pImportFenceFdInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR( + VkDevice device, + const VkFenceGetFdInfoKHR* pGetFdInfo, + int* pFd); + #endif + + + #define VK_KHR_performance_query 1 + #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 + #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" + + typedef enum VkPerformanceCounterUnitKHR { + VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, + VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, + VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, + VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, + VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, + VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, + VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, + VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, + VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, + VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, + VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, + VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF + } VkPerformanceCounterUnitKHR; + + typedef enum VkPerformanceCounterScopeKHR { + VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, + VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, + VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, + VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, + VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, + VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, + VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF + } VkPerformanceCounterScopeKHR; + + typedef enum VkPerformanceCounterStorageKHR { + VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, + VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, + VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, + VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, + VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, + VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, + VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF + } VkPerformanceCounterStorageKHR; + + typedef enum VkPerformanceCounterDescriptionFlagBitsKHR { + VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001, + VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002, + VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, + VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, + VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF + } VkPerformanceCounterDescriptionFlagBitsKHR; + typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; + + typedef enum VkAcquireProfilingLockFlagBitsKHR { + VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF + } VkAcquireProfilingLockFlagBitsKHR; + typedef VkFlags VkAcquireProfilingLockFlagsKHR; + typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 performanceCounterQueryPools; + VkBool32 performanceCounterMultipleQueryPools; + } VkPhysicalDevicePerformanceQueryFeaturesKHR; + + typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { + VkStructureType sType; + void* pNext; + VkBool32 allowCommandBufferQueryCopies; + } VkPhysicalDevicePerformanceQueryPropertiesKHR; + + typedef struct VkPerformanceCounterKHR { + VkStructureType sType; + void* pNext; + VkPerformanceCounterUnitKHR unit; + VkPerformanceCounterScopeKHR scope; + VkPerformanceCounterStorageKHR storage; + deUint8 uuid[VK_UUID_SIZE]; + } VkPerformanceCounterKHR; + + typedef struct VkPerformanceCounterDescriptionKHR { + VkStructureType sType; + void* pNext; + VkPerformanceCounterDescriptionFlagsKHR flags; + char name[VK_MAX_DESCRIPTION_SIZE]; + char category[VK_MAX_DESCRIPTION_SIZE]; + char description[VK_MAX_DESCRIPTION_SIZE]; + } VkPerformanceCounterDescriptionKHR; + + typedef struct VkQueryPoolPerformanceCreateInfoKHR { + VkStructureType sType; + const void* pNext; + deUint32 queueFamilyIndex; + deUint32 counterIndexCount; + const deUint32* pCounterIndices; + } VkQueryPoolPerformanceCreateInfoKHR; + + typedef union VkPerformanceCounterResultKHR { + deInt32 int32; + deInt64 int64; + deUint32 uint32; + deUint64 uint64; + float float32; + double float64; + } VkPerformanceCounterResultKHR; + + typedef struct VkAcquireProfilingLockInfoKHR { + VkStructureType sType; + const void* pNext; + VkAcquireProfilingLockFlagsKHR flags; + deUint64 timeout; + } VkAcquireProfilingLockInfoKHR; + + typedef struct VkPerformanceQuerySubmitInfoKHR { + VkStructureType sType; + const void* pNext; + deUint32 counterPassIndex; + } VkPerformanceQuerySubmitInfoKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses); + typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); + typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( + VkPhysicalDevice physicalDevice, + deUint32 queueFamilyIndex, + deUint32* pCounterCount, + VkPerformanceCounterKHR* pCounters, + VkPerformanceCounterDescriptionKHR* pCounterDescriptions); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( + VkPhysicalDevice physicalDevice, + const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, + deUint32* pNumPasses); + + VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR( + VkDevice device, + const VkAcquireProfilingLockInfoKHR* pInfo); + + VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR( + VkDevice device); + #endif + + + #define VK_KHR_maintenance2 1 + #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1 + #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2" + #define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION + #define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME + typedef VkPointClippingBehavior VkPointClippingBehaviorKHR; + + typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR; + + typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; + + typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; + + typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR; + + typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; + + typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; + + + + #define VK_KHR_get_surface_capabilities2 1 + #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 + #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" + typedef struct VkPhysicalDeviceSurfaceInfo2KHR { + VkStructureType sType; + const void* pNext; + VkSurfaceKHR surface; + } VkPhysicalDeviceSurfaceInfo2KHR; + + typedef struct VkSurfaceCapabilities2KHR { + VkStructureType sType; + void* pNext; + VkSurfaceCapabilitiesKHR surfaceCapabilities; + } VkSurfaceCapabilities2KHR; + + typedef struct VkSurfaceFormat2KHR { + VkStructureType sType; + void* pNext; + VkSurfaceFormatKHR surfaceFormat; + } VkSurfaceFormat2KHR; + + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, + VkSurfaceCapabilities2KHR* pSurfaceCapabilities); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR( + VkPhysicalDevice physicalDevice, + const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, + deUint32* pSurfaceFormatCount, + VkSurfaceFormat2KHR* pSurfaceFormats); + #endif + + + #define VK_KHR_variable_pointers 1 + #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 + #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" + typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR; + + typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR; + + + + #define VK_KHR_get_display_properties2 1 + #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 + #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" + typedef struct VkDisplayProperties2KHR { + VkStructureType sType; + void* pNext; + VkDisplayPropertiesKHR displayProperties; + } VkDisplayProperties2KHR; + + typedef struct VkDisplayPlaneProperties2KHR { + VkStructureType sType; + void* pNext; + VkDisplayPlanePropertiesKHR displayPlaneProperties; + } VkDisplayPlaneProperties2KHR; + + typedef struct VkDisplayModeProperties2KHR { + VkStructureType sType; + void* pNext; + VkDisplayModePropertiesKHR displayModeProperties; + } VkDisplayModeProperties2KHR; + + typedef struct VkDisplayPlaneInfo2KHR { + VkStructureType sType; + const void* pNext; + VkDisplayModeKHR mode; + deUint32 planeIndex; + } VkDisplayPlaneInfo2KHR; + + typedef struct VkDisplayPlaneCapabilities2KHR { + VkStructureType sType; + void* pNext; + VkDisplayPlaneCapabilitiesKHR capabilities; + } VkDisplayPlaneCapabilities2KHR; + + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties); + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); + typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); + typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( + VkPhysicalDevice physicalDevice, + deUint32* pPropertyCount, + VkDisplayProperties2KHR* pProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( + VkPhysicalDevice physicalDevice, + deUint32* pPropertyCount, + VkDisplayPlaneProperties2KHR* pProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( + VkPhysicalDevice physicalDevice, + VkDisplayKHR display, + deUint32* pPropertyCount, + VkDisplayModeProperties2KHR* pProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( + VkPhysicalDevice physicalDevice, + const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, + VkDisplayPlaneCapabilities2KHR* pCapabilities); + #endif + + + #define VK_KHR_dedicated_allocation 1 + #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 + #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" + typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; + + typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; + + + + #define VK_KHR_storage_buffer_storage_class 1 + #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 + #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" + + + #define VK_KHR_relaxed_block_layout 1 + #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 + #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout" + + + #define VK_KHR_get_memory_requirements2 1 + #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 + #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" + typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; + + typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; + + typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; + + typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; + + typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; + + typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); + typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); + typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR( + VkDevice device, + const VkImageMemoryRequirementsInfo2* pInfo, + VkMemoryRequirements2* pMemoryRequirements); + + VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR( + VkDevice device, + const VkBufferMemoryRequirementsInfo2* pInfo, + VkMemoryRequirements2* pMemoryRequirements); + + VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR( + VkDevice device, + const VkImageSparseMemoryRequirementsInfo2* pInfo, + deUint32* pSparseMemoryRequirementCount, + VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); + #endif + + + #define VK_KHR_image_format_list 1 + #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1 + #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list" + typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; + + + + #define VK_KHR_sampler_ycbcr_conversion 1 + typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR; + + #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14 + #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" + typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; + + typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; + + typedef VkChromaLocation VkChromaLocationKHR; + + typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; + + typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; + + typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; + + typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; + + typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; + + typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); + typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR( + VkDevice device, + const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkSamplerYcbcrConversion* pYcbcrConversion); + + VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR( + VkDevice device, + VkSamplerYcbcrConversion ycbcrConversion, + const VkAllocationCallbacks* pAllocator); + #endif + + + #define VK_KHR_bind_memory2 1 + #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 + #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" + typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; + + typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); + typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR( + VkDevice device, + deUint32 bindInfoCount, + const VkBindBufferMemoryInfo* pBindInfos); + + VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR( + VkDevice device, + deUint32 bindInfoCount, + const VkBindImageMemoryInfo* pBindInfos); + #endif + + + #define VK_KHR_maintenance3 1 + #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1 + #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" + #define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION + #define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME + typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; + + typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; + + typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR( + VkDevice device, + const VkDescriptorSetLayoutCreateInfo* pCreateInfo, + VkDescriptorSetLayoutSupport* pSupport); + #endif + + + #define VK_KHR_draw_indirect_count 1 + #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 + #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" + typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); + typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkBuffer countBuffer, + VkDeviceSize countBufferOffset, + deUint32 maxDrawCount, + deUint32 stride); + + VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkBuffer countBuffer, + VkDeviceSize countBufferOffset, + deUint32 maxDrawCount, + deUint32 stride); + #endif + + + #define VK_KHR_shader_subgroup_extended_types 1 + #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 + #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types" + typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; + + + + #define VK_KHR_8bit_storage 1 + #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1 + #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage" + typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; + + + + #define VK_KHR_shader_atomic_int64 1 + #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1 + #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64" + typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; + + + + #define VK_KHR_shader_clock 1 + #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 + #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" + typedef struct VkPhysicalDeviceShaderClockFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 shaderSubgroupClock; + VkBool32 shaderDeviceClock; + } VkPhysicalDeviceShaderClockFeaturesKHR; + + + + #define VK_KHR_driver_properties 1 + #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1 + #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties" + #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE + #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE + typedef VkDriverId VkDriverIdKHR; + + typedef VkConformanceVersion VkConformanceVersionKHR; + + typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; + + + + #define VK_KHR_shader_float_controls 1 + #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 + #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls" + typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR; + + typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; + + + + #define VK_KHR_depth_stencil_resolve 1 + #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1 + #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve" + typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR; + + typedef VkResolveModeFlags VkResolveModeFlagsKHR; + + typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; + + typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; + + + + #define VK_KHR_swapchain_mutable_format 1 + #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 + #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" + + + #define VK_KHR_timeline_semaphore 1 + #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 + #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" + typedef VkSemaphoreType VkSemaphoreTypeKHR; + + typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR; + + typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR; + + typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; + + typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; + + typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; + + typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; + + typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; + + typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue); + typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout); + typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR( + VkDevice device, + VkSemaphore semaphore, + deUint64* pValue); + + VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR( + VkDevice device, + const VkSemaphoreWaitInfo* pWaitInfo, + deUint64 timeout); + + VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR( + VkDevice device, + const VkSemaphoreSignalInfo* pSignalInfo); + #endif + + + #define VK_KHR_vulkan_memory_model 1 + #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3 + #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model" + typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; + + + + #define VK_KHR_shader_terminate_invocation 1 + #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 + #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" -typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR { - VkStructureType sType; - void* pNext; - VkBool32 shaderTerminateInvocation; -} VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; ++typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; + + + + #define VK_KHR_fragment_shading_rate 1 + #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 + #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" + + typedef enum VkFragmentShadingRateCombinerOpKHR { + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, + VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF + } VkFragmentShadingRateCombinerOpKHR; + typedef struct VkFragmentShadingRateAttachmentInfoKHR { + VkStructureType sType; + const void* pNext; + const VkAttachmentReference2* pFragmentShadingRateAttachment; + VkExtent2D shadingRateAttachmentTexelSize; + } VkFragmentShadingRateAttachmentInfoKHR; + + typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR { + VkStructureType sType; + const void* pNext; + VkExtent2D fragmentSize; + VkFragmentShadingRateCombinerOpKHR combinerOps[2]; + } VkPipelineFragmentShadingRateStateCreateInfoKHR; + + typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 pipelineFragmentShadingRate; + VkBool32 primitiveFragmentShadingRate; + VkBool32 attachmentFragmentShadingRate; + } VkPhysicalDeviceFragmentShadingRateFeaturesKHR; + + typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR { + VkStructureType sType; + void* pNext; + VkExtent2D minFragmentShadingRateAttachmentTexelSize; + VkExtent2D maxFragmentShadingRateAttachmentTexelSize; + deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio; + VkBool32 primitiveFragmentShadingRateWithMultipleViewports; + VkBool32 layeredShadingRateAttachments; + VkBool32 fragmentShadingRateNonTrivialCombinerOps; + VkExtent2D maxFragmentSize; + deUint32 maxFragmentSizeAspectRatio; + deUint32 maxFragmentShadingRateCoverageSamples; + VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; + VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; + VkBool32 fragmentShadingRateWithSampleMask; + VkBool32 fragmentShadingRateWithShaderSampleMask; + VkBool32 fragmentShadingRateWithConservativeRasterization; + VkBool32 fragmentShadingRateWithFragmentShaderInterlock; + VkBool32 fragmentShadingRateWithCustomSampleLocations; + VkBool32 fragmentShadingRateStrictMultiplyCombiner; + } VkPhysicalDeviceFragmentShadingRatePropertiesKHR; + + typedef struct VkPhysicalDeviceFragmentShadingRateKHR { + VkStructureType sType; + void* pNext; + VkSampleCountFlags sampleCounts; + VkExtent2D fragmentSize; + } VkPhysicalDeviceFragmentShadingRateKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); + typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR( + VkPhysicalDevice physicalDevice, + deUint32* pFragmentShadingRateCount, + VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR( + VkCommandBuffer commandBuffer, + const VkExtent2D* pFragmentSize, + const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); + #endif + + + #define VK_KHR_spirv_1_4 1 + #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1 + #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4" + + + #define VK_KHR_surface_protected_capabilities 1 + #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1 + #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities" + typedef struct VkSurfaceProtectedCapabilitiesKHR { + VkStructureType sType; + const void* pNext; + VkBool32 supportsProtected; + } VkSurfaceProtectedCapabilitiesKHR; + + + + #define VK_KHR_separate_depth_stencil_layouts 1 + #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1 + #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts" + typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; + + typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; + + typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; + + + + #define VK_KHR_present_wait 1 + #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1 + #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait" + typedef struct VkPhysicalDevicePresentWaitFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 presentWait; + } VkPhysicalDevicePresentWaitFeaturesKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 presentId, deUint64 timeout); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR( + VkDevice device, + VkSwapchainKHR swapchain, + deUint64 presentId, + deUint64 timeout); + #endif + + + #define VK_KHR_uniform_buffer_standard_layout 1 + #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1 + #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" + typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; + + + + #define VK_KHR_buffer_device_address 1 + #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 + #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" + typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; + + typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; + + typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; + + typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; + + typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; + + typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); + typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); + typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR( + VkDevice device, + const VkBufferDeviceAddressInfo* pInfo); + + VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR( + VkDevice device, + const VkBufferDeviceAddressInfo* pInfo); + + VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR( + VkDevice device, + const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); + #endif + + + #define VK_KHR_deferred_host_operations 1 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) + #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4 + #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations" + typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation); + typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator); + typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation); + typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation); + typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR( + VkDevice device, + const VkAllocationCallbacks* pAllocator, + VkDeferredOperationKHR* pDeferredOperation); + + VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR( + VkDevice device, + VkDeferredOperationKHR operation, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR( + VkDevice device, + VkDeferredOperationKHR operation); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR( + VkDevice device, + VkDeferredOperationKHR operation); + + VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR( + VkDevice device, + VkDeferredOperationKHR operation); + #endif + + + #define VK_KHR_pipeline_executable_properties 1 + #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1 + #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" + + typedef enum VkPipelineExecutableStatisticFormatKHR { + VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0, + VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1, + VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2, + VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3, + VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF + } VkPipelineExecutableStatisticFormatKHR; + typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 pipelineExecutableInfo; + } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR; + + typedef struct VkPipelineInfoKHR { + VkStructureType sType; + const void* pNext; + VkPipeline pipeline; + } VkPipelineInfoKHR; + + typedef struct VkPipelineExecutablePropertiesKHR { + VkStructureType sType; + void* pNext; + VkShaderStageFlags stages; + char name[VK_MAX_DESCRIPTION_SIZE]; + char description[VK_MAX_DESCRIPTION_SIZE]; + deUint32 subgroupSize; + } VkPipelineExecutablePropertiesKHR; + + typedef struct VkPipelineExecutableInfoKHR { + VkStructureType sType; + const void* pNext; + VkPipeline pipeline; + deUint32 executableIndex; + } VkPipelineExecutableInfoKHR; + + typedef union VkPipelineExecutableStatisticValueKHR { + VkBool32 b32; + deInt64 i64; + deUint64 u64; + double f64; + } VkPipelineExecutableStatisticValueKHR; + + typedef struct VkPipelineExecutableStatisticKHR { + VkStructureType sType; + void* pNext; + char name[VK_MAX_DESCRIPTION_SIZE]; + char description[VK_MAX_DESCRIPTION_SIZE]; + VkPipelineExecutableStatisticFormatKHR format; + VkPipelineExecutableStatisticValueKHR value; + } VkPipelineExecutableStatisticKHR; + + typedef struct VkPipelineExecutableInternalRepresentationKHR { + VkStructureType sType; + void* pNext; + char name[VK_MAX_DESCRIPTION_SIZE]; + char description[VK_MAX_DESCRIPTION_SIZE]; + VkBool32 isText; + deUintptr dataSize; + void* pData; + } VkPipelineExecutableInternalRepresentationKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties); + typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics); + typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR( + VkDevice device, + const VkPipelineInfoKHR* pPipelineInfo, + deUint32* pExecutableCount, + VkPipelineExecutablePropertiesKHR* pProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR( + VkDevice device, + const VkPipelineExecutableInfoKHR* pExecutableInfo, + deUint32* pStatisticCount, + VkPipelineExecutableStatisticKHR* pStatistics); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR( + VkDevice device, + const VkPipelineExecutableInfoKHR* pExecutableInfo, + deUint32* pInternalRepresentationCount, + VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); + #endif + + + #define VK_KHR_shader_integer_dot_product 1 + #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 + #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" -typedef struct VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR { - VkStructureType sType; - void* pNext; - VkBool32 shaderIntegerDotProduct; -} VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; ++typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; + -typedef struct VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR { - VkStructureType sType; - void* pNext; - VkBool32 integerDotProduct8BitUnsignedAccelerated; - VkBool32 integerDotProduct8BitSignedAccelerated; - VkBool32 integerDotProduct8BitMixedSignednessAccelerated; - VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; - VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; - VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; - VkBool32 integerDotProduct16BitUnsignedAccelerated; - VkBool32 integerDotProduct16BitSignedAccelerated; - VkBool32 integerDotProduct16BitMixedSignednessAccelerated; - VkBool32 integerDotProduct32BitUnsignedAccelerated; - VkBool32 integerDotProduct32BitSignedAccelerated; - VkBool32 integerDotProduct32BitMixedSignednessAccelerated; - VkBool32 integerDotProduct64BitUnsignedAccelerated; - VkBool32 integerDotProduct64BitSignedAccelerated; - VkBool32 integerDotProduct64BitMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; -} VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; ++typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; + + + + #define VK_KHR_pipeline_library 1 + #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 + #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" + typedef struct VkPipelineLibraryCreateInfoKHR { + VkStructureType sType; + const void* pNext; + deUint32 libraryCount; + const VkPipeline* pLibraries; + } VkPipelineLibraryCreateInfoKHR; + + + + #define VK_KHR_shader_non_semantic_info 1 + #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 + #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info" + + + #define VK_KHR_present_id 1 + #define VK_KHR_PRESENT_ID_SPEC_VERSION 1 + #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id" + typedef struct VkPresentIdKHR { + VkStructureType sType; + const void* pNext; + deUint32 swapchainCount; + const deUint64* pPresentIds; + } VkPresentIdKHR; + + typedef struct VkPhysicalDevicePresentIdFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 presentId; + } VkPhysicalDevicePresentIdFeaturesKHR; + + + + #define VK_KHR_synchronization2 1 -typedef deUint64 VkFlags64; + #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 + #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" -typedef VkFlags64 VkPipelineStageFlags2KHR; - -// Flag bits for VkPipelineStageFlagBits2KHR -typedef VkFlags64 VkPipelineStageFlagBits2KHR; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; -#ifdef VK_ENABLE_BETA_EXTENSIONS -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; -#endif -#ifdef VK_ENABLE_BETA_EXTENSIONS -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; -#endif -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; -static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; - -typedef VkFlags64 VkAccessFlags2KHR; - -// Flag bits for VkAccessFlagBits2KHR -typedef VkFlags64 VkAccessFlagBits2KHR; -static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; -#ifdef VK_ENABLE_BETA_EXTENSIONS -static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; -#endif -#ifdef VK_ENABLE_BETA_EXTENSIONS -static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; -#endif -#ifdef VK_ENABLE_BETA_EXTENSIONS -static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; -#endif -#ifdef VK_ENABLE_BETA_EXTENSIONS -static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; -#endif -static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; -static const VkAccessFlagBits2KHR VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; - - -typedef enum VkSubmitFlagBitsKHR { - VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001, - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF -} VkSubmitFlagBitsKHR; -typedef VkFlags VkSubmitFlagsKHR; -typedef struct VkMemoryBarrier2KHR { - VkStructureType sType; - const void* pNext; - VkPipelineStageFlags2KHR srcStageMask; - VkAccessFlags2KHR srcAccessMask; - VkPipelineStageFlags2KHR dstStageMask; - VkAccessFlags2KHR dstAccessMask; -} VkMemoryBarrier2KHR; ++typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR; + -typedef struct VkBufferMemoryBarrier2KHR { - VkStructureType sType; - const void* pNext; - VkPipelineStageFlags2KHR srcStageMask; - VkAccessFlags2KHR srcAccessMask; - VkPipelineStageFlags2KHR dstStageMask; - VkAccessFlags2KHR dstAccessMask; - deUint32 srcQueueFamilyIndex; - deUint32 dstQueueFamilyIndex; - VkBuffer buffer; - VkDeviceSize offset; - VkDeviceSize size; -} VkBufferMemoryBarrier2KHR; - -typedef struct VkImageMemoryBarrier2KHR { - VkStructureType sType; - const void* pNext; - VkPipelineStageFlags2KHR srcStageMask; - VkAccessFlags2KHR srcAccessMask; - VkPipelineStageFlags2KHR dstStageMask; - VkAccessFlags2KHR dstAccessMask; - VkImageLayout oldLayout; - VkImageLayout newLayout; - deUint32 srcQueueFamilyIndex; - deUint32 dstQueueFamilyIndex; - VkImage image; - VkImageSubresourceRange subresourceRange; -} VkImageMemoryBarrier2KHR; - -typedef struct VkDependencyInfoKHR { - VkStructureType sType; - const void* pNext; - VkDependencyFlags dependencyFlags; - deUint32 memoryBarrierCount; - const VkMemoryBarrier2KHR* pMemoryBarriers; - deUint32 bufferMemoryBarrierCount; - const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers; - deUint32 imageMemoryBarrierCount; - const VkImageMemoryBarrier2KHR* pImageMemoryBarriers; -} VkDependencyInfoKHR; - -typedef struct VkSemaphoreSubmitInfoKHR { - VkStructureType sType; - const void* pNext; - VkSemaphore semaphore; - deUint64 value; - VkPipelineStageFlags2KHR stageMask; - deUint32 deviceIndex; -} VkSemaphoreSubmitInfoKHR; ++typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR; + -typedef struct VkCommandBufferSubmitInfoKHR { - VkStructureType sType; - const void* pNext; - VkCommandBuffer commandBuffer; - deUint32 deviceMask; -} VkCommandBufferSubmitInfoKHR; ++typedef VkAccessFlags2 VkAccessFlags2KHR; + -typedef struct VkSubmitInfo2KHR { - VkStructureType sType; - const void* pNext; - VkSubmitFlagsKHR flags; - deUint32 waitSemaphoreInfoCount; - const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos; - deUint32 commandBufferInfoCount; - const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos; - deUint32 signalSemaphoreInfoCount; - const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos; -} VkSubmitInfo2KHR; ++typedef VkAccessFlagBits2 VkAccessFlagBits2KHR; + -typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR { - VkStructureType sType; - void* pNext; - VkBool32 synchronization2; -} VkPhysicalDeviceSynchronization2FeaturesKHR; ++typedef VkSubmitFlagBits VkSubmitFlagBitsKHR; ++ ++typedef VkSubmitFlags VkSubmitFlagsKHR; ++ ++typedef VkMemoryBarrier2 VkMemoryBarrier2KHR; ++ ++typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR; ++ ++typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR; ++ ++typedef VkDependencyInfo VkDependencyInfoKHR; ++ ++typedef VkSubmitInfo2 VkSubmitInfo2KHR; ++ ++typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR; ++ ++typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR; ++ ++typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; + + typedef struct VkQueueFamilyCheckpointProperties2NV { + VkStructureType sType; + void* pNext; + VkPipelineStageFlags2KHR checkpointExecutionStageMask; + } VkQueueFamilyCheckpointProperties2NV; + + typedef struct VkCheckpointData2NV { + VkStructureType sType; + void* pNext; + VkPipelineStageFlags2KHR stage; + void* pCheckpointMarker; + } VkCheckpointData2NV; + -typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo); -typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask); -typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos); -typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo); -typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, deUint32 query); -typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence); ++typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); ++typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); ++typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query); ++typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); + typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker); + typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR( + VkCommandBuffer commandBuffer, + VkEvent event, - const VkDependencyInfoKHR* pDependencyInfo); ++ const VkDependencyInfo* pDependencyInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR( + VkCommandBuffer commandBuffer, + VkEvent event, - VkPipelineStageFlags2KHR stageMask); ++ VkPipelineStageFlags2 stageMask); + + VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR( + VkCommandBuffer commandBuffer, + deUint32 eventCount, + const VkEvent* pEvents, - const VkDependencyInfoKHR* pDependencyInfos); ++ const VkDependencyInfo* pDependencyInfos); + + VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR( + VkCommandBuffer commandBuffer, - const VkDependencyInfoKHR* pDependencyInfo); ++ const VkDependencyInfo* pDependencyInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR( + VkCommandBuffer commandBuffer, - VkPipelineStageFlags2KHR stage, ++ VkPipelineStageFlags2 stage, + VkQueryPool queryPool, + deUint32 query); + + VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR( + VkQueue queue, + deUint32 submitCount, - const VkSubmitInfo2KHR* pSubmits, ++ const VkSubmitInfo2* pSubmits, + VkFence fence); + + VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD( + VkCommandBuffer commandBuffer, + VkPipelineStageFlags2KHR stage, + VkBuffer dstBuffer, + VkDeviceSize dstOffset, + deUint32 marker); + + VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV( + VkQueue queue, + deUint32* pCheckpointDataCount, + VkCheckpointData2NV* pCheckpointData); + #endif + + + #define VK_KHR_shader_subgroup_uniform_control_flow 1 + #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1 + #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow" + typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 shaderSubgroupUniformControlFlow; + } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR; + + + + #define VK_KHR_zero_initialize_workgroup_memory 1 + #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1 + #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory" -typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR { - VkStructureType sType; - void* pNext; - VkBool32 shaderZeroInitializeWorkgroupMemory; -} VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; ++typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; + + + + #define VK_KHR_workgroup_memory_explicit_layout 1 + #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1 + #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout" + typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 workgroupMemoryExplicitLayout; + VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout; + VkBool32 workgroupMemoryExplicitLayout8BitAccess; + VkBool32 workgroupMemoryExplicitLayout16BitAccess; + } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR; + + + + #define VK_KHR_copy_commands2 1 + #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 + #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" -typedef struct VkBufferCopy2KHR { - VkStructureType sType; - const void* pNext; - VkDeviceSize srcOffset; - VkDeviceSize dstOffset; - VkDeviceSize size; -} VkBufferCopy2KHR; ++typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR; + -typedef struct VkCopyBufferInfo2KHR { - VkStructureType sType; - const void* pNext; - VkBuffer srcBuffer; - VkBuffer dstBuffer; - deUint32 regionCount; - const VkBufferCopy2KHR* pRegions; -} VkCopyBufferInfo2KHR; ++typedef VkCopyImageInfo2 VkCopyImageInfo2KHR; + -typedef struct VkImageCopy2KHR { - VkStructureType sType; - const void* pNext; - VkImageSubresourceLayers srcSubresource; - VkOffset3D srcOffset; - VkImageSubresourceLayers dstSubresource; - VkOffset3D dstOffset; - VkExtent3D extent; -} VkImageCopy2KHR; ++typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; + -typedef struct VkCopyImageInfo2KHR { - VkStructureType sType; - const void* pNext; - VkImage srcImage; - VkImageLayout srcImageLayout; - VkImage dstImage; - VkImageLayout dstImageLayout; - deUint32 regionCount; - const VkImageCopy2KHR* pRegions; -} VkCopyImageInfo2KHR; ++typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; + -typedef struct VkBufferImageCopy2KHR { - VkStructureType sType; - const void* pNext; - VkDeviceSize bufferOffset; - deUint32 bufferRowLength; - deUint32 bufferImageHeight; - VkImageSubresourceLayers imageSubresource; - VkOffset3D imageOffset; - VkExtent3D imageExtent; -} VkBufferImageCopy2KHR; ++typedef VkBlitImageInfo2 VkBlitImageInfo2KHR; + -typedef struct VkCopyBufferToImageInfo2KHR { - VkStructureType sType; - const void* pNext; - VkBuffer srcBuffer; - VkImage dstImage; - VkImageLayout dstImageLayout; - deUint32 regionCount; - const VkBufferImageCopy2KHR* pRegions; -} VkCopyBufferToImageInfo2KHR; - -typedef struct VkCopyImageToBufferInfo2KHR { - VkStructureType sType; - const void* pNext; - VkImage srcImage; - VkImageLayout srcImageLayout; - VkBuffer dstBuffer; - deUint32 regionCount; - const VkBufferImageCopy2KHR* pRegions; -} VkCopyImageToBufferInfo2KHR; - -typedef struct VkImageBlit2KHR { - VkStructureType sType; - const void* pNext; - VkImageSubresourceLayers srcSubresource; - VkOffset3D srcOffsets[2]; - VkImageSubresourceLayers dstSubresource; - VkOffset3D dstOffsets[2]; -} VkImageBlit2KHR; ++typedef VkResolveImageInfo2 VkResolveImageInfo2KHR; + -typedef struct VkBlitImageInfo2KHR { - VkStructureType sType; - const void* pNext; - VkImage srcImage; - VkImageLayout srcImageLayout; - VkImage dstImage; - VkImageLayout dstImageLayout; - deUint32 regionCount; - const VkImageBlit2KHR* pRegions; - VkFilter filter; -} VkBlitImageInfo2KHR; ++typedef VkBufferCopy2 VkBufferCopy2KHR; + -typedef struct VkImageResolve2KHR { - VkStructureType sType; - const void* pNext; - VkImageSubresourceLayers srcSubresource; - VkOffset3D srcOffset; - VkImageSubresourceLayers dstSubresource; - VkOffset3D dstOffset; - VkExtent3D extent; -} VkImageResolve2KHR; ++typedef VkImageCopy2 VkImageCopy2KHR; + -typedef struct VkResolveImageInfo2KHR { - VkStructureType sType; - const void* pNext; - VkImage srcImage; - VkImageLayout srcImageLayout; - VkImage dstImage; - VkImageLayout dstImageLayout; - deUint32 regionCount; - const VkImageResolve2KHR* pRegions; -} VkResolveImageInfo2KHR; ++typedef VkImageBlit2 VkImageBlit2KHR; ++ ++typedef VkBufferImageCopy2 VkBufferImageCopy2KHR; ++ ++typedef VkImageResolve2 VkImageResolve2KHR; + -typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo); -typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo); -typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo); -typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo); -typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo); -typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); ++typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR( + VkCommandBuffer commandBuffer, - const VkCopyBufferInfo2KHR* pCopyBufferInfo); ++ const VkCopyBufferInfo2* pCopyBufferInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR( + VkCommandBuffer commandBuffer, - const VkCopyImageInfo2KHR* pCopyImageInfo); ++ const VkCopyImageInfo2* pCopyImageInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR( + VkCommandBuffer commandBuffer, - const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo); ++ const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR( + VkCommandBuffer commandBuffer, - const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo); ++ const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR( + VkCommandBuffer commandBuffer, - const VkBlitImageInfo2KHR* pBlitImageInfo); ++ const VkBlitImageInfo2* pBlitImageInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR( + VkCommandBuffer commandBuffer, - const VkResolveImageInfo2KHR* pResolveImageInfo); ++ const VkResolveImageInfo2* pResolveImageInfo); + #endif + + + #define VK_KHR_format_feature_flags2 1 + #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 1 + #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2" -typedef VkFlags64 VkFormatFeatureFlags2KHR; - -// Flag bits for VkFormatFeatureFlagBits2KHR -typedef VkFlags64 VkFormatFeatureFlagBits2KHR; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; -#ifdef VK_ENABLE_BETA_EXTENSIONS -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; -#endif -#ifdef VK_ENABLE_BETA_EXTENSIONS -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; -#endif -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; -#ifdef VK_ENABLE_BETA_EXTENSIONS -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; -#endif -#ifdef VK_ENABLE_BETA_EXTENSIONS -static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; -#endif ++typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR; + -typedef struct VkFormatProperties3KHR { - VkStructureType sType; - void* pNext; - VkFormatFeatureFlags2KHR linearTilingFeatures; - VkFormatFeatureFlags2KHR optimalTilingFeatures; - VkFormatFeatureFlags2KHR bufferFeatures; -} VkFormatProperties3KHR; ++typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR; ++ ++typedef VkFormatProperties3 VkFormatProperties3KHR; + + + + #define VK_KHR_maintenance4 1 + #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 + #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" -typedef struct VkPhysicalDeviceMaintenance4FeaturesKHR { - VkStructureType sType; - void* pNext; - VkBool32 maintenance4; -} VkPhysicalDeviceMaintenance4FeaturesKHR; ++typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; + -typedef struct VkPhysicalDeviceMaintenance4PropertiesKHR { - VkStructureType sType; - void* pNext; - VkDeviceSize maxBufferSize; -} VkPhysicalDeviceMaintenance4PropertiesKHR; ++typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; + -typedef struct VkDeviceBufferMemoryRequirementsKHR { - VkStructureType sType; - const void* pNext; - const VkBufferCreateInfo* pCreateInfo; -} VkDeviceBufferMemoryRequirementsKHR; ++typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; + -typedef struct VkDeviceImageMemoryRequirementsKHR { - VkStructureType sType; - const void* pNext; - const VkImageCreateInfo* pCreateInfo; - VkImageAspectFlagBits planeAspect; -} VkDeviceImageMemoryRequirementsKHR; ++typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; + -typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirementsKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements); -typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirementsKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements); -typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirementsKHR* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); ++typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); ++typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); ++typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR( + VkDevice device, - const VkDeviceBufferMemoryRequirementsKHR* pInfo, ++ const VkDeviceBufferMemoryRequirements* pInfo, + VkMemoryRequirements2* pMemoryRequirements); + + VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR( + VkDevice device, - const VkDeviceImageMemoryRequirementsKHR* pInfo, ++ const VkDeviceImageMemoryRequirements* pInfo, + VkMemoryRequirements2* pMemoryRequirements); + + VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR( + VkDevice device, - const VkDeviceImageMemoryRequirementsKHR* pInfo, ++ const VkDeviceImageMemoryRequirements* pInfo, + deUint32* pSparseMemoryRequirementCount, + VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); + #endif + + + #define VK_EXT_debug_report 1 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) + #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10 + #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" + + typedef enum VkDebugReportObjectTypeEXT { + VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, + VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, + VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, + VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, + VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, + VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, + VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, + VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, + VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, + VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, + VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, + VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, + VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, + VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, + VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, + VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, + VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, + VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, + VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, + VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, + VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, + VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, + VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, + VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, + VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, + VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, + VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, + VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, + VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28, + VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, + VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, + VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33, + VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000, + VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000, + VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000, + VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001, + VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000, + VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000, + VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000, + VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, + VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, + VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, + VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, + VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF + } VkDebugReportObjectTypeEXT; + + typedef enum VkDebugReportFlagBitsEXT { + VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, + VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, + VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, + VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, + VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, + VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF + } VkDebugReportFlagBitsEXT; + typedef VkFlags VkDebugReportFlagsEXT; + typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( + VkDebugReportFlagsEXT flags, + VkDebugReportObjectTypeEXT objectType, + deUint64 object, + deUintptr location, + deInt32 messageCode, + const char* pLayerPrefix, + const char* pMessage, + void* pUserData); + + typedef struct VkDebugReportCallbackCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkDebugReportFlagsEXT flags; + PFN_vkDebugReportCallbackEXT pfnCallback; + void* pUserData; + } VkDebugReportCallbackCreateInfoEXT; + + typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); + typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); + typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( + VkInstance instance, + const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkDebugReportCallbackEXT* pCallback); + + VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( + VkInstance instance, + VkDebugReportCallbackEXT callback, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( + VkInstance instance, + VkDebugReportFlagsEXT flags, + VkDebugReportObjectTypeEXT objectType, + deUint64 object, + deUintptr location, + deInt32 messageCode, + const char* pLayerPrefix, + const char* pMessage); + #endif + + + #define VK_NV_glsl_shader 1 + #define VK_NV_GLSL_SHADER_SPEC_VERSION 1 + #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" + + + #define VK_EXT_depth_range_unrestricted 1 + #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 + #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" + + + #define VK_IMG_filter_cubic 1 + #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 + #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" + + + #define VK_AMD_rasterization_order 1 + #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 + #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" + + typedef enum VkRasterizationOrderAMD { + VK_RASTERIZATION_ORDER_STRICT_AMD = 0, + VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, + VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF + } VkRasterizationOrderAMD; + typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { + VkStructureType sType; + const void* pNext; + VkRasterizationOrderAMD rasterizationOrder; + } VkPipelineRasterizationStateRasterizationOrderAMD; + + + + #define VK_AMD_shader_trinary_minmax 1 + #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 + #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" + + + #define VK_AMD_shader_explicit_vertex_parameter 1 + #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 + #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" + + + #define VK_EXT_debug_marker 1 + #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 + #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" + typedef struct VkDebugMarkerObjectNameInfoEXT { + VkStructureType sType; + const void* pNext; + VkDebugReportObjectTypeEXT objectType; + deUint64 object; + const char* pObjectName; + } VkDebugMarkerObjectNameInfoEXT; + + typedef struct VkDebugMarkerObjectTagInfoEXT { + VkStructureType sType; + const void* pNext; + VkDebugReportObjectTypeEXT objectType; + deUint64 object; + deUint64 tagName; + deUintptr tagSize; + const void* pTag; + } VkDebugMarkerObjectTagInfoEXT; + + typedef struct VkDebugMarkerMarkerInfoEXT { + VkStructureType sType; + const void* pNext; + const char* pMarkerName; + float color[4]; + } VkDebugMarkerMarkerInfoEXT; + + typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); + typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); + typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); + typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); + typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( + VkDevice device, + const VkDebugMarkerObjectTagInfoEXT* pTagInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( + VkDevice device, + const VkDebugMarkerObjectNameInfoEXT* pNameInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( + VkCommandBuffer commandBuffer, + const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( + VkCommandBuffer commandBuffer); + + VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( + VkCommandBuffer commandBuffer, + const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); + #endif + + + #define VK_AMD_gcn_shader 1 + #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 + #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" + + + #define VK_NV_dedicated_allocation 1 + #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 + #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" + typedef struct VkDedicatedAllocationImageCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkBool32 dedicatedAllocation; + } VkDedicatedAllocationImageCreateInfoNV; + + typedef struct VkDedicatedAllocationBufferCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkBool32 dedicatedAllocation; + } VkDedicatedAllocationBufferCreateInfoNV; + + typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { + VkStructureType sType; + const void* pNext; + VkImage image; + VkBuffer buffer; + } VkDedicatedAllocationMemoryAllocateInfoNV; + + + + #define VK_EXT_transform_feedback 1 + #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1 + #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" + typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; + typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 transformFeedback; + VkBool32 geometryStreams; + } VkPhysicalDeviceTransformFeedbackFeaturesEXT; + + typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT { + VkStructureType sType; + void* pNext; + deUint32 maxTransformFeedbackStreams; + deUint32 maxTransformFeedbackBuffers; + VkDeviceSize maxTransformFeedbackBufferSize; + deUint32 maxTransformFeedbackStreamDataSize; + deUint32 maxTransformFeedbackBufferDataSize; + deUint32 maxTransformFeedbackBufferDataStride; + VkBool32 transformFeedbackQueries; + VkBool32 transformFeedbackStreamsLinesTriangles; + VkBool32 transformFeedbackRasterizationStreamSelect; + VkBool32 transformFeedbackDraw; + } VkPhysicalDeviceTransformFeedbackPropertiesEXT; + + typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkPipelineRasterizationStateStreamCreateFlagsEXT flags; + deUint32 rasterizationStream; + } VkPipelineRasterizationStateStreamCreateInfoEXT; + + typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes); + typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); + typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); + typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index); + typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index); + typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT( + VkCommandBuffer commandBuffer, + deUint32 firstBinding, + deUint32 bindingCount, + const VkBuffer* pBuffers, + const VkDeviceSize* pOffsets, + const VkDeviceSize* pSizes); + + VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT( + VkCommandBuffer commandBuffer, + deUint32 firstCounterBuffer, + deUint32 counterBufferCount, + const VkBuffer* pCounterBuffers, + const VkDeviceSize* pCounterBufferOffsets); + + VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT( + VkCommandBuffer commandBuffer, + deUint32 firstCounterBuffer, + deUint32 counterBufferCount, + const VkBuffer* pCounterBuffers, + const VkDeviceSize* pCounterBufferOffsets); + + VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT( + VkCommandBuffer commandBuffer, + VkQueryPool queryPool, + deUint32 query, + VkQueryControlFlags flags, + deUint32 index); + + VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT( + VkCommandBuffer commandBuffer, + VkQueryPool queryPool, + deUint32 query, + deUint32 index); + + VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT( + VkCommandBuffer commandBuffer, + deUint32 instanceCount, + deUint32 firstInstance, + VkBuffer counterBuffer, + VkDeviceSize counterBufferOffset, + deUint32 counterOffset, + deUint32 vertexStride); + #endif + + + #define VK_NVX_binary_import 1 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) + #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1 + #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import" + typedef struct VkCuModuleCreateInfoNVX { + VkStructureType sType; + const void* pNext; + deUintptr dataSize; + const void* pData; + } VkCuModuleCreateInfoNVX; + + typedef struct VkCuFunctionCreateInfoNVX { + VkStructureType sType; + const void* pNext; + VkCuModuleNVX module; + const char* pName; + } VkCuFunctionCreateInfoNVX; + + typedef struct VkCuLaunchInfoNVX { + VkStructureType sType; + const void* pNext; + VkCuFunctionNVX function; + deUint32 gridDimX; + deUint32 gridDimY; + deUint32 gridDimZ; + deUint32 blockDimX; + deUint32 blockDimY; + deUint32 blockDimZ; + deUint32 sharedMemBytes; + deUintptr paramCount; + const void* const * pParams; + deUintptr extraCount; + const void* const * pExtras; + } VkCuLaunchInfoNVX; + + typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule); + typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction); + typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator); + typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator); + typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX( + VkDevice device, + const VkCuModuleCreateInfoNVX* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkCuModuleNVX* pModule); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX( + VkDevice device, + const VkCuFunctionCreateInfoNVX* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkCuFunctionNVX* pFunction); + + VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX( + VkDevice device, + VkCuModuleNVX module, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX( + VkDevice device, + VkCuFunctionNVX function, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX( + VkCommandBuffer commandBuffer, + const VkCuLaunchInfoNVX* pLaunchInfo); + #endif + + + #define VK_NVX_image_view_handle 1 + #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2 + #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle" + typedef struct VkImageViewHandleInfoNVX { + VkStructureType sType; + const void* pNext; + VkImageView imageView; + VkDescriptorType descriptorType; + VkSampler sampler; + } VkImageViewHandleInfoNVX; + + typedef struct VkImageViewAddressPropertiesNVX { + VkStructureType sType; + void* pNext; + VkDeviceAddress deviceAddress; + VkDeviceSize size; + } VkImageViewAddressPropertiesNVX; + + typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); + typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX( + VkDevice device, + const VkImageViewHandleInfoNVX* pInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX( + VkDevice device, + VkImageView imageView, + VkImageViewAddressPropertiesNVX* pProperties); + #endif + + + #define VK_AMD_draw_indirect_count 1 + #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 + #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" + typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); + typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkBuffer countBuffer, + VkDeviceSize countBufferOffset, + deUint32 maxDrawCount, + deUint32 stride); + + VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkBuffer countBuffer, + VkDeviceSize countBufferOffset, + deUint32 maxDrawCount, + deUint32 stride); + #endif + + + #define VK_AMD_negative_viewport_height 1 + #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 + #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" + + + #define VK_AMD_gpu_shader_half_float 1 + #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2 + #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" + + + #define VK_AMD_shader_ballot 1 + #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 + #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" + + + #define VK_AMD_texture_gather_bias_lod 1 + #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 + #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod" + typedef struct VkTextureLODGatherFormatPropertiesAMD { + VkStructureType sType; + void* pNext; + VkBool32 supportsTextureGatherLODBiasAMD; + } VkTextureLODGatherFormatPropertiesAMD; + + + + #define VK_AMD_shader_info 1 + #define VK_AMD_SHADER_INFO_SPEC_VERSION 1 + #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info" + + typedef enum VkShaderInfoTypeAMD { + VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0, + VK_SHADER_INFO_TYPE_BINARY_AMD = 1, + VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2, + VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF + } VkShaderInfoTypeAMD; + typedef struct VkShaderResourceUsageAMD { + deUint32 numUsedVgprs; + deUint32 numUsedSgprs; + deUint32 ldsSizePerLocalWorkGroup; + deUintptr ldsUsageSizeInBytes; + deUintptr scratchMemUsageInBytes; + } VkShaderResourceUsageAMD; + + typedef struct VkShaderStatisticsInfoAMD { + VkShaderStageFlags shaderStageMask; + VkShaderResourceUsageAMD resourceUsage; + deUint32 numPhysicalVgprs; + deUint32 numPhysicalSgprs; + deUint32 numAvailableVgprs; + deUint32 numAvailableSgprs; + deUint32 computeWorkGroupSize[3]; + } VkShaderStatisticsInfoAMD; + + typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD( + VkDevice device, + VkPipeline pipeline, + VkShaderStageFlagBits shaderStage, + VkShaderInfoTypeAMD infoType, + deUintptr* pInfoSize, + void* pInfo); + #endif + + + #define VK_AMD_shader_image_load_store_lod 1 + #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1 + #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod" + + + #define VK_NV_corner_sampled_image 1 + #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2 + #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image" + typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 cornerSampledImage; + } VkPhysicalDeviceCornerSampledImageFeaturesNV; + + + + #define VK_IMG_format_pvrtc 1 + #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 + #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" + + + #define VK_NV_external_memory_capabilities 1 + #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 + #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" + + typedef enum VkExternalMemoryHandleTypeFlagBitsNV { + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, + VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF + } VkExternalMemoryHandleTypeFlagBitsNV; + typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; + + typedef enum VkExternalMemoryFeatureFlagBitsNV { + VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, + VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, + VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, + VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF + } VkExternalMemoryFeatureFlagBitsNV; + typedef VkFlags VkExternalMemoryFeatureFlagsNV; + typedef struct VkExternalImageFormatPropertiesNV { + VkImageFormatProperties imageFormatProperties; + VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; + VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; + VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; + } VkExternalImageFormatPropertiesNV; + + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( + VkPhysicalDevice physicalDevice, + VkFormat format, + VkImageType type, + VkImageTiling tiling, + VkImageUsageFlags usage, + VkImageCreateFlags flags, + VkExternalMemoryHandleTypeFlagsNV externalHandleType, + VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); + #endif + + + #define VK_NV_external_memory 1 + #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 + #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" + typedef struct VkExternalMemoryImageCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagsNV handleTypes; + } VkExternalMemoryImageCreateInfoNV; + + typedef struct VkExportMemoryAllocateInfoNV { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagsNV handleTypes; + } VkExportMemoryAllocateInfoNV; + + + + #define VK_EXT_validation_flags 1 + #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2 + #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" + + typedef enum VkValidationCheckEXT { + VK_VALIDATION_CHECK_ALL_EXT = 0, + VK_VALIDATION_CHECK_SHADERS_EXT = 1, + VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF + } VkValidationCheckEXT; + typedef struct VkValidationFlagsEXT { + VkStructureType sType; + const void* pNext; + deUint32 disabledValidationCheckCount; + const VkValidationCheckEXT* pDisabledValidationChecks; + } VkValidationFlagsEXT; + + + + #define VK_EXT_shader_subgroup_ballot 1 + #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 + #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" + + + #define VK_EXT_shader_subgroup_vote 1 + #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 + #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" + + + #define VK_EXT_texture_compression_astc_hdr 1 + #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 + #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" -typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT { - VkStructureType sType; - void* pNext; - VkBool32 textureCompressionASTC_HDR; -} VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; ++typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; + + + + #define VK_EXT_astc_decode_mode 1 + #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 + #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" + typedef struct VkImageViewASTCDecodeModeEXT { + VkStructureType sType; + const void* pNext; + VkFormat decodeMode; + } VkImageViewASTCDecodeModeEXT; + + typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 decodeModeSharedExponent; + } VkPhysicalDeviceASTCDecodeFeaturesEXT; + + + + #define VK_EXT_conditional_rendering 1 + #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2 + #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering" + + typedef enum VkConditionalRenderingFlagBitsEXT { + VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001, + VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF + } VkConditionalRenderingFlagBitsEXT; + typedef VkFlags VkConditionalRenderingFlagsEXT; + typedef struct VkConditionalRenderingBeginInfoEXT { + VkStructureType sType; + const void* pNext; + VkBuffer buffer; + VkDeviceSize offset; + VkConditionalRenderingFlagsEXT flags; + } VkConditionalRenderingBeginInfoEXT; + + typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 conditionalRendering; + VkBool32 inheritedConditionalRendering; + } VkPhysicalDeviceConditionalRenderingFeaturesEXT; + + typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT { + VkStructureType sType; + const void* pNext; + VkBool32 conditionalRenderingEnable; + } VkCommandBufferInheritanceConditionalRenderingInfoEXT; + + typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); + typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT( + VkCommandBuffer commandBuffer, + const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); + + VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT( + VkCommandBuffer commandBuffer); + #endif + + + #define VK_NV_clip_space_w_scaling 1 + #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 + #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" + typedef struct VkViewportWScalingNV { + float xcoeff; + float ycoeff; + } VkViewportWScalingNV; + + typedef struct VkPipelineViewportWScalingStateCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkBool32 viewportWScalingEnable; + deUint32 viewportCount; + const VkViewportWScalingNV* pViewportWScalings; + } VkPipelineViewportWScalingStateCreateInfoNV; + + typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV( + VkCommandBuffer commandBuffer, + deUint32 firstViewport, + deUint32 viewportCount, + const VkViewportWScalingNV* pViewportWScalings); + #endif + + + #define VK_EXT_direct_mode_display 1 + #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 + #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" + typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( + VkPhysicalDevice physicalDevice, + VkDisplayKHR display); + #endif + + + #define VK_EXT_display_surface_counter 1 + #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 + #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" + + typedef enum VkSurfaceCounterFlagBitsEXT { + VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001, + VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT, + VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF + } VkSurfaceCounterFlagBitsEXT; + typedef VkFlags VkSurfaceCounterFlagsEXT; + typedef struct VkSurfaceCapabilities2EXT { + VkStructureType sType; + void* pNext; + deUint32 minImageCount; + deUint32 maxImageCount; + VkExtent2D currentExtent; + VkExtent2D minImageExtent; + VkExtent2D maxImageExtent; + deUint32 maxImageArrayLayers; + VkSurfaceTransformFlagsKHR supportedTransforms; + VkSurfaceTransformFlagBitsKHR currentTransform; + VkCompositeAlphaFlagsKHR supportedCompositeAlpha; + VkImageUsageFlags supportedUsageFlags; + VkSurfaceCounterFlagsEXT supportedSurfaceCounters; + } VkSurfaceCapabilities2EXT; + + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( + VkPhysicalDevice physicalDevice, + VkSurfaceKHR surface, + VkSurfaceCapabilities2EXT* pSurfaceCapabilities); + #endif + + + #define VK_EXT_display_control 1 + #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 + #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" + + typedef enum VkDisplayPowerStateEXT { + VK_DISPLAY_POWER_STATE_OFF_EXT = 0, + VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, + VK_DISPLAY_POWER_STATE_ON_EXT = 2, + VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF + } VkDisplayPowerStateEXT; + + typedef enum VkDeviceEventTypeEXT { + VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, + VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF + } VkDeviceEventTypeEXT; + + typedef enum VkDisplayEventTypeEXT { + VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, + VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF + } VkDisplayEventTypeEXT; + typedef struct VkDisplayPowerInfoEXT { + VkStructureType sType; + const void* pNext; + VkDisplayPowerStateEXT powerState; + } VkDisplayPowerInfoEXT; + + typedef struct VkDeviceEventInfoEXT { + VkStructureType sType; + const void* pNext; + VkDeviceEventTypeEXT deviceEvent; + } VkDeviceEventInfoEXT; + + typedef struct VkDisplayEventInfoEXT { + VkStructureType sType; + const void* pNext; + VkDisplayEventTypeEXT displayEvent; + } VkDisplayEventInfoEXT; + + typedef struct VkSwapchainCounterCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkSurfaceCounterFlagsEXT surfaceCounters; + } VkSwapchainCounterCreateInfoEXT; + + typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); + typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); + typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); + typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( + VkDevice device, + VkDisplayKHR display, + const VkDisplayPowerInfoEXT* pDisplayPowerInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( + VkDevice device, + const VkDeviceEventInfoEXT* pDeviceEventInfo, + const VkAllocationCallbacks* pAllocator, + VkFence* pFence); + + VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( + VkDevice device, + VkDisplayKHR display, + const VkDisplayEventInfoEXT* pDisplayEventInfo, + const VkAllocationCallbacks* pAllocator, + VkFence* pFence); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( + VkDevice device, + VkSwapchainKHR swapchain, + VkSurfaceCounterFlagBitsEXT counter, + deUint64* pCounterValue); + #endif + + + #define VK_GOOGLE_display_timing 1 + #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 + #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" + typedef struct VkRefreshCycleDurationGOOGLE { + deUint64 refreshDuration; + } VkRefreshCycleDurationGOOGLE; + + typedef struct VkPastPresentationTimingGOOGLE { + deUint32 presentID; + deUint64 desiredPresentTime; + deUint64 actualPresentTime; + deUint64 earliestPresentTime; + deUint64 presentMargin; + } VkPastPresentationTimingGOOGLE; + + typedef struct VkPresentTimeGOOGLE { + deUint32 presentID; + deUint64 desiredPresentTime; + } VkPresentTimeGOOGLE; + + typedef struct VkPresentTimesInfoGOOGLE { + VkStructureType sType; + const void* pNext; + deUint32 swapchainCount; + const VkPresentTimeGOOGLE* pTimes; + } VkPresentTimesInfoGOOGLE; + + typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); + typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( + VkDevice device, + VkSwapchainKHR swapchain, + VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( + VkDevice device, + VkSwapchainKHR swapchain, + deUint32* pPresentationTimingCount, + VkPastPresentationTimingGOOGLE* pPresentationTimings); + #endif + + + #define VK_NV_sample_mask_override_coverage 1 + #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 + #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" + + + #define VK_NV_geometry_shader_passthrough 1 + #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 + #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" + + + #define VK_NV_viewport_array2 1 + #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1 + #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2" + #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME + + + #define VK_NVX_multiview_per_view_attributes 1 + #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 + #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" + typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { + VkStructureType sType; + void* pNext; + VkBool32 perViewPositionAllComponents; + } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; + + + + #define VK_NV_viewport_swizzle 1 + #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 + #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" + + typedef enum VkViewportCoordinateSwizzleNV { + VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, + VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, + VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, + VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, + VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, + VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, + VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, + VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, + VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF + } VkViewportCoordinateSwizzleNV; + typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; + typedef struct VkViewportSwizzleNV { + VkViewportCoordinateSwizzleNV x; + VkViewportCoordinateSwizzleNV y; + VkViewportCoordinateSwizzleNV z; + VkViewportCoordinateSwizzleNV w; + } VkViewportSwizzleNV; + + typedef struct VkPipelineViewportSwizzleStateCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkPipelineViewportSwizzleStateCreateFlagsNV flags; + deUint32 viewportCount; + const VkViewportSwizzleNV* pViewportSwizzles; + } VkPipelineViewportSwizzleStateCreateInfoNV; + + + + #define VK_EXT_discard_rectangles 1 + #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1 + #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" + + typedef enum VkDiscardRectangleModeEXT { + VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, + VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, + VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF + } VkDiscardRectangleModeEXT; + typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; + typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { + VkStructureType sType; + void* pNext; + deUint32 maxDiscardRectangles; + } VkPhysicalDeviceDiscardRectanglePropertiesEXT; + + typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkPipelineDiscardRectangleStateCreateFlagsEXT flags; + VkDiscardRectangleModeEXT discardRectangleMode; + deUint32 discardRectangleCount; + const VkRect2D* pDiscardRectangles; + } VkPipelineDiscardRectangleStateCreateInfoEXT; + + typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( + VkCommandBuffer commandBuffer, + deUint32 firstDiscardRectangle, + deUint32 discardRectangleCount, + const VkRect2D* pDiscardRectangles); + #endif + + + #define VK_EXT_conservative_rasterization 1 + #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 + #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" + + typedef enum VkConservativeRasterizationModeEXT { + VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, + VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, + VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, + VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF + } VkConservativeRasterizationModeEXT; + typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; + typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT { + VkStructureType sType; + void* pNext; + float primitiveOverestimationSize; + float maxExtraPrimitiveOverestimationSize; + float extraPrimitiveOverestimationSizeGranularity; + VkBool32 primitiveUnderestimation; + VkBool32 conservativePointAndLineRasterization; + VkBool32 degenerateTrianglesRasterized; + VkBool32 degenerateLinesRasterized; + VkBool32 fullyCoveredFragmentShaderInputVariable; + VkBool32 conservativeRasterizationPostDepthCoverage; + } VkPhysicalDeviceConservativeRasterizationPropertiesEXT; + + typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; + VkConservativeRasterizationModeEXT conservativeRasterizationMode; + float extraPrimitiveOverestimationSize; + } VkPipelineRasterizationConservativeStateCreateInfoEXT; + + + + #define VK_EXT_depth_clip_enable 1 + #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 + #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" + typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; + typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 depthClipEnable; + } VkPhysicalDeviceDepthClipEnableFeaturesEXT; + + typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; + VkBool32 depthClipEnable; + } VkPipelineRasterizationDepthClipStateCreateInfoEXT; + + + + #define VK_EXT_swapchain_colorspace 1 + #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4 + #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" + + + #define VK_EXT_hdr_metadata 1 + #define VK_EXT_HDR_METADATA_SPEC_VERSION 2 + #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" + typedef struct VkXYColorEXT { + float x; + float y; + } VkXYColorEXT; + + typedef struct VkHdrMetadataEXT { + VkStructureType sType; + const void* pNext; + VkXYColorEXT displayPrimaryRed; + VkXYColorEXT displayPrimaryGreen; + VkXYColorEXT displayPrimaryBlue; + VkXYColorEXT whitePoint; + float maxLuminance; + float minLuminance; + float maxContentLightLevel; + float maxFrameAverageLightLevel; + } VkHdrMetadataEXT; + + typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( + VkDevice device, + deUint32 swapchainCount, + const VkSwapchainKHR* pSwapchains, + const VkHdrMetadataEXT* pMetadata); + #endif + + + #define VK_EXT_external_memory_dma_buf 1 + #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 + #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" + + + #define VK_EXT_queue_family_foreign 1 + #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 + #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" + #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) + + + #define VK_EXT_debug_utils 1 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) + #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 + #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils" + typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; + + typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT { + VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, + VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, + VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, + VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, + VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF + } VkDebugUtilsMessageSeverityFlagBitsEXT; + + typedef enum VkDebugUtilsMessageTypeFlagBitsEXT { + VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, + VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, + VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, + VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF + } VkDebugUtilsMessageTypeFlagBitsEXT; + typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; + typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; + typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; + typedef struct VkDebugUtilsLabelEXT { + VkStructureType sType; + const void* pNext; + const char* pLabelName; + float color[4]; + } VkDebugUtilsLabelEXT; + + typedef struct VkDebugUtilsObjectNameInfoEXT { + VkStructureType sType; + const void* pNext; + VkObjectType objectType; + deUint64 objectHandle; + const char* pObjectName; + } VkDebugUtilsObjectNameInfoEXT; + + typedef struct VkDebugUtilsMessengerCallbackDataEXT { + VkStructureType sType; + const void* pNext; + VkDebugUtilsMessengerCallbackDataFlagsEXT flags; + const char* pMessageIdName; + deInt32 messageIdNumber; + const char* pMessage; + deUint32 queueLabelCount; + const VkDebugUtilsLabelEXT* pQueueLabels; + deUint32 cmdBufLabelCount; + const VkDebugUtilsLabelEXT* pCmdBufLabels; + deUint32 objectCount; + const VkDebugUtilsObjectNameInfoEXT* pObjects; + } VkDebugUtilsMessengerCallbackDataEXT; + + typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( + VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, + VkDebugUtilsMessageTypeFlagsEXT messageTypes, + const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, + void* pUserData); + + typedef struct VkDebugUtilsMessengerCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkDebugUtilsMessengerCreateFlagsEXT flags; + VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; + VkDebugUtilsMessageTypeFlagsEXT messageType; + PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; + void* pUserData; + } VkDebugUtilsMessengerCreateInfoEXT; + + typedef struct VkDebugUtilsObjectTagInfoEXT { + VkStructureType sType; + const void* pNext; + VkObjectType objectType; + deUint64 objectHandle; + deUint64 tagName; + deUintptr tagSize; + const void* pTag; + } VkDebugUtilsObjectTagInfoEXT; + + typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); + typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); + typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); + typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue); + typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); + typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); + typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer); + typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); + typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); + typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); + typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT( + VkDevice device, + const VkDebugUtilsObjectNameInfoEXT* pNameInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT( + VkDevice device, + const VkDebugUtilsObjectTagInfoEXT* pTagInfo); + + VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT( + VkQueue queue, + const VkDebugUtilsLabelEXT* pLabelInfo); + + VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT( + VkQueue queue); + + VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT( + VkQueue queue, + const VkDebugUtilsLabelEXT* pLabelInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT( + VkCommandBuffer commandBuffer, + const VkDebugUtilsLabelEXT* pLabelInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT( + VkCommandBuffer commandBuffer); + + VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT( + VkCommandBuffer commandBuffer, + const VkDebugUtilsLabelEXT* pLabelInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT( + VkInstance instance, + const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkDebugUtilsMessengerEXT* pMessenger); + + VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT( + VkInstance instance, + VkDebugUtilsMessengerEXT messenger, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT( + VkInstance instance, + VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, + VkDebugUtilsMessageTypeFlagsEXT messageTypes, + const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); + #endif + + + #define VK_EXT_sampler_filter_minmax 1 + #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2 + #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" + typedef VkSamplerReductionMode VkSamplerReductionModeEXT; + + typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; + + typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; + + + + #define VK_AMD_gpu_shader_int16 1 + #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2 + #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" + + + #define VK_AMD_mixed_attachment_samples 1 + #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 + #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples" + + + #define VK_AMD_shader_fragment_mask 1 + #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1 + #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask" + + + #define VK_EXT_inline_uniform_block 1 + #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1 + #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" -typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT { - VkStructureType sType; - void* pNext; - VkBool32 inlineUniformBlock; - VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; -} VkPhysicalDeviceInlineUniformBlockFeaturesEXT; ++typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT; + -typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT { - VkStructureType sType; - void* pNext; - deUint32 maxInlineUniformBlockSize; - deUint32 maxPerStageDescriptorInlineUniformBlocks; - deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; - deUint32 maxDescriptorSetInlineUniformBlocks; - deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks; -} VkPhysicalDeviceInlineUniformBlockPropertiesEXT; ++typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT; + -typedef struct VkWriteDescriptorSetInlineUniformBlockEXT { - VkStructureType sType; - const void* pNext; - deUint32 dataSize; - const void* pData; -} VkWriteDescriptorSetInlineUniformBlockEXT; ++typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT; + -typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT { - VkStructureType sType; - const void* pNext; - deUint32 maxInlineUniformBlockBindings; -} VkDescriptorPoolInlineUniformBlockCreateInfoEXT; ++typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT; + + + + #define VK_EXT_shader_stencil_export 1 + #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 + #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" + + + #define VK_EXT_sample_locations 1 + #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 + #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" + typedef struct VkSampleLocationEXT { + float x; + float y; + } VkSampleLocationEXT; + + typedef struct VkSampleLocationsInfoEXT { + VkStructureType sType; + const void* pNext; + VkSampleCountFlagBits sampleLocationsPerPixel; + VkExtent2D sampleLocationGridSize; + deUint32 sampleLocationsCount; + const VkSampleLocationEXT* pSampleLocations; + } VkSampleLocationsInfoEXT; + + typedef struct VkAttachmentSampleLocationsEXT { + deUint32 attachmentIndex; + VkSampleLocationsInfoEXT sampleLocationsInfo; + } VkAttachmentSampleLocationsEXT; + + typedef struct VkSubpassSampleLocationsEXT { + deUint32 subpassIndex; + VkSampleLocationsInfoEXT sampleLocationsInfo; + } VkSubpassSampleLocationsEXT; + + typedef struct VkRenderPassSampleLocationsBeginInfoEXT { + VkStructureType sType; + const void* pNext; + deUint32 attachmentInitialSampleLocationsCount; + const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; + deUint32 postSubpassSampleLocationsCount; + const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; + } VkRenderPassSampleLocationsBeginInfoEXT; + + typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkBool32 sampleLocationsEnable; + VkSampleLocationsInfoEXT sampleLocationsInfo; + } VkPipelineSampleLocationsStateCreateInfoEXT; + + typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT { + VkStructureType sType; + void* pNext; + VkSampleCountFlags sampleLocationSampleCounts; + VkExtent2D maxSampleLocationGridSize; + float sampleLocationCoordinateRange[2]; + deUint32 sampleLocationSubPixelBits; + VkBool32 variableSampleLocations; + } VkPhysicalDeviceSampleLocationsPropertiesEXT; + + typedef struct VkMultisamplePropertiesEXT { + VkStructureType sType; + void* pNext; + VkExtent2D maxSampleLocationGridSize; + } VkMultisamplePropertiesEXT; + + typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); + typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT( + VkCommandBuffer commandBuffer, + const VkSampleLocationsInfoEXT* pSampleLocationsInfo); + + VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT( + VkPhysicalDevice physicalDevice, + VkSampleCountFlagBits samples, + VkMultisamplePropertiesEXT* pMultisampleProperties); + #endif + + + #define VK_EXT_blend_operation_advanced 1 + #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 + #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" + + typedef enum VkBlendOverlapEXT { + VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, + VK_BLEND_OVERLAP_DISJOINT_EXT = 1, + VK_BLEND_OVERLAP_CONJOINT_EXT = 2, + VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF + } VkBlendOverlapEXT; + typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 advancedBlendCoherentOperations; + } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT; + + typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT { + VkStructureType sType; + void* pNext; + deUint32 advancedBlendMaxColorAttachments; + VkBool32 advancedBlendIndependentBlend; + VkBool32 advancedBlendNonPremultipliedSrcColor; + VkBool32 advancedBlendNonPremultipliedDstColor; + VkBool32 advancedBlendCorrelatedOverlap; + VkBool32 advancedBlendAllOperations; + } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT; + + typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkBool32 srcPremultiplied; + VkBool32 dstPremultiplied; + VkBlendOverlapEXT blendOverlap; + } VkPipelineColorBlendAdvancedStateCreateInfoEXT; + + + + #define VK_NV_fragment_coverage_to_color 1 + #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 + #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color" + typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; + typedef struct VkPipelineCoverageToColorStateCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkPipelineCoverageToColorStateCreateFlagsNV flags; + VkBool32 coverageToColorEnable; + deUint32 coverageToColorLocation; + } VkPipelineCoverageToColorStateCreateInfoNV; + + + + #define VK_NV_framebuffer_mixed_samples 1 + #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 + #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples" + + typedef enum VkCoverageModulationModeNV { + VK_COVERAGE_MODULATION_MODE_NONE_NV = 0, + VK_COVERAGE_MODULATION_MODE_RGB_NV = 1, + VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2, + VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3, + VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF + } VkCoverageModulationModeNV; + typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; + typedef struct VkPipelineCoverageModulationStateCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkPipelineCoverageModulationStateCreateFlagsNV flags; + VkCoverageModulationModeNV coverageModulationMode; + VkBool32 coverageModulationTableEnable; + deUint32 coverageModulationTableCount; + const float* pCoverageModulationTable; + } VkPipelineCoverageModulationStateCreateInfoNV; + + + + #define VK_NV_fill_rectangle 1 + #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 + #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" + + + #define VK_NV_shader_sm_builtins 1 + #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1 + #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins" + typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV { + VkStructureType sType; + void* pNext; + deUint32 shaderSMCount; + deUint32 shaderWarpsPerSM; + } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV; + + typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 shaderSMBuiltins; + } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV; + + + + #define VK_EXT_post_depth_coverage 1 + #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 + #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" + + + #define VK_EXT_image_drm_format_modifier 1 + #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 + #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" + typedef struct VkDrmFormatModifierPropertiesEXT { + deUint64 drmFormatModifier; + deUint32 drmFormatModifierPlaneCount; + VkFormatFeatureFlags drmFormatModifierTilingFeatures; + } VkDrmFormatModifierPropertiesEXT; + + typedef struct VkDrmFormatModifierPropertiesListEXT { + VkStructureType sType; + void* pNext; + deUint32 drmFormatModifierCount; + VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; + } VkDrmFormatModifierPropertiesListEXT; + + typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT { + VkStructureType sType; + const void* pNext; + deUint64 drmFormatModifier; + VkSharingMode sharingMode; + deUint32 queueFamilyIndexCount; + const deUint32* pQueueFamilyIndices; + } VkPhysicalDeviceImageDrmFormatModifierInfoEXT; + + typedef struct VkImageDrmFormatModifierListCreateInfoEXT { + VkStructureType sType; + const void* pNext; + deUint32 drmFormatModifierCount; + const deUint64* pDrmFormatModifiers; + } VkImageDrmFormatModifierListCreateInfoEXT; + + typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { + VkStructureType sType; + const void* pNext; + deUint64 drmFormatModifier; + deUint32 drmFormatModifierPlaneCount; + const VkSubresourceLayout* pPlaneLayouts; + } VkImageDrmFormatModifierExplicitCreateInfoEXT; + + typedef struct VkImageDrmFormatModifierPropertiesEXT { + VkStructureType sType; + void* pNext; + deUint64 drmFormatModifier; + } VkImageDrmFormatModifierPropertiesEXT; + + typedef struct VkDrmFormatModifierProperties2EXT { + deUint64 drmFormatModifier; + deUint32 drmFormatModifierPlaneCount; + VkFormatFeatureFlags2KHR drmFormatModifierTilingFeatures; + } VkDrmFormatModifierProperties2EXT; + + typedef struct VkDrmFormatModifierPropertiesList2EXT { + VkStructureType sType; + void* pNext; + deUint32 drmFormatModifierCount; + VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; + } VkDrmFormatModifierPropertiesList2EXT; + + typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT( + VkDevice device, + VkImage image, + VkImageDrmFormatModifierPropertiesEXT* pProperties); + #endif + + + #define VK_EXT_validation_cache 1 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) + #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1 + #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache" + + typedef enum VkValidationCacheHeaderVersionEXT { + VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1, + VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF + } VkValidationCacheHeaderVersionEXT; + typedef VkFlags VkValidationCacheCreateFlagsEXT; + typedef struct VkValidationCacheCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkValidationCacheCreateFlagsEXT flags; + deUintptr initialDataSize; + const void* pInitialData; + } VkValidationCacheCreateInfoEXT; + + typedef struct VkShaderModuleValidationCacheCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkValidationCacheEXT validationCache; + } VkShaderModuleValidationCacheCreateInfoEXT; + + typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); + typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); + typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches); + typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT( + VkDevice device, + const VkValidationCacheCreateInfoEXT* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkValidationCacheEXT* pValidationCache); + + VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT( + VkDevice device, + VkValidationCacheEXT validationCache, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT( + VkDevice device, + VkValidationCacheEXT dstCache, + deUint32 srcCacheCount, + const VkValidationCacheEXT* pSrcCaches); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT( + VkDevice device, + VkValidationCacheEXT validationCache, + deUintptr* pDataSize, + void* pData); + #endif + + + #define VK_EXT_descriptor_indexing 1 + #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2 + #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" + typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT; + + typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT; + + typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; + + typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; + + typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; + + typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; + + typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; + + + + #define VK_EXT_shader_viewport_index_layer 1 + #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 + #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer" + + + #define VK_NV_shading_rate_image 1 + #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3 + #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" + + typedef enum VkShadingRatePaletteEntryNV { + VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0, + VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1, + VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2, + VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3, + VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10, + VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11, + VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF + } VkShadingRatePaletteEntryNV; + + typedef enum VkCoarseSampleOrderTypeNV { + VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0, + VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1, + VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2, + VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3, + VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF + } VkCoarseSampleOrderTypeNV; + typedef struct VkShadingRatePaletteNV { + deUint32 shadingRatePaletteEntryCount; + const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; + } VkShadingRatePaletteNV; + + typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkBool32 shadingRateImageEnable; + deUint32 viewportCount; + const VkShadingRatePaletteNV* pShadingRatePalettes; + } VkPipelineViewportShadingRateImageStateCreateInfoNV; + + typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 shadingRateImage; + VkBool32 shadingRateCoarseSampleOrder; + } VkPhysicalDeviceShadingRateImageFeaturesNV; + + typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV { + VkStructureType sType; + void* pNext; + VkExtent2D shadingRateTexelSize; + deUint32 shadingRatePaletteSize; + deUint32 shadingRateMaxCoarseSamples; + } VkPhysicalDeviceShadingRateImagePropertiesNV; + + typedef struct VkCoarseSampleLocationNV { + deUint32 pixelX; + deUint32 pixelY; + deUint32 sample; + } VkCoarseSampleLocationNV; + + typedef struct VkCoarseSampleOrderCustomNV { + VkShadingRatePaletteEntryNV shadingRate; + deUint32 sampleCount; + deUint32 sampleLocationCount; + const VkCoarseSampleLocationNV* pSampleLocations; + } VkCoarseSampleOrderCustomNV; + + typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkCoarseSampleOrderTypeNV sampleOrderType; + deUint32 customSampleOrderCount; + const VkCoarseSampleOrderCustomNV* pCustomSampleOrders; + } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV; + + typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); + typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes); + typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV( + VkCommandBuffer commandBuffer, + VkImageView imageView, + VkImageLayout imageLayout); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV( + VkCommandBuffer commandBuffer, + deUint32 firstViewport, + deUint32 viewportCount, + const VkShadingRatePaletteNV* pShadingRatePalettes); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV( + VkCommandBuffer commandBuffer, + VkCoarseSampleOrderTypeNV sampleOrderType, + deUint32 customSampleOrderCount, + const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); + #endif + + + #define VK_NV_ray_tracing 1 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) + #define VK_NV_RAY_TRACING_SPEC_VERSION 3 + #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing" + #define VK_SHADER_UNUSED_KHR (~0U) + #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR + + typedef enum VkRayTracingShaderGroupTypeKHR { + VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0, + VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1, + VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2, + VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, + VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR, + VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, + VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF + } VkRayTracingShaderGroupTypeKHR; + typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV; + + + typedef enum VkGeometryTypeKHR { + VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, + VK_GEOMETRY_TYPE_AABBS_KHR = 1, + VK_GEOMETRY_TYPE_INSTANCES_KHR = 2, + VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, + VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, + VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF + } VkGeometryTypeKHR; + typedef VkGeometryTypeKHR VkGeometryTypeNV; + + + typedef enum VkAccelerationStructureTypeKHR { + VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0, + VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1, + VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2, + VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, + VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, + VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF + } VkAccelerationStructureTypeKHR; + typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV; + + + typedef enum VkCopyAccelerationStructureModeKHR { + VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, + VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1, + VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2, + VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3, + VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, + VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, + VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF + } VkCopyAccelerationStructureModeKHR; + typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV; + + + typedef enum VkAccelerationStructureMemoryRequirementsTypeNV { + VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0, + VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1, + VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2, + VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF + } VkAccelerationStructureMemoryRequirementsTypeNV; + + typedef enum VkGeometryFlagBitsKHR { + VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001, + VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002, + VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR, + VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, + VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF + } VkGeometryFlagBitsKHR; + typedef VkFlags VkGeometryFlagsKHR; + typedef VkGeometryFlagsKHR VkGeometryFlagsNV; + + typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV; + + + typedef enum VkGeometryInstanceFlagBitsKHR { + VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001, + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, + VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, + VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, + VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, + VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, + VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, + VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF + } VkGeometryInstanceFlagBitsKHR; + typedef VkFlags VkGeometryInstanceFlagsKHR; + typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; + + typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV; + + + typedef enum VkBuildAccelerationStructureFlagBitsKHR { + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001, + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002, + VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004, + VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, + VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020, + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, + VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, + VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, + VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, + VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF + } VkBuildAccelerationStructureFlagBitsKHR; + typedef VkFlags VkBuildAccelerationStructureFlagsKHR; + typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; + + typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV; + + typedef struct VkRayTracingShaderGroupCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkRayTracingShaderGroupTypeKHR type; + deUint32 generalShader; + deUint32 closestHitShader; + deUint32 anyHitShader; + deUint32 intersectionShader; + } VkRayTracingShaderGroupCreateInfoNV; + + typedef struct VkRayTracingPipelineCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkPipelineCreateFlags flags; + deUint32 stageCount; + const VkPipelineShaderStageCreateInfo* pStages; + deUint32 groupCount; + const VkRayTracingShaderGroupCreateInfoNV* pGroups; + deUint32 maxRecursionDepth; + VkPipelineLayout layout; + VkPipeline basePipelineHandle; + deInt32 basePipelineIndex; + } VkRayTracingPipelineCreateInfoNV; + + typedef struct VkGeometryTrianglesNV { + VkStructureType sType; + const void* pNext; + VkBuffer vertexData; + VkDeviceSize vertexOffset; + deUint32 vertexCount; + VkDeviceSize vertexStride; + VkFormat vertexFormat; + VkBuffer indexData; + VkDeviceSize indexOffset; + deUint32 indexCount; + VkIndexType indexType; + VkBuffer transformData; + VkDeviceSize transformOffset; + } VkGeometryTrianglesNV; + + typedef struct VkGeometryAABBNV { + VkStructureType sType; + const void* pNext; + VkBuffer aabbData; + deUint32 numAABBs; + deUint32 stride; + VkDeviceSize offset; + } VkGeometryAABBNV; + + typedef struct VkGeometryDataNV { + VkGeometryTrianglesNV triangles; + VkGeometryAABBNV aabbs; + } VkGeometryDataNV; + + typedef struct VkGeometryNV { + VkStructureType sType; + const void* pNext; + VkGeometryTypeKHR geometryType; + VkGeometryDataNV geometry; + VkGeometryFlagsKHR flags; + } VkGeometryNV; + + typedef struct VkAccelerationStructureInfoNV { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureTypeNV type; + VkBuildAccelerationStructureFlagsNV flags; + deUint32 instanceCount; + deUint32 geometryCount; + const VkGeometryNV* pGeometries; + } VkAccelerationStructureInfoNV; + + typedef struct VkAccelerationStructureCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkDeviceSize compactedSize; + VkAccelerationStructureInfoNV info; + } VkAccelerationStructureCreateInfoNV; + + typedef struct VkBindAccelerationStructureMemoryInfoNV { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureNV accelerationStructure; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + deUint32 deviceIndexCount; + const deUint32* pDeviceIndices; + } VkBindAccelerationStructureMemoryInfoNV; + + typedef struct VkWriteDescriptorSetAccelerationStructureNV { + VkStructureType sType; + const void* pNext; + deUint32 accelerationStructureCount; + const VkAccelerationStructureNV* pAccelerationStructures; + } VkWriteDescriptorSetAccelerationStructureNV; + + typedef struct VkAccelerationStructureMemoryRequirementsInfoNV { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureMemoryRequirementsTypeNV type; + VkAccelerationStructureNV accelerationStructure; + } VkAccelerationStructureMemoryRequirementsInfoNV; + + typedef struct VkPhysicalDeviceRayTracingPropertiesNV { + VkStructureType sType; + void* pNext; + deUint32 shaderGroupHandleSize; + deUint32 maxRecursionDepth; + deUint32 maxShaderGroupStride; + deUint32 shaderGroupBaseAlignment; + deUint64 maxGeometryCount; + deUint64 maxInstanceCount; + deUint64 maxTriangleCount; + deUint32 maxDescriptorSetAccelerationStructures; + } VkPhysicalDeviceRayTracingPropertiesNV; + + typedef struct VkTransformMatrixKHR { + float matrix[3][4]; + } VkTransformMatrixKHR; + + typedef VkTransformMatrixKHR VkTransformMatrixNV; + + typedef struct VkAabbPositionsKHR { + float minX; + float minY; + float minZ; + float maxX; + float maxY; + float maxZ; + } VkAabbPositionsKHR; + + typedef VkAabbPositionsKHR VkAabbPositionsNV; + + typedef struct VkAccelerationStructureInstanceKHR { + VkTransformMatrixKHR transform; + deUint32 instanceCustomIndex:24; + deUint32 mask:8; + deUint32 instanceShaderBindingTableRecordOffset:24; + VkGeometryInstanceFlagsKHR flags:8; + deUint64 accelerationStructureReference; + } VkAccelerationStructureInstanceKHR; + + typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV; + + typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure); + typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator); + typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements); + typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); + typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset); + typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode); + typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNV)(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, deUint32 width, deUint32 height, deUint32 depth); + typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); + typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData); + typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData); + typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData); + typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery); + typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV( + VkDevice device, + const VkAccelerationStructureCreateInfoNV* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkAccelerationStructureNV* pAccelerationStructure); + + VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV( + VkDevice device, + VkAccelerationStructureNV accelerationStructure, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV( + VkDevice device, + const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, + VkMemoryRequirements2KHR* pMemoryRequirements); + + VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV( + VkDevice device, + deUint32 bindInfoCount, + const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); + + VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV( + VkCommandBuffer commandBuffer, + const VkAccelerationStructureInfoNV* pInfo, + VkBuffer instanceData, + VkDeviceSize instanceOffset, + VkBool32 update, + VkAccelerationStructureNV dst, + VkAccelerationStructureNV src, + VkBuffer scratch, + VkDeviceSize scratchOffset); + + VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV( + VkCommandBuffer commandBuffer, + VkAccelerationStructureNV dst, + VkAccelerationStructureNV src, + VkCopyAccelerationStructureModeKHR mode); + + VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV( + VkCommandBuffer commandBuffer, + VkBuffer raygenShaderBindingTableBuffer, + VkDeviceSize raygenShaderBindingOffset, + VkBuffer missShaderBindingTableBuffer, + VkDeviceSize missShaderBindingOffset, + VkDeviceSize missShaderBindingStride, + VkBuffer hitShaderBindingTableBuffer, + VkDeviceSize hitShaderBindingOffset, + VkDeviceSize hitShaderBindingStride, + VkBuffer callableShaderBindingTableBuffer, + VkDeviceSize callableShaderBindingOffset, + VkDeviceSize callableShaderBindingStride, + deUint32 width, + deUint32 height, + deUint32 depth); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV( + VkDevice device, + VkPipelineCache pipelineCache, + deUint32 createInfoCount, + const VkRayTracingPipelineCreateInfoNV* pCreateInfos, + const VkAllocationCallbacks* pAllocator, + VkPipeline* pPipelines); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR( + VkDevice device, + VkPipeline pipeline, + deUint32 firstGroup, + deUint32 groupCount, + deUintptr dataSize, + void* pData); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV( + VkDevice device, + VkPipeline pipeline, + deUint32 firstGroup, + deUint32 groupCount, + deUintptr dataSize, + void* pData); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV( + VkDevice device, + VkAccelerationStructureNV accelerationStructure, + deUintptr dataSize, + void* pData); + + VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV( + VkCommandBuffer commandBuffer, + deUint32 accelerationStructureCount, + const VkAccelerationStructureNV* pAccelerationStructures, + VkQueryType queryType, + VkQueryPool queryPool, + deUint32 firstQuery); + + VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV( + VkDevice device, + VkPipeline pipeline, + deUint32 shader); + #endif + + + #define VK_NV_representative_fragment_test 1 + #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2 + #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test" + typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 representativeFragmentTest; + } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV; + + typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkBool32 representativeFragmentTestEnable; + } VkPipelineRepresentativeFragmentTestStateCreateInfoNV; + + + + #define VK_EXT_filter_cubic 1 + #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 + #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" + typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { + VkStructureType sType; + void* pNext; + VkImageViewType imageViewType; + } VkPhysicalDeviceImageViewImageFormatInfoEXT; + + typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT { + VkStructureType sType; + void* pNext; + VkBool32 filterCubic; + VkBool32 filterCubicMinmax; + } VkFilterCubicImageViewImageFormatPropertiesEXT; + + + + #define VK_QCOM_render_pass_shader_resolve 1 + #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 + #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve" + + + #define VK_EXT_global_priority 1 + #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 + #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" + + typedef enum VkQueueGlobalPriorityEXT { + VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128, + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256, + VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512, + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024, + VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF + } VkQueueGlobalPriorityEXT; + typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkQueueGlobalPriorityEXT globalPriority; + } VkDeviceQueueGlobalPriorityCreateInfoEXT; + + + + #define VK_EXT_external_memory_host 1 + #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 + #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" + typedef struct VkImportMemoryHostPointerInfoEXT { + VkStructureType sType; + const void* pNext; + VkExternalMemoryHandleTypeFlagBits handleType; + void* pHostPointer; + } VkImportMemoryHostPointerInfoEXT; + + typedef struct VkMemoryHostPointerPropertiesEXT { + VkStructureType sType; + void* pNext; + deUint32 memoryTypeBits; + } VkMemoryHostPointerPropertiesEXT; + + typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { + VkStructureType sType; + void* pNext; + VkDeviceSize minImportedHostPointerAlignment; + } VkPhysicalDeviceExternalMemoryHostPropertiesEXT; + + typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT( + VkDevice device, + VkExternalMemoryHandleTypeFlagBits handleType, + const void* pHostPointer, + VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); + #endif + + + #define VK_AMD_buffer_marker 1 + #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1 + #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker" + typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD( + VkCommandBuffer commandBuffer, + VkPipelineStageFlagBits pipelineStage, + VkBuffer dstBuffer, + VkDeviceSize dstOffset, + deUint32 marker); + #endif + + + #define VK_AMD_pipeline_compiler_control 1 + #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1 + #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control" + + typedef enum VkPipelineCompilerControlFlagBitsAMD { + VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF + } VkPipelineCompilerControlFlagBitsAMD; + typedef VkFlags VkPipelineCompilerControlFlagsAMD; + typedef struct VkPipelineCompilerControlCreateInfoAMD { + VkStructureType sType; + const void* pNext; + VkPipelineCompilerControlFlagsAMD compilerControlFlags; + } VkPipelineCompilerControlCreateInfoAMD; + + + + #define VK_EXT_calibrated_timestamps 1 + #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 + #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" + + typedef enum VkTimeDomainEXT { + VK_TIME_DOMAIN_DEVICE_EXT = 0, + VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1, + VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2, + VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3, + VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF + } VkTimeDomainEXT; + typedef struct VkCalibratedTimestampInfoEXT { + VkStructureType sType; + const void* pNext; + VkTimeDomainEXT timeDomain; + } VkCalibratedTimestampInfoEXT; + + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains); + typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( + VkPhysicalDevice physicalDevice, + deUint32* pTimeDomainCount, + VkTimeDomainEXT* pTimeDomains); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( + VkDevice device, + deUint32 timestampCount, + const VkCalibratedTimestampInfoEXT* pTimestampInfos, + deUint64* pTimestamps, + deUint64* pMaxDeviation); + #endif + + + #define VK_AMD_shader_core_properties 1 + #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2 + #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties" + typedef struct VkPhysicalDeviceShaderCorePropertiesAMD { + VkStructureType sType; + void* pNext; + deUint32 shaderEngineCount; + deUint32 shaderArraysPerEngineCount; + deUint32 computeUnitsPerShaderArray; + deUint32 simdPerComputeUnit; + deUint32 wavefrontsPerSimd; + deUint32 wavefrontSize; + deUint32 sgprsPerSimd; + deUint32 minSgprAllocation; + deUint32 maxSgprAllocation; + deUint32 sgprAllocationGranularity; + deUint32 vgprsPerSimd; + deUint32 minVgprAllocation; + deUint32 maxVgprAllocation; + deUint32 vgprAllocationGranularity; + } VkPhysicalDeviceShaderCorePropertiesAMD; + + + + #define VK_AMD_memory_overallocation_behavior 1 + #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1 + #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior" + + typedef enum VkMemoryOverallocationBehaviorAMD { + VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0, + VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1, + VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2, + VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF + } VkMemoryOverallocationBehaviorAMD; + typedef struct VkDeviceMemoryOverallocationCreateInfoAMD { + VkStructureType sType; + const void* pNext; + VkMemoryOverallocationBehaviorAMD overallocationBehavior; + } VkDeviceMemoryOverallocationCreateInfoAMD; + + + + #define VK_EXT_vertex_attribute_divisor 1 + #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 + #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" + typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT { + VkStructureType sType; + void* pNext; + deUint32 maxVertexAttribDivisor; + } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; + + typedef struct VkVertexInputBindingDivisorDescriptionEXT { + deUint32 binding; + deUint32 divisor; + } VkVertexInputBindingDivisorDescriptionEXT; + + typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT { + VkStructureType sType; + const void* pNext; + deUint32 vertexBindingDivisorCount; + const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors; + } VkPipelineVertexInputDivisorStateCreateInfoEXT; + + typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 vertexAttributeInstanceRateDivisor; + VkBool32 vertexAttributeInstanceRateZeroDivisor; + } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; + + + + #define VK_EXT_pipeline_creation_feedback 1 + #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1 + #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback" ++typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT; + -typedef enum VkPipelineCreationFeedbackFlagBitsEXT { - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001, - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002, - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004, - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF -} VkPipelineCreationFeedbackFlagBitsEXT; -typedef VkFlags VkPipelineCreationFeedbackFlagsEXT; -typedef struct VkPipelineCreationFeedbackEXT { - VkPipelineCreationFeedbackFlagsEXT flags; - deUint64 duration; -} VkPipelineCreationFeedbackEXT; - -typedef struct VkPipelineCreationFeedbackCreateInfoEXT { - VkStructureType sType; - const void* pNext; - VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback; - deUint32 pipelineStageCreationFeedbackCount; - VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks; -} VkPipelineCreationFeedbackCreateInfoEXT; ++typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; ++ ++typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT; ++ ++typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT; + + + + #define VK_NV_shader_subgroup_partitioned 1 + #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 + #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned" + + + #define VK_NV_compute_shader_derivatives 1 + #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 + #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives" + typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 computeDerivativeGroupQuads; + VkBool32 computeDerivativeGroupLinear; + } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV; + + + + #define VK_NV_mesh_shader 1 + #define VK_NV_MESH_SHADER_SPEC_VERSION 1 + #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" + typedef struct VkPhysicalDeviceMeshShaderFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 taskShader; + VkBool32 meshShader; + } VkPhysicalDeviceMeshShaderFeaturesNV; + + typedef struct VkPhysicalDeviceMeshShaderPropertiesNV { + VkStructureType sType; + void* pNext; + deUint32 maxDrawMeshTasksCount; + deUint32 maxTaskWorkGroupInvocations; + deUint32 maxTaskWorkGroupSize[3]; + deUint32 maxTaskTotalMemorySize; + deUint32 maxTaskOutputCount; + deUint32 maxMeshWorkGroupInvocations; + deUint32 maxMeshWorkGroupSize[3]; + deUint32 maxMeshTotalMemorySize; + deUint32 maxMeshOutputVertices; + deUint32 maxMeshOutputPrimitives; + deUint32 maxMeshMultiviewViewCount; + deUint32 meshOutputPerVertexGranularity; + deUint32 meshOutputPerPrimitiveGranularity; + } VkPhysicalDeviceMeshShaderPropertiesNV; + + typedef struct VkDrawMeshTasksIndirectCommandNV { + deUint32 taskCount; + deUint32 firstTask; + } VkDrawMeshTasksIndirectCommandNV; + + typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask); + typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride); + typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV( + VkCommandBuffer commandBuffer, + deUint32 taskCount, + deUint32 firstTask); + + VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + deUint32 drawCount, + deUint32 stride); + + VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkBuffer countBuffer, + VkDeviceSize countBufferOffset, + deUint32 maxDrawCount, + deUint32 stride); + #endif + + + #define VK_NV_fragment_shader_barycentric 1 + #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 + #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" + typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 fragmentShaderBarycentric; + } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV; + + + + #define VK_NV_shader_image_footprint 1 + #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 + #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" + typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 imageFootprint; + } VkPhysicalDeviceShaderImageFootprintFeaturesNV; + + + + #define VK_NV_scissor_exclusive 1 + #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1 + #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" + typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { + VkStructureType sType; + const void* pNext; + deUint32 exclusiveScissorCount; + const VkRect2D* pExclusiveScissors; + } VkPipelineViewportExclusiveScissorStateCreateInfoNV; + + typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 exclusiveScissor; + } VkPhysicalDeviceExclusiveScissorFeaturesNV; + + typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( + VkCommandBuffer commandBuffer, + deUint32 firstExclusiveScissor, + deUint32 exclusiveScissorCount, + const VkRect2D* pExclusiveScissors); + #endif + + + #define VK_NV_device_diagnostic_checkpoints 1 + #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 + #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints" + typedef struct VkQueueFamilyCheckpointPropertiesNV { + VkStructureType sType; + void* pNext; + VkPipelineStageFlags checkpointExecutionStageMask; + } VkQueueFamilyCheckpointPropertiesNV; + + typedef struct VkCheckpointDataNV { + VkStructureType sType; + void* pNext; + VkPipelineStageFlagBits stage; + void* pCheckpointMarker; + } VkCheckpointDataNV; + + typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker); + typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV( + VkCommandBuffer commandBuffer, + const void* pCheckpointMarker); + + VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV( + VkQueue queue, + deUint32* pCheckpointDataCount, + VkCheckpointDataNV* pCheckpointData); + #endif + + + #define VK_INTEL_shader_integer_functions2 1 + #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1 + #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2" + typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { + VkStructureType sType; + void* pNext; + VkBool32 shaderIntegerFunctions2; + } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL; + + + + #define VK_INTEL_performance_query 1 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) + #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2 + #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query" + + typedef enum VkPerformanceConfigurationTypeINTEL { + VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0, + VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF + } VkPerformanceConfigurationTypeINTEL; + + typedef enum VkQueryPoolSamplingModeINTEL { + VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0, + VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF + } VkQueryPoolSamplingModeINTEL; + + typedef enum VkPerformanceOverrideTypeINTEL { + VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0, + VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1, + VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF + } VkPerformanceOverrideTypeINTEL; + + typedef enum VkPerformanceParameterTypeINTEL { + VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0, + VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1, + VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF + } VkPerformanceParameterTypeINTEL; + + typedef enum VkPerformanceValueTypeINTEL { + VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0, + VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1, + VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2, + VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3, + VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4, + VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF + } VkPerformanceValueTypeINTEL; + typedef union VkPerformanceValueDataINTEL { + deUint32 value32; + deUint64 value64; + float valueFloat; + VkBool32 valueBool; + const char* valueString; + } VkPerformanceValueDataINTEL; + + typedef struct VkPerformanceValueINTEL { + VkPerformanceValueTypeINTEL type; + VkPerformanceValueDataINTEL data; + } VkPerformanceValueINTEL; + + typedef struct VkInitializePerformanceApiInfoINTEL { + VkStructureType sType; + const void* pNext; + void* pUserData; + } VkInitializePerformanceApiInfoINTEL; + + typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL { + VkStructureType sType; + const void* pNext; + VkQueryPoolSamplingModeINTEL performanceCountersSampling; + } VkQueryPoolPerformanceQueryCreateInfoINTEL; + + typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL; + + typedef struct VkPerformanceMarkerInfoINTEL { + VkStructureType sType; + const void* pNext; + deUint64 marker; + } VkPerformanceMarkerInfoINTEL; + + typedef struct VkPerformanceStreamMarkerInfoINTEL { + VkStructureType sType; + const void* pNext; + deUint32 marker; + } VkPerformanceStreamMarkerInfoINTEL; + + typedef struct VkPerformanceOverrideInfoINTEL { + VkStructureType sType; + const void* pNext; + VkPerformanceOverrideTypeINTEL type; + VkBool32 enable; + deUint64 parameter; + } VkPerformanceOverrideInfoINTEL; + + typedef struct VkPerformanceConfigurationAcquireInfoINTEL { + VkStructureType sType; + const void* pNext; + VkPerformanceConfigurationTypeINTEL type; + } VkPerformanceConfigurationAcquireInfoINTEL; + + typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); + typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device); + typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo); + typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); + typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo); + typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration); + typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration); + typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration); + typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL( + VkDevice device, + const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); + + VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL( + VkDevice device); + + VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL( + VkCommandBuffer commandBuffer, + const VkPerformanceMarkerInfoINTEL* pMarkerInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL( + VkCommandBuffer commandBuffer, + const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL( + VkCommandBuffer commandBuffer, + const VkPerformanceOverrideInfoINTEL* pOverrideInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL( + VkDevice device, + const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, + VkPerformanceConfigurationINTEL* pConfiguration); + + VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL( + VkDevice device, + VkPerformanceConfigurationINTEL configuration); + + VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL( + VkQueue queue, + VkPerformanceConfigurationINTEL configuration); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL( + VkDevice device, + VkPerformanceParameterTypeINTEL parameter, + VkPerformanceValueINTEL* pValue); + #endif + + + #define VK_EXT_pci_bus_info 1 + #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 + #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" + typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { + VkStructureType sType; + void* pNext; + deUint32 pciDomain; + deUint32 pciBus; + deUint32 pciDevice; + deUint32 pciFunction; + } VkPhysicalDevicePCIBusInfoPropertiesEXT; + + + + #define VK_AMD_display_native_hdr 1 + #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1 + #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr" + typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD { + VkStructureType sType; + void* pNext; + VkBool32 localDimmingSupport; + } VkDisplayNativeHdrSurfaceCapabilitiesAMD; + + typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD { + VkStructureType sType; + const void* pNext; + VkBool32 localDimmingEnable; + } VkSwapchainDisplayNativeHdrCreateInfoAMD; + + typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD( + VkDevice device, + VkSwapchainKHR swapChain, + VkBool32 localDimmingEnable); + #endif + + + #define VK_EXT_fragment_density_map 1 + #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2 + #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" + typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 fragmentDensityMap; + VkBool32 fragmentDensityMapDynamic; + VkBool32 fragmentDensityMapNonSubsampledImages; + } VkPhysicalDeviceFragmentDensityMapFeaturesEXT; + + typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT { + VkStructureType sType; + void* pNext; + VkExtent2D minFragmentDensityTexelSize; + VkExtent2D maxFragmentDensityTexelSize; + VkBool32 fragmentDensityInvocations; + } VkPhysicalDeviceFragmentDensityMapPropertiesEXT; + + typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkAttachmentReference fragmentDensityMapAttachment; + } VkRenderPassFragmentDensityMapCreateInfoEXT; + + + + #define VK_EXT_scalar_block_layout 1 + #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1 + #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout" + typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; + + + + #define VK_GOOGLE_hlsl_functionality1 1 + #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1 + #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" + #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION + #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME + + + #define VK_GOOGLE_decorate_string 1 + #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1 + #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string" + + + #define VK_EXT_subgroup_size_control 1 + #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 + #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" -typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT { - VkStructureType sType; - void* pNext; - VkBool32 subgroupSizeControl; - VkBool32 computeFullSubgroups; -} VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; ++typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; + -typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT { - VkStructureType sType; - void* pNext; - deUint32 minSubgroupSize; - deUint32 maxSubgroupSize; - deUint32 maxComputeWorkgroupSubgroups; - VkShaderStageFlags requiredSubgroupSizeStages; -} VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; ++typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; + -typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT { - VkStructureType sType; - void* pNext; - deUint32 requiredSubgroupSize; -} VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; ++typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; + + + + #define VK_AMD_shader_core_properties2 1 + #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1 + #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2" + + typedef enum VkShaderCorePropertiesFlagBitsAMD { + VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF + } VkShaderCorePropertiesFlagBitsAMD; + typedef VkFlags VkShaderCorePropertiesFlagsAMD; + typedef struct VkPhysicalDeviceShaderCoreProperties2AMD { + VkStructureType sType; + void* pNext; + VkShaderCorePropertiesFlagsAMD shaderCoreFeatures; + deUint32 activeComputeUnitCount; + } VkPhysicalDeviceShaderCoreProperties2AMD; + + + + #define VK_AMD_device_coherent_memory 1 + #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1 + #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory" + typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD { + VkStructureType sType; + void* pNext; + VkBool32 deviceCoherentMemory; + } VkPhysicalDeviceCoherentMemoryFeaturesAMD; + + + + #define VK_EXT_shader_image_atomic_int64 1 + #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 + #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" + typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 shaderImageInt64Atomics; + VkBool32 sparseImageInt64Atomics; + } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT; + + + + #define VK_EXT_memory_budget 1 + #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 + #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" + typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT { + VkStructureType sType; + void* pNext; + VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; + VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; + } VkPhysicalDeviceMemoryBudgetPropertiesEXT; + + + + #define VK_EXT_memory_priority 1 + #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1 + #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority" + typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 memoryPriority; + } VkPhysicalDeviceMemoryPriorityFeaturesEXT; + + typedef struct VkMemoryPriorityAllocateInfoEXT { + VkStructureType sType; + const void* pNext; + float priority; + } VkMemoryPriorityAllocateInfoEXT; + + + + #define VK_NV_dedicated_allocation_image_aliasing 1 + #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1 + #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing" + typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 dedicatedAllocationImageAliasing; + } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV; + + + + #define VK_EXT_buffer_device_address 1 + #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 + #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" + typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 bufferDeviceAddress; + VkBool32 bufferDeviceAddressCaptureReplay; + VkBool32 bufferDeviceAddressMultiDevice; + } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; + + typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; + + typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; + + typedef struct VkBufferDeviceAddressCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkDeviceAddress deviceAddress; + } VkBufferDeviceAddressCreateInfoEXT; + + typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT( + VkDevice device, + const VkBufferDeviceAddressInfo* pInfo); + #endif + + + #define VK_EXT_tooling_info 1 + #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 + #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info" ++typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT; + -typedef enum VkToolPurposeFlagBitsEXT { - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001, - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002, - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004, - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008, - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010, - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF -} VkToolPurposeFlagBitsEXT; -typedef VkFlags VkToolPurposeFlagsEXT; -typedef struct VkPhysicalDeviceToolPropertiesEXT { - VkStructureType sType; - void* pNext; - char name[VK_MAX_EXTENSION_NAME_SIZE]; - char version[VK_MAX_EXTENSION_NAME_SIZE]; - VkToolPurposeFlagsEXT purposes; - char description[VK_MAX_DESCRIPTION_SIZE]; - char layer[VK_MAX_EXTENSION_NAME_SIZE]; -} VkPhysicalDeviceToolPropertiesEXT; ++typedef VkToolPurposeFlags VkToolPurposeFlagsEXT; + -typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties); ++typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; ++ ++typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT( + VkPhysicalDevice physicalDevice, + deUint32* pToolCount, - VkPhysicalDeviceToolPropertiesEXT* pToolProperties); ++ VkPhysicalDeviceToolProperties* pToolProperties); + #endif + + + #define VK_EXT_separate_stencil_usage 1 + #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1 + #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage" + typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; + + + + #define VK_EXT_validation_features 1 + #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5 + #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" + + typedef enum VkValidationFeatureEnableEXT { + VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, + VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, + VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, + VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, + VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, + VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF + } VkValidationFeatureEnableEXT; + + typedef enum VkValidationFeatureDisableEXT { + VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, + VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, + VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, + VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, + VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, + VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, + VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, + VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, + VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF + } VkValidationFeatureDisableEXT; + typedef struct VkValidationFeaturesEXT { + VkStructureType sType; + const void* pNext; + deUint32 enabledValidationFeatureCount; + const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; + deUint32 disabledValidationFeatureCount; + const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; + } VkValidationFeaturesEXT; + + + + #define VK_NV_cooperative_matrix 1 + #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 + #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" + + typedef enum VkComponentTypeNV { + VK_COMPONENT_TYPE_FLOAT16_NV = 0, + VK_COMPONENT_TYPE_FLOAT32_NV = 1, + VK_COMPONENT_TYPE_FLOAT64_NV = 2, + VK_COMPONENT_TYPE_SINT8_NV = 3, + VK_COMPONENT_TYPE_SINT16_NV = 4, + VK_COMPONENT_TYPE_SINT32_NV = 5, + VK_COMPONENT_TYPE_SINT64_NV = 6, + VK_COMPONENT_TYPE_UINT8_NV = 7, + VK_COMPONENT_TYPE_UINT16_NV = 8, + VK_COMPONENT_TYPE_UINT32_NV = 9, + VK_COMPONENT_TYPE_UINT64_NV = 10, + VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF + } VkComponentTypeNV; + + typedef enum VkScopeNV { + VK_SCOPE_DEVICE_NV = 1, + VK_SCOPE_WORKGROUP_NV = 2, + VK_SCOPE_SUBGROUP_NV = 3, + VK_SCOPE_QUEUE_FAMILY_NV = 5, + VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF + } VkScopeNV; + typedef struct VkCooperativeMatrixPropertiesNV { + VkStructureType sType; + void* pNext; + deUint32 MSize; + deUint32 NSize; + deUint32 KSize; + VkComponentTypeNV AType; + VkComponentTypeNV BType; + VkComponentTypeNV CType; + VkComponentTypeNV DType; + VkScopeNV scope; + } VkCooperativeMatrixPropertiesNV; + + typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 cooperativeMatrix; + VkBool32 cooperativeMatrixRobustBufferAccess; + } VkPhysicalDeviceCooperativeMatrixFeaturesNV; + + typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV { + VkStructureType sType; + void* pNext; + VkShaderStageFlags cooperativeMatrixSupportedStages; + } VkPhysicalDeviceCooperativeMatrixPropertiesNV; + + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( + VkPhysicalDevice physicalDevice, + deUint32* pPropertyCount, + VkCooperativeMatrixPropertiesNV* pProperties); + #endif + + + #define VK_NV_coverage_reduction_mode 1 + #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 + #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" + + typedef enum VkCoverageReductionModeNV { + VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0, + VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1, + VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF + } VkCoverageReductionModeNV; + typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; + typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 coverageReductionMode; + } VkPhysicalDeviceCoverageReductionModeFeaturesNV; + + typedef struct VkPipelineCoverageReductionStateCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkPipelineCoverageReductionStateCreateFlagsNV flags; + VkCoverageReductionModeNV coverageReductionMode; + } VkPipelineCoverageReductionStateCreateInfoNV; + + typedef struct VkFramebufferMixedSamplesCombinationNV { + VkStructureType sType; + void* pNext; + VkCoverageReductionModeNV coverageReductionMode; + VkSampleCountFlagBits rasterizationSamples; + VkSampleCountFlags depthStencilSamples; + VkSampleCountFlags colorSamples; + } VkFramebufferMixedSamplesCombinationNV; + + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( + VkPhysicalDevice physicalDevice, + deUint32* pCombinationCount, + VkFramebufferMixedSamplesCombinationNV* pCombinations); + #endif + + + #define VK_EXT_fragment_shader_interlock 1 + #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 + #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" + typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 fragmentShaderSampleInterlock; + VkBool32 fragmentShaderPixelInterlock; + VkBool32 fragmentShaderShadingRateInterlock; + } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; + + + + #define VK_EXT_ycbcr_image_arrays 1 + #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 + #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" + typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 ycbcrImageArrays; + } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT; + + + + #define VK_EXT_provoking_vertex 1 + #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1 + #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex" + + typedef enum VkProvokingVertexModeEXT { + VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0, + VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1, + VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF + } VkProvokingVertexModeEXT; + typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 provokingVertexLast; + VkBool32 transformFeedbackPreservesProvokingVertex; + } VkPhysicalDeviceProvokingVertexFeaturesEXT; + + typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT { + VkStructureType sType; + void* pNext; + VkBool32 provokingVertexModePerPipeline; + VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex; + } VkPhysicalDeviceProvokingVertexPropertiesEXT; + + typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkProvokingVertexModeEXT provokingVertexMode; + } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT; + + + + #define VK_EXT_headless_surface 1 + #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 + #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" + typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; + typedef struct VkHeadlessSurfaceCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkHeadlessSurfaceCreateFlagsEXT flags; + } VkHeadlessSurfaceCreateInfoEXT; + + typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT( + VkInstance instance, + const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkSurfaceKHR* pSurface); + #endif + + + #define VK_EXT_line_rasterization 1 + #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 + #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" + + typedef enum VkLineRasterizationModeEXT { + VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0, + VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1, + VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2, + VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3, + VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF + } VkLineRasterizationModeEXT; + typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 rectangularLines; + VkBool32 bresenhamLines; + VkBool32 smoothLines; + VkBool32 stippledRectangularLines; + VkBool32 stippledBresenhamLines; + VkBool32 stippledSmoothLines; + } VkPhysicalDeviceLineRasterizationFeaturesEXT; + + typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT { + VkStructureType sType; + void* pNext; + deUint32 lineSubPixelPrecisionBits; + } VkPhysicalDeviceLineRasterizationPropertiesEXT; + + typedef struct VkPipelineRasterizationLineStateCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkLineRasterizationModeEXT lineRasterizationMode; + VkBool32 stippledLineEnable; + deUint32 lineStippleFactor; + deUint16 lineStipplePattern; + } VkPipelineRasterizationLineStateCreateInfoEXT; + + typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT( + VkCommandBuffer commandBuffer, + deUint32 lineStippleFactor, + deUint16 lineStipplePattern); + #endif + + + #define VK_EXT_shader_atomic_float 1 + #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 + #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" + typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 shaderBufferFloat32Atomics; + VkBool32 shaderBufferFloat32AtomicAdd; + VkBool32 shaderBufferFloat64Atomics; + VkBool32 shaderBufferFloat64AtomicAdd; + VkBool32 shaderSharedFloat32Atomics; + VkBool32 shaderSharedFloat32AtomicAdd; + VkBool32 shaderSharedFloat64Atomics; + VkBool32 shaderSharedFloat64AtomicAdd; + VkBool32 shaderImageFloat32Atomics; + VkBool32 shaderImageFloat32AtomicAdd; + VkBool32 sparseImageFloat32Atomics; + VkBool32 sparseImageFloat32AtomicAdd; + } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT; + + + + #define VK_EXT_host_query_reset 1 + #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 + #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" + typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; + + typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT( + VkDevice device, + VkQueryPool queryPool, + deUint32 firstQuery, + deUint32 queryCount); + #endif + + + #define VK_EXT_index_type_uint8 1 + #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 + #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" + typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 indexTypeUint8; + } VkPhysicalDeviceIndexTypeUint8FeaturesEXT; + + + + #define VK_EXT_extended_dynamic_state 1 + #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 + #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" + typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 extendedDynamicState; + } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; + + typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); + typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); + typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); + typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports); + typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors); + typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides); + typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); + typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); + typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); + typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); + typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); + typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT( + VkCommandBuffer commandBuffer, + VkCullModeFlags cullMode); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT( + VkCommandBuffer commandBuffer, + VkFrontFace frontFace); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT( + VkCommandBuffer commandBuffer, + VkPrimitiveTopology primitiveTopology); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT( + VkCommandBuffer commandBuffer, + deUint32 viewportCount, + const VkViewport* pViewports); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT( + VkCommandBuffer commandBuffer, + deUint32 scissorCount, + const VkRect2D* pScissors); + + VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT( + VkCommandBuffer commandBuffer, + deUint32 firstBinding, + deUint32 bindingCount, + const VkBuffer* pBuffers, + const VkDeviceSize* pOffsets, + const VkDeviceSize* pSizes, + const VkDeviceSize* pStrides); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT( + VkCommandBuffer commandBuffer, + VkBool32 depthTestEnable); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT( + VkCommandBuffer commandBuffer, + VkBool32 depthWriteEnable); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT( + VkCommandBuffer commandBuffer, + VkCompareOp depthCompareOp); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT( + VkCommandBuffer commandBuffer, + VkBool32 depthBoundsTestEnable); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT( + VkCommandBuffer commandBuffer, + VkBool32 stencilTestEnable); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT( + VkCommandBuffer commandBuffer, + VkStencilFaceFlags faceMask, + VkStencilOp failOp, + VkStencilOp passOp, + VkStencilOp depthFailOp, + VkCompareOp compareOp); + #endif + + + #define VK_EXT_shader_atomic_float2 1 + #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1 + #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2" + typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 shaderBufferFloat16Atomics; + VkBool32 shaderBufferFloat16AtomicAdd; + VkBool32 shaderBufferFloat16AtomicMinMax; + VkBool32 shaderBufferFloat32AtomicMinMax; + VkBool32 shaderBufferFloat64AtomicMinMax; + VkBool32 shaderSharedFloat16Atomics; + VkBool32 shaderSharedFloat16AtomicAdd; + VkBool32 shaderSharedFloat16AtomicMinMax; + VkBool32 shaderSharedFloat32AtomicMinMax; + VkBool32 shaderSharedFloat64AtomicMinMax; + VkBool32 shaderImageFloat32AtomicMinMax; + VkBool32 sparseImageFloat32AtomicMinMax; + } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT; + + + + #define VK_EXT_shader_demote_to_helper_invocation 1 + #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 + #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" -typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT { - VkStructureType sType; - void* pNext; - VkBool32 shaderDemoteToHelperInvocation; -} VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; ++typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; + + + + #define VK_NV_device_generated_commands 1 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) + #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3 + #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands" + + typedef enum VkIndirectCommandsTokenTypeNV { + VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF + } VkIndirectCommandsTokenTypeNV; + + typedef enum VkIndirectStateFlagBitsNV { + VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001, + VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF + } VkIndirectStateFlagBitsNV; + typedef VkFlags VkIndirectStateFlagsNV; + + typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV { + VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001, + VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002, + VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004, + VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF + } VkIndirectCommandsLayoutUsageFlagBitsNV; + typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; + typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV { + VkStructureType sType; + void* pNext; + deUint32 maxGraphicsShaderGroupCount; + deUint32 maxIndirectSequenceCount; + deUint32 maxIndirectCommandsTokenCount; + deUint32 maxIndirectCommandsStreamCount; + deUint32 maxIndirectCommandsTokenOffset; + deUint32 maxIndirectCommandsStreamStride; + deUint32 minSequencesCountBufferOffsetAlignment; + deUint32 minSequencesIndexBufferOffsetAlignment; + deUint32 minIndirectCommandsBufferOffsetAlignment; + } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV; + + typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 deviceGeneratedCommands; + } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV; + + typedef struct VkGraphicsShaderGroupCreateInfoNV { + VkStructureType sType; + const void* pNext; + deUint32 stageCount; + const VkPipelineShaderStageCreateInfo* pStages; + const VkPipelineVertexInputStateCreateInfo* pVertexInputState; + const VkPipelineTessellationStateCreateInfo* pTessellationState; + } VkGraphicsShaderGroupCreateInfoNV; + + typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV { + VkStructureType sType; + const void* pNext; + deUint32 groupCount; + const VkGraphicsShaderGroupCreateInfoNV* pGroups; + deUint32 pipelineCount; + const VkPipeline* pPipelines; + } VkGraphicsPipelineShaderGroupsCreateInfoNV; + + typedef struct VkBindShaderGroupIndirectCommandNV { + deUint32 groupIndex; + } VkBindShaderGroupIndirectCommandNV; + + typedef struct VkBindIndexBufferIndirectCommandNV { + VkDeviceAddress bufferAddress; + deUint32 size; + VkIndexType indexType; + } VkBindIndexBufferIndirectCommandNV; + + typedef struct VkBindVertexBufferIndirectCommandNV { + VkDeviceAddress bufferAddress; + deUint32 size; + deUint32 stride; + } VkBindVertexBufferIndirectCommandNV; + + typedef struct VkSetStateFlagsIndirectCommandNV { + deUint32 data; + } VkSetStateFlagsIndirectCommandNV; + + typedef struct VkIndirectCommandsStreamNV { + VkBuffer buffer; + VkDeviceSize offset; + } VkIndirectCommandsStreamNV; + + typedef struct VkIndirectCommandsLayoutTokenNV { + VkStructureType sType; + const void* pNext; + VkIndirectCommandsTokenTypeNV tokenType; + deUint32 stream; + deUint32 offset; + deUint32 vertexBindingUnit; + VkBool32 vertexDynamicStride; + VkPipelineLayout pushconstantPipelineLayout; + VkShaderStageFlags pushconstantShaderStageFlags; + deUint32 pushconstantOffset; + deUint32 pushconstantSize; + VkIndirectStateFlagsNV indirectStateFlags; + deUint32 indexTypeCount; + const VkIndexType* pIndexTypes; + const deUint32* pIndexTypeValues; + } VkIndirectCommandsLayoutTokenNV; + + typedef struct VkIndirectCommandsLayoutCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkIndirectCommandsLayoutUsageFlagsNV flags; + VkPipelineBindPoint pipelineBindPoint; + deUint32 tokenCount; + const VkIndirectCommandsLayoutTokenNV* pTokens; + deUint32 streamCount; + const deUint32* pStreamStrides; + } VkIndirectCommandsLayoutCreateInfoNV; + + typedef struct VkGeneratedCommandsInfoNV { + VkStructureType sType; + const void* pNext; + VkPipelineBindPoint pipelineBindPoint; + VkPipeline pipeline; + VkIndirectCommandsLayoutNV indirectCommandsLayout; + deUint32 streamCount; + const VkIndirectCommandsStreamNV* pStreams; + deUint32 sequencesCount; + VkBuffer preprocessBuffer; + VkDeviceSize preprocessOffset; + VkDeviceSize preprocessSize; + VkBuffer sequencesCountBuffer; + VkDeviceSize sequencesCountOffset; + VkBuffer sequencesIndexBuffer; + VkDeviceSize sequencesIndexOffset; + } VkGeneratedCommandsInfoNV; + + typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV { + VkStructureType sType; + const void* pNext; + VkPipelineBindPoint pipelineBindPoint; + VkPipeline pipeline; + VkIndirectCommandsLayoutNV indirectCommandsLayout; + deUint32 maxSequencesCount; + } VkGeneratedCommandsMemoryRequirementsInfoNV; + + typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements); + typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); + typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); + typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex); + typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); + typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV( + VkDevice device, + const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, + VkMemoryRequirements2* pMemoryRequirements); + + VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV( + VkCommandBuffer commandBuffer, + const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV( + VkCommandBuffer commandBuffer, + VkBool32 isPreprocessed, + const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV( + VkCommandBuffer commandBuffer, + VkPipelineBindPoint pipelineBindPoint, + VkPipeline pipeline, + deUint32 groupIndex); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV( + VkDevice device, + const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); + + VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV( + VkDevice device, + VkIndirectCommandsLayoutNV indirectCommandsLayout, + const VkAllocationCallbacks* pAllocator); + #endif + + + #define VK_NV_inherited_viewport_scissor 1 + #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1 + #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor" + typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 inheritedViewportScissor2D; + } VkPhysicalDeviceInheritedViewportScissorFeaturesNV; + + typedef struct VkCommandBufferInheritanceViewportScissorInfoNV { + VkStructureType sType; + const void* pNext; + VkBool32 viewportScissor2D; + deUint32 viewportDepthCount; + const VkViewport* pViewportDepths; + } VkCommandBufferInheritanceViewportScissorInfoNV; + + + + #define VK_EXT_texel_buffer_alignment 1 + #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 + #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" + typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 texelBufferAlignment; + } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT; + -typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT { - VkStructureType sType; - void* pNext; - VkDeviceSize storageTexelBufferOffsetAlignmentBytes; - VkBool32 storageTexelBufferOffsetSingleTexelAlignment; - VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; - VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; -} VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; ++typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; + + + + #define VK_QCOM_render_pass_transform 1 + #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2 + #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform" + typedef struct VkRenderPassTransformBeginInfoQCOM { + VkStructureType sType; + void* pNext; + VkSurfaceTransformFlagBitsKHR transform; + } VkRenderPassTransformBeginInfoQCOM; + + typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM { + VkStructureType sType; + void* pNext; + VkSurfaceTransformFlagBitsKHR transform; + VkRect2D renderArea; + } VkCommandBufferInheritanceRenderPassTransformInfoQCOM; + + + + #define VK_EXT_device_memory_report 1 + #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2 + #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report" + + typedef enum VkDeviceMemoryReportEventTypeEXT { + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0, + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1, + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2, + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3, + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4, + VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF + } VkDeviceMemoryReportEventTypeEXT; + typedef VkFlags VkDeviceMemoryReportFlagsEXT; + typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 deviceMemoryReport; + } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT; + + typedef struct VkDeviceMemoryReportCallbackDataEXT { + VkStructureType sType; + void* pNext; + VkDeviceMemoryReportFlagsEXT flags; + VkDeviceMemoryReportEventTypeEXT type; + deUint64 memoryObjectId; + VkDeviceSize size; + VkObjectType objectType; + deUint64 objectHandle; + deUint32 heapIndex; + } VkDeviceMemoryReportCallbackDataEXT; + + typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( + const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, + void* pUserData); + + typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkDeviceMemoryReportFlagsEXT flags; + PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback; + void* pUserData; + } VkDeviceDeviceMemoryReportCreateInfoEXT; + + + + #define VK_EXT_acquire_drm_display 1 + #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1 + #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display" + typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, VkDisplayKHR display); + typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, deUint32 connectorId, VkDisplayKHR* display); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT( + VkPhysicalDevice physicalDevice, + deInt32 drmFd, + VkDisplayKHR display); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT( + VkPhysicalDevice physicalDevice, + deInt32 drmFd, + deUint32 connectorId, + VkDisplayKHR* display); + #endif + + + #define VK_EXT_robustness2 1 + #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 + #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" + typedef struct VkPhysicalDeviceRobustness2FeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 robustBufferAccess2; + VkBool32 robustImageAccess2; + VkBool32 nullDescriptor; + } VkPhysicalDeviceRobustness2FeaturesEXT; + + typedef struct VkPhysicalDeviceRobustness2PropertiesEXT { + VkStructureType sType; + void* pNext; + VkDeviceSize robustStorageBufferAccessSizeAlignment; + VkDeviceSize robustUniformBufferAccessSizeAlignment; + } VkPhysicalDeviceRobustness2PropertiesEXT; + + + + #define VK_EXT_custom_border_color 1 + #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 + #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" + typedef struct VkSamplerCustomBorderColorCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkClearColorValue customBorderColor; + VkFormat format; + } VkSamplerCustomBorderColorCreateInfoEXT; + + typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { + VkStructureType sType; + void* pNext; + deUint32 maxCustomBorderColorSamplers; + } VkPhysicalDeviceCustomBorderColorPropertiesEXT; + + typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 customBorderColors; + VkBool32 customBorderColorWithoutFormat; + } VkPhysicalDeviceCustomBorderColorFeaturesEXT; + + + + #define VK_GOOGLE_user_type 1 + #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 + #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" + + + #define VK_EXT_private_data 1 -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT) ++typedef VkPrivateDataSlot VkPrivateDataSlotEXT; ++ + #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1 + #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" ++typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; + -typedef enum VkPrivateDataSlotCreateFlagBitsEXT { - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF -} VkPrivateDataSlotCreateFlagBitsEXT; -typedef VkFlags VkPrivateDataSlotCreateFlagsEXT; -typedef struct VkPhysicalDevicePrivateDataFeaturesEXT { - VkStructureType sType; - void* pNext; - VkBool32 privateData; -} VkPhysicalDevicePrivateDataFeaturesEXT; ++typedef VkPrivateDataSlotCreateFlagBits VkPrivateDataSlotCreateFlagBitsEXT; + -typedef struct VkDevicePrivateDataCreateInfoEXT { - VkStructureType sType; - const void* pNext; - deUint32 privateDataSlotRequestCount; -} VkDevicePrivateDataCreateInfoEXT; ++typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; + -typedef struct VkPrivateDataSlotCreateInfoEXT { - VkStructureType sType; - const void* pNext; - VkPrivateDataSlotCreateFlagsEXT flags; -} VkPrivateDataSlotCreateInfoEXT; ++typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; ++ ++typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; + -typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot); -typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator); -typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data); -typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData); ++typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); ++typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); ++typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64 data); ++typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64* pData); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT( + VkDevice device, - const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, ++ const VkPrivateDataSlotCreateInfo* pCreateInfo, + const VkAllocationCallbacks* pAllocator, - VkPrivateDataSlotEXT* pPrivateDataSlot); ++ VkPrivateDataSlot* pPrivateDataSlot); + + VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT( + VkDevice device, - VkPrivateDataSlotEXT privateDataSlot, ++ VkPrivateDataSlot privateDataSlot, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT( + VkDevice device, + VkObjectType objectType, + deUint64 objectHandle, - VkPrivateDataSlotEXT privateDataSlot, ++ VkPrivateDataSlot privateDataSlot, + deUint64 data); + + VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT( + VkDevice device, + VkObjectType objectType, + deUint64 objectHandle, - VkPrivateDataSlotEXT privateDataSlot, ++ VkPrivateDataSlot privateDataSlot, + deUint64* pData); + #endif + + + #define VK_EXT_pipeline_creation_cache_control 1 + #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3 + #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control" -typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT { - VkStructureType sType; - void* pNext; - VkBool32 pipelineCreationCacheControl; -} VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; ++typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; + + + + #define VK_NV_device_diagnostics_config 1 + #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1 + #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config" + + typedef enum VkDeviceDiagnosticsConfigFlagBitsNV { + VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001, + VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002, + VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004, + VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF + } VkDeviceDiagnosticsConfigFlagBitsNV; + typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; + typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 diagnosticsConfig; + } VkPhysicalDeviceDiagnosticsConfigFeaturesNV; + + typedef struct VkDeviceDiagnosticsConfigCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkDeviceDiagnosticsConfigFlagsNV flags; + } VkDeviceDiagnosticsConfigCreateInfoNV; + + + + #define VK_QCOM_render_pass_store_ops 1 + #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2 + #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops" + + + #define VK_NV_fragment_shading_rate_enums 1 + #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1 + #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums" + + typedef enum VkFragmentShadingRateTypeNV { + VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0, + VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1, + VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF + } VkFragmentShadingRateTypeNV; + + typedef enum VkFragmentShadingRateNV { + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0, + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1, + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4, + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5, + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6, + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9, + VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10, + VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11, + VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12, + VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13, + VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14, + VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15, + VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF + } VkFragmentShadingRateNV; + typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 fragmentShadingRateEnums; + VkBool32 supersampleFragmentShadingRates; + VkBool32 noInvocationFragmentShadingRates; + } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV; + + typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV { + VkStructureType sType; + void* pNext; + VkSampleCountFlagBits maxFragmentShadingRateInvocationCount; + } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV; + + typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV { + VkStructureType sType; + const void* pNext; + VkFragmentShadingRateTypeNV shadingRateType; + VkFragmentShadingRateNV shadingRate; + VkFragmentShadingRateCombinerOpKHR combinerOps[2]; + } VkPipelineFragmentShadingRateEnumStateCreateInfoNV; + + typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV( + VkCommandBuffer commandBuffer, + VkFragmentShadingRateNV shadingRate, + const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); + #endif + + + #define VK_NV_ray_tracing_motion_blur 1 + #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1 + #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur" + + typedef enum VkAccelerationStructureMotionInstanceTypeNV { + VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0, + VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1, + VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2, + VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF + } VkAccelerationStructureMotionInstanceTypeNV; + typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; + typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; + typedef union VkDeviceOrHostAddressConstKHR { + VkDeviceAddress deviceAddress; + const void* hostAddress; + } VkDeviceOrHostAddressConstKHR; + + typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV { + VkStructureType sType; + const void* pNext; + VkDeviceOrHostAddressConstKHR vertexData; + } VkAccelerationStructureGeometryMotionTrianglesDataNV; + + typedef struct VkAccelerationStructureMotionInfoNV { + VkStructureType sType; + const void* pNext; + deUint32 maxInstances; + VkAccelerationStructureMotionInfoFlagsNV flags; + } VkAccelerationStructureMotionInfoNV; + + typedef struct VkAccelerationStructureMatrixMotionInstanceNV { + VkTransformMatrixKHR transformT0; + VkTransformMatrixKHR transformT1; + deUint32 instanceCustomIndex:24; + deUint32 mask:8; + deUint32 instanceShaderBindingTableRecordOffset:24; + VkGeometryInstanceFlagsKHR flags:8; + deUint64 accelerationStructureReference; + } VkAccelerationStructureMatrixMotionInstanceNV; + + typedef struct VkSRTDataNV { + float sx; + float a; + float b; + float pvx; + float sy; + float c; + float pvy; + float sz; + float pvz; + float qx; + float qy; + float qz; + float qw; + float tx; + float ty; + float tz; + } VkSRTDataNV; + + typedef struct VkAccelerationStructureSRTMotionInstanceNV { + VkSRTDataNV transformT0; + VkSRTDataNV transformT1; + deUint32 instanceCustomIndex:24; + deUint32 mask:8; + deUint32 instanceShaderBindingTableRecordOffset:24; + VkGeometryInstanceFlagsKHR flags:8; + deUint64 accelerationStructureReference; + } VkAccelerationStructureSRTMotionInstanceNV; + + typedef union VkAccelerationStructureMotionInstanceDataNV { + VkAccelerationStructureInstanceKHR staticInstance; + VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; + VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance; + } VkAccelerationStructureMotionInstanceDataNV; + + typedef struct VkAccelerationStructureMotionInstanceNV { + VkAccelerationStructureMotionInstanceTypeNV type; + VkAccelerationStructureMotionInstanceFlagsNV flags; + VkAccelerationStructureMotionInstanceDataNV data; + } VkAccelerationStructureMotionInstanceNV; + + typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 rayTracingMotionBlur; + VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect; + } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV; + + + + #define VK_EXT_ycbcr_2plane_444_formats 1 + #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 + #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" + typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 ycbcr2plane444Formats; + } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT; + + + + #define VK_EXT_fragment_density_map2 1 + #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1 + #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" + typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 fragmentDensityMapDeferred; + } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT; + + typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT { + VkStructureType sType; + void* pNext; + VkBool32 subsampledLoads; + VkBool32 subsampledCoarseReconstructionEarlyAccess; + deUint32 maxSubsampledArrayLayers; + deUint32 maxDescriptorSetSubsampledSamplers; + } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT; + + + + #define VK_QCOM_rotated_copy_commands 1 + #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1 + #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands" + typedef struct VkCopyCommandTransformInfoQCOM { + VkStructureType sType; + const void* pNext; + VkSurfaceTransformFlagBitsKHR transform; + } VkCopyCommandTransformInfoQCOM; + + + + #define VK_EXT_image_robustness 1 + #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 + #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" -typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT { - VkStructureType sType; - void* pNext; - VkBool32 robustImageAccess; -} VkPhysicalDeviceImageRobustnessFeaturesEXT; ++typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT; + + + + #define VK_EXT_4444_formats 1 + #define VK_EXT_4444_FORMATS_SPEC_VERSION 1 + #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" + typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 formatA4R4G4B4; + VkBool32 formatA4B4G4R4; + } VkPhysicalDevice4444FormatsFeaturesEXT; + + + + #define VK_ARM_rasterization_order_attachment_access 1 + #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 + #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access" + typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM { + VkStructureType sType; + const void* pNext; + VkBool32 rasterizationOrderColorAttachmentAccess; + VkBool32 rasterizationOrderDepthAttachmentAccess; + VkBool32 rasterizationOrderStencilAttachmentAccess; + } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; + + + + #define VK_EXT_rgba10x6_formats 1 + #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1 + #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats" + typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 formatRgba10x6WithoutYCbCrSampler; + } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT; + + + + #define VK_NV_acquire_winrt_display 1 + #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1 + #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display" + typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); + typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV( + VkPhysicalDevice physicalDevice, + VkDisplayKHR display); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV( + VkPhysicalDevice physicalDevice, + deUint32 deviceRelativeId, + VkDisplayKHR* pDisplay); + #endif + + + #define VK_VALVE_mutable_descriptor_type 1 + #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 + #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type" + typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE { + VkStructureType sType; + void* pNext; + VkBool32 mutableDescriptorType; + } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; + + typedef struct VkMutableDescriptorTypeListVALVE { + deUint32 descriptorTypeCount; + const VkDescriptorType* pDescriptorTypes; + } VkMutableDescriptorTypeListVALVE; + + typedef struct VkMutableDescriptorTypeCreateInfoVALVE { + VkStructureType sType; + const void* pNext; + deUint32 mutableDescriptorTypeListCount; + const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists; + } VkMutableDescriptorTypeCreateInfoVALVE; + + + + #define VK_EXT_vertex_input_dynamic_state 1 + #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 + #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" + typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 vertexInputDynamicState; + } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT; + + typedef struct VkVertexInputBindingDescription2EXT { + VkStructureType sType; + void* pNext; + deUint32 binding; + deUint32 stride; + VkVertexInputRate inputRate; + deUint32 divisor; + } VkVertexInputBindingDescription2EXT; + + typedef struct VkVertexInputAttributeDescription2EXT { + VkStructureType sType; + void* pNext; + deUint32 location; + deUint32 binding; + VkFormat format; + deUint32 offset; + } VkVertexInputAttributeDescription2EXT; + + typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT( + VkCommandBuffer commandBuffer, + deUint32 vertexBindingDescriptionCount, + const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, + deUint32 vertexAttributeDescriptionCount, + const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); + #endif + + + #define VK_EXT_physical_device_drm 1 + #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1 + #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm" + typedef struct VkPhysicalDeviceDrmPropertiesEXT { + VkStructureType sType; + void* pNext; + VkBool32 hasPrimary; + VkBool32 hasRender; + deInt64 primaryMajor; + deInt64 primaryMinor; + deInt64 renderMajor; + deInt64 renderMinor; + } VkPhysicalDeviceDrmPropertiesEXT; + + + + #define VK_EXT_depth_clip_control 1 + #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1 + #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control" + typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 depthClipControl; + } VkPhysicalDeviceDepthClipControlFeaturesEXT; + + typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkBool32 negativeOneToOne; + } VkPipelineViewportDepthClipControlCreateInfoEXT; + + + + #define VK_EXT_primitive_topology_list_restart 1 + #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 + #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" + typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 primitiveTopologyListRestart; + VkBool32 primitiveTopologyPatchListRestart; + } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT; + + + + #define VK_HUAWEI_subpass_shading 1 + #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2 + #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" + typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI { + VkStructureType sType; + void* pNext; + VkRenderPass renderPass; + deUint32 subpass; + } VkSubpassShadingPipelineCreateInfoHUAWEI; + + typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI { + VkStructureType sType; + void* pNext; + VkBool32 subpassShading; + } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI; + + typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI { + VkStructureType sType; + void* pNext; + deUint32 maxSubpassShadingWorkgroupSizeAspectRatio; + } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI; + + typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize); + typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( + VkDevice device, + VkRenderPass renderpass, + VkExtent2D* pMaxWorkgroupSize); + + VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI( + VkCommandBuffer commandBuffer); + #endif + + + #define VK_HUAWEI_invocation_mask 1 + #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1 + #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask" + typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI { + VkStructureType sType; + void* pNext; + VkBool32 invocationMask; + } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI; + + typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI( + VkCommandBuffer commandBuffer, + VkImageView imageView, + VkImageLayout imageLayout); + #endif + + + #define VK_NV_external_memory_rdma 1 + typedef void* VkRemoteAddressNV; + #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1 + #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma" + typedef struct VkMemoryGetRemoteAddressInfoNV { + VkStructureType sType; + const void* pNext; + VkDeviceMemory memory; + VkExternalMemoryHandleTypeFlagBits handleType; + } VkMemoryGetRemoteAddressInfoNV; + + typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 externalMemoryRDMA; + } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV; + + typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV( + VkDevice device, + const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, + VkRemoteAddressNV* pAddress); + #endif + + + #define VK_EXT_extended_dynamic_state2 1 + #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 + #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" + typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 extendedDynamicState2; + VkBool32 extendedDynamicState2LogicOp; + VkBool32 extendedDynamicState2PatchControlPoints; + } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT; + + typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints); + typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); + typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); + typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp); + typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT( + VkCommandBuffer commandBuffer, + deUint32 patchControlPoints); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT( + VkCommandBuffer commandBuffer, + VkBool32 rasterizerDiscardEnable); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT( + VkCommandBuffer commandBuffer, + VkBool32 depthBiasEnable); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT( + VkCommandBuffer commandBuffer, + VkLogicOp logicOp); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT( + VkCommandBuffer commandBuffer, + VkBool32 primitiveRestartEnable); + #endif + + + #define VK_EXT_color_write_enable 1 + #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 + #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" + typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 colorWriteEnable; + } VkPhysicalDeviceColorWriteEnableFeaturesEXT; + + typedef struct VkPipelineColorWriteCreateInfoEXT { + VkStructureType sType; + const void* pNext; + deUint32 attachmentCount; + const VkBool32* pColorWriteEnables; + } VkPipelineColorWriteCreateInfoEXT; + + typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( + VkCommandBuffer commandBuffer, + deUint32 attachmentCount, + const VkBool32* pColorWriteEnables); + #endif + + + #define VK_EXT_global_priority_query 1 + #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT 16U + #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1 + #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query" + typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 globalPriorityQuery; + } VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT; + + typedef struct VkQueueFamilyGlobalPriorityPropertiesEXT { + VkStructureType sType; + void* pNext; + deUint32 priorityCount; + VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT]; + } VkQueueFamilyGlobalPriorityPropertiesEXT; + + + + #define VK_EXT_image_view_min_lod 1 + #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1 + #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod" + typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 minLod; + } VkPhysicalDeviceImageViewMinLodFeaturesEXT; + + typedef struct VkImageViewMinLodCreateInfoEXT { + VkStructureType sType; + const void* pNext; + float minLod; + } VkImageViewMinLodCreateInfoEXT; + + + + #define VK_EXT_multi_draw 1 + #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1 + #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw" + typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 multiDraw; + } VkPhysicalDeviceMultiDrawFeaturesEXT; + + typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT { + VkStructureType sType; + void* pNext; + deUint32 maxMultiDrawCount; + } VkPhysicalDeviceMultiDrawPropertiesEXT; + + typedef struct VkMultiDrawInfoEXT { + deUint32 firstVertex; + deUint32 vertexCount; + } VkMultiDrawInfoEXT; + + typedef struct VkMultiDrawIndexedInfoEXT { + deUint32 firstIndex; + deUint32 indexCount; + deInt32 vertexOffset; + } VkMultiDrawIndexedInfoEXT; + + typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawInfoEXT* pVertexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride); + typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride, const deInt32* pVertexOffset); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT( + VkCommandBuffer commandBuffer, + deUint32 drawCount, + const VkMultiDrawInfoEXT* pVertexInfo, + deUint32 instanceCount, + deUint32 firstInstance, + deUint32 stride); + + VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT( + VkCommandBuffer commandBuffer, + deUint32 drawCount, + const VkMultiDrawIndexedInfoEXT* pIndexInfo, + deUint32 instanceCount, + deUint32 firstInstance, + deUint32 stride, + const deInt32* pVertexOffset); + #endif + + + #define VK_EXT_load_store_op_none 1 + #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 + #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" + + + #define VK_EXT_border_color_swizzle 1 + #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1 + #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle" + typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 borderColorSwizzle; + VkBool32 borderColorSwizzleFromImage; + } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT; + + typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkComponentMapping components; + VkBool32 srgb; + } VkSamplerBorderColorComponentMappingCreateInfoEXT; + + + + #define VK_EXT_pageable_device_local_memory 1 + #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1 + #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory" + typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 pageableDeviceLocalMemory; + } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT; + + typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT( + VkDevice device, + VkDeviceMemory memory, + float priority); + #endif + + + #define VK_KHR_acceleration_structure 1 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) + #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 + #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" + + typedef enum VkBuildAccelerationStructureModeKHR { + VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0, + VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1, + VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF + } VkBuildAccelerationStructureModeKHR; + + typedef enum VkAccelerationStructureBuildTypeKHR { + VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, + VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, + VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, + VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF + } VkAccelerationStructureBuildTypeKHR; + + typedef enum VkAccelerationStructureCompatibilityKHR { + VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, + VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1, + VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF + } VkAccelerationStructureCompatibilityKHR; + + typedef enum VkAccelerationStructureCreateFlagBitsKHR { + VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001, + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004, + VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF + } VkAccelerationStructureCreateFlagBitsKHR; + typedef VkFlags VkAccelerationStructureCreateFlagsKHR; + typedef union VkDeviceOrHostAddressKHR { + VkDeviceAddress deviceAddress; + void* hostAddress; + } VkDeviceOrHostAddressKHR; + + typedef struct VkAccelerationStructureBuildRangeInfoKHR { + deUint32 primitiveCount; + deUint32 primitiveOffset; + deUint32 firstVertex; + deUint32 transformOffset; + } VkAccelerationStructureBuildRangeInfoKHR; + + typedef struct VkAccelerationStructureGeometryTrianglesDataKHR { + VkStructureType sType; + const void* pNext; + VkFormat vertexFormat; + VkDeviceOrHostAddressConstKHR vertexData; + VkDeviceSize vertexStride; + deUint32 maxVertex; + VkIndexType indexType; + VkDeviceOrHostAddressConstKHR indexData; + VkDeviceOrHostAddressConstKHR transformData; + } VkAccelerationStructureGeometryTrianglesDataKHR; + + typedef struct VkAccelerationStructureGeometryAabbsDataKHR { + VkStructureType sType; + const void* pNext; + VkDeviceOrHostAddressConstKHR data; + VkDeviceSize stride; + } VkAccelerationStructureGeometryAabbsDataKHR; + + typedef struct VkAccelerationStructureGeometryInstancesDataKHR { + VkStructureType sType; + const void* pNext; + VkBool32 arrayOfPointers; + VkDeviceOrHostAddressConstKHR data; + } VkAccelerationStructureGeometryInstancesDataKHR; + + typedef union VkAccelerationStructureGeometryDataKHR { + VkAccelerationStructureGeometryTrianglesDataKHR triangles; + VkAccelerationStructureGeometryAabbsDataKHR aabbs; + VkAccelerationStructureGeometryInstancesDataKHR instances; + } VkAccelerationStructureGeometryDataKHR; + + typedef struct VkAccelerationStructureGeometryKHR { + VkStructureType sType; + const void* pNext; + VkGeometryTypeKHR geometryType; + VkAccelerationStructureGeometryDataKHR geometry; + VkGeometryFlagsKHR flags; + } VkAccelerationStructureGeometryKHR; + + typedef struct VkAccelerationStructureBuildGeometryInfoKHR { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureTypeKHR type; + VkBuildAccelerationStructureFlagsKHR flags; + VkBuildAccelerationStructureModeKHR mode; + VkAccelerationStructureKHR srcAccelerationStructure; + VkAccelerationStructureKHR dstAccelerationStructure; + deUint32 geometryCount; + const VkAccelerationStructureGeometryKHR* pGeometries; + const VkAccelerationStructureGeometryKHR* const* ppGeometries; + VkDeviceOrHostAddressKHR scratchData; + } VkAccelerationStructureBuildGeometryInfoKHR; + + typedef struct VkAccelerationStructureCreateInfoKHR { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureCreateFlagsKHR createFlags; + VkBuffer buffer; + VkDeviceSize offset; + VkDeviceSize size; + VkAccelerationStructureTypeKHR type; + VkDeviceAddress deviceAddress; + } VkAccelerationStructureCreateInfoKHR; + + typedef struct VkWriteDescriptorSetAccelerationStructureKHR { + VkStructureType sType; + const void* pNext; + deUint32 accelerationStructureCount; + const VkAccelerationStructureKHR* pAccelerationStructures; + } VkWriteDescriptorSetAccelerationStructureKHR; + + typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 accelerationStructure; + VkBool32 accelerationStructureCaptureReplay; + VkBool32 accelerationStructureIndirectBuild; + VkBool32 accelerationStructureHostCommands; + VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind; + } VkPhysicalDeviceAccelerationStructureFeaturesKHR; + + typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR { + VkStructureType sType; + void* pNext; + deUint64 maxGeometryCount; + deUint64 maxInstanceCount; + deUint64 maxPrimitiveCount; + deUint32 maxPerStageDescriptorAccelerationStructures; + deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures; + deUint32 maxDescriptorSetAccelerationStructures; + deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures; + deUint32 minAccelerationStructureScratchOffsetAlignment; + } VkPhysicalDeviceAccelerationStructurePropertiesKHR; + + typedef struct VkAccelerationStructureDeviceAddressInfoKHR { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureKHR accelerationStructure; + } VkAccelerationStructureDeviceAddressInfoKHR; + + typedef struct VkAccelerationStructureVersionInfoKHR { + VkStructureType sType; + const void* pNext; + const deUint8* pVersionData; + } VkAccelerationStructureVersionInfoKHR; + + typedef struct VkCopyAccelerationStructureToMemoryInfoKHR { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureKHR src; + VkDeviceOrHostAddressKHR dst; + VkCopyAccelerationStructureModeKHR mode; + } VkCopyAccelerationStructureToMemoryInfoKHR; + + typedef struct VkCopyMemoryToAccelerationStructureInfoKHR { + VkStructureType sType; + const void* pNext; + VkDeviceOrHostAddressConstKHR src; + VkAccelerationStructureKHR dst; + VkCopyAccelerationStructureModeKHR mode; + } VkCopyMemoryToAccelerationStructureInfoKHR; + + typedef struct VkCopyAccelerationStructureInfoKHR { + VkStructureType sType; + const void* pNext; + VkAccelerationStructureKHR src; + VkAccelerationStructureKHR dst; + VkCopyAccelerationStructureModeKHR mode; + } VkCopyAccelerationStructureInfoKHR; + + typedef struct VkAccelerationStructureBuildSizesInfoKHR { + VkStructureType sType; + const void* pNext; + VkDeviceSize accelerationStructureSize; + VkDeviceSize updateScratchSize; + VkDeviceSize buildScratchSize; + } VkAccelerationStructureBuildSizesInfoKHR; + + typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure); + typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator); + typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); + typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts); + typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); + typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo); + typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); + typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); + typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride); + typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo); + typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); + typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); + typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); + typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery); + typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); + typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR( + VkDevice device, + const VkAccelerationStructureCreateInfoKHR* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkAccelerationStructureKHR* pAccelerationStructure); + + VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR( + VkDevice device, + VkAccelerationStructureKHR accelerationStructure, + const VkAllocationCallbacks* pAllocator); + + VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR( + VkCommandBuffer commandBuffer, + deUint32 infoCount, + const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, + const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); + + VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR( + VkCommandBuffer commandBuffer, + deUint32 infoCount, + const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, + const VkDeviceAddress* pIndirectDeviceAddresses, + const deUint32* pIndirectStrides, + const deUint32* const* ppMaxPrimitiveCounts); + + VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR( + VkDevice device, + VkDeferredOperationKHR deferredOperation, + deUint32 infoCount, + const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, + const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); + + VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR( + VkDevice device, + VkDeferredOperationKHR deferredOperation, + const VkCopyAccelerationStructureInfoKHR* pInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR( + VkDevice device, + VkDeferredOperationKHR deferredOperation, + const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR( + VkDevice device, + VkDeferredOperationKHR deferredOperation, + const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); + + VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR( + VkDevice device, + deUint32 accelerationStructureCount, + const VkAccelerationStructureKHR* pAccelerationStructures, + VkQueryType queryType, + deUintptr dataSize, + void* pData, + deUintptr stride); + + VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR( + VkCommandBuffer commandBuffer, + const VkCopyAccelerationStructureInfoKHR* pInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR( + VkCommandBuffer commandBuffer, + const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR( + VkCommandBuffer commandBuffer, + const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); + + VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR( + VkDevice device, + const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); + + VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR( + VkCommandBuffer commandBuffer, + deUint32 accelerationStructureCount, + const VkAccelerationStructureKHR* pAccelerationStructures, + VkQueryType queryType, + VkQueryPool queryPool, + deUint32 firstQuery); + + VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR( + VkDevice device, + const VkAccelerationStructureVersionInfoKHR* pVersionInfo, + VkAccelerationStructureCompatibilityKHR* pCompatibility); + + VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR( + VkDevice device, + VkAccelerationStructureBuildTypeKHR buildType, + const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, + const deUint32* pMaxPrimitiveCounts, + VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); + #endif + + + #define VK_KHR_ray_tracing_pipeline 1 + #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1 + #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline" + + typedef enum VkShaderGroupShaderKHR { + VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0, + VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1, + VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2, + VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3, + VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF + } VkShaderGroupShaderKHR; + typedef struct VkRayTracingShaderGroupCreateInfoKHR { + VkStructureType sType; + const void* pNext; + VkRayTracingShaderGroupTypeKHR type; + deUint32 generalShader; + deUint32 closestHitShader; + deUint32 anyHitShader; + deUint32 intersectionShader; + const void* pShaderGroupCaptureReplayHandle; + } VkRayTracingShaderGroupCreateInfoKHR; + + typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR { + VkStructureType sType; + const void* pNext; + deUint32 maxPipelineRayPayloadSize; + deUint32 maxPipelineRayHitAttributeSize; + } VkRayTracingPipelineInterfaceCreateInfoKHR; + + typedef struct VkRayTracingPipelineCreateInfoKHR { + VkStructureType sType; + const void* pNext; + VkPipelineCreateFlags flags; + deUint32 stageCount; + const VkPipelineShaderStageCreateInfo* pStages; + deUint32 groupCount; + const VkRayTracingShaderGroupCreateInfoKHR* pGroups; + deUint32 maxPipelineRayRecursionDepth; + const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; + const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface; + const VkPipelineDynamicStateCreateInfo* pDynamicState; + VkPipelineLayout layout; + VkPipeline basePipelineHandle; + deInt32 basePipelineIndex; + } VkRayTracingPipelineCreateInfoKHR; + + typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 rayTracingPipeline; + VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay; + VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed; + VkBool32 rayTracingPipelineTraceRaysIndirect; + VkBool32 rayTraversalPrimitiveCulling; + } VkPhysicalDeviceRayTracingPipelineFeaturesKHR; + + typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR { + VkStructureType sType; + void* pNext; + deUint32 shaderGroupHandleSize; + deUint32 maxRayRecursionDepth; + deUint32 maxShaderGroupStride; + deUint32 shaderGroupBaseAlignment; + deUint32 shaderGroupHandleCaptureReplaySize; + deUint32 maxRayDispatchInvocationCount; + deUint32 shaderGroupHandleAlignment; + deUint32 maxRayHitAttributeSize; + } VkPhysicalDeviceRayTracingPipelinePropertiesKHR; + + typedef struct VkStridedDeviceAddressRegionKHR { + VkDeviceAddress deviceAddress; + VkDeviceSize stride; + VkDeviceSize size; + } VkStridedDeviceAddressRegionKHR; + + typedef struct VkTraceRaysIndirectCommandKHR { + deUint32 width; + deUint32 height; + deUint32 depth; + } VkTraceRaysIndirectCommandKHR; + + typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, deUint32 width, deUint32 height, deUint32 depth); + typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); + typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData); + typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress); + typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader); + typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize); + + #ifndef VK_NO_PROTOTYPES + VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR( + VkCommandBuffer commandBuffer, + const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, + const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, + const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, + const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, + deUint32 width, + deUint32 height, + deUint32 depth); + + VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR( + VkDevice device, + VkDeferredOperationKHR deferredOperation, + VkPipelineCache pipelineCache, + deUint32 createInfoCount, + const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, + const VkAllocationCallbacks* pAllocator, + VkPipeline* pPipelines); + + VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( + VkDevice device, + VkPipeline pipeline, + deUint32 firstGroup, + deUint32 groupCount, + deUintptr dataSize, + void* pData); + + VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR( + VkCommandBuffer commandBuffer, + const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, + const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, + const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, + const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, + VkDeviceAddress indirectDeviceAddress); + + VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR( + VkDevice device, + VkPipeline pipeline, + deUint32 group, + VkShaderGroupShaderKHR groupShader); + + VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR( + VkCommandBuffer commandBuffer, + deUint32 pipelineStackSize); + #endif + + + #define VK_KHR_ray_query 1 + #define VK_KHR_RAY_QUERY_SPEC_VERSION 1 + #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query" + typedef struct VkPhysicalDeviceRayQueryFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 rayQuery; + } VkPhysicalDeviceRayQueryFeaturesKHR; + + + #ifdef __cplusplus + } + #endif + + #endif + diff --cc external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp index e201d57,2d66341..71dfbe5 --- a/external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp +++ b/external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp @@@ -1619,51 -1572,35 +1619,51 @@@ tcu::TestStatus featureBitInfluenceOnDe #define DEPENDENCY_DUAL_ITEM(CORE, EXT, FIELD, PARENT) { &(CORE.FIELD), &(CORE.PARENT) }, { &(EXT.FIELD), &(EXT.PARENT) } #define DEPENDENCY_SINGLE_ITEM(CORE, FIELD, PARENT) { &(CORE.FIELD), &(CORE.PARENT) } - const VkPhysicalDevice physicalDevice = context.getPhysicalDevice(); - const InstanceInterface& vki = context.getInstanceInterface(); - TestLog& log = context.getTestContext().getLog(); - const std::vector deviceExtensionProperties = enumerateDeviceExtensionProperties(vki, physicalDevice, DE_NULL); - - VkPhysicalDeviceFeatures2 features2 = initVulkanStructure(); - VkPhysicalDeviceVulkan11Features vulkan11Features = initVulkanStructure(); - VkPhysicalDeviceVulkan12Features vulkan12Features = initVulkanStructure(); - VkPhysicalDevice16BitStorageFeaturesKHR sixteenBitStorageFeatures = initVulkanStructure(); - VkPhysicalDeviceMultiviewFeatures multiviewFeatures = initVulkanStructure(); - VkPhysicalDeviceVariablePointersFeatures variablePointersFeatures = initVulkanStructure(); - VkPhysicalDeviceProtectedMemoryFeatures protectedMemoryFeatures = initVulkanStructure(); - VkPhysicalDeviceSamplerYcbcrConversionFeatures samplerYcbcrConversionFeatures = initVulkanStructure(); - VkPhysicalDeviceShaderDrawParametersFeatures shaderDrawParametersFeatures = initVulkanStructure(); - VkPhysicalDevice8BitStorageFeatures eightBitStorageFeatures = initVulkanStructure(); - VkPhysicalDeviceShaderAtomicInt64Features shaderAtomicInt64Features = initVulkanStructure(); - VkPhysicalDeviceShaderFloat16Int8Features shaderFloat16Int8Features = initVulkanStructure(); - VkPhysicalDeviceDescriptorIndexingFeatures descriptorIndexingFeatures = initVulkanStructure(); - VkPhysicalDeviceScalarBlockLayoutFeatures scalarBlockLayoutFeatures = initVulkanStructure(); - VkPhysicalDeviceImagelessFramebufferFeatures imagelessFramebufferFeatures = initVulkanStructure(); - VkPhysicalDeviceUniformBufferStandardLayoutFeatures uniformBufferStandardLayoutFeatures = initVulkanStructure(); - VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures shaderSubgroupExtendedTypesFeatures = initVulkanStructure(); - VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures separateDepthStencilLayoutsFeatures = initVulkanStructure(); - VkPhysicalDeviceHostQueryResetFeatures hostQueryResetFeatures = initVulkanStructure(); - VkPhysicalDeviceTimelineSemaphoreFeatures timelineSemaphoreFeatures = initVulkanStructure(); - VkPhysicalDeviceBufferDeviceAddressFeatures bufferDeviceAddressFeatures = initVulkanStructure(); - VkPhysicalDeviceVulkanMemoryModelFeatures vulkanMemoryModelFeatures = initVulkanStructure(); + const VkPhysicalDevice physicalDevice = context.getPhysicalDevice(); + const InstanceInterface& vki = context.getInstanceInterface(); + TestLog& log = context.getTestContext().getLog(); + const std::vector deviceExtensionProperties = enumerateDeviceExtensionProperties(vki, physicalDevice, DE_NULL); + + VkPhysicalDeviceFeatures2 features2 = initVulkanStructure(); + + VkPhysicalDeviceVulkan11Features vulkan11Features = initVulkanStructure(); + VkPhysicalDeviceVulkan12Features vulkan12Features = initVulkanStructure(); + VkPhysicalDevice16BitStorageFeaturesKHR sixteenBitStorageFeatures = initVulkanStructure(); + VkPhysicalDeviceMultiviewFeatures multiviewFeatures = initVulkanStructure(); + VkPhysicalDeviceVariablePointersFeatures variablePointersFeatures = initVulkanStructure(); + VkPhysicalDeviceProtectedMemoryFeatures protectedMemoryFeatures = initVulkanStructure(); + VkPhysicalDeviceSamplerYcbcrConversionFeatures samplerYcbcrConversionFeatures = initVulkanStructure(); + VkPhysicalDeviceShaderDrawParametersFeatures shaderDrawParametersFeatures = initVulkanStructure(); + VkPhysicalDevice8BitStorageFeatures eightBitStorageFeatures = initVulkanStructure(); + VkPhysicalDeviceShaderAtomicInt64Features shaderAtomicInt64Features = initVulkanStructure(); + VkPhysicalDeviceShaderFloat16Int8Features shaderFloat16Int8Features = initVulkanStructure(); + VkPhysicalDeviceDescriptorIndexingFeatures descriptorIndexingFeatures = initVulkanStructure(); + VkPhysicalDeviceScalarBlockLayoutFeatures scalarBlockLayoutFeatures = initVulkanStructure(); + VkPhysicalDeviceImagelessFramebufferFeatures imagelessFramebufferFeatures = initVulkanStructure(); + VkPhysicalDeviceUniformBufferStandardLayoutFeatures uniformBufferStandardLayoutFeatures = initVulkanStructure(); + VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures shaderSubgroupExtendedTypesFeatures = initVulkanStructure(); + VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures separateDepthStencilLayoutsFeatures = initVulkanStructure(); + VkPhysicalDeviceHostQueryResetFeatures hostQueryResetFeatures = initVulkanStructure(); + VkPhysicalDeviceTimelineSemaphoreFeatures timelineSemaphoreFeatures = initVulkanStructure(); + VkPhysicalDeviceBufferDeviceAddressFeatures bufferDeviceAddressFeatures = initVulkanStructure(); + VkPhysicalDeviceVulkanMemoryModelFeatures vulkanMemoryModelFeatures = initVulkanStructure(); + + VkPhysicalDeviceVulkan13Features vulkan13Features = initVulkanStructure(); + VkPhysicalDeviceImageRobustnessFeatures imageRobustnessFeatures = initVulkanStructure(); + VkPhysicalDeviceInlineUniformBlockFeatures inlineUniformBlockFeatures = initVulkanStructure(); + VkPhysicalDevicePipelineCreationCacheControlFeatures pipelineCreationCacheControlFeatures = initVulkanStructure(); + VkPhysicalDevicePrivateDataFeatures privateDataFeatures = initVulkanStructure(); + VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures shaderDemoteToHelperInvocationFeatures = initVulkanStructure(); + VkPhysicalDeviceShaderTerminateInvocationFeatures shaderTerminateInvocationFeatures = initVulkanStructure(); + VkPhysicalDeviceSubgroupSizeControlFeatures subgroupSizeControlFeatures = initVulkanStructure(); + VkPhysicalDeviceSynchronization2Features synchronization2Features = initVulkanStructure(); + VkPhysicalDeviceTextureCompressionASTCHDRFeatures textureCompressionASTCHDRFeatures = initVulkanStructure(); + VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures zeroInitializeWorkgroupMemoryFeatures = initVulkanStructure(); + VkPhysicalDeviceDynamicRenderingFeatures dynamicRenderingFeatures = initVulkanStructure(); + VkPhysicalDeviceShaderIntegerDotProductFeatures shaderIntegerDotProductFeatures = initVulkanStructure(); + VkPhysicalDeviceMaintenance4Features maintenance4Features = initVulkanStructure(); - struct DummyExtensionFeatures + struct UnusedExtensionFeatures { VkStructureType sType; void* pNext; @@@ -1682,114 -1619,85 +1682,113 @@@ VkBool32* extFieldPtr; const char* extFieldName; const char* extString; - } - featureTable[] = - { - FEATURE_TABLE_ITEM(vulkan11Features, sixteenBitStorageFeatures, storageBuffer16BitAccess, "VK_KHR_16bit_storage"), - FEATURE_TABLE_ITEM(vulkan11Features, sixteenBitStorageFeatures, uniformAndStorageBuffer16BitAccess, "VK_KHR_16bit_storage"), - FEATURE_TABLE_ITEM(vulkan11Features, sixteenBitStorageFeatures, storagePushConstant16, "VK_KHR_16bit_storage"), - FEATURE_TABLE_ITEM(vulkan11Features, sixteenBitStorageFeatures, storageInputOutput16, "VK_KHR_16bit_storage"), - FEATURE_TABLE_ITEM(vulkan11Features, multiviewFeatures, multiview, "VK_KHR_multiview"), - FEATURE_TABLE_ITEM(vulkan11Features, multiviewFeatures, multiviewGeometryShader, "VK_KHR_multiview"), - FEATURE_TABLE_ITEM(vulkan11Features, multiviewFeatures, multiviewTessellationShader, "VK_KHR_multiview"), - FEATURE_TABLE_ITEM(vulkan11Features, variablePointersFeatures, variablePointersStorageBuffer, "VK_KHR_variable_pointers"), - FEATURE_TABLE_ITEM(vulkan11Features, variablePointersFeatures, variablePointers, "VK_KHR_variable_pointers"), - FEATURE_TABLE_ITEM(vulkan11Features, protectedMemoryFeatures, protectedMemory, DE_NULL), - FEATURE_TABLE_ITEM(vulkan11Features, samplerYcbcrConversionFeatures, samplerYcbcrConversion, "VK_KHR_sampler_ycbcr_conversion"), - FEATURE_TABLE_ITEM(vulkan11Features, shaderDrawParametersFeatures, shaderDrawParameters, DE_NULL), - FEATURE_TABLE_ITEM(vulkan12Features, eightBitStorageFeatures, storageBuffer8BitAccess, "VK_KHR_8bit_storage"), - FEATURE_TABLE_ITEM(vulkan12Features, eightBitStorageFeatures, uniformAndStorageBuffer8BitAccess, "VK_KHR_8bit_storage"), - FEATURE_TABLE_ITEM(vulkan12Features, eightBitStorageFeatures, storagePushConstant8, "VK_KHR_8bit_storage"), - FEATURE_TABLE_ITEM(vulkan12Features, shaderAtomicInt64Features, shaderBufferInt64Atomics, "VK_KHR_shader_atomic_int64"), - FEATURE_TABLE_ITEM(vulkan12Features, shaderAtomicInt64Features, shaderSharedInt64Atomics, "VK_KHR_shader_atomic_int64"), - FEATURE_TABLE_ITEM(vulkan12Features, shaderFloat16Int8Features, shaderFloat16, "VK_KHR_shader_float16_int8"), - FEATURE_TABLE_ITEM(vulkan12Features, shaderFloat16Int8Features, shaderInt8, "VK_KHR_shader_float16_int8"), - FEATURE_TABLE_ITEM(vulkan12Features, unusedExtensionFeatures, descriptorIndexing, DE_NULL), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderInputAttachmentArrayDynamicIndexing, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderUniformTexelBufferArrayDynamicIndexing, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderStorageTexelBufferArrayDynamicIndexing, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderUniformBufferArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderSampledImageArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderStorageBufferArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderStorageImageArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderInputAttachmentArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderUniformTexelBufferArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderStorageTexelBufferArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingUniformBufferUpdateAfterBind, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingSampledImageUpdateAfterBind, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingStorageImageUpdateAfterBind, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingStorageBufferUpdateAfterBind, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingUniformTexelBufferUpdateAfterBind, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingStorageTexelBufferUpdateAfterBind, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingUpdateUnusedWhilePending, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingPartiallyBound, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingVariableDescriptorCount, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, runtimeDescriptorArray, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, unusedExtensionFeatures, samplerFilterMinmax, "VK_EXT_sampler_filter_minmax"), - FEATURE_TABLE_ITEM(vulkan12Features, scalarBlockLayoutFeatures, scalarBlockLayout, "VK_EXT_scalar_block_layout"), - FEATURE_TABLE_ITEM(vulkan12Features, imagelessFramebufferFeatures, imagelessFramebuffer, "VK_KHR_imageless_framebuffer"), - FEATURE_TABLE_ITEM(vulkan12Features, uniformBufferStandardLayoutFeatures, uniformBufferStandardLayout, "VK_KHR_uniform_buffer_standard_layout"), - FEATURE_TABLE_ITEM(vulkan12Features, shaderSubgroupExtendedTypesFeatures, shaderSubgroupExtendedTypes, "VK_KHR_shader_subgroup_extended_types"), - FEATURE_TABLE_ITEM(vulkan12Features, separateDepthStencilLayoutsFeatures, separateDepthStencilLayouts, "VK_KHR_separate_depth_stencil_layouts"), - FEATURE_TABLE_ITEM(vulkan12Features, hostQueryResetFeatures, hostQueryReset, "VK_EXT_host_query_reset"), - FEATURE_TABLE_ITEM(vulkan12Features, timelineSemaphoreFeatures, timelineSemaphore, "VK_KHR_timeline_semaphore"), - FEATURE_TABLE_ITEM(vulkan12Features, bufferDeviceAddressFeatures, bufferDeviceAddress, "VK_EXT_buffer_device_address"), - FEATURE_TABLE_ITEM(vulkan12Features, bufferDeviceAddressFeatures, bufferDeviceAddressCaptureReplay, "VK_EXT_buffer_device_address"), - FEATURE_TABLE_ITEM(vulkan12Features, bufferDeviceAddressFeatures, bufferDeviceAddressMultiDevice, "VK_EXT_buffer_device_address"), - FEATURE_TABLE_ITEM(vulkan12Features, vulkanMemoryModelFeatures, vulkanMemoryModel, "VK_KHR_vulkan_memory_model"), - FEATURE_TABLE_ITEM(vulkan12Features, vulkanMemoryModelFeatures, vulkanMemoryModelDeviceScope, "VK_KHR_vulkan_memory_model"), - FEATURE_TABLE_ITEM(vulkan12Features, vulkanMemoryModelFeatures, vulkanMemoryModelAvailabilityVisibilityChains, "VK_KHR_vulkan_memory_model"), }; - struct FeatureDependencyTable { VkBool32* featurePtr; VkBool32* dependOnPtr; + }; + + std::vector featureTable; + std::vector featureDependencyTable; + + if (VK_API_VERSION == VK_API_VERSION_1_2) + { + featureTable = + { + FEATURE_TABLE_ITEM(vulkan11Features, sixteenBitStorageFeatures, storageBuffer16BitAccess, "VK_KHR_16bit_storage"), + FEATURE_TABLE_ITEM(vulkan11Features, sixteenBitStorageFeatures, uniformAndStorageBuffer16BitAccess, "VK_KHR_16bit_storage"), + FEATURE_TABLE_ITEM(vulkan11Features, sixteenBitStorageFeatures, storagePushConstant16, "VK_KHR_16bit_storage"), + FEATURE_TABLE_ITEM(vulkan11Features, sixteenBitStorageFeatures, storageInputOutput16, "VK_KHR_16bit_storage"), + FEATURE_TABLE_ITEM(vulkan11Features, multiviewFeatures, multiview, "VK_KHR_multiview"), + FEATURE_TABLE_ITEM(vulkan11Features, multiviewFeatures, multiviewGeometryShader, "VK_KHR_multiview"), + FEATURE_TABLE_ITEM(vulkan11Features, multiviewFeatures, multiviewTessellationShader, "VK_KHR_multiview"), + FEATURE_TABLE_ITEM(vulkan11Features, variablePointersFeatures, variablePointersStorageBuffer, "VK_KHR_variable_pointers"), + FEATURE_TABLE_ITEM(vulkan11Features, variablePointersFeatures, variablePointers, "VK_KHR_variable_pointers"), + FEATURE_TABLE_ITEM(vulkan11Features, protectedMemoryFeatures, protectedMemory, DE_NULL), + FEATURE_TABLE_ITEM(vulkan11Features, samplerYcbcrConversionFeatures, samplerYcbcrConversion, "VK_KHR_sampler_ycbcr_conversion"), + FEATURE_TABLE_ITEM(vulkan11Features, shaderDrawParametersFeatures, shaderDrawParameters, DE_NULL), + FEATURE_TABLE_ITEM(vulkan12Features, eightBitStorageFeatures, storageBuffer8BitAccess, "VK_KHR_8bit_storage"), + FEATURE_TABLE_ITEM(vulkan12Features, eightBitStorageFeatures, uniformAndStorageBuffer8BitAccess, "VK_KHR_8bit_storage"), + FEATURE_TABLE_ITEM(vulkan12Features, eightBitStorageFeatures, storagePushConstant8, "VK_KHR_8bit_storage"), + FEATURE_TABLE_ITEM(vulkan12Features, shaderAtomicInt64Features, shaderBufferInt64Atomics, "VK_KHR_shader_atomic_int64"), + FEATURE_TABLE_ITEM(vulkan12Features, shaderAtomicInt64Features, shaderSharedInt64Atomics, "VK_KHR_shader_atomic_int64"), + FEATURE_TABLE_ITEM(vulkan12Features, shaderFloat16Int8Features, shaderFloat16, "VK_KHR_shader_float16_int8"), + FEATURE_TABLE_ITEM(vulkan12Features, shaderFloat16Int8Features, shaderInt8, "VK_KHR_shader_float16_int8"), - FEATURE_TABLE_ITEM(vulkan12Features, dummyExtensionFeatures, descriptorIndexing, DE_NULL), ++ FEATURE_TABLE_ITEM(vulkan12Features, unusedExtensionFeatures, descriptorIndexing, DE_NULL), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderInputAttachmentArrayDynamicIndexing, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderUniformTexelBufferArrayDynamicIndexing, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderStorageTexelBufferArrayDynamicIndexing, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderUniformBufferArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderSampledImageArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderStorageBufferArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderStorageImageArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderInputAttachmentArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderUniformTexelBufferArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, shaderStorageTexelBufferArrayNonUniformIndexing, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingUniformBufferUpdateAfterBind, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingSampledImageUpdateAfterBind, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingStorageImageUpdateAfterBind, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingStorageBufferUpdateAfterBind, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingUniformTexelBufferUpdateAfterBind, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingStorageTexelBufferUpdateAfterBind, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingUpdateUnusedWhilePending, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingPartiallyBound, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, descriptorBindingVariableDescriptorCount, "VK_EXT_descriptor_indexing"), + FEATURE_TABLE_ITEM(vulkan12Features, descriptorIndexingFeatures, runtimeDescriptorArray, "VK_EXT_descriptor_indexing"), - FEATURE_TABLE_ITEM(vulkan12Features, dummyExtensionFeatures, samplerFilterMinmax, "VK_EXT_sampler_filter_minmax"), ++ FEATURE_TABLE_ITEM(vulkan12Features, unusedExtensionFeatures, samplerFilterMinmax, "VK_EXT_sampler_filter_minmax"), + FEATURE_TABLE_ITEM(vulkan12Features, scalarBlockLayoutFeatures, scalarBlockLayout, "VK_EXT_scalar_block_layout"), + FEATURE_TABLE_ITEM(vulkan12Features, imagelessFramebufferFeatures, imagelessFramebuffer, "VK_KHR_imageless_framebuffer"), + FEATURE_TABLE_ITEM(vulkan12Features, uniformBufferStandardLayoutFeatures, uniformBufferStandardLayout, "VK_KHR_uniform_buffer_standard_layout"), + FEATURE_TABLE_ITEM(vulkan12Features, shaderSubgroupExtendedTypesFeatures, shaderSubgroupExtendedTypes, "VK_KHR_shader_subgroup_extended_types"), + FEATURE_TABLE_ITEM(vulkan12Features, separateDepthStencilLayoutsFeatures, separateDepthStencilLayouts, "VK_KHR_separate_depth_stencil_layouts"), + FEATURE_TABLE_ITEM(vulkan12Features, hostQueryResetFeatures, hostQueryReset, "VK_EXT_host_query_reset"), + FEATURE_TABLE_ITEM(vulkan12Features, timelineSemaphoreFeatures, timelineSemaphore, "VK_KHR_timeline_semaphore"), + FEATURE_TABLE_ITEM(vulkan12Features, bufferDeviceAddressFeatures, bufferDeviceAddress, "VK_EXT_buffer_device_address"), + FEATURE_TABLE_ITEM(vulkan12Features, bufferDeviceAddressFeatures, bufferDeviceAddressCaptureReplay, "VK_EXT_buffer_device_address"), + FEATURE_TABLE_ITEM(vulkan12Features, bufferDeviceAddressFeatures, bufferDeviceAddressMultiDevice, "VK_EXT_buffer_device_address"), + FEATURE_TABLE_ITEM(vulkan12Features, vulkanMemoryModelFeatures, vulkanMemoryModel, "VK_KHR_vulkan_memory_model"), + FEATURE_TABLE_ITEM(vulkan12Features, vulkanMemoryModelFeatures, vulkanMemoryModelDeviceScope, "VK_KHR_vulkan_memory_model"), + FEATURE_TABLE_ITEM(vulkan12Features, vulkanMemoryModelFeatures, vulkanMemoryModelAvailabilityVisibilityChains, "VK_KHR_vulkan_memory_model"), + }; + + featureDependencyTable = + { + DEPENDENCY_DUAL_ITEM (vulkan11Features, multiviewFeatures, multiviewGeometryShader, multiview), + DEPENDENCY_DUAL_ITEM (vulkan11Features, multiviewFeatures, multiviewTessellationShader, multiview), + DEPENDENCY_DUAL_ITEM (vulkan11Features, variablePointersFeatures, variablePointers, variablePointersStorageBuffer), + DEPENDENCY_DUAL_ITEM (vulkan12Features, bufferDeviceAddressFeatures, bufferDeviceAddressCaptureReplay, bufferDeviceAddress), + DEPENDENCY_DUAL_ITEM (vulkan12Features, bufferDeviceAddressFeatures, bufferDeviceAddressMultiDevice, bufferDeviceAddress), + DEPENDENCY_DUAL_ITEM (vulkan12Features, vulkanMemoryModelFeatures, vulkanMemoryModelDeviceScope, vulkanMemoryModel), + DEPENDENCY_DUAL_ITEM (vulkan12Features, vulkanMemoryModelFeatures, vulkanMemoryModelAvailabilityVisibilityChains, vulkanMemoryModel), + }; } - featureDependencyTable[] = + else // if (VK_API_VERSION == VK_API_VERSION_1_3) { - DEPENDENCY_DUAL_ITEM (vulkan11Features, multiviewFeatures, multiviewGeometryShader, multiview), - DEPENDENCY_DUAL_ITEM (vulkan11Features, multiviewFeatures, multiviewTessellationShader, multiview), - DEPENDENCY_DUAL_ITEM (vulkan11Features, variablePointersFeatures, variablePointers, variablePointersStorageBuffer), - DEPENDENCY_DUAL_ITEM (vulkan12Features, bufferDeviceAddressFeatures, bufferDeviceAddressCaptureReplay, bufferDeviceAddress), - DEPENDENCY_DUAL_ITEM (vulkan12Features, bufferDeviceAddressFeatures, bufferDeviceAddressMultiDevice, bufferDeviceAddress), - DEPENDENCY_DUAL_ITEM (vulkan12Features, vulkanMemoryModelFeatures, vulkanMemoryModelDeviceScope, vulkanMemoryModel), - DEPENDENCY_DUAL_ITEM (vulkan12Features, vulkanMemoryModelFeatures, vulkanMemoryModelAvailabilityVisibilityChains, vulkanMemoryModel), - }; + featureTable = + { + FEATURE_TABLE_ITEM(vulkan13Features, imageRobustnessFeatures, robustImageAccess, "VK_EXT_image_robustness"), + FEATURE_TABLE_ITEM(vulkan13Features, inlineUniformBlockFeatures, inlineUniformBlock, "VK_EXT_inline_uniform_block"), + FEATURE_TABLE_ITEM(vulkan13Features, inlineUniformBlockFeatures, descriptorBindingInlineUniformBlockUpdateAfterBind, "VK_EXT_inline_uniform_block"), + FEATURE_TABLE_ITEM(vulkan13Features, pipelineCreationCacheControlFeatures, pipelineCreationCacheControl, "VK_EXT_pipeline_creation_cache_control"), + FEATURE_TABLE_ITEM(vulkan13Features, privateDataFeatures, privateData, "VK_EXT_private_data"), + FEATURE_TABLE_ITEM(vulkan13Features, shaderDemoteToHelperInvocationFeatures, shaderDemoteToHelperInvocation, "VK_EXT_shader_demote_to_helper_invocation"), + FEATURE_TABLE_ITEM(vulkan13Features, shaderTerminateInvocationFeatures, shaderTerminateInvocation, "VK_KHR_shader_terminate_invocation"), + FEATURE_TABLE_ITEM(vulkan13Features, subgroupSizeControlFeatures, subgroupSizeControl, "VK_EXT_subgroup_size_control"), + FEATURE_TABLE_ITEM(vulkan13Features, subgroupSizeControlFeatures, computeFullSubgroups, "VK_EXT_subgroup_size_control"), + FEATURE_TABLE_ITEM(vulkan13Features, synchronization2Features, synchronization2, "VK_KHR_synchronization2"), + FEATURE_TABLE_ITEM(vulkan13Features, textureCompressionASTCHDRFeatures, textureCompressionASTC_HDR, "VK_EXT_texture_compression_astc_hdr"), + FEATURE_TABLE_ITEM(vulkan13Features, zeroInitializeWorkgroupMemoryFeatures, shaderZeroInitializeWorkgroupMemory, "VK_KHR_zero_initialize_workgroup_memory"), + FEATURE_TABLE_ITEM(vulkan13Features, dynamicRenderingFeatures, dynamicRendering, "VK_KHR_dynamic_rendering"), + FEATURE_TABLE_ITEM(vulkan13Features, shaderIntegerDotProductFeatures, shaderIntegerDotProduct, "VK_KHR_shader_integer_dot_product"), + FEATURE_TABLE_ITEM(vulkan13Features, maintenance4Features, maintenance4, "VK_KHR_maintenance4"), + }; + } - deMemset(&dummyExtensionFeatures, 0, sizeof(dummyExtensionFeatures)); + deMemset(&unusedExtensionFeatures, 0, sizeof(unusedExtensionFeatures)); - for (size_t featureTableNdx = 0; featureTableNdx < DE_LENGTH_OF_ARRAY(featureTable); ++featureTableNdx) + for (FeatureTable& testedFeature : featureTable) { - FeatureTable& testedFeature = featureTable[featureTableNdx]; VkBool32 coreFeatureState= DE_FALSE; VkBool32 extFeatureState = DE_FALSE; diff --cc external/vulkancts/scripts/gen_framework.py index 459902f,2022ad5..92e1c8d --- a/external/vulkancts/scripts/gen_framework.py +++ b/external/vulkancts/scripts/gen_framework.py @@@ -1974,18 -1893,11 +1975,21 @@@ def generateDeviceFeaturesDefs(src) sType = "SCISSOR_EXCLUSIVE" elif sType == "ASTC_DECODE": sType = "ASTC_DECODE_MODE" - if sType in {'VULKAN_1_1', 'VULKAN_1_2'}: + elif sType == "MAINTENANCE_4": + sType = "MAINTENANCE4" + elif sType == "YCBCR_2_PLANE_444_FORMATS": + sType = "YCBCR_2PLANE_444_FORMATS" + elif sType in {'VULKAN_1_1', 'VULKAN_1_2', 'VULKAN_1_3'}: + continue + elif sType == 'RASTERIZATION_ORDER_ATTACHMENT_ACCESS': + # skip case that has const pNext pointer + continue + # skip cases that have const pNext pointer + if sType == 'RASTERIZATION_ORDER_ATTACHMENT_ACCESS': continue + # skip cases that have const pNext pointer + if sType == 'RASTERIZATION_ORDER_ATTACHMENT_ACCESS': + continue # end handling special cases ptrnExtensionName = r'^\s*#define\s+(\w+' + sSuffix + '_' + sType + '_EXTENSION_NAME).+$' matchExtensionName = re.search(ptrnExtensionName, src, re.M)