From 97959a1ad13a09fccbeca752239107ef0c3b4e7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Belmant?= Date: Thu, 10 Mar 2022 22:37:09 +0100 Subject: [PATCH] Update VulkanCore to 1.3.207 (#46) * Fix wrong parsing of string * Update project and generator * Regenerate wrapper with version 1.3.207 * Minor rephrasing in README * Bump package version to 1.3 --- Project.toml | 2 +- README.md | 2 +- gen/Manifest.toml | 28 +- gen/Project.toml | 4 +- gen/generator.jl | 2 +- lib/aarch64-apple-darwin20.jl | 3312 +++++++++++++---- lib/aarch64-linux-gnu.jl | 3312 +++++++++++++---- lib/aarch64-linux-musl.jl | 3312 +++++++++++++---- lib/armv7l-linux-gnueabihf.jl | 3306 ++++++++++++---- lib/armv7l-linux-musleabihf.jl | 3306 ++++++++++++---- lib/i686-linux-gnu.jl | 3306 ++++++++++++---- lib/i686-linux-musl.jl | 3306 ++++++++++++---- lib/i686-w64-mingw32.jl | 3270 ++++++++++++---- lib/powerpc64le-linux-gnu.jl | 3312 +++++++++++++---- lib/x86_64-apple-darwin14.jl | 3312 +++++++++++++---- lib/x86_64-linux-gnu.jl | 3312 +++++++++++++---- lib/x86_64-linux-musl.jl | 3312 +++++++++++++---- ...eebsd11.1.jl => x86_64-unknown-freebsd.jl} | 3312 +++++++++++++---- lib/x86_64-w64-mingw32.jl | 3312 +++++++++++++---- src/LibVulkan.jl | 12 +- test/vkhelper.jl | 17 +- 21 files changed, 37346 insertions(+), 9023 deletions(-) rename lib/{x86_64-unknown-freebsd11.1.jl => x86_64-unknown-freebsd.jl} (86%) diff --git a/Project.toml b/Project.toml index de6b5c5..7c91fe6 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "VulkanCore" uuid = "16167f82-ea26-5cba-b1de-ed6fd5e30a11" -version = "1.2.6" +version = "1.3.0" [deps] Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" diff --git a/README.md b/README.md index 1b762a7..a68ab74 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ VulkanCore wraps Vulkan and exposes the library calls necessary to work with Vulkan. It is targeted for developers wanting to directly work with Vulkan in Julia. -If you are looking for a high-level Julian API you might wish to take a look at +If you are looking for a high-level idiomatic Julia API you might wish to take a look at [Vulkan.jl](https://github.com/JuliaGPU/Vulkan.jl). ### Installation diff --git a/gen/Manifest.toml b/gen/Manifest.toml index 5377737..677a2ab 100644 --- a/gen/Manifest.toml +++ b/gen/Manifest.toml @@ -16,15 +16,15 @@ version = "0.4.1" [[Clang]] deps = ["CEnum", "Clang_jll", "Downloads", "Pkg", "TOML"] -path = "/Users/gnimuc/.julia/dev/Clang" +git-tree-sha1 = "1a485576e0bf5658a04a570c3215743b0b3069d6" uuid = "40e3b903-d033-50b4-a0cc-940c62c95e31" -version = "0.14.0" +version = "0.14.1" [[Clang_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "libLLVM_jll"] -git-tree-sha1 = "0312b2bec066a688bd79706c49deb48fefca836c" +git-tree-sha1 = "a5923c06de3178dd755f4b9411ea8922a7ae6fb8" uuid = "0ee61d77-7f21-5576-8119-9fcc46b10100" -version = "12.0.1+0" +version = "11.0.1+3" [[Dates]] deps = ["Printf"] @@ -36,9 +36,9 @@ uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" [[Expat_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b3bfd02e98aedfa5cf885665493c5598c350cd2f" +git-tree-sha1 = "ae13fcbc7ab8f16b0856729b050ef0c446aa3492" uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.2.10+0" +version = "2.4.4+0" [[InteractiveUtils]] deps = ["Markdown"] @@ -46,9 +46,9 @@ uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" [[JLLWrappers]] deps = ["Preferences"] -git-tree-sha1 = "642a199af8b68253517b80bd3bfd17eb4e84df6e" +git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.3.0" +version = "1.4.1" [[LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] @@ -71,9 +71,9 @@ uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" [[Libffi_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "761a393aeccd6aa92ec3515e428c26bf99575b3b" +git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" -version = "3.2.2+0" +version = "3.2.2+1" [[Libgcrypt_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] @@ -116,9 +116,9 @@ uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" [[Preferences]] deps = ["TOML"] -git-tree-sha1 = "00cfd92944ca9c760982747e9a1d0d5d86ab1e5a" +git-tree-sha1 = "de893592a221142f3db370f48290e3a2ef39998f" uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.2.2" +version = "1.2.4" [[Printf]] deps = ["Unicode"] @@ -158,9 +158,9 @@ uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" [[Vulkan_Headers_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f43bb806a557d5d71c79e1c814f5980be91f194e" +git-tree-sha1 = "a30e36fcb36f6cbac325ee0b75066c7301170ddd" uuid = "8d446b21-f3ad-5576-a034-752265b9b6f9" -version = "1.2.177+0" +version = "1.3.207+0" [[Wayland_jll]] deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] diff --git a/gen/Project.toml b/gen/Project.toml index 8810b10..624e70c 100644 --- a/gen/Project.toml +++ b/gen/Project.toml @@ -10,5 +10,5 @@ Xorg_libxcb_jll = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" Xorg_xorgproto_jll = "c4d99508-4286-5418-9131-c86396af500b" [compat] -Clang = "0.14.0" -Vulkan_Headers_jll = "1.2.177" +Clang = "0.14" +Vulkan_Headers_jll = "1.3.207" diff --git a/gen/generator.jl b/gen/generator.jl index 7552c59..e5654d8 100755 --- a/gen/generator.jl +++ b/gen/generator.jl @@ -43,7 +43,7 @@ const VK_EXTENSIONS_MAP = Dict( "i686-linux-gnu" => VK_LINUX_EXTENSION_COMMON, "i686-linux-musl" => VK_LINUX_EXTENSION_COMMON, "powerpc64le-linux-gnu" => VK_LINUX_EXTENSION_COMMON, - "x86_64-unknown-freebsd11.1" => ["-DVK_USE_PLATFORM_XCB_KHR", "-DVK_USE_PLATFORM_XLIB_KHR", "-DVK_USE_PLATFORM_XLIB_XRANDR_EXT"], + "x86_64-unknown-freebsd" => ["-DVK_USE_PLATFORM_XCB_KHR", "-DVK_USE_PLATFORM_XLIB_KHR", "-DVK_USE_PLATFORM_XLIB_XRANDR_EXT"], ) for target in JLLEnvs.JLL_ENV_TRIPLES diff --git a/lib/aarch64-apple-darwin20.jl b/lib/aarch64-apple-darwin20.jl index 8e887a0..d7b8cb5 100644 --- a/lib/aarch64-apple-darwin20.jl +++ b/lib/aarch64-apple-darwin20.jl @@ -132,6 +132,7 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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 @@ -140,18 +141,19 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -321,6 +323,58 @@ end 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 @@ -348,9 +402,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -360,7 +421,6 @@ end 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 @@ -432,10 +492,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -474,6 +531,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -495,7 +553,6 @@ end 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 @@ -503,12 +560,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -529,14 +588,10 @@ end 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 @@ -552,8 +607,8 @@ end 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 @@ -581,7 +636,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -593,7 +648,6 @@ end 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_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 @@ -605,62 +659,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -680,6 +757,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -722,6 +800,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -743,9 +825,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -758,12 +842,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -772,6 +861,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -791,19 +916,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -836,11 +963,14 @@ end 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_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 @@ -848,12 +978,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -864,11 +1000,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1103,6 +1234,26 @@ end 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 @@ -1125,12 +1276,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1165,6 +1310,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1332,6 +1483,21 @@ end 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 @@ -1341,6 +1507,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1353,13 +1523,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1478,10 +1644,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1489,13 +1656,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1503,6 +1674,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1546,6 +1718,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1553,14 +1726,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1574,6 +1747,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1581,6 +1755,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1646,6 +1821,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1679,9 +1855,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1707,6 +1884,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1750,19 +1928,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1796,6 +1975,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1879,13 +2059,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1908,6 +2085,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1920,17 +2101,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1955,6 +2141,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -1986,8 +2173,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2064,6 +2262,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2216,6 +2417,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction ) ( void * pUserData , size_t size , size_t alignment , VkSystemAllocationScope allocationScope ) const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4907,6 +5116,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5811,6 +6021,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6592,117 +6809,1125 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR_T = Cvoid +const VkFlags64 = UInt64 -const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} +const VkPrivateDataSlot_T = Cvoid -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = Ptr{VkPrivateDataSlot_T} -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode ) ( VkCommandBuffer commandBuffer , VkCullModeFlags cullMode ) +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace ) ( VkCommandBuffer commandBuffer , VkFrontFace frontFace ) +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology ) ( VkCommandBuffer commandBuffer , VkPrimitiveTopology primitiveTopology ) +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount ) ( VkCommandBuffer commandBuffer , uint32_t viewportCount , const VkViewport * pViewports ) +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount ) ( VkCommandBuffer commandBuffer , uint32_t scissorCount , const VkRect2D * pScissors ) +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 ) ( VkCommandBuffer commandBuffer , uint32_t firstBinding , uint32_t bindingCount , const VkBuffer * pBuffers , const VkDeviceSize * pOffsets , const VkDeviceSize * pSizes , const VkDeviceSize * pStrides ) +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthTestEnable ) +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthWriteEnable ) +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp ) ( VkCommandBuffer commandBuffer , VkCompareOp depthCompareOp ) +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBoundsTestEnable ) +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 stencilTestEnable ) +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp ) ( VkCommandBuffer commandBuffer , VkStencilFaceFlags faceMask , VkStencilOp failOp , VkStencilOp passOp , VkStencilOp depthFailOp , VkCompareOp compareOp ) +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable ) ( VkCommandBuffer commandBuffer , VkBool32 rasterizerDiscardEnable ) +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBiasEnable ) +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable ) ( VkCommandBuffer commandBuffer , VkBool32 primitiveRestartEnable ) +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR_T = Cvoid + +const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end @@ -7099,6 +8324,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8167,6 +9460,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8238,11 +9562,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8338,6 +9658,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR ) ( VkDevice device , VkSwapchainKHR swapchain , uint64_t presentId , uint64_t timeout ) +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8570,6 +9907,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8577,198 +9918,138 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdSetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2KHR stageMask ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) const PFN_vkCmdResetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfoKHR * pDependencyInfos ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) const PFN_vkCmdWaitEvents2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdPipelineBarrier2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkQueryPool queryPool , uint32_t query ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) const PFN_vkCmdWriteTimestamp2KHR = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2KHR * pSubmits , VkFence fence ) +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) const PFN_vkQueueSubmit2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} # typedef void ( VKAPI_PTR * PFN_vkGetQueueCheckpointData2NV ) ( VkQueue queue , uint32_t * pCheckpointDataCount , VkCheckpointData2NV * pCheckpointData ) const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8779,12 +10060,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8794,181 +10077,139 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2KHR * pCopyBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2KHR * pCopyImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) const PFN_vkCmdCopyImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const PFN_vkCmdCopyBufferToImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const PFN_vkCmdCopyImageToBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2KHR * pBlitImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2KHR * pResolveImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT_T = Cvoid @@ -9010,8 +10251,11 @@ const VkDebugReportCallbackEXT = Ptr{VkDebugReportCallbackEXT_T} 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9282,6 +10526,100 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX_T = Cvoid + +const VkCuModuleNVX = Ptr{VkCuModuleNVX_T} + +const VkCuFunctionNVX_T = Cvoid + +const VkCuFunctionNVX = Ptr{VkCuFunctionNVX_T} + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX ) ( VkDevice device , const VkCuModuleCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuModuleNVX * pModule ) +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX ) ( VkDevice device , const VkCuFunctionCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuFunctionNVX * pFunction ) +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX ) ( VkDevice device , VkCuModuleNVX module , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX ) ( VkDevice device , VkCuFunctionNVX function , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX ) ( VkCommandBuffer commandBuffer , const VkCuLaunchInfoNVX * pLaunchInfo ) +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9451,11 +10789,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10071,35 +11405,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10297,6 +11609,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT ) ( VkDevice device , VkImage image , VkImageDrmFormatModifierPropertiesEXT * pProperties ) const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10570,9 +11895,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10592,6 +11918,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10745,10 +12072,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10763,17 +12090,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10958,19 +12305,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11118,27 +12455,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11565,27 +12888,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11667,38 +12974,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags +const VkToolPurposeFlagsEXT = VkToolPurposeFlags -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11720,6 +13010,7 @@ end 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 = 2147483647 end @@ -12111,12 +13402,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV_T = Cvoid const VkIndirectCommandsLayoutNV = Ptr{VkIndirectCommandsLayoutNV_T} @@ -12354,14 +13658,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12416,6 +13713,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , VkDisplayKHR display ) +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , uint32_t connectorId , VkDisplayKHR * display ) +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12451,83 +13770,61 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT_T = Cvoid - -const VkPrivateDataSlotEXT = Ptr{VkPrivateDataSlotEXT_T} +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo -# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlotEXT * pPrivateDataSlot ) +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlotEXT privateDataSlot , const VkAllocationCallbacks * pAllocator ) +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) const PFN_vkDestroyPrivateDataSlotEXT = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t data ) +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t * pData ) +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12605,6 +13902,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12632,11 +14198,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12645,6 +14207,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV ) ( VkPhysicalDevice physicalDevice , VkDisplayKHR display ) const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12691,33 +14267,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ( VkDevice device , VkRenderPass renderpass , VkExtent2D * pMaxWorkgroupSize ) +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI ) ( VkCommandBuffer commandBuffer , VkImageView imageView , VkImageLayout imageLayout ) +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV ) ( VkDevice device , const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo , VkRemoteAddressNV * pAddress ) +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12807,6 +14497,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawInfoEXT * pVertexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride ) +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawIndexedInfoEXT * pIndexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride , const int32_t * pVertexOffset ) +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT ) ( VkDevice device , VkDeviceMemory memory , float priority ) +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ( VkDevice device , const VkDescriptorSetBindingReferenceVALVE * pBindingReference , VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE ) ( VkDevice device , VkDescriptorSet descriptorSet , void * * ppData ) +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR_T = Cvoid const VkAccelerationStructureKHR = Ptr{VkAccelerationStructureKHR_T} @@ -12832,6 +14681,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12871,40 +14721,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13462,9 +15278,11 @@ const VK_USE_64_BIT_PTR_DEFINES = 1 const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13490,8 +15308,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13514,6 +15330,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13544,6 +15364,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13570,9 +15396,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13696,9 +15526,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -13762,9 +15596,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -13796,6 +15634,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -13844,7 +15690,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -13866,6 +15712,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -13890,6 +15742,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -13902,12 +15760,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -13926,6 +15796,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -13992,6 +15874,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14144,9 +16032,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14290,7 +16182,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14468,7 +16360,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14480,9 +16372,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14552,7 +16448,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14622,6 +16518,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14658,6 +16560,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -14706,6 +16614,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -14736,6 +16650,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -14754,6 +16680,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -14766,9 +16728,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/lib/aarch64-linux-gnu.jl b/lib/aarch64-linux-gnu.jl index a22f6bf..aa738a8 100644 --- a/lib/aarch64-linux-gnu.jl +++ b/lib/aarch64-linux-gnu.jl @@ -150,6 +150,7 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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 @@ -158,18 +159,19 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -339,6 +341,58 @@ end 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 @@ -366,9 +420,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -378,7 +439,6 @@ end 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 @@ -450,10 +510,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -492,6 +549,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -513,7 +571,6 @@ end 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 @@ -521,12 +578,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -547,14 +606,10 @@ end 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 @@ -570,8 +625,8 @@ end 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 @@ -599,7 +654,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -611,7 +666,6 @@ end 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_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 @@ -623,62 +677,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -698,6 +775,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -740,6 +818,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -761,9 +843,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -776,12 +860,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -790,6 +879,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -809,19 +934,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -854,11 +981,14 @@ end 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_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 @@ -866,12 +996,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -882,11 +1018,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1121,6 +1252,26 @@ end 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 @@ -1143,12 +1294,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1183,6 +1328,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1350,6 +1501,21 @@ end 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 @@ -1359,6 +1525,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1371,13 +1541,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1496,10 +1662,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1507,13 +1674,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1521,6 +1692,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1564,6 +1736,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1571,14 +1744,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1592,6 +1765,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1599,6 +1773,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1664,6 +1839,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1697,9 +1873,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1725,6 +1902,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1768,19 +1946,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1814,6 +1993,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1897,13 +2077,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1926,6 +2103,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1938,17 +2119,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1973,6 +2159,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -2004,8 +2191,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2082,6 +2280,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2234,6 +2435,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction ) ( void * pUserData , size_t size , size_t alignment , VkSystemAllocationScope allocationScope ) const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4925,6 +5134,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5829,6 +6039,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6610,117 +6827,1125 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR_T = Cvoid +const VkFlags64 = UInt64 -const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} +const VkPrivateDataSlot_T = Cvoid -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = Ptr{VkPrivateDataSlot_T} -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode ) ( VkCommandBuffer commandBuffer , VkCullModeFlags cullMode ) +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace ) ( VkCommandBuffer commandBuffer , VkFrontFace frontFace ) +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology ) ( VkCommandBuffer commandBuffer , VkPrimitiveTopology primitiveTopology ) +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount ) ( VkCommandBuffer commandBuffer , uint32_t viewportCount , const VkViewport * pViewports ) +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount ) ( VkCommandBuffer commandBuffer , uint32_t scissorCount , const VkRect2D * pScissors ) +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 ) ( VkCommandBuffer commandBuffer , uint32_t firstBinding , uint32_t bindingCount , const VkBuffer * pBuffers , const VkDeviceSize * pOffsets , const VkDeviceSize * pSizes , const VkDeviceSize * pStrides ) +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthTestEnable ) +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthWriteEnable ) +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp ) ( VkCommandBuffer commandBuffer , VkCompareOp depthCompareOp ) +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBoundsTestEnable ) +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 stencilTestEnable ) +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp ) ( VkCommandBuffer commandBuffer , VkStencilFaceFlags faceMask , VkStencilOp failOp , VkStencilOp passOp , VkStencilOp depthFailOp , VkCompareOp compareOp ) +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable ) ( VkCommandBuffer commandBuffer , VkBool32 rasterizerDiscardEnable ) +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBiasEnable ) +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable ) ( VkCommandBuffer commandBuffer , VkBool32 primitiveRestartEnable ) +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR_T = Cvoid + +const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end @@ -7117,6 +8342,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8185,6 +9478,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8256,11 +9580,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8356,6 +9676,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR ) ( VkDevice device , VkSwapchainKHR swapchain , uint64_t presentId , uint64_t timeout ) +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8588,6 +9925,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8595,198 +9936,138 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdSetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2KHR stageMask ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) const PFN_vkCmdResetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfoKHR * pDependencyInfos ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) const PFN_vkCmdWaitEvents2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdPipelineBarrier2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkQueryPool queryPool , uint32_t query ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) const PFN_vkCmdWriteTimestamp2KHR = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2KHR * pSubmits , VkFence fence ) +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) const PFN_vkQueueSubmit2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} # typedef void ( VKAPI_PTR * PFN_vkGetQueueCheckpointData2NV ) ( VkQueue queue , uint32_t * pCheckpointDataCount , VkCheckpointData2NV * pCheckpointData ) const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8797,12 +10078,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8812,181 +10095,139 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2KHR * pCopyBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2KHR * pCopyImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) const PFN_vkCmdCopyImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const PFN_vkCmdCopyBufferToImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const PFN_vkCmdCopyImageToBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2KHR * pBlitImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2KHR * pResolveImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT_T = Cvoid @@ -9028,8 +10269,11 @@ const VkDebugReportCallbackEXT = Ptr{VkDebugReportCallbackEXT_T} 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9300,6 +10544,100 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX_T = Cvoid + +const VkCuModuleNVX = Ptr{VkCuModuleNVX_T} + +const VkCuFunctionNVX_T = Cvoid + +const VkCuFunctionNVX = Ptr{VkCuFunctionNVX_T} + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX ) ( VkDevice device , const VkCuModuleCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuModuleNVX * pModule ) +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX ) ( VkDevice device , const VkCuFunctionCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuFunctionNVX * pFunction ) +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX ) ( VkDevice device , VkCuModuleNVX module , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX ) ( VkDevice device , VkCuFunctionNVX function , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX ) ( VkCommandBuffer commandBuffer , const VkCuLaunchInfoNVX * pLaunchInfo ) +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9469,11 +10807,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10089,35 +11423,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10315,6 +11627,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT ) ( VkDevice device , VkImage image , VkImageDrmFormatModifierPropertiesEXT * pProperties ) const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10588,9 +11913,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10610,6 +11936,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10763,10 +12090,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10781,17 +12108,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10976,19 +12323,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11136,27 +12473,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11583,27 +12906,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11685,38 +12992,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags +const VkToolPurposeFlagsEXT = VkToolPurposeFlags -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11738,6 +13028,7 @@ end 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 = 2147483647 end @@ -12129,12 +13420,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV_T = Cvoid const VkIndirectCommandsLayoutNV = Ptr{VkIndirectCommandsLayoutNV_T} @@ -12372,14 +13676,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12434,6 +13731,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , VkDisplayKHR display ) +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , uint32_t connectorId , VkDisplayKHR * display ) +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12469,83 +13788,61 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT_T = Cvoid - -const VkPrivateDataSlotEXT = Ptr{VkPrivateDataSlotEXT_T} +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo -# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlotEXT * pPrivateDataSlot ) +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlotEXT privateDataSlot , const VkAllocationCallbacks * pAllocator ) +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) const PFN_vkDestroyPrivateDataSlotEXT = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t data ) +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t * pData ) +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12623,6 +13920,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12650,11 +14216,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12663,6 +14225,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV ) ( VkPhysicalDevice physicalDevice , VkDisplayKHR display ) const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12709,33 +14285,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ( VkDevice device , VkRenderPass renderpass , VkExtent2D * pMaxWorkgroupSize ) +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI ) ( VkCommandBuffer commandBuffer , VkImageView imageView , VkImageLayout imageLayout ) +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV ) ( VkDevice device , const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo , VkRemoteAddressNV * pAddress ) +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12825,6 +14515,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawInfoEXT * pVertexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride ) +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawIndexedInfoEXT * pIndexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride , const int32_t * pVertexOffset ) +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT ) ( VkDevice device , VkDeviceMemory memory , float priority ) +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ( VkDevice device , const VkDescriptorSetBindingReferenceVALVE * pBindingReference , VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE ) ( VkDevice device , VkDescriptorSet descriptorSet , void * * ppData ) +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR_T = Cvoid const VkAccelerationStructureKHR = Ptr{VkAccelerationStructureKHR_T} @@ -12850,6 +14699,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12889,40 +14739,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13560,9 +15376,11 @@ const VK_USE_64_BIT_PTR_DEFINES = 1 const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13588,8 +15406,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13612,6 +15428,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13642,6 +15462,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13668,9 +15494,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13794,9 +15624,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -13860,9 +15694,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -13894,6 +15732,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -13942,7 +15788,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -13964,6 +15810,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -13988,6 +15840,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -14000,12 +15858,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -14024,6 +15894,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -14090,6 +15972,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14242,9 +16130,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14388,7 +16280,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14566,7 +16458,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14578,9 +16470,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14650,7 +16546,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14720,6 +16616,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14756,6 +16658,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -14804,6 +16712,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -14834,6 +16748,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -14852,6 +16778,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -14864,9 +16826,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/lib/aarch64-linux-musl.jl b/lib/aarch64-linux-musl.jl index a22f6bf..aa738a8 100644 --- a/lib/aarch64-linux-musl.jl +++ b/lib/aarch64-linux-musl.jl @@ -150,6 +150,7 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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 @@ -158,18 +159,19 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -339,6 +341,58 @@ end 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 @@ -366,9 +420,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -378,7 +439,6 @@ end 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 @@ -450,10 +510,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -492,6 +549,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -513,7 +571,6 @@ end 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 @@ -521,12 +578,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -547,14 +606,10 @@ end 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 @@ -570,8 +625,8 @@ end 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 @@ -599,7 +654,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -611,7 +666,6 @@ end 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_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 @@ -623,62 +677,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -698,6 +775,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -740,6 +818,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -761,9 +843,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -776,12 +860,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -790,6 +879,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -809,19 +934,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -854,11 +981,14 @@ end 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_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 @@ -866,12 +996,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -882,11 +1018,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1121,6 +1252,26 @@ end 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 @@ -1143,12 +1294,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1183,6 +1328,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1350,6 +1501,21 @@ end 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 @@ -1359,6 +1525,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1371,13 +1541,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1496,10 +1662,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1507,13 +1674,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1521,6 +1692,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1564,6 +1736,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1571,14 +1744,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1592,6 +1765,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1599,6 +1773,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1664,6 +1839,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1697,9 +1873,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1725,6 +1902,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1768,19 +1946,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1814,6 +1993,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1897,13 +2077,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1926,6 +2103,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1938,17 +2119,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1973,6 +2159,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -2004,8 +2191,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2082,6 +2280,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2234,6 +2435,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction ) ( void * pUserData , size_t size , size_t alignment , VkSystemAllocationScope allocationScope ) const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4925,6 +5134,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5829,6 +6039,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6610,117 +6827,1125 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR_T = Cvoid +const VkFlags64 = UInt64 -const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} +const VkPrivateDataSlot_T = Cvoid -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = Ptr{VkPrivateDataSlot_T} -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode ) ( VkCommandBuffer commandBuffer , VkCullModeFlags cullMode ) +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace ) ( VkCommandBuffer commandBuffer , VkFrontFace frontFace ) +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology ) ( VkCommandBuffer commandBuffer , VkPrimitiveTopology primitiveTopology ) +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount ) ( VkCommandBuffer commandBuffer , uint32_t viewportCount , const VkViewport * pViewports ) +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount ) ( VkCommandBuffer commandBuffer , uint32_t scissorCount , const VkRect2D * pScissors ) +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 ) ( VkCommandBuffer commandBuffer , uint32_t firstBinding , uint32_t bindingCount , const VkBuffer * pBuffers , const VkDeviceSize * pOffsets , const VkDeviceSize * pSizes , const VkDeviceSize * pStrides ) +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthTestEnable ) +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthWriteEnable ) +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp ) ( VkCommandBuffer commandBuffer , VkCompareOp depthCompareOp ) +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBoundsTestEnable ) +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 stencilTestEnable ) +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp ) ( VkCommandBuffer commandBuffer , VkStencilFaceFlags faceMask , VkStencilOp failOp , VkStencilOp passOp , VkStencilOp depthFailOp , VkCompareOp compareOp ) +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable ) ( VkCommandBuffer commandBuffer , VkBool32 rasterizerDiscardEnable ) +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBiasEnable ) +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable ) ( VkCommandBuffer commandBuffer , VkBool32 primitiveRestartEnable ) +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR_T = Cvoid + +const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end @@ -7117,6 +8342,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8185,6 +9478,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8256,11 +9580,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8356,6 +9676,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR ) ( VkDevice device , VkSwapchainKHR swapchain , uint64_t presentId , uint64_t timeout ) +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8588,6 +9925,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8595,198 +9936,138 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdSetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2KHR stageMask ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) const PFN_vkCmdResetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfoKHR * pDependencyInfos ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) const PFN_vkCmdWaitEvents2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdPipelineBarrier2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkQueryPool queryPool , uint32_t query ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) const PFN_vkCmdWriteTimestamp2KHR = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2KHR * pSubmits , VkFence fence ) +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) const PFN_vkQueueSubmit2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} # typedef void ( VKAPI_PTR * PFN_vkGetQueueCheckpointData2NV ) ( VkQueue queue , uint32_t * pCheckpointDataCount , VkCheckpointData2NV * pCheckpointData ) const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8797,12 +10078,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8812,181 +10095,139 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2KHR * pCopyBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2KHR * pCopyImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) const PFN_vkCmdCopyImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const PFN_vkCmdCopyBufferToImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const PFN_vkCmdCopyImageToBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2KHR * pBlitImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2KHR * pResolveImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT_T = Cvoid @@ -9028,8 +10269,11 @@ const VkDebugReportCallbackEXT = Ptr{VkDebugReportCallbackEXT_T} 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9300,6 +10544,100 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX_T = Cvoid + +const VkCuModuleNVX = Ptr{VkCuModuleNVX_T} + +const VkCuFunctionNVX_T = Cvoid + +const VkCuFunctionNVX = Ptr{VkCuFunctionNVX_T} + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX ) ( VkDevice device , const VkCuModuleCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuModuleNVX * pModule ) +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX ) ( VkDevice device , const VkCuFunctionCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuFunctionNVX * pFunction ) +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX ) ( VkDevice device , VkCuModuleNVX module , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX ) ( VkDevice device , VkCuFunctionNVX function , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX ) ( VkCommandBuffer commandBuffer , const VkCuLaunchInfoNVX * pLaunchInfo ) +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9469,11 +10807,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10089,35 +11423,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10315,6 +11627,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT ) ( VkDevice device , VkImage image , VkImageDrmFormatModifierPropertiesEXT * pProperties ) const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10588,9 +11913,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10610,6 +11936,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10763,10 +12090,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10781,17 +12108,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10976,19 +12323,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11136,27 +12473,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11583,27 +12906,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11685,38 +12992,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags +const VkToolPurposeFlagsEXT = VkToolPurposeFlags -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11738,6 +13028,7 @@ end 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 = 2147483647 end @@ -12129,12 +13420,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV_T = Cvoid const VkIndirectCommandsLayoutNV = Ptr{VkIndirectCommandsLayoutNV_T} @@ -12372,14 +13676,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12434,6 +13731,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , VkDisplayKHR display ) +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , uint32_t connectorId , VkDisplayKHR * display ) +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12469,83 +13788,61 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT_T = Cvoid - -const VkPrivateDataSlotEXT = Ptr{VkPrivateDataSlotEXT_T} +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo -# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlotEXT * pPrivateDataSlot ) +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlotEXT privateDataSlot , const VkAllocationCallbacks * pAllocator ) +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) const PFN_vkDestroyPrivateDataSlotEXT = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t data ) +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t * pData ) +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12623,6 +13920,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12650,11 +14216,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12663,6 +14225,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV ) ( VkPhysicalDevice physicalDevice , VkDisplayKHR display ) const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12709,33 +14285,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ( VkDevice device , VkRenderPass renderpass , VkExtent2D * pMaxWorkgroupSize ) +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI ) ( VkCommandBuffer commandBuffer , VkImageView imageView , VkImageLayout imageLayout ) +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV ) ( VkDevice device , const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo , VkRemoteAddressNV * pAddress ) +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12825,6 +14515,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawInfoEXT * pVertexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride ) +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawIndexedInfoEXT * pIndexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride , const int32_t * pVertexOffset ) +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT ) ( VkDevice device , VkDeviceMemory memory , float priority ) +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ( VkDevice device , const VkDescriptorSetBindingReferenceVALVE * pBindingReference , VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE ) ( VkDevice device , VkDescriptorSet descriptorSet , void * * ppData ) +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR_T = Cvoid const VkAccelerationStructureKHR = Ptr{VkAccelerationStructureKHR_T} @@ -12850,6 +14699,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12889,40 +14739,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13560,9 +15376,11 @@ const VK_USE_64_BIT_PTR_DEFINES = 1 const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13588,8 +15406,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13612,6 +15428,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13642,6 +15462,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13668,9 +15494,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13794,9 +15624,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -13860,9 +15694,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -13894,6 +15732,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -13942,7 +15788,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -13964,6 +15810,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -13988,6 +15840,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -14000,12 +15858,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -14024,6 +15894,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -14090,6 +15972,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14242,9 +16130,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14388,7 +16280,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14566,7 +16458,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14578,9 +16470,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14650,7 +16546,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14720,6 +16616,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14756,6 +16658,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -14804,6 +16712,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -14834,6 +16748,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -14852,6 +16778,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -14864,9 +16826,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/lib/armv7l-linux-gnueabihf.jl b/lib/armv7l-linux-gnueabihf.jl index c3b1017..ca629a1 100644 --- a/lib/armv7l-linux-gnueabihf.jl +++ b/lib/armv7l-linux-gnueabihf.jl @@ -110,6 +110,7 @@ const VkCommandPool = UInt64 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 @@ -118,18 +119,19 @@ const VkCommandPool = UInt64 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -299,6 +301,58 @@ end 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 @@ -326,9 +380,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -338,7 +399,6 @@ end 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 @@ -410,10 +470,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -452,6 +509,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -473,7 +531,6 @@ end 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 @@ -481,12 +538,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -507,14 +566,10 @@ end 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 @@ -530,8 +585,8 @@ end 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 @@ -559,7 +614,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -571,7 +626,6 @@ end 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_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 @@ -583,62 +637,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -658,6 +735,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -700,6 +778,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -721,9 +803,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -736,12 +820,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -750,6 +839,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -769,19 +894,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -814,11 +941,14 @@ end 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_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 @@ -826,12 +956,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -842,11 +978,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1081,6 +1212,26 @@ end 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 @@ -1103,12 +1254,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1143,6 +1288,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1310,6 +1461,21 @@ end 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 @@ -1319,6 +1485,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1331,13 +1501,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1456,10 +1622,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1467,13 +1634,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1481,6 +1652,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1524,6 +1696,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1531,14 +1704,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1552,6 +1725,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1559,6 +1733,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1624,6 +1799,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1657,9 +1833,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1685,6 +1862,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1728,19 +1906,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1774,6 +1953,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1857,13 +2037,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1886,6 +2063,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1898,17 +2079,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1933,6 +2119,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -1964,8 +2151,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2042,6 +2240,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2194,6 +2395,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction ) ( void * pUserData , size_t size , size_t alignment , VkSystemAllocationScope allocationScope ) const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4881,6 +5090,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5785,6 +5995,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6566,116 +6783,1122 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR = UInt64 +const VkFlags64 = UInt64 -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = UInt64 -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) - ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode ) ( VkCommandBuffer commandBuffer , VkCullModeFlags cullMode ) +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace ) ( VkCommandBuffer commandBuffer , VkFrontFace frontFace ) +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology ) ( VkCommandBuffer commandBuffer , VkPrimitiveTopology primitiveTopology ) +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount ) ( VkCommandBuffer commandBuffer , uint32_t viewportCount , const VkViewport * pViewports ) +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount ) ( VkCommandBuffer commandBuffer , uint32_t scissorCount , const VkRect2D * pScissors ) +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 ) ( VkCommandBuffer commandBuffer , uint32_t firstBinding , uint32_t bindingCount , const VkBuffer * pBuffers , const VkDeviceSize * pOffsets , const VkDeviceSize * pSizes , const VkDeviceSize * pStrides ) +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthTestEnable ) +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthWriteEnable ) +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp ) ( VkCommandBuffer commandBuffer , VkCompareOp depthCompareOp ) +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBoundsTestEnable ) +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 stencilTestEnable ) +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp ) ( VkCommandBuffer commandBuffer , VkStencilFaceFlags faceMask , VkStencilOp failOp , VkStencilOp passOp , VkStencilOp depthFailOp , VkCompareOp compareOp ) +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable ) ( VkCommandBuffer commandBuffer , VkBool32 rasterizerDiscardEnable ) +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBiasEnable ) +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable ) ( VkCommandBuffer commandBuffer , VkBool32 primitiveRestartEnable ) +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR = UInt64 + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) + ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities, fptr) @@ -7065,6 +8288,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8133,6 +9424,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8204,11 +9526,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8304,6 +9622,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR ) ( VkDevice device , VkSwapchainKHR swapchain , uint64_t presentId , uint64_t timeout ) +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8534,6 +9869,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8541,198 +9880,138 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdSetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2KHR stageMask ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) const PFN_vkCmdResetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfoKHR * pDependencyInfos ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) const PFN_vkCmdWaitEvents2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdPipelineBarrier2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkQueryPool queryPool , uint32_t query ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) const PFN_vkCmdWriteTimestamp2KHR = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2KHR * pSubmits , VkFence fence ) +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) const PFN_vkQueueSubmit2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} # typedef void ( VKAPI_PTR * PFN_vkGetQueueCheckpointData2NV ) ( VkQueue queue , uint32_t * pCheckpointDataCount , VkCheckpointData2NV * pCheckpointData ) const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8743,12 +10022,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8758,181 +10039,139 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2KHR * pCopyBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2KHR * pCopyImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) const PFN_vkCmdCopyImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const PFN_vkCmdCopyBufferToImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const PFN_vkCmdCopyImageToBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2KHR * pBlitImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2KHR * pResolveImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT = UInt64 @@ -8972,8 +10211,11 @@ const VkDebugReportCallbackEXT = UInt64 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9244,6 +10486,96 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX = UInt64 + +const VkCuFunctionNVX = UInt64 + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX ) ( VkDevice device , const VkCuModuleCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuModuleNVX * pModule ) +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX ) ( VkDevice device , const VkCuFunctionCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuFunctionNVX * pFunction ) +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX ) ( VkDevice device , VkCuModuleNVX module , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX ) ( VkDevice device , VkCuFunctionNVX function , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX ) ( VkCommandBuffer commandBuffer , const VkCuLaunchInfoNVX * pLaunchInfo ) +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9413,11 +10745,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10031,35 +11359,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10257,6 +11563,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT ) ( VkDevice device , VkImage image , VkImageDrmFormatModifierPropertiesEXT * pProperties ) const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10526,9 +11845,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10548,6 +11868,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10701,10 +12022,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10719,17 +12040,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10914,19 +12255,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11074,27 +12405,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11519,27 +12836,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11621,38 +12922,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags - -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkToolPurposeFlagsEXT = VkToolPurposeFlags -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11674,6 +12958,7 @@ end 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 = 2147483647 end @@ -12065,12 +13350,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV = UInt64 @cenum VkIndirectCommandsTokenTypeNV::UInt32 begin @@ -12306,14 +13604,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12368,6 +13659,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , VkDisplayKHR display ) +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , uint32_t connectorId , VkDisplayKHR * display ) +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12403,81 +13716,61 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT = UInt64 +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo -# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlotEXT * pPrivateDataSlot ) +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlotEXT privateDataSlot , const VkAllocationCallbacks * pAllocator ) +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) const PFN_vkDestroyPrivateDataSlotEXT = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t data ) +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t * pData ) +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12555,6 +13848,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12582,11 +14144,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12595,6 +14153,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV ) ( VkPhysicalDevice physicalDevice , VkDisplayKHR display ) const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12641,33 +14213,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ( VkDevice device , VkRenderPass renderpass , VkExtent2D * pMaxWorkgroupSize ) +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI ) ( VkCommandBuffer commandBuffer , VkImageView imageView , VkImageLayout imageLayout ) +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV ) ( VkDevice device , const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo , VkRemoteAddressNV * pAddress ) +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12757,6 +14443,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawInfoEXT * pVertexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride ) +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawIndexedInfoEXT * pIndexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride , const int32_t * pVertexOffset ) +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT ) ( VkDevice device , VkDeviceMemory memory , float priority ) +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ( VkDevice device , const VkDescriptorSetBindingReferenceVALVE * pBindingReference , VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE ) ( VkDevice device , VkDescriptorSet descriptorSet , void * * ppData ) +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR = UInt64 @cenum VkBuildAccelerationStructureModeKHR::UInt32 begin @@ -12780,6 +14625,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12819,40 +14665,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13490,9 +15302,11 @@ const VK_NULL_HANDLE = Culonglong(0) const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13518,8 +15332,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13542,6 +15354,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13572,6 +15388,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13598,9 +15420,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13724,9 +15550,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -13790,9 +15620,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -13824,6 +15658,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -13872,7 +15714,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -13894,6 +15736,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -13918,6 +15766,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -13930,12 +15784,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -13954,6 +15820,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -14020,6 +15898,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14172,9 +16056,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14318,7 +16206,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14496,7 +16384,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14508,9 +16396,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14580,7 +16472,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14650,6 +16542,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14686,6 +16584,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -14734,6 +16638,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -14764,6 +16674,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -14782,6 +16704,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -14794,9 +16752,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/lib/armv7l-linux-musleabihf.jl b/lib/armv7l-linux-musleabihf.jl index c3b1017..ca629a1 100644 --- a/lib/armv7l-linux-musleabihf.jl +++ b/lib/armv7l-linux-musleabihf.jl @@ -110,6 +110,7 @@ const VkCommandPool = UInt64 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 @@ -118,18 +119,19 @@ const VkCommandPool = UInt64 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -299,6 +301,58 @@ end 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 @@ -326,9 +380,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -338,7 +399,6 @@ end 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 @@ -410,10 +470,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -452,6 +509,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -473,7 +531,6 @@ end 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 @@ -481,12 +538,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -507,14 +566,10 @@ end 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 @@ -530,8 +585,8 @@ end 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 @@ -559,7 +614,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -571,7 +626,6 @@ end 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_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 @@ -583,62 +637,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -658,6 +735,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -700,6 +778,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -721,9 +803,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -736,12 +820,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -750,6 +839,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -769,19 +894,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -814,11 +941,14 @@ end 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_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 @@ -826,12 +956,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -842,11 +978,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1081,6 +1212,26 @@ end 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 @@ -1103,12 +1254,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1143,6 +1288,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1310,6 +1461,21 @@ end 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 @@ -1319,6 +1485,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1331,13 +1501,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1456,10 +1622,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1467,13 +1634,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1481,6 +1652,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1524,6 +1696,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1531,14 +1704,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1552,6 +1725,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1559,6 +1733,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1624,6 +1799,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1657,9 +1833,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1685,6 +1862,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1728,19 +1906,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1774,6 +1953,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1857,13 +2037,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1886,6 +2063,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1898,17 +2079,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1933,6 +2119,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -1964,8 +2151,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2042,6 +2240,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2194,6 +2395,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction ) ( void * pUserData , size_t size , size_t alignment , VkSystemAllocationScope allocationScope ) const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4881,6 +5090,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5785,6 +5995,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6566,116 +6783,1122 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR = UInt64 +const VkFlags64 = UInt64 -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = UInt64 -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) - ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode ) ( VkCommandBuffer commandBuffer , VkCullModeFlags cullMode ) +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace ) ( VkCommandBuffer commandBuffer , VkFrontFace frontFace ) +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology ) ( VkCommandBuffer commandBuffer , VkPrimitiveTopology primitiveTopology ) +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount ) ( VkCommandBuffer commandBuffer , uint32_t viewportCount , const VkViewport * pViewports ) +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount ) ( VkCommandBuffer commandBuffer , uint32_t scissorCount , const VkRect2D * pScissors ) +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 ) ( VkCommandBuffer commandBuffer , uint32_t firstBinding , uint32_t bindingCount , const VkBuffer * pBuffers , const VkDeviceSize * pOffsets , const VkDeviceSize * pSizes , const VkDeviceSize * pStrides ) +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthTestEnable ) +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthWriteEnable ) +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp ) ( VkCommandBuffer commandBuffer , VkCompareOp depthCompareOp ) +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBoundsTestEnable ) +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 stencilTestEnable ) +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp ) ( VkCommandBuffer commandBuffer , VkStencilFaceFlags faceMask , VkStencilOp failOp , VkStencilOp passOp , VkStencilOp depthFailOp , VkCompareOp compareOp ) +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable ) ( VkCommandBuffer commandBuffer , VkBool32 rasterizerDiscardEnable ) +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBiasEnable ) +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable ) ( VkCommandBuffer commandBuffer , VkBool32 primitiveRestartEnable ) +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR = UInt64 + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) + ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities, fptr) @@ -7065,6 +8288,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8133,6 +9424,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8204,11 +9526,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8304,6 +9622,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR ) ( VkDevice device , VkSwapchainKHR swapchain , uint64_t presentId , uint64_t timeout ) +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8534,6 +9869,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8541,198 +9880,138 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdSetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2KHR stageMask ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) const PFN_vkCmdResetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfoKHR * pDependencyInfos ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) const PFN_vkCmdWaitEvents2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdPipelineBarrier2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkQueryPool queryPool , uint32_t query ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) const PFN_vkCmdWriteTimestamp2KHR = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2KHR * pSubmits , VkFence fence ) +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) const PFN_vkQueueSubmit2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} # typedef void ( VKAPI_PTR * PFN_vkGetQueueCheckpointData2NV ) ( VkQueue queue , uint32_t * pCheckpointDataCount , VkCheckpointData2NV * pCheckpointData ) const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8743,12 +10022,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8758,181 +10039,139 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2KHR * pCopyBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2KHR * pCopyImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) const PFN_vkCmdCopyImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const PFN_vkCmdCopyBufferToImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const PFN_vkCmdCopyImageToBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2KHR * pBlitImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2KHR * pResolveImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT = UInt64 @@ -8972,8 +10211,11 @@ const VkDebugReportCallbackEXT = UInt64 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9244,6 +10486,96 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX = UInt64 + +const VkCuFunctionNVX = UInt64 + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX ) ( VkDevice device , const VkCuModuleCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuModuleNVX * pModule ) +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX ) ( VkDevice device , const VkCuFunctionCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuFunctionNVX * pFunction ) +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX ) ( VkDevice device , VkCuModuleNVX module , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX ) ( VkDevice device , VkCuFunctionNVX function , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX ) ( VkCommandBuffer commandBuffer , const VkCuLaunchInfoNVX * pLaunchInfo ) +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9413,11 +10745,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10031,35 +11359,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10257,6 +11563,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT ) ( VkDevice device , VkImage image , VkImageDrmFormatModifierPropertiesEXT * pProperties ) const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10526,9 +11845,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10548,6 +11868,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10701,10 +12022,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10719,17 +12040,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10914,19 +12255,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11074,27 +12405,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11519,27 +12836,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11621,38 +12922,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags - -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkToolPurposeFlagsEXT = VkToolPurposeFlags -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11674,6 +12958,7 @@ end 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 = 2147483647 end @@ -12065,12 +13350,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV = UInt64 @cenum VkIndirectCommandsTokenTypeNV::UInt32 begin @@ -12306,14 +13604,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12368,6 +13659,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , VkDisplayKHR display ) +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , uint32_t connectorId , VkDisplayKHR * display ) +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12403,81 +13716,61 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT = UInt64 +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo -# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlotEXT * pPrivateDataSlot ) +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlotEXT privateDataSlot , const VkAllocationCallbacks * pAllocator ) +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) const PFN_vkDestroyPrivateDataSlotEXT = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t data ) +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t * pData ) +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12555,6 +13848,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12582,11 +14144,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12595,6 +14153,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV ) ( VkPhysicalDevice physicalDevice , VkDisplayKHR display ) const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12641,33 +14213,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ( VkDevice device , VkRenderPass renderpass , VkExtent2D * pMaxWorkgroupSize ) +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI ) ( VkCommandBuffer commandBuffer , VkImageView imageView , VkImageLayout imageLayout ) +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV ) ( VkDevice device , const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo , VkRemoteAddressNV * pAddress ) +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12757,6 +14443,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawInfoEXT * pVertexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride ) +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawIndexedInfoEXT * pIndexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride , const int32_t * pVertexOffset ) +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT ) ( VkDevice device , VkDeviceMemory memory , float priority ) +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ( VkDevice device , const VkDescriptorSetBindingReferenceVALVE * pBindingReference , VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE ) ( VkDevice device , VkDescriptorSet descriptorSet , void * * ppData ) +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR = UInt64 @cenum VkBuildAccelerationStructureModeKHR::UInt32 begin @@ -12780,6 +14625,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12819,40 +14665,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13490,9 +15302,11 @@ const VK_NULL_HANDLE = Culonglong(0) const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13518,8 +15332,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13542,6 +15354,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13572,6 +15388,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13598,9 +15420,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13724,9 +15550,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -13790,9 +15620,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -13824,6 +15658,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -13872,7 +15714,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -13894,6 +15736,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -13918,6 +15766,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -13930,12 +15784,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -13954,6 +15820,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -14020,6 +15898,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14172,9 +16056,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14318,7 +16206,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14496,7 +16384,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14508,9 +16396,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14580,7 +16472,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14650,6 +16542,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14686,6 +16584,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -14734,6 +16638,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -14764,6 +16674,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -14782,6 +16704,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -14794,9 +16752,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/lib/i686-linux-gnu.jl b/lib/i686-linux-gnu.jl index 2de75ce..e90163a 100644 --- a/lib/i686-linux-gnu.jl +++ b/lib/i686-linux-gnu.jl @@ -110,6 +110,7 @@ const VkCommandPool = UInt64 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 @@ -118,18 +119,19 @@ const VkCommandPool = UInt64 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -299,6 +301,58 @@ end 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 @@ -326,9 +380,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -338,7 +399,6 @@ end 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 @@ -410,10 +470,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -452,6 +509,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -473,7 +531,6 @@ end 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 @@ -481,12 +538,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -507,14 +566,10 @@ end 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 @@ -530,8 +585,8 @@ end 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 @@ -559,7 +614,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -571,7 +626,6 @@ end 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_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 @@ -583,62 +637,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -658,6 +735,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -700,6 +778,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -721,9 +803,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -736,12 +820,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -750,6 +839,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -769,19 +894,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -814,11 +941,14 @@ end 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_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 @@ -826,12 +956,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -842,11 +978,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1081,6 +1212,26 @@ end 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 @@ -1103,12 +1254,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1143,6 +1288,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1310,6 +1461,21 @@ end 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 @@ -1319,6 +1485,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1331,13 +1501,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1456,10 +1622,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1467,13 +1634,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1481,6 +1652,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1524,6 +1696,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1531,14 +1704,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1552,6 +1725,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1559,6 +1733,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1624,6 +1799,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1657,9 +1833,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1685,6 +1862,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1728,19 +1906,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1774,6 +1953,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1857,13 +2037,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1886,6 +2063,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1898,17 +2079,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1933,6 +2119,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -1964,8 +2151,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2042,6 +2240,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2194,6 +2395,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction ) ( void * pUserData , size_t size , size_t alignment , VkSystemAllocationScope allocationScope ) const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4881,6 +5090,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5785,6 +5995,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6566,116 +6783,1122 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR = UInt64 +const VkFlags64 = UInt64 -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = UInt64 -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) - ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode ) ( VkCommandBuffer commandBuffer , VkCullModeFlags cullMode ) +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace ) ( VkCommandBuffer commandBuffer , VkFrontFace frontFace ) +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology ) ( VkCommandBuffer commandBuffer , VkPrimitiveTopology primitiveTopology ) +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount ) ( VkCommandBuffer commandBuffer , uint32_t viewportCount , const VkViewport * pViewports ) +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount ) ( VkCommandBuffer commandBuffer , uint32_t scissorCount , const VkRect2D * pScissors ) +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 ) ( VkCommandBuffer commandBuffer , uint32_t firstBinding , uint32_t bindingCount , const VkBuffer * pBuffers , const VkDeviceSize * pOffsets , const VkDeviceSize * pSizes , const VkDeviceSize * pStrides ) +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthTestEnable ) +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthWriteEnable ) +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp ) ( VkCommandBuffer commandBuffer , VkCompareOp depthCompareOp ) +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBoundsTestEnable ) +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 stencilTestEnable ) +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp ) ( VkCommandBuffer commandBuffer , VkStencilFaceFlags faceMask , VkStencilOp failOp , VkStencilOp passOp , VkStencilOp depthFailOp , VkCompareOp compareOp ) +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable ) ( VkCommandBuffer commandBuffer , VkBool32 rasterizerDiscardEnable ) +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBiasEnable ) +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable ) ( VkCommandBuffer commandBuffer , VkBool32 primitiveRestartEnable ) +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR = UInt64 + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) + ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities, fptr) @@ -7065,6 +8288,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8133,6 +9424,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8204,11 +9526,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8304,6 +9622,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR ) ( VkDevice device , VkSwapchainKHR swapchain , uint64_t presentId , uint64_t timeout ) +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8534,6 +9869,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8541,198 +9880,138 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdSetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2KHR stageMask ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) const PFN_vkCmdResetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfoKHR * pDependencyInfos ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) const PFN_vkCmdWaitEvents2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdPipelineBarrier2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkQueryPool queryPool , uint32_t query ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) const PFN_vkCmdWriteTimestamp2KHR = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2KHR * pSubmits , VkFence fence ) +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) const PFN_vkQueueSubmit2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} # typedef void ( VKAPI_PTR * PFN_vkGetQueueCheckpointData2NV ) ( VkQueue queue , uint32_t * pCheckpointDataCount , VkCheckpointData2NV * pCheckpointData ) const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8743,12 +10022,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8758,181 +10039,139 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2KHR * pCopyBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2KHR * pCopyImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) const PFN_vkCmdCopyImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const PFN_vkCmdCopyBufferToImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const PFN_vkCmdCopyImageToBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2KHR * pBlitImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2KHR * pResolveImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT = UInt64 @@ -8972,8 +10211,11 @@ const VkDebugReportCallbackEXT = UInt64 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9244,6 +10486,96 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX = UInt64 + +const VkCuFunctionNVX = UInt64 + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX ) ( VkDevice device , const VkCuModuleCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuModuleNVX * pModule ) +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX ) ( VkDevice device , const VkCuFunctionCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuFunctionNVX * pFunction ) +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX ) ( VkDevice device , VkCuModuleNVX module , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX ) ( VkDevice device , VkCuFunctionNVX function , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX ) ( VkCommandBuffer commandBuffer , const VkCuLaunchInfoNVX * pLaunchInfo ) +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9413,11 +10745,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10031,35 +11359,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10257,6 +11563,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT ) ( VkDevice device , VkImage image , VkImageDrmFormatModifierPropertiesEXT * pProperties ) const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10526,9 +11845,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10548,6 +11868,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10701,10 +12022,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10719,17 +12040,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10914,19 +12255,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11074,27 +12405,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11519,27 +12836,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11621,38 +12922,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags - -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkToolPurposeFlagsEXT = VkToolPurposeFlags -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11674,6 +12958,7 @@ end 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 = 2147483647 end @@ -12065,12 +13350,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV = UInt64 @cenum VkIndirectCommandsTokenTypeNV::UInt32 begin @@ -12306,14 +13604,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12368,6 +13659,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , VkDisplayKHR display ) +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , uint32_t connectorId , VkDisplayKHR * display ) +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12403,81 +13716,61 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT = UInt64 +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo -# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlotEXT * pPrivateDataSlot ) +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlotEXT privateDataSlot , const VkAllocationCallbacks * pAllocator ) +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) const PFN_vkDestroyPrivateDataSlotEXT = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t data ) +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t * pData ) +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12555,6 +13848,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12582,11 +14144,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12595,6 +14153,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV ) ( VkPhysicalDevice physicalDevice , VkDisplayKHR display ) const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12641,33 +14213,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ( VkDevice device , VkRenderPass renderpass , VkExtent2D * pMaxWorkgroupSize ) +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI ) ( VkCommandBuffer commandBuffer , VkImageView imageView , VkImageLayout imageLayout ) +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV ) ( VkDevice device , const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo , VkRemoteAddressNV * pAddress ) +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12757,6 +14443,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawInfoEXT * pVertexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride ) +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawIndexedInfoEXT * pIndexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride , const int32_t * pVertexOffset ) +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT ) ( VkDevice device , VkDeviceMemory memory , float priority ) +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ( VkDevice device , const VkDescriptorSetBindingReferenceVALVE * pBindingReference , VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE ) ( VkDevice device , VkDescriptorSet descriptorSet , void * * ppData ) +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR = UInt64 @cenum VkBuildAccelerationStructureModeKHR::UInt32 begin @@ -12780,6 +14625,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12819,40 +14665,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13490,9 +15302,11 @@ const VK_NULL_HANDLE = Culonglong(0) const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13518,8 +15332,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13542,6 +15354,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13572,6 +15388,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13598,9 +15420,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13724,9 +15550,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -13790,9 +15620,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -13824,6 +15658,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -13872,7 +15714,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -13894,6 +15736,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -13918,6 +15766,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -13930,12 +15784,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -13954,6 +15820,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -14020,6 +15898,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14172,9 +16056,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14318,7 +16206,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14496,7 +16384,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14508,9 +16396,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14580,7 +16472,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14650,6 +16542,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14686,6 +16584,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -14734,6 +16638,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -14764,6 +16674,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -14782,6 +16704,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -14794,9 +16752,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/lib/i686-linux-musl.jl b/lib/i686-linux-musl.jl index 2de75ce..e90163a 100644 --- a/lib/i686-linux-musl.jl +++ b/lib/i686-linux-musl.jl @@ -110,6 +110,7 @@ const VkCommandPool = UInt64 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 @@ -118,18 +119,19 @@ const VkCommandPool = UInt64 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -299,6 +301,58 @@ end 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 @@ -326,9 +380,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -338,7 +399,6 @@ end 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 @@ -410,10 +470,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -452,6 +509,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -473,7 +531,6 @@ end 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 @@ -481,12 +538,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -507,14 +566,10 @@ end 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 @@ -530,8 +585,8 @@ end 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 @@ -559,7 +614,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -571,7 +626,6 @@ end 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_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 @@ -583,62 +637,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -658,6 +735,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -700,6 +778,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -721,9 +803,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -736,12 +820,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -750,6 +839,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -769,19 +894,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -814,11 +941,14 @@ end 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_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 @@ -826,12 +956,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -842,11 +978,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1081,6 +1212,26 @@ end 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 @@ -1103,12 +1254,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1143,6 +1288,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1310,6 +1461,21 @@ end 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 @@ -1319,6 +1485,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1331,13 +1501,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1456,10 +1622,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1467,13 +1634,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1481,6 +1652,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1524,6 +1696,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1531,14 +1704,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1552,6 +1725,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1559,6 +1733,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1624,6 +1799,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1657,9 +1833,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1685,6 +1862,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1728,19 +1906,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1774,6 +1953,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1857,13 +2037,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1886,6 +2063,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1898,17 +2079,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1933,6 +2119,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -1964,8 +2151,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2042,6 +2240,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2194,6 +2395,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction ) ( void * pUserData , size_t size , size_t alignment , VkSystemAllocationScope allocationScope ) const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4881,6 +5090,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5785,6 +5995,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6566,116 +6783,1122 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR = UInt64 +const VkFlags64 = UInt64 -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = UInt64 -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) - ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode ) ( VkCommandBuffer commandBuffer , VkCullModeFlags cullMode ) +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace ) ( VkCommandBuffer commandBuffer , VkFrontFace frontFace ) +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology ) ( VkCommandBuffer commandBuffer , VkPrimitiveTopology primitiveTopology ) +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount ) ( VkCommandBuffer commandBuffer , uint32_t viewportCount , const VkViewport * pViewports ) +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount ) ( VkCommandBuffer commandBuffer , uint32_t scissorCount , const VkRect2D * pScissors ) +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 ) ( VkCommandBuffer commandBuffer , uint32_t firstBinding , uint32_t bindingCount , const VkBuffer * pBuffers , const VkDeviceSize * pOffsets , const VkDeviceSize * pSizes , const VkDeviceSize * pStrides ) +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthTestEnable ) +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthWriteEnable ) +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp ) ( VkCommandBuffer commandBuffer , VkCompareOp depthCompareOp ) +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBoundsTestEnable ) +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 stencilTestEnable ) +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp ) ( VkCommandBuffer commandBuffer , VkStencilFaceFlags faceMask , VkStencilOp failOp , VkStencilOp passOp , VkStencilOp depthFailOp , VkCompareOp compareOp ) +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable ) ( VkCommandBuffer commandBuffer , VkBool32 rasterizerDiscardEnable ) +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBiasEnable ) +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable ) ( VkCommandBuffer commandBuffer , VkBool32 primitiveRestartEnable ) +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR = UInt64 + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) + ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities, fptr) @@ -7065,6 +8288,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8133,6 +9424,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8204,11 +9526,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8304,6 +9622,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR ) ( VkDevice device , VkSwapchainKHR swapchain , uint64_t presentId , uint64_t timeout ) +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8534,6 +9869,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8541,198 +9880,138 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdSetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2KHR stageMask ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) const PFN_vkCmdResetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfoKHR * pDependencyInfos ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) const PFN_vkCmdWaitEvents2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdPipelineBarrier2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkQueryPool queryPool , uint32_t query ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) const PFN_vkCmdWriteTimestamp2KHR = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2KHR * pSubmits , VkFence fence ) +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) const PFN_vkQueueSubmit2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} # typedef void ( VKAPI_PTR * PFN_vkGetQueueCheckpointData2NV ) ( VkQueue queue , uint32_t * pCheckpointDataCount , VkCheckpointData2NV * pCheckpointData ) const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8743,12 +10022,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8758,181 +10039,139 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2KHR * pCopyBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2KHR * pCopyImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) const PFN_vkCmdCopyImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const PFN_vkCmdCopyBufferToImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const PFN_vkCmdCopyImageToBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2KHR * pBlitImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2KHR * pResolveImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT = UInt64 @@ -8972,8 +10211,11 @@ const VkDebugReportCallbackEXT = UInt64 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9244,6 +10486,96 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX = UInt64 + +const VkCuFunctionNVX = UInt64 + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX ) ( VkDevice device , const VkCuModuleCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuModuleNVX * pModule ) +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX ) ( VkDevice device , const VkCuFunctionCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuFunctionNVX * pFunction ) +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX ) ( VkDevice device , VkCuModuleNVX module , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX ) ( VkDevice device , VkCuFunctionNVX function , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX ) ( VkCommandBuffer commandBuffer , const VkCuLaunchInfoNVX * pLaunchInfo ) +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9413,11 +10745,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10031,35 +11359,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10257,6 +11563,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT ) ( VkDevice device , VkImage image , VkImageDrmFormatModifierPropertiesEXT * pProperties ) const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10526,9 +11845,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10548,6 +11868,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10701,10 +12022,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10719,17 +12040,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10914,19 +12255,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11074,27 +12405,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11519,27 +12836,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11621,38 +12922,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags - -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkToolPurposeFlagsEXT = VkToolPurposeFlags -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11674,6 +12958,7 @@ end 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 = 2147483647 end @@ -12065,12 +13350,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV = UInt64 @cenum VkIndirectCommandsTokenTypeNV::UInt32 begin @@ -12306,14 +13604,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12368,6 +13659,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , VkDisplayKHR display ) +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , uint32_t connectorId , VkDisplayKHR * display ) +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12403,81 +13716,61 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT = UInt64 +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo -# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlotEXT * pPrivateDataSlot ) +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlotEXT privateDataSlot , const VkAllocationCallbacks * pAllocator ) +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) const PFN_vkDestroyPrivateDataSlotEXT = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t data ) +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t * pData ) +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12555,6 +13848,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12582,11 +14144,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12595,6 +14153,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV ) ( VkPhysicalDevice physicalDevice , VkDisplayKHR display ) const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12641,33 +14213,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ( VkDevice device , VkRenderPass renderpass , VkExtent2D * pMaxWorkgroupSize ) +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI ) ( VkCommandBuffer commandBuffer , VkImageView imageView , VkImageLayout imageLayout ) +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV ) ( VkDevice device , const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo , VkRemoteAddressNV * pAddress ) +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12757,6 +14443,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawInfoEXT * pVertexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride ) +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawIndexedInfoEXT * pIndexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride , const int32_t * pVertexOffset ) +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT ) ( VkDevice device , VkDeviceMemory memory , float priority ) +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ( VkDevice device , const VkDescriptorSetBindingReferenceVALVE * pBindingReference , VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE ) ( VkDevice device , VkDescriptorSet descriptorSet , void * * ppData ) +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR = UInt64 @cenum VkBuildAccelerationStructureModeKHR::UInt32 begin @@ -12780,6 +14625,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12819,40 +14665,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13490,9 +15302,11 @@ const VK_NULL_HANDLE = Culonglong(0) const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13518,8 +15332,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13542,6 +15354,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13572,6 +15388,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13598,9 +15420,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13724,9 +15550,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -13790,9 +15620,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -13824,6 +15658,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -13872,7 +15714,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -13894,6 +15736,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -13918,6 +15766,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -13930,12 +15784,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -13954,6 +15820,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -14020,6 +15898,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14172,9 +16056,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14318,7 +16206,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14496,7 +16384,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14508,9 +16396,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14580,7 +16472,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14650,6 +16542,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14686,6 +16584,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -14734,6 +16638,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -14764,6 +16674,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -14782,6 +16704,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -14794,9 +16752,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/lib/i686-w64-mingw32.jl b/lib/i686-w64-mingw32.jl index ed7915f..496434e 100644 --- a/lib/i686-w64-mingw32.jl +++ b/lib/i686-w64-mingw32.jl @@ -130,6 +130,7 @@ const VkCommandPool = UInt64 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 @@ -138,18 +139,19 @@ const VkCommandPool = UInt64 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -319,6 +321,58 @@ end 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 @@ -346,9 +400,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -358,7 +419,6 @@ end 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 @@ -430,10 +490,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -472,6 +529,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -493,7 +551,6 @@ end 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 @@ -501,12 +558,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -527,14 +586,10 @@ end 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 @@ -550,8 +605,8 @@ end 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 @@ -579,7 +634,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -591,7 +646,6 @@ end 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_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 @@ -603,62 +657,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -678,6 +755,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -720,6 +798,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -741,9 +823,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -756,12 +840,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -770,6 +859,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -789,19 +914,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -834,11 +961,14 @@ end 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_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 @@ -846,12 +976,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -862,11 +998,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1101,6 +1232,26 @@ end 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 @@ -1123,12 +1274,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1163,6 +1308,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1330,6 +1481,21 @@ end 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 @@ -1339,6 +1505,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1351,13 +1521,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1476,10 +1642,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1487,13 +1654,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1501,6 +1672,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1544,6 +1716,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1551,14 +1724,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1572,6 +1745,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1579,6 +1753,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1644,6 +1819,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1677,9 +1853,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1705,6 +1882,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1748,19 +1926,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1794,6 +1973,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1877,13 +2057,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1906,6 +2083,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1918,17 +2099,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1953,6 +2139,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -1984,8 +2171,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2062,6 +2260,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2214,6 +2415,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4901,6 +5110,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5805,6 +6015,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6586,116 +6803,1122 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR = UInt64 +const VkFlags64 = UInt64 -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = UInt64 -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) - ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR = UInt64 + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) + ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities, fptr) @@ -7085,6 +8308,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8153,6 +9444,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8224,11 +9546,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8324,6 +9642,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8554,6 +9889,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8561,117 +9900,57 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end @@ -8700,59 +9979,59 @@ const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8763,12 +10042,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8778,116 +10059,27 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 # typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} @@ -8908,51 +10100,98 @@ const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT = UInt64 @@ -8992,8 +10231,11 @@ const VkDebugReportCallbackEXT = UInt64 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9264,6 +10506,96 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX = UInt64 + +const VkCuFunctionNVX = UInt64 + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9433,11 +10765,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10051,35 +11379,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10277,6 +11583,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10546,9 +11865,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10568,6 +11888,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10721,10 +12042,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10739,17 +12060,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10934,19 +12275,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11094,27 +12425,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11539,27 +12856,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11641,38 +12942,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags - -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkToolPurposeFlagsEXT = VkToolPurposeFlags + +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties # typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11694,6 +12978,7 @@ end 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 = 2147483647 end @@ -12085,12 +13370,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV = UInt64 @cenum VkIndirectCommandsTokenTypeNV::UInt32 begin @@ -12326,14 +13624,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12388,6 +13679,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12423,31 +13736,15 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT = UInt64 +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo # typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} @@ -12462,42 +13759,38 @@ const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12575,6 +13868,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12602,11 +14164,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12615,6 +14173,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12661,33 +14233,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12777,6 +14463,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR = UInt64 @cenum VkBuildAccelerationStructureModeKHR::UInt32 begin @@ -12800,6 +14645,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12839,40 +14685,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13693,9 +15505,11 @@ const VK_NULL_HANDLE = Culonglong(0) const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13721,8 +15535,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13745,6 +15557,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13775,6 +15591,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13801,9 +15623,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13927,9 +15753,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -13993,9 +15823,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -14027,6 +15861,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -14075,7 +15917,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -14097,6 +15939,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -14121,6 +15969,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -14133,12 +15987,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -14157,6 +16023,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -14223,6 +16101,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14375,9 +16259,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14521,7 +16409,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14699,7 +16587,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14711,9 +16599,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14783,7 +16675,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14853,6 +16745,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14889,6 +16787,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -14937,6 +16841,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -14967,6 +16877,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -14985,6 +16907,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -14997,9 +16955,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/lib/powerpc64le-linux-gnu.jl b/lib/powerpc64le-linux-gnu.jl index a22f6bf..aa738a8 100644 --- a/lib/powerpc64le-linux-gnu.jl +++ b/lib/powerpc64le-linux-gnu.jl @@ -150,6 +150,7 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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 @@ -158,18 +159,19 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -339,6 +341,58 @@ end 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 @@ -366,9 +420,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -378,7 +439,6 @@ end 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 @@ -450,10 +510,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -492,6 +549,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -513,7 +571,6 @@ end 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 @@ -521,12 +578,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -547,14 +606,10 @@ end 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 @@ -570,8 +625,8 @@ end 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 @@ -599,7 +654,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -611,7 +666,6 @@ end 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_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 @@ -623,62 +677,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -698,6 +775,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -740,6 +818,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -761,9 +843,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -776,12 +860,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -790,6 +879,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -809,19 +934,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -854,11 +981,14 @@ end 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_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 @@ -866,12 +996,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -882,11 +1018,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1121,6 +1252,26 @@ end 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 @@ -1143,12 +1294,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1183,6 +1328,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1350,6 +1501,21 @@ end 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 @@ -1359,6 +1525,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1371,13 +1541,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1496,10 +1662,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1507,13 +1674,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1521,6 +1692,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1564,6 +1736,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1571,14 +1744,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1592,6 +1765,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1599,6 +1773,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1664,6 +1839,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1697,9 +1873,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1725,6 +1902,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1768,19 +1946,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1814,6 +1993,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1897,13 +2077,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1926,6 +2103,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1938,17 +2119,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1973,6 +2159,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -2004,8 +2191,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2082,6 +2280,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2234,6 +2435,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction ) ( void * pUserData , size_t size , size_t alignment , VkSystemAllocationScope allocationScope ) const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4925,6 +5134,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5829,6 +6039,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6610,117 +6827,1125 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR_T = Cvoid +const VkFlags64 = UInt64 -const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} +const VkPrivateDataSlot_T = Cvoid -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = Ptr{VkPrivateDataSlot_T} -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode ) ( VkCommandBuffer commandBuffer , VkCullModeFlags cullMode ) +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace ) ( VkCommandBuffer commandBuffer , VkFrontFace frontFace ) +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology ) ( VkCommandBuffer commandBuffer , VkPrimitiveTopology primitiveTopology ) +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount ) ( VkCommandBuffer commandBuffer , uint32_t viewportCount , const VkViewport * pViewports ) +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount ) ( VkCommandBuffer commandBuffer , uint32_t scissorCount , const VkRect2D * pScissors ) +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 ) ( VkCommandBuffer commandBuffer , uint32_t firstBinding , uint32_t bindingCount , const VkBuffer * pBuffers , const VkDeviceSize * pOffsets , const VkDeviceSize * pSizes , const VkDeviceSize * pStrides ) +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthTestEnable ) +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthWriteEnable ) +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp ) ( VkCommandBuffer commandBuffer , VkCompareOp depthCompareOp ) +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBoundsTestEnable ) +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 stencilTestEnable ) +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp ) ( VkCommandBuffer commandBuffer , VkStencilFaceFlags faceMask , VkStencilOp failOp , VkStencilOp passOp , VkStencilOp depthFailOp , VkCompareOp compareOp ) +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable ) ( VkCommandBuffer commandBuffer , VkBool32 rasterizerDiscardEnable ) +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBiasEnable ) +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable ) ( VkCommandBuffer commandBuffer , VkBool32 primitiveRestartEnable ) +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR_T = Cvoid + +const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end @@ -7117,6 +8342,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8185,6 +9478,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8256,11 +9580,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8356,6 +9676,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR ) ( VkDevice device , VkSwapchainKHR swapchain , uint64_t presentId , uint64_t timeout ) +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8588,6 +9925,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8595,198 +9936,138 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdSetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2KHR stageMask ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) const PFN_vkCmdResetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfoKHR * pDependencyInfos ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) const PFN_vkCmdWaitEvents2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdPipelineBarrier2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkQueryPool queryPool , uint32_t query ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) const PFN_vkCmdWriteTimestamp2KHR = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2KHR * pSubmits , VkFence fence ) +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) const PFN_vkQueueSubmit2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} # typedef void ( VKAPI_PTR * PFN_vkGetQueueCheckpointData2NV ) ( VkQueue queue , uint32_t * pCheckpointDataCount , VkCheckpointData2NV * pCheckpointData ) const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8797,12 +10078,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8812,181 +10095,139 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2KHR * pCopyBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2KHR * pCopyImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) const PFN_vkCmdCopyImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const PFN_vkCmdCopyBufferToImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const PFN_vkCmdCopyImageToBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2KHR * pBlitImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2KHR * pResolveImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT_T = Cvoid @@ -9028,8 +10269,11 @@ const VkDebugReportCallbackEXT = Ptr{VkDebugReportCallbackEXT_T} 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9300,6 +10544,100 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX_T = Cvoid + +const VkCuModuleNVX = Ptr{VkCuModuleNVX_T} + +const VkCuFunctionNVX_T = Cvoid + +const VkCuFunctionNVX = Ptr{VkCuFunctionNVX_T} + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX ) ( VkDevice device , const VkCuModuleCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuModuleNVX * pModule ) +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX ) ( VkDevice device , const VkCuFunctionCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuFunctionNVX * pFunction ) +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX ) ( VkDevice device , VkCuModuleNVX module , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX ) ( VkDevice device , VkCuFunctionNVX function , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX ) ( VkCommandBuffer commandBuffer , const VkCuLaunchInfoNVX * pLaunchInfo ) +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9469,11 +10807,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10089,35 +11423,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10315,6 +11627,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT ) ( VkDevice device , VkImage image , VkImageDrmFormatModifierPropertiesEXT * pProperties ) const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10588,9 +11913,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10610,6 +11936,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10763,10 +12090,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10781,17 +12108,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10976,19 +12323,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11136,27 +12473,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11583,27 +12906,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11685,38 +12992,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags +const VkToolPurposeFlagsEXT = VkToolPurposeFlags -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11738,6 +13028,7 @@ end 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 = 2147483647 end @@ -12129,12 +13420,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV_T = Cvoid const VkIndirectCommandsLayoutNV = Ptr{VkIndirectCommandsLayoutNV_T} @@ -12372,14 +13676,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12434,6 +13731,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , VkDisplayKHR display ) +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , uint32_t connectorId , VkDisplayKHR * display ) +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12469,83 +13788,61 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT_T = Cvoid - -const VkPrivateDataSlotEXT = Ptr{VkPrivateDataSlotEXT_T} +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo -# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlotEXT * pPrivateDataSlot ) +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlotEXT privateDataSlot , const VkAllocationCallbacks * pAllocator ) +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) const PFN_vkDestroyPrivateDataSlotEXT = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t data ) +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t * pData ) +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12623,6 +13920,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12650,11 +14216,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12663,6 +14225,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV ) ( VkPhysicalDevice physicalDevice , VkDisplayKHR display ) const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12709,33 +14285,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ( VkDevice device , VkRenderPass renderpass , VkExtent2D * pMaxWorkgroupSize ) +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI ) ( VkCommandBuffer commandBuffer , VkImageView imageView , VkImageLayout imageLayout ) +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV ) ( VkDevice device , const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo , VkRemoteAddressNV * pAddress ) +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12825,6 +14515,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawInfoEXT * pVertexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride ) +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawIndexedInfoEXT * pIndexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride , const int32_t * pVertexOffset ) +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT ) ( VkDevice device , VkDeviceMemory memory , float priority ) +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ( VkDevice device , const VkDescriptorSetBindingReferenceVALVE * pBindingReference , VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE ) ( VkDevice device , VkDescriptorSet descriptorSet , void * * ppData ) +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR_T = Cvoid const VkAccelerationStructureKHR = Ptr{VkAccelerationStructureKHR_T} @@ -12850,6 +14699,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12889,40 +14739,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13560,9 +15376,11 @@ const VK_USE_64_BIT_PTR_DEFINES = 1 const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13588,8 +15406,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13612,6 +15428,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13642,6 +15462,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13668,9 +15494,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13794,9 +15624,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -13860,9 +15694,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -13894,6 +15732,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -13942,7 +15788,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -13964,6 +15810,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -13988,6 +15840,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -14000,12 +15858,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -14024,6 +15894,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -14090,6 +15972,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14242,9 +16130,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14388,7 +16280,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14566,7 +16458,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14578,9 +16470,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14650,7 +16546,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14720,6 +16616,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14756,6 +16658,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -14804,6 +16712,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -14834,6 +16748,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -14852,6 +16778,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -14864,9 +16826,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/lib/x86_64-apple-darwin14.jl b/lib/x86_64-apple-darwin14.jl index 8e887a0..d7b8cb5 100644 --- a/lib/x86_64-apple-darwin14.jl +++ b/lib/x86_64-apple-darwin14.jl @@ -132,6 +132,7 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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 @@ -140,18 +141,19 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -321,6 +323,58 @@ end 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 @@ -348,9 +402,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -360,7 +421,6 @@ end 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 @@ -432,10 +492,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -474,6 +531,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -495,7 +553,6 @@ end 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 @@ -503,12 +560,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -529,14 +588,10 @@ end 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 @@ -552,8 +607,8 @@ end 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 @@ -581,7 +636,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -593,7 +648,6 @@ end 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_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 @@ -605,62 +659,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -680,6 +757,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -722,6 +800,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -743,9 +825,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -758,12 +842,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -772,6 +861,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -791,19 +916,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -836,11 +963,14 @@ end 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_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 @@ -848,12 +978,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -864,11 +1000,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1103,6 +1234,26 @@ end 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 @@ -1125,12 +1276,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1165,6 +1310,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1332,6 +1483,21 @@ end 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 @@ -1341,6 +1507,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1353,13 +1523,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1478,10 +1644,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1489,13 +1656,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1503,6 +1674,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1546,6 +1718,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1553,14 +1726,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1574,6 +1747,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1581,6 +1755,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1646,6 +1821,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1679,9 +1855,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1707,6 +1884,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1750,19 +1928,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1796,6 +1975,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1879,13 +2059,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1908,6 +2085,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1920,17 +2101,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1955,6 +2141,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -1986,8 +2173,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2064,6 +2262,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2216,6 +2417,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction ) ( void * pUserData , size_t size , size_t alignment , VkSystemAllocationScope allocationScope ) const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4907,6 +5116,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5811,6 +6021,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6592,117 +6809,1125 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR_T = Cvoid +const VkFlags64 = UInt64 -const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} +const VkPrivateDataSlot_T = Cvoid -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = Ptr{VkPrivateDataSlot_T} -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode ) ( VkCommandBuffer commandBuffer , VkCullModeFlags cullMode ) +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace ) ( VkCommandBuffer commandBuffer , VkFrontFace frontFace ) +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology ) ( VkCommandBuffer commandBuffer , VkPrimitiveTopology primitiveTopology ) +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount ) ( VkCommandBuffer commandBuffer , uint32_t viewportCount , const VkViewport * pViewports ) +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount ) ( VkCommandBuffer commandBuffer , uint32_t scissorCount , const VkRect2D * pScissors ) +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 ) ( VkCommandBuffer commandBuffer , uint32_t firstBinding , uint32_t bindingCount , const VkBuffer * pBuffers , const VkDeviceSize * pOffsets , const VkDeviceSize * pSizes , const VkDeviceSize * pStrides ) +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthTestEnable ) +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthWriteEnable ) +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp ) ( VkCommandBuffer commandBuffer , VkCompareOp depthCompareOp ) +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBoundsTestEnable ) +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 stencilTestEnable ) +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp ) ( VkCommandBuffer commandBuffer , VkStencilFaceFlags faceMask , VkStencilOp failOp , VkStencilOp passOp , VkStencilOp depthFailOp , VkCompareOp compareOp ) +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable ) ( VkCommandBuffer commandBuffer , VkBool32 rasterizerDiscardEnable ) +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBiasEnable ) +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable ) ( VkCommandBuffer commandBuffer , VkBool32 primitiveRestartEnable ) +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR_T = Cvoid + +const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end @@ -7099,6 +8324,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8167,6 +9460,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8238,11 +9562,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8338,6 +9658,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR ) ( VkDevice device , VkSwapchainKHR swapchain , uint64_t presentId , uint64_t timeout ) +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8570,6 +9907,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8577,198 +9918,138 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdSetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2KHR stageMask ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) const PFN_vkCmdResetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfoKHR * pDependencyInfos ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) const PFN_vkCmdWaitEvents2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdPipelineBarrier2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkQueryPool queryPool , uint32_t query ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) const PFN_vkCmdWriteTimestamp2KHR = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2KHR * pSubmits , VkFence fence ) +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) const PFN_vkQueueSubmit2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} # typedef void ( VKAPI_PTR * PFN_vkGetQueueCheckpointData2NV ) ( VkQueue queue , uint32_t * pCheckpointDataCount , VkCheckpointData2NV * pCheckpointData ) const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8779,12 +10060,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8794,181 +10077,139 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2KHR * pCopyBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2KHR * pCopyImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) const PFN_vkCmdCopyImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const PFN_vkCmdCopyBufferToImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const PFN_vkCmdCopyImageToBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2KHR * pBlitImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2KHR * pResolveImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT_T = Cvoid @@ -9010,8 +10251,11 @@ const VkDebugReportCallbackEXT = Ptr{VkDebugReportCallbackEXT_T} 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9282,6 +10526,100 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX_T = Cvoid + +const VkCuModuleNVX = Ptr{VkCuModuleNVX_T} + +const VkCuFunctionNVX_T = Cvoid + +const VkCuFunctionNVX = Ptr{VkCuFunctionNVX_T} + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX ) ( VkDevice device , const VkCuModuleCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuModuleNVX * pModule ) +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX ) ( VkDevice device , const VkCuFunctionCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuFunctionNVX * pFunction ) +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX ) ( VkDevice device , VkCuModuleNVX module , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX ) ( VkDevice device , VkCuFunctionNVX function , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX ) ( VkCommandBuffer commandBuffer , const VkCuLaunchInfoNVX * pLaunchInfo ) +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9451,11 +10789,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10071,35 +11405,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10297,6 +11609,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT ) ( VkDevice device , VkImage image , VkImageDrmFormatModifierPropertiesEXT * pProperties ) const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10570,9 +11895,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10592,6 +11918,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10745,10 +12072,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10763,17 +12090,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10958,19 +12305,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11118,27 +12455,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11565,27 +12888,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11667,38 +12974,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags +const VkToolPurposeFlagsEXT = VkToolPurposeFlags -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11720,6 +13010,7 @@ end 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 = 2147483647 end @@ -12111,12 +13402,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV_T = Cvoid const VkIndirectCommandsLayoutNV = Ptr{VkIndirectCommandsLayoutNV_T} @@ -12354,14 +13658,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12416,6 +13713,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , VkDisplayKHR display ) +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , uint32_t connectorId , VkDisplayKHR * display ) +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12451,83 +13770,61 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT_T = Cvoid - -const VkPrivateDataSlotEXT = Ptr{VkPrivateDataSlotEXT_T} +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo -# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlotEXT * pPrivateDataSlot ) +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlotEXT privateDataSlot , const VkAllocationCallbacks * pAllocator ) +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) const PFN_vkDestroyPrivateDataSlotEXT = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t data ) +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t * pData ) +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12605,6 +13902,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12632,11 +14198,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12645,6 +14207,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV ) ( VkPhysicalDevice physicalDevice , VkDisplayKHR display ) const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12691,33 +14267,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ( VkDevice device , VkRenderPass renderpass , VkExtent2D * pMaxWorkgroupSize ) +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI ) ( VkCommandBuffer commandBuffer , VkImageView imageView , VkImageLayout imageLayout ) +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV ) ( VkDevice device , const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo , VkRemoteAddressNV * pAddress ) +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12807,6 +14497,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawInfoEXT * pVertexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride ) +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawIndexedInfoEXT * pIndexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride , const int32_t * pVertexOffset ) +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT ) ( VkDevice device , VkDeviceMemory memory , float priority ) +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ( VkDevice device , const VkDescriptorSetBindingReferenceVALVE * pBindingReference , VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE ) ( VkDevice device , VkDescriptorSet descriptorSet , void * * ppData ) +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR_T = Cvoid const VkAccelerationStructureKHR = Ptr{VkAccelerationStructureKHR_T} @@ -12832,6 +14681,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12871,40 +14721,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13462,9 +15278,11 @@ const VK_USE_64_BIT_PTR_DEFINES = 1 const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13490,8 +15308,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13514,6 +15330,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13544,6 +15364,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13570,9 +15396,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13696,9 +15526,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -13762,9 +15596,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -13796,6 +15634,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -13844,7 +15690,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -13866,6 +15712,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -13890,6 +15742,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -13902,12 +15760,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -13926,6 +15796,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -13992,6 +15874,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14144,9 +16032,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14290,7 +16182,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14468,7 +16360,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14480,9 +16372,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14552,7 +16448,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14622,6 +16518,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14658,6 +16560,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -14706,6 +16614,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -14736,6 +16650,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -14754,6 +16680,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -14766,9 +16728,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/lib/x86_64-linux-gnu.jl b/lib/x86_64-linux-gnu.jl index a22f6bf..aa738a8 100644 --- a/lib/x86_64-linux-gnu.jl +++ b/lib/x86_64-linux-gnu.jl @@ -150,6 +150,7 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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 @@ -158,18 +159,19 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -339,6 +341,58 @@ end 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 @@ -366,9 +420,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -378,7 +439,6 @@ end 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 @@ -450,10 +510,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -492,6 +549,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -513,7 +571,6 @@ end 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 @@ -521,12 +578,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -547,14 +606,10 @@ end 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 @@ -570,8 +625,8 @@ end 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 @@ -599,7 +654,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -611,7 +666,6 @@ end 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_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 @@ -623,62 +677,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -698,6 +775,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -740,6 +818,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -761,9 +843,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -776,12 +860,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -790,6 +879,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -809,19 +934,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -854,11 +981,14 @@ end 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_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 @@ -866,12 +996,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -882,11 +1018,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1121,6 +1252,26 @@ end 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 @@ -1143,12 +1294,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1183,6 +1328,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1350,6 +1501,21 @@ end 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 @@ -1359,6 +1525,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1371,13 +1541,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1496,10 +1662,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1507,13 +1674,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1521,6 +1692,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1564,6 +1736,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1571,14 +1744,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1592,6 +1765,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1599,6 +1773,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1664,6 +1839,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1697,9 +1873,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1725,6 +1902,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1768,19 +1946,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1814,6 +1993,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1897,13 +2077,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1926,6 +2103,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1938,17 +2119,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1973,6 +2159,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -2004,8 +2191,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2082,6 +2280,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2234,6 +2435,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction ) ( void * pUserData , size_t size , size_t alignment , VkSystemAllocationScope allocationScope ) const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4925,6 +5134,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5829,6 +6039,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6610,117 +6827,1125 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR_T = Cvoid +const VkFlags64 = UInt64 -const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} +const VkPrivateDataSlot_T = Cvoid -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = Ptr{VkPrivateDataSlot_T} -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode ) ( VkCommandBuffer commandBuffer , VkCullModeFlags cullMode ) +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace ) ( VkCommandBuffer commandBuffer , VkFrontFace frontFace ) +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology ) ( VkCommandBuffer commandBuffer , VkPrimitiveTopology primitiveTopology ) +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount ) ( VkCommandBuffer commandBuffer , uint32_t viewportCount , const VkViewport * pViewports ) +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount ) ( VkCommandBuffer commandBuffer , uint32_t scissorCount , const VkRect2D * pScissors ) +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 ) ( VkCommandBuffer commandBuffer , uint32_t firstBinding , uint32_t bindingCount , const VkBuffer * pBuffers , const VkDeviceSize * pOffsets , const VkDeviceSize * pSizes , const VkDeviceSize * pStrides ) +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthTestEnable ) +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthWriteEnable ) +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp ) ( VkCommandBuffer commandBuffer , VkCompareOp depthCompareOp ) +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBoundsTestEnable ) +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 stencilTestEnable ) +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp ) ( VkCommandBuffer commandBuffer , VkStencilFaceFlags faceMask , VkStencilOp failOp , VkStencilOp passOp , VkStencilOp depthFailOp , VkCompareOp compareOp ) +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable ) ( VkCommandBuffer commandBuffer , VkBool32 rasterizerDiscardEnable ) +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBiasEnable ) +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable ) ( VkCommandBuffer commandBuffer , VkBool32 primitiveRestartEnable ) +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR_T = Cvoid + +const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end @@ -7117,6 +8342,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8185,6 +9478,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8256,11 +9580,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8356,6 +9676,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR ) ( VkDevice device , VkSwapchainKHR swapchain , uint64_t presentId , uint64_t timeout ) +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8588,6 +9925,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8595,198 +9936,138 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdSetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2KHR stageMask ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) const PFN_vkCmdResetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfoKHR * pDependencyInfos ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) const PFN_vkCmdWaitEvents2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdPipelineBarrier2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkQueryPool queryPool , uint32_t query ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) const PFN_vkCmdWriteTimestamp2KHR = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2KHR * pSubmits , VkFence fence ) +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) const PFN_vkQueueSubmit2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} # typedef void ( VKAPI_PTR * PFN_vkGetQueueCheckpointData2NV ) ( VkQueue queue , uint32_t * pCheckpointDataCount , VkCheckpointData2NV * pCheckpointData ) const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8797,12 +10078,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8812,181 +10095,139 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2KHR * pCopyBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2KHR * pCopyImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) const PFN_vkCmdCopyImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const PFN_vkCmdCopyBufferToImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const PFN_vkCmdCopyImageToBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2KHR * pBlitImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2KHR * pResolveImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT_T = Cvoid @@ -9028,8 +10269,11 @@ const VkDebugReportCallbackEXT = Ptr{VkDebugReportCallbackEXT_T} 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9300,6 +10544,100 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX_T = Cvoid + +const VkCuModuleNVX = Ptr{VkCuModuleNVX_T} + +const VkCuFunctionNVX_T = Cvoid + +const VkCuFunctionNVX = Ptr{VkCuFunctionNVX_T} + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX ) ( VkDevice device , const VkCuModuleCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuModuleNVX * pModule ) +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX ) ( VkDevice device , const VkCuFunctionCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuFunctionNVX * pFunction ) +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX ) ( VkDevice device , VkCuModuleNVX module , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX ) ( VkDevice device , VkCuFunctionNVX function , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX ) ( VkCommandBuffer commandBuffer , const VkCuLaunchInfoNVX * pLaunchInfo ) +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9469,11 +10807,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10089,35 +11423,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10315,6 +11627,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT ) ( VkDevice device , VkImage image , VkImageDrmFormatModifierPropertiesEXT * pProperties ) const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10588,9 +11913,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10610,6 +11936,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10763,10 +12090,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10781,17 +12108,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10976,19 +12323,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11136,27 +12473,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11583,27 +12906,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11685,38 +12992,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags +const VkToolPurposeFlagsEXT = VkToolPurposeFlags -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11738,6 +13028,7 @@ end 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 = 2147483647 end @@ -12129,12 +13420,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV_T = Cvoid const VkIndirectCommandsLayoutNV = Ptr{VkIndirectCommandsLayoutNV_T} @@ -12372,14 +13676,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12434,6 +13731,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , VkDisplayKHR display ) +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , uint32_t connectorId , VkDisplayKHR * display ) +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12469,83 +13788,61 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT_T = Cvoid - -const VkPrivateDataSlotEXT = Ptr{VkPrivateDataSlotEXT_T} +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo -# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlotEXT * pPrivateDataSlot ) +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlotEXT privateDataSlot , const VkAllocationCallbacks * pAllocator ) +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) const PFN_vkDestroyPrivateDataSlotEXT = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t data ) +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t * pData ) +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12623,6 +13920,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12650,11 +14216,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12663,6 +14225,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV ) ( VkPhysicalDevice physicalDevice , VkDisplayKHR display ) const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12709,33 +14285,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ( VkDevice device , VkRenderPass renderpass , VkExtent2D * pMaxWorkgroupSize ) +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI ) ( VkCommandBuffer commandBuffer , VkImageView imageView , VkImageLayout imageLayout ) +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV ) ( VkDevice device , const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo , VkRemoteAddressNV * pAddress ) +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12825,6 +14515,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawInfoEXT * pVertexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride ) +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawIndexedInfoEXT * pIndexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride , const int32_t * pVertexOffset ) +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT ) ( VkDevice device , VkDeviceMemory memory , float priority ) +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ( VkDevice device , const VkDescriptorSetBindingReferenceVALVE * pBindingReference , VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE ) ( VkDevice device , VkDescriptorSet descriptorSet , void * * ppData ) +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR_T = Cvoid const VkAccelerationStructureKHR = Ptr{VkAccelerationStructureKHR_T} @@ -12850,6 +14699,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12889,40 +14739,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13560,9 +15376,11 @@ const VK_USE_64_BIT_PTR_DEFINES = 1 const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13588,8 +15406,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13612,6 +15428,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13642,6 +15462,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13668,9 +15494,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13794,9 +15624,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -13860,9 +15694,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -13894,6 +15732,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -13942,7 +15788,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -13964,6 +15810,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -13988,6 +15840,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -14000,12 +15858,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -14024,6 +15894,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -14090,6 +15972,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14242,9 +16130,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14388,7 +16280,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14566,7 +16458,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14578,9 +16470,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14650,7 +16546,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14720,6 +16616,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14756,6 +16658,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -14804,6 +16712,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -14834,6 +16748,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -14852,6 +16778,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -14864,9 +16826,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/lib/x86_64-linux-musl.jl b/lib/x86_64-linux-musl.jl index a22f6bf..aa738a8 100644 --- a/lib/x86_64-linux-musl.jl +++ b/lib/x86_64-linux-musl.jl @@ -150,6 +150,7 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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 @@ -158,18 +159,19 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -339,6 +341,58 @@ end 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 @@ -366,9 +420,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -378,7 +439,6 @@ end 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 @@ -450,10 +510,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -492,6 +549,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -513,7 +571,6 @@ end 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 @@ -521,12 +578,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -547,14 +606,10 @@ end 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 @@ -570,8 +625,8 @@ end 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 @@ -599,7 +654,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -611,7 +666,6 @@ end 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_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 @@ -623,62 +677,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -698,6 +775,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -740,6 +818,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -761,9 +843,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -776,12 +860,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -790,6 +879,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -809,19 +934,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -854,11 +981,14 @@ end 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_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 @@ -866,12 +996,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -882,11 +1018,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1121,6 +1252,26 @@ end 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 @@ -1143,12 +1294,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1183,6 +1328,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1350,6 +1501,21 @@ end 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 @@ -1359,6 +1525,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1371,13 +1541,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1496,10 +1662,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1507,13 +1674,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1521,6 +1692,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1564,6 +1736,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1571,14 +1744,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1592,6 +1765,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1599,6 +1773,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1664,6 +1839,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1697,9 +1873,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1725,6 +1902,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1768,19 +1946,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1814,6 +1993,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1897,13 +2077,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1926,6 +2103,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1938,17 +2119,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1973,6 +2159,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -2004,8 +2191,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2082,6 +2280,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2234,6 +2435,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction ) ( void * pUserData , size_t size , size_t alignment , VkSystemAllocationScope allocationScope ) const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4925,6 +5134,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5829,6 +6039,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6610,117 +6827,1125 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR_T = Cvoid +const VkFlags64 = UInt64 -const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} +const VkPrivateDataSlot_T = Cvoid -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = Ptr{VkPrivateDataSlot_T} -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode ) ( VkCommandBuffer commandBuffer , VkCullModeFlags cullMode ) +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace ) ( VkCommandBuffer commandBuffer , VkFrontFace frontFace ) +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology ) ( VkCommandBuffer commandBuffer , VkPrimitiveTopology primitiveTopology ) +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount ) ( VkCommandBuffer commandBuffer , uint32_t viewportCount , const VkViewport * pViewports ) +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount ) ( VkCommandBuffer commandBuffer , uint32_t scissorCount , const VkRect2D * pScissors ) +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 ) ( VkCommandBuffer commandBuffer , uint32_t firstBinding , uint32_t bindingCount , const VkBuffer * pBuffers , const VkDeviceSize * pOffsets , const VkDeviceSize * pSizes , const VkDeviceSize * pStrides ) +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthTestEnable ) +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthWriteEnable ) +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp ) ( VkCommandBuffer commandBuffer , VkCompareOp depthCompareOp ) +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBoundsTestEnable ) +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 stencilTestEnable ) +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp ) ( VkCommandBuffer commandBuffer , VkStencilFaceFlags faceMask , VkStencilOp failOp , VkStencilOp passOp , VkStencilOp depthFailOp , VkCompareOp compareOp ) +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable ) ( VkCommandBuffer commandBuffer , VkBool32 rasterizerDiscardEnable ) +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBiasEnable ) +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable ) ( VkCommandBuffer commandBuffer , VkBool32 primitiveRestartEnable ) +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR_T = Cvoid + +const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end @@ -7117,6 +8342,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8185,6 +9478,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8256,11 +9580,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8356,6 +9676,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR ) ( VkDevice device , VkSwapchainKHR swapchain , uint64_t presentId , uint64_t timeout ) +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8588,6 +9925,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8595,198 +9936,138 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdSetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2KHR stageMask ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) const PFN_vkCmdResetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfoKHR * pDependencyInfos ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) const PFN_vkCmdWaitEvents2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdPipelineBarrier2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkQueryPool queryPool , uint32_t query ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) const PFN_vkCmdWriteTimestamp2KHR = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2KHR * pSubmits , VkFence fence ) +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) const PFN_vkQueueSubmit2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} # typedef void ( VKAPI_PTR * PFN_vkGetQueueCheckpointData2NV ) ( VkQueue queue , uint32_t * pCheckpointDataCount , VkCheckpointData2NV * pCheckpointData ) const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8797,12 +10078,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8812,181 +10095,139 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2KHR * pCopyBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2KHR * pCopyImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) const PFN_vkCmdCopyImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const PFN_vkCmdCopyBufferToImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const PFN_vkCmdCopyImageToBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2KHR * pBlitImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2KHR * pResolveImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT_T = Cvoid @@ -9028,8 +10269,11 @@ const VkDebugReportCallbackEXT = Ptr{VkDebugReportCallbackEXT_T} 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9300,6 +10544,100 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX_T = Cvoid + +const VkCuModuleNVX = Ptr{VkCuModuleNVX_T} + +const VkCuFunctionNVX_T = Cvoid + +const VkCuFunctionNVX = Ptr{VkCuFunctionNVX_T} + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX ) ( VkDevice device , const VkCuModuleCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuModuleNVX * pModule ) +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX ) ( VkDevice device , const VkCuFunctionCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuFunctionNVX * pFunction ) +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX ) ( VkDevice device , VkCuModuleNVX module , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX ) ( VkDevice device , VkCuFunctionNVX function , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX ) ( VkCommandBuffer commandBuffer , const VkCuLaunchInfoNVX * pLaunchInfo ) +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9469,11 +10807,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10089,35 +11423,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10315,6 +11627,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT ) ( VkDevice device , VkImage image , VkImageDrmFormatModifierPropertiesEXT * pProperties ) const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10588,9 +11913,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10610,6 +11936,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10763,10 +12090,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10781,17 +12108,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10976,19 +12323,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11136,27 +12473,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11583,27 +12906,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11685,38 +12992,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags +const VkToolPurposeFlagsEXT = VkToolPurposeFlags -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11738,6 +13028,7 @@ end 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 = 2147483647 end @@ -12129,12 +13420,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV_T = Cvoid const VkIndirectCommandsLayoutNV = Ptr{VkIndirectCommandsLayoutNV_T} @@ -12372,14 +13676,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12434,6 +13731,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , VkDisplayKHR display ) +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , uint32_t connectorId , VkDisplayKHR * display ) +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12469,83 +13788,61 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT_T = Cvoid - -const VkPrivateDataSlotEXT = Ptr{VkPrivateDataSlotEXT_T} +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo -# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlotEXT * pPrivateDataSlot ) +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlotEXT privateDataSlot , const VkAllocationCallbacks * pAllocator ) +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) const PFN_vkDestroyPrivateDataSlotEXT = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t data ) +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t * pData ) +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12623,6 +13920,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12650,11 +14216,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12663,6 +14225,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV ) ( VkPhysicalDevice physicalDevice , VkDisplayKHR display ) const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12709,33 +14285,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ( VkDevice device , VkRenderPass renderpass , VkExtent2D * pMaxWorkgroupSize ) +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI ) ( VkCommandBuffer commandBuffer , VkImageView imageView , VkImageLayout imageLayout ) +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV ) ( VkDevice device , const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo , VkRemoteAddressNV * pAddress ) +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12825,6 +14515,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawInfoEXT * pVertexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride ) +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawIndexedInfoEXT * pIndexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride , const int32_t * pVertexOffset ) +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT ) ( VkDevice device , VkDeviceMemory memory , float priority ) +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ( VkDevice device , const VkDescriptorSetBindingReferenceVALVE * pBindingReference , VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE ) ( VkDevice device , VkDescriptorSet descriptorSet , void * * ppData ) +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR_T = Cvoid const VkAccelerationStructureKHR = Ptr{VkAccelerationStructureKHR_T} @@ -12850,6 +14699,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12889,40 +14739,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13560,9 +15376,11 @@ const VK_USE_64_BIT_PTR_DEFINES = 1 const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13588,8 +15406,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13612,6 +15428,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13642,6 +15462,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13668,9 +15494,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13794,9 +15624,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -13860,9 +15694,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -13894,6 +15732,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -13942,7 +15788,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -13964,6 +15810,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -13988,6 +15840,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -14000,12 +15858,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -14024,6 +15894,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -14090,6 +15972,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14242,9 +16130,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14388,7 +16280,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14566,7 +16458,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14578,9 +16470,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14650,7 +16546,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14720,6 +16616,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14756,6 +16658,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -14804,6 +16712,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -14834,6 +16748,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -14852,6 +16778,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -14864,9 +16826,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/lib/x86_64-unknown-freebsd11.1.jl b/lib/x86_64-unknown-freebsd.jl similarity index 86% rename from lib/x86_64-unknown-freebsd11.1.jl rename to lib/x86_64-unknown-freebsd.jl index d666140..36b9ef4 100644 --- a/lib/x86_64-unknown-freebsd11.1.jl +++ b/lib/x86_64-unknown-freebsd.jl @@ -150,6 +150,7 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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 @@ -158,18 +159,19 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -339,6 +341,58 @@ end 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 @@ -366,9 +420,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -378,7 +439,6 @@ end 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 @@ -450,10 +510,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -492,6 +549,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -513,7 +571,6 @@ end 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 @@ -521,12 +578,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -547,14 +606,10 @@ end 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 @@ -570,8 +625,8 @@ end 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 @@ -599,7 +654,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -611,7 +666,6 @@ end 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_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 @@ -623,62 +677,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -698,6 +775,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -740,6 +818,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -761,9 +843,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -776,12 +860,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -790,6 +879,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -809,19 +934,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -854,11 +981,14 @@ end 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_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 @@ -866,12 +996,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -882,11 +1018,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1121,6 +1252,26 @@ end 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 @@ -1143,12 +1294,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1183,6 +1328,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1350,6 +1501,21 @@ end 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 @@ -1359,6 +1525,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1371,13 +1541,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1496,10 +1662,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1507,13 +1674,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1521,6 +1692,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1564,6 +1736,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1571,14 +1744,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1592,6 +1765,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1599,6 +1773,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1664,6 +1839,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1697,9 +1873,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1725,6 +1902,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1768,19 +1946,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1814,6 +1993,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1897,13 +2077,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1926,6 +2103,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1938,17 +2119,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1973,6 +2159,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -2004,8 +2191,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2082,6 +2280,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2234,6 +2435,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction ) ( void * pUserData , size_t size , size_t alignment , VkSystemAllocationScope allocationScope ) const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4925,6 +5134,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5829,6 +6039,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6610,117 +6827,1125 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR_T = Cvoid +const VkFlags64 = UInt64 -const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} +const VkPrivateDataSlot_T = Cvoid -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = Ptr{VkPrivateDataSlot_T} -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode ) ( VkCommandBuffer commandBuffer , VkCullModeFlags cullMode ) +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace ) ( VkCommandBuffer commandBuffer , VkFrontFace frontFace ) +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology ) ( VkCommandBuffer commandBuffer , VkPrimitiveTopology primitiveTopology ) +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount ) ( VkCommandBuffer commandBuffer , uint32_t viewportCount , const VkViewport * pViewports ) +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount ) ( VkCommandBuffer commandBuffer , uint32_t scissorCount , const VkRect2D * pScissors ) +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 ) ( VkCommandBuffer commandBuffer , uint32_t firstBinding , uint32_t bindingCount , const VkBuffer * pBuffers , const VkDeviceSize * pOffsets , const VkDeviceSize * pSizes , const VkDeviceSize * pStrides ) +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthTestEnable ) +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthWriteEnable ) +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp ) ( VkCommandBuffer commandBuffer , VkCompareOp depthCompareOp ) +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBoundsTestEnable ) +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 stencilTestEnable ) +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp ) ( VkCommandBuffer commandBuffer , VkStencilFaceFlags faceMask , VkStencilOp failOp , VkStencilOp passOp , VkStencilOp depthFailOp , VkCompareOp compareOp ) +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable ) ( VkCommandBuffer commandBuffer , VkBool32 rasterizerDiscardEnable ) +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBiasEnable ) +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable ) ( VkCommandBuffer commandBuffer , VkBool32 primitiveRestartEnable ) +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR_T = Cvoid + +const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end @@ -7117,6 +8342,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8185,6 +9478,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8256,11 +9580,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8356,6 +9676,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR ) ( VkDevice device , VkSwapchainKHR swapchain , uint64_t presentId , uint64_t timeout ) +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8588,6 +9925,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8595,198 +9936,138 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdSetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2KHR stageMask ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) const PFN_vkCmdResetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfoKHR * pDependencyInfos ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) const PFN_vkCmdWaitEvents2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdPipelineBarrier2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkQueryPool queryPool , uint32_t query ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) const PFN_vkCmdWriteTimestamp2KHR = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2KHR * pSubmits , VkFence fence ) +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) const PFN_vkQueueSubmit2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} # typedef void ( VKAPI_PTR * PFN_vkGetQueueCheckpointData2NV ) ( VkQueue queue , uint32_t * pCheckpointDataCount , VkCheckpointData2NV * pCheckpointData ) const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8797,12 +10078,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8812,181 +10095,139 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2KHR * pCopyBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2KHR * pCopyImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) const PFN_vkCmdCopyImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const PFN_vkCmdCopyBufferToImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const PFN_vkCmdCopyImageToBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2KHR * pBlitImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2KHR * pResolveImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT_T = Cvoid @@ -9028,8 +10269,11 @@ const VkDebugReportCallbackEXT = Ptr{VkDebugReportCallbackEXT_T} 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9300,6 +10544,100 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX_T = Cvoid + +const VkCuModuleNVX = Ptr{VkCuModuleNVX_T} + +const VkCuFunctionNVX_T = Cvoid + +const VkCuFunctionNVX = Ptr{VkCuFunctionNVX_T} + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX ) ( VkDevice device , const VkCuModuleCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuModuleNVX * pModule ) +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX ) ( VkDevice device , const VkCuFunctionCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuFunctionNVX * pFunction ) +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX ) ( VkDevice device , VkCuModuleNVX module , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX ) ( VkDevice device , VkCuFunctionNVX function , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX ) ( VkCommandBuffer commandBuffer , const VkCuLaunchInfoNVX * pLaunchInfo ) +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9469,11 +10807,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10089,35 +11423,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10315,6 +11627,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT ) ( VkDevice device , VkImage image , VkImageDrmFormatModifierPropertiesEXT * pProperties ) const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10588,9 +11913,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10610,6 +11936,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10763,10 +12090,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10781,17 +12108,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10976,19 +12323,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11136,27 +12473,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11583,27 +12906,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11685,38 +12992,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags +const VkToolPurposeFlagsEXT = VkToolPurposeFlags -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11738,6 +13028,7 @@ end 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 = 2147483647 end @@ -12129,12 +13420,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV_T = Cvoid const VkIndirectCommandsLayoutNV = Ptr{VkIndirectCommandsLayoutNV_T} @@ -12372,14 +13676,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12434,6 +13731,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , VkDisplayKHR display ) +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , uint32_t connectorId , VkDisplayKHR * display ) +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12469,83 +13788,61 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT_T = Cvoid - -const VkPrivateDataSlotEXT = Ptr{VkPrivateDataSlotEXT_T} +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo -# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlotEXT * pPrivateDataSlot ) +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlotEXT privateDataSlot , const VkAllocationCallbacks * pAllocator ) +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) const PFN_vkDestroyPrivateDataSlotEXT = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t data ) +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t * pData ) +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12623,6 +13920,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12650,11 +14216,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12663,6 +14225,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV ) ( VkPhysicalDevice physicalDevice , VkDisplayKHR display ) const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12709,33 +14285,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ( VkDevice device , VkRenderPass renderpass , VkExtent2D * pMaxWorkgroupSize ) +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI ) ( VkCommandBuffer commandBuffer , VkImageView imageView , VkImageLayout imageLayout ) +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV ) ( VkDevice device , const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo , VkRemoteAddressNV * pAddress ) +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12825,6 +14515,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawInfoEXT * pVertexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride ) +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawIndexedInfoEXT * pIndexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride , const int32_t * pVertexOffset ) +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT ) ( VkDevice device , VkDeviceMemory memory , float priority ) +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ( VkDevice device , const VkDescriptorSetBindingReferenceVALVE * pBindingReference , VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE ) ( VkDevice device , VkDescriptorSet descriptorSet , void * * ppData ) +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR_T = Cvoid const VkAccelerationStructureKHR = Ptr{VkAccelerationStructureKHR_T} @@ -12850,6 +14699,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12889,40 +14739,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13524,9 +15340,11 @@ const VK_USE_64_BIT_PTR_DEFINES = 1 const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13552,8 +15370,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13576,6 +15392,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13606,6 +15426,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13632,9 +15458,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13758,9 +15588,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -13824,9 +15658,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -13858,6 +15696,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -13906,7 +15752,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -13928,6 +15774,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -13952,6 +15804,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -13964,12 +15822,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -13988,6 +15858,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -14054,6 +15936,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14206,9 +16094,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14352,7 +16244,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14530,7 +16422,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14542,9 +16434,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14614,7 +16510,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14684,6 +16580,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14720,6 +16622,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -14768,6 +16676,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -14798,6 +16712,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -14816,6 +16742,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -14828,9 +16790,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/lib/x86_64-w64-mingw32.jl b/lib/x86_64-w64-mingw32.jl index 1c69cc9..99508d1 100644 --- a/lib/x86_64-w64-mingw32.jl +++ b/lib/x86_64-w64-mingw32.jl @@ -170,6 +170,7 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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 @@ -178,18 +179,19 @@ const VkCommandPool = Ptr{VkCommandPool_T} 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_NOT_PERMITTED_KHR = -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 = -1000069000 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = -1000072003 VK_ERROR_FRAGMENTATION_EXT = -1000161000 + VK_ERROR_NOT_PERMITTED_EXT = -1000174001 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000257000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = -1000257000 + VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000 VK_RESULT_MAX_ENUM = 2147483647 end @@ -359,6 +361,58 @@ end 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 @@ -386,9 +440,16 @@ end 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_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 + 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 @@ -398,7 +459,6 @@ end 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 @@ -470,10 +530,7 @@ end 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_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_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 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 @@ -512,6 +569,7 @@ end 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_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 @@ -533,7 +591,6 @@ end 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 @@ -541,12 +598,14 @@ end 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_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 + VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 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 @@ -567,14 +626,10 @@ end 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 @@ -590,8 +645,8 @@ end 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 @@ -619,7 +674,7 @@ end 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_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 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 @@ -631,7 +686,6 @@ end 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_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 @@ -643,62 +697,85 @@ end 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_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_PRESENT_ID_KHR = 1000294000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 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_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 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_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_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_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 + VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = 1000120000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = 1000063000 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = 1000011000 + 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_ATTACHMENT_SAMPLE_COUNT_INFO_NV = 1000044008 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002 @@ -718,6 +795,7 @@ end VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = 1000060006 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = 1000060014 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = 1000071000 @@ -760,6 +838,10 @@ end VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = 1000127001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = 1000130001 + 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_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = 1000146002 @@ -781,9 +863,11 @@ end VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = 1000168001 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = 1000177000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = 1000180000 + VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = 1000199000 @@ -796,12 +880,17 @@ end VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = 1000207005 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = 1000221000 + 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_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = 1000246000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = 1000257000 @@ -810,6 +899,42 @@ end VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = 1000261000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000 + 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_PROPERTIES_EXT = 1000281001 + 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_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_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000 + 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_FORMAT_PROPERTIES_3_KHR = 1000360000 + 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_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_MAX_ENUM = 2147483647 end @@ -829,19 +954,21 @@ end 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_SHARED_PRESENT_KHR = 1000111000 - VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 - VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 - VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 + VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000117001 - VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 + VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = 1000241003 + VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000 + VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001 VK_IMAGE_LAYOUT_MAX_ENUM = 2147483647 end @@ -874,11 +1001,14 @@ end 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_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 @@ -886,12 +1016,18 @@ end 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 = 1000085000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = 1000156000 + VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000 VK_OBJECT_TYPE_MAX_ENUM = 2147483647 end +@cenum VkPipelineCacheHeaderVersion::UInt32 begin + VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 + VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 +end + @cenum VkVendorId::UInt32 begin VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 @@ -902,11 +1038,6 @@ end VK_VENDOR_ID_MAX_ENUM = 2147483647 end -@cenum VkPipelineCacheHeaderVersion::UInt32 begin - VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1 - VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 2147483647 -end - @cenum VkSystemAllocationScope::UInt32 begin VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1 @@ -1141,6 +1272,26 @@ end 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 @@ -1163,12 +1314,6 @@ end 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_G8B8G8R8_422_UNORM_KHR = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = 1000156002 @@ -1203,6 +1348,12 @@ end VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = 1000156033 + 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_MAX_ENUM = 2147483647 end @@ -1370,6 +1521,21 @@ end 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 @@ -1379,6 +1545,10 @@ end 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_VERTEX_INPUT_EXT = 1000352000 + VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 + VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 + VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002 @@ -1391,13 +1561,9 @@ end 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_MAX_ENUM = 2147483647 end @@ -1516,10 +1682,11 @@ end 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 = 1000138000 VK_DESCRIPTOR_TYPE_MAX_ENUM = 2147483647 end @@ -1527,13 +1694,17 @@ end 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 = 2147483647 end @cenum VkAttachmentStoreOp::UInt32 begin VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 + VK_ATTACHMENT_STORE_OP_NONE = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_KHR = 1000301000 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000 + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 2147483647 end @@ -1541,6 +1712,7 @@ end 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 = 1000165000 VK_PIPELINE_BIND_POINT_MAX_ENUM = 2147483647 end @@ -1584,6 +1756,7 @@ end VK_ACCESS_HOST_WRITE_BIT = 16384 VK_ACCESS_MEMORY_READ_BIT = 32768 VK_ACCESS_MEMORY_WRITE_BIT = 65536 + VK_ACCESS_NONE = 0 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728 @@ -1591,14 +1764,14 @@ end VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304 - VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216 + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144 - VK_ACCESS_NONE_KHR = 0 + VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 8388608 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = 2097152 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 4194304 - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608 + VK_ACCESS_NONE_KHR = 0 VK_ACCESS_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1612,6 +1785,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT = 16 VK_IMAGE_ASPECT_PLANE_1_BIT = 32 VK_IMAGE_ASPECT_PLANE_2_BIT = 64 + VK_IMAGE_ASPECT_NONE = 0 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512 @@ -1619,6 +1793,7 @@ const VkAccessFlags = VkFlags VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = 16 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = 32 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = 64 + VK_IMAGE_ASPECT_NONE_KHR = 0 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1684,6 +1859,7 @@ const VkFormatFeatureFlags = VkFlags VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384 + VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 64 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = 32 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = 128 @@ -1717,9 +1893,10 @@ const VkSampleCountFlags = VkFlags VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128 - VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256 + VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144 + VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 256 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1745,6 +1922,7 @@ const VkMemoryHeapFlags = VkFlags VK_MEMORY_PROPERTY_PROTECTED_BIT = 32 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128 + VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1788,19 +1966,20 @@ const VkDeviceQueueCreateFlags = VkFlags VK_PIPELINE_STAGE_HOST_BIT = 16384 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536 + VK_PIPELINE_STAGE_NONE = 0 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152 - VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 524288 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 1048576 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608 + VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072 - VK_PIPELINE_STAGE_NONE_KHR = 0 + VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 4194304 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = 2097152 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 33554432 - VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304 + VK_PIPELINE_STAGE_NONE_KHR = 0 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1834,6 +2013,7 @@ const VkFenceCreateFlags = VkFlags const VkSemaphoreCreateFlags = VkFlags @cenum VkEventCreateFlagBits::UInt32 begin + VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 1 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1917,13 +2097,10 @@ end const VkImageViewCreateFlags = VkFlags -@cenum VkShaderModuleCreateFlagBits::UInt32 begin - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 -end - const VkShaderModuleCreateFlags = VkFlags @cenum VkPipelineCacheCreateFlagBits::UInt32 begin + VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 1 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -1946,6 +2123,10 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536 @@ -1958,17 +2139,22 @@ const VkColorComponentFlags = VkFlags VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048 - VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 - VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 + VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576 VK_PIPELINE_CREATE_DISPATCH_BASE = 16 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152 + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 8 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = 16 + VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 256 + VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 512 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 end const VkPipelineCreateFlags = VkFlags @cenum VkPipelineShaderStageCreateFlagBits::UInt32 begin + VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1 + VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 1 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 2 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 @@ -1993,6 +2179,7 @@ const VkPipelineShaderStageCreateFlags = VkFlags VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192 VK_SHADER_STAGE_TASK_BIT_NV = 64 VK_SHADER_STAGE_MESH_BIT_NV = 128 + VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384 VK_SHADER_STAGE_RAYGEN_BIT_NV = 256 VK_SHADER_STAGE_ANY_HIT_BIT_NV = 512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = 1024 @@ -2024,8 +2211,19 @@ const VkPipelineRasterizationStateCreateFlags = VkFlags const VkPipelineMultisampleStateCreateFlags = VkFlags +@cenum VkPipelineDepthStencilStateCreateFlagBits::UInt32 begin + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 1 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 2 + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineDepthStencilStateCreateFlags = VkFlags +@cenum VkPipelineColorBlendStateCreateFlagBits::UInt32 begin + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 1 + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 2147483647 +end + const VkPipelineColorBlendStateCreateFlags = VkFlags const VkPipelineDynamicStateCreateFlags = VkFlags @@ -2102,6 +2300,9 @@ const VkRenderPassCreateFlags = VkFlags VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 16 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 32 + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 64 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 2147483647 end @@ -2254,6 +2455,14 @@ struct VkMemoryBarrier dstAccessMask::VkAccessFlags end +struct VkPipelineCacheHeaderVersionOne + headerSize::UInt32 + headerVersion::VkPipelineCacheHeaderVersion + vendorID::UInt32 + deviceID::UInt32 + pipelineCacheUUID::NTuple{16, UInt8} +end + # typedef void * ( VKAPI_PTR * PFN_vkAllocationFunction ) ( void * pUserData , size_t size , size_t alignment , VkSystemAllocationScope allocationScope ) const PFN_vkAllocationFunction = Ptr{Cvoid} @@ -4945,6 +5154,7 @@ const VkDescriptorUpdateTemplateCreateFlags = VkFlags VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = 1 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = 2 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = 4 @@ -5849,6 +6059,13 @@ end 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_MESA_VENUS = 22 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = 2 VK_DRIVER_ID_MESA_RADV_KHR = 3 @@ -6630,117 +6847,1125 @@ function vkGetDeviceMemoryOpaqueCaptureAddress(device, pInfo, fptr) ccall(fptr, UInt64, (VkDevice, Ptr{VkDeviceMemoryOpaqueCaptureAddressInfo}), device, pInfo) end -const VkSurfaceKHR_T = Cvoid +const VkFlags64 = UInt64 -const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} +const VkPrivateDataSlot_T = Cvoid -@cenum VkPresentModeKHR::UInt32 begin - 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 = 2147483647 -end +const VkPrivateDataSlot = Ptr{VkPrivateDataSlot_T} -@cenum VkColorSpaceKHR::UInt32 begin - 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 = 0 - VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 - VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +@cenum VkPipelineCreationFeedbackFlagBits::UInt32 begin + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4 + VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 + VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 + VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 + VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 2147483647 end -@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin - VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 - VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 - VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 - VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 - VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 - VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 - VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end +const VkPipelineCreationFeedbackFlags = VkFlags -@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin - VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 - VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 - VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 - VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 - VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +@cenum VkToolPurposeFlagBits::UInt32 begin + VK_TOOL_PURPOSE_VALIDATION_BIT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT = 2 + VK_TOOL_PURPOSE_TRACING_BIT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16 + VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 + VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 + VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 + VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 + VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 + VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 + VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 + VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 2147483647 end -const VkCompositeAlphaFlagsKHR = VkFlags - -const VkSurfaceTransformFlagsKHR = VkFlags +const VkToolPurposeFlags = VkFlags -struct VkSurfaceCapabilitiesKHR - minImageCount::UInt32 - maxImageCount::UInt32 - currentExtent::VkExtent2D - minImageExtent::VkExtent2D - maxImageExtent::VkExtent2D - maxImageArrayLayers::UInt32 - supportedTransforms::VkSurfaceTransformFlagsKHR - currentTransform::VkSurfaceTransformFlagBitsKHR - supportedCompositeAlpha::VkCompositeAlphaFlagsKHR - supportedUsageFlags::VkImageUsageFlags -end +const VkPrivateDataSlotCreateFlags = VkFlags -struct VkSurfaceFormatKHR - format::VkFormat - colorSpace::VkColorSpaceKHR -end +const VkPipelineStageFlags2 = VkFlags64 -# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) -const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} +const VkPipelineStageFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) -const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} +const VkAccessFlags2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) -const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} +const VkAccessFlagBits2 = VkFlags64 -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) -const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} +@cenum VkSubmitFlagBits::UInt32 begin + VK_SUBMIT_PROTECTED_BIT = 1 + VK_SUBMIT_PROTECTED_BIT_KHR = 1 + VK_SUBMIT_FLAG_BITS_MAX_ENUM = 2147483647 +end -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) -const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} +const VkSubmitFlags = VkFlags -function vkDestroySurfaceKHR(instance, surface, pAllocator) - ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +@cenum VkRenderingFlagBits::UInt32 begin + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1 + VK_RENDERING_SUSPENDING_BIT = 2 + VK_RENDERING_RESUMING_BIT = 4 + VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 1 + VK_RENDERING_SUSPENDING_BIT_KHR = 2 + VK_RENDERING_RESUMING_BIT_KHR = 4 + VK_RENDERING_FLAG_BITS_MAX_ENUM = 2147483647 end -function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) - ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) -end +const VkRenderingFlags = VkFlags -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) - ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlags2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) -end +const VkFormatFeatureFlagBits2 = VkFlags64 -function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) +struct VkPhysicalDeviceVulkan13Features + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceVulkan13Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 + maxInlineUniformTotalSize::UInt32 + 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::VkBool32 + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 + maxBufferSize::VkDeviceSize +end + +struct VkPipelineCreationFeedback + flags::VkPipelineCreationFeedbackFlags + duration::UInt64 +end + +struct VkPipelineCreationFeedbackCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedback} + pipelineStageCreationFeedbackCount::UInt32 + pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedback} +end + +struct VkPhysicalDeviceShaderTerminateInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderTerminateInvocation::VkBool32 +end + +struct VkPhysicalDeviceToolProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + name::NTuple{256, Cchar} + version::NTuple{256, Cchar} + purposes::VkToolPurposeFlags + description::NTuple{256, Cchar} + layer::NTuple{256, Cchar} +end + +struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderDemoteToHelperInvocation::VkBool32 +end + +struct VkPhysicalDevicePrivateDataFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + privateData::VkBool32 +end + +struct VkDevicePrivateDataCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + privateDataSlotRequestCount::UInt32 +end + +struct VkPrivateDataSlotCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkPrivateDataSlotCreateFlags +end + +struct VkPhysicalDevicePipelineCreationCacheControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + pipelineCreationCacheControl::VkBool32 +end + +struct VkMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 +end + +struct VkBufferMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + buffer::VkBuffer + offset::VkDeviceSize + size::VkDeviceSize +end + +struct VkImageMemoryBarrier2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcStageMask::VkPipelineStageFlags2 + srcAccessMask::VkAccessFlags2 + dstStageMask::VkPipelineStageFlags2 + dstAccessMask::VkAccessFlags2 + oldLayout::VkImageLayout + newLayout::VkImageLayout + srcQueueFamilyIndex::UInt32 + dstQueueFamilyIndex::UInt32 + image::VkImage + subresourceRange::VkImageSubresourceRange +end + +struct VkDependencyInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + dependencyFlags::VkDependencyFlags + memoryBarrierCount::UInt32 + pMemoryBarriers::Ptr{VkMemoryBarrier2} + bufferMemoryBarrierCount::UInt32 + pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2} + imageMemoryBarrierCount::UInt32 + pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2} +end + +struct VkSemaphoreSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + semaphore::VkSemaphore + value::UInt64 + stageMask::VkPipelineStageFlags2 + deviceIndex::UInt32 +end + +struct VkCommandBufferSubmitInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + commandBuffer::VkCommandBuffer + deviceMask::UInt32 +end + +struct VkSubmitInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkSubmitFlags + waitSemaphoreInfoCount::UInt32 + pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} + commandBufferInfoCount::UInt32 + pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfo} + signalSemaphoreInfoCount::UInt32 + pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfo} +end + +struct VkPhysicalDeviceSynchronization2Features + sType::VkStructureType + pNext::Ptr{Cvoid} + synchronization2::VkBool32 +end + +struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderZeroInitializeWorkgroupMemory::VkBool32 +end + +struct VkPhysicalDeviceImageRobustnessFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + robustImageAccess::VkBool32 +end + +struct VkBufferCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcOffset::VkDeviceSize + dstOffset::VkDeviceSize + size::VkDeviceSize +end + +struct VkCopyBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferCopy2} +end + +struct VkImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkCopyImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageCopy2} +end + +struct VkBufferImageCopy2 + sType::VkStructureType + pNext::Ptr{Cvoid} + bufferOffset::VkDeviceSize + bufferRowLength::UInt32 + bufferImageHeight::UInt32 + imageSubresource::VkImageSubresourceLayers + imageOffset::VkOffset3D + imageExtent::VkExtent3D +end + +struct VkCopyBufferToImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcBuffer::VkBuffer + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkCopyImageToBufferInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstBuffer::VkBuffer + regionCount::UInt32 + pRegions::Ptr{VkBufferImageCopy2} +end + +struct VkImageBlit2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffsets::NTuple{2, VkOffset3D} + dstSubresource::VkImageSubresourceLayers + dstOffsets::NTuple{2, VkOffset3D} +end + +struct VkBlitImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageBlit2} + filter::VkFilter +end + +struct VkImageResolve2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcSubresource::VkImageSubresourceLayers + srcOffset::VkOffset3D + dstSubresource::VkImageSubresourceLayers + dstOffset::VkOffset3D + extent::VkExtent3D +end + +struct VkResolveImageInfo2 + sType::VkStructureType + pNext::Ptr{Cvoid} + srcImage::VkImage + srcImageLayout::VkImageLayout + dstImage::VkImage + dstImageLayout::VkImageLayout + regionCount::UInt32 + pRegions::Ptr{VkImageResolve2} +end + +struct VkPhysicalDeviceSubgroupSizeControlFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + subgroupSizeControl::VkBool32 + computeFullSubgroups::VkBool32 +end + +struct VkPhysicalDeviceSubgroupSizeControlProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + minSubgroupSize::UInt32 + maxSubgroupSize::UInt32 + maxComputeWorkgroupSubgroups::UInt32 + requiredSubgroupSizeStages::VkShaderStageFlags +end + +struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + requiredSubgroupSize::UInt32 +end + +struct VkPhysicalDeviceInlineUniformBlockFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + inlineUniformBlock::VkBool32 + descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 +end + +struct VkPhysicalDeviceInlineUniformBlockProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockSize::UInt32 + maxPerStageDescriptorInlineUniformBlocks::UInt32 + maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 + maxDescriptorSetInlineUniformBlocks::UInt32 + maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 +end + +struct VkWriteDescriptorSetInlineUniformBlock + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::UInt32 + pData::Ptr{Cvoid} +end + +struct VkDescriptorPoolInlineUniformBlockCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInlineUniformBlockBindings::UInt32 +end + +struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + textureCompressionASTC_HDR::VkBool32 +end + +struct VkRenderingAttachmentInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + resolveMode::VkResolveModeFlagBits + resolveImageView::VkImageView + resolveImageLayout::VkImageLayout + loadOp::VkAttachmentLoadOp + storeOp::VkAttachmentStoreOp + clearValue::VkClearValue +end + +struct VkRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + renderArea::VkRect2D + layerCount::UInt32 + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachments::Ptr{VkRenderingAttachmentInfo} + pDepthAttachment::Ptr{VkRenderingAttachmentInfo} + pStencilAttachment::Ptr{VkRenderingAttachmentInfo} +end + +struct VkPipelineRenderingCreateInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat +end + +struct VkPhysicalDeviceDynamicRenderingFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + dynamicRendering::VkBool32 +end + +struct VkCommandBufferInheritanceRenderingInfo + sType::VkStructureType + pNext::Ptr{Cvoid} + flags::VkRenderingFlags + viewMask::UInt32 + colorAttachmentCount::UInt32 + pColorAttachmentFormats::Ptr{VkFormat} + depthAttachmentFormat::VkFormat + stencilAttachmentFormat::VkFormat + rasterizationSamples::VkSampleCountFlagBits +end + +struct VkPhysicalDeviceShaderIntegerDotProductFeatures + sType::VkStructureType + pNext::Ptr{Cvoid} + shaderIntegerDotProduct::VkBool32 +end + +struct VkPhysicalDeviceShaderIntegerDotProductProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + 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::VkBool32 +end + +struct VkPhysicalDeviceTexelBufferAlignmentProperties + sType::VkStructureType + pNext::Ptr{Cvoid} + storageTexelBufferOffsetAlignmentBytes::VkDeviceSize + storageTexelBufferOffsetSingleTexelAlignment::VkBool32 + uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize + uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 +end + +struct VkFormatProperties3 + sType::VkStructureType + pNext::Ptr{Cvoid} + linearTilingFeatures::VkFormatFeatureFlags2 + optimalTilingFeatures::VkFormatFeatureFlags2 + bufferFeatures::VkFormatFeatureFlags2 +end + +struct VkPhysicalDeviceMaintenance4Features + sType::VkStructureType + pNext::Ptr{Cvoid} + maintenance4::VkBool32 +end + +struct VkPhysicalDeviceMaintenance4Properties + sType::VkStructureType + pNext::Ptr{Cvoid} + maxBufferSize::VkDeviceSize +end + +struct VkDeviceBufferMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkBufferCreateInfo} +end + +struct VkDeviceImageMemoryRequirements + sType::VkStructureType + pNext::Ptr{Cvoid} + pCreateInfo::Ptr{VkImageCreateInfo} + planeAspect::VkImageAspectFlagBits +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolProperties ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) +const PFN_vkGetPhysicalDeviceToolProperties = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlot ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) +const PFN_vkCreatePrivateDataSlot = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlot ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyPrivateDataSlot = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) +const PFN_vkSetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateData ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) +const PFN_vkGetPrivateData = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdSetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2 ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) +const PFN_vkCmdResetEvent2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2 ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) +const PFN_vkCmdWaitEvents2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2 ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) +const PFN_vkCmdPipelineBarrier2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2 ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) +const PFN_vkCmdWriteTimestamp2 = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2 ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) +const PFN_vkQueueSubmit2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) +const PFN_vkCmdCopyBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) +const PFN_vkCmdCopyImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2 ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) +const PFN_vkCmdCopyBufferToImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2 ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) +const PFN_vkCmdCopyImageToBuffer2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2 ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) +const PFN_vkCmdBlitImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2 ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) +const PFN_vkCmdResolveImage2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRendering ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRendering ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRendering = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetCullMode ) ( VkCommandBuffer commandBuffer , VkCullModeFlags cullMode ) +const PFN_vkCmdSetCullMode = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetFrontFace ) ( VkCommandBuffer commandBuffer , VkFrontFace frontFace ) +const PFN_vkCmdSetFrontFace = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveTopology ) ( VkCommandBuffer commandBuffer , VkPrimitiveTopology primitiveTopology ) +const PFN_vkCmdSetPrimitiveTopology = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetViewportWithCount ) ( VkCommandBuffer commandBuffer , uint32_t viewportCount , const VkViewport * pViewports ) +const PFN_vkCmdSetViewportWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetScissorWithCount ) ( VkCommandBuffer commandBuffer , uint32_t scissorCount , const VkRect2D * pScissors ) +const PFN_vkCmdSetScissorWithCount = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindVertexBuffers2 ) ( VkCommandBuffer commandBuffer , uint32_t firstBinding , uint32_t bindingCount , const VkBuffer * pBuffers , const VkDeviceSize * pOffsets , const VkDeviceSize * pSizes , const VkDeviceSize * pStrides ) +const PFN_vkCmdBindVertexBuffers2 = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthTestEnable ) +const PFN_vkCmdSetDepthTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthWriteEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthWriteEnable ) +const PFN_vkCmdSetDepthWriteEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthCompareOp ) ( VkCommandBuffer commandBuffer , VkCompareOp depthCompareOp ) +const PFN_vkCmdSetDepthCompareOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBoundsTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBoundsTestEnable ) +const PFN_vkCmdSetDepthBoundsTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilTestEnable ) ( VkCommandBuffer commandBuffer , VkBool32 stencilTestEnable ) +const PFN_vkCmdSetStencilTestEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetStencilOp ) ( VkCommandBuffer commandBuffer , VkStencilFaceFlags faceMask , VkStencilOp failOp , VkStencilOp passOp , VkStencilOp depthFailOp , VkCompareOp compareOp ) +const PFN_vkCmdSetStencilOp = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetRasterizerDiscardEnable ) ( VkCommandBuffer commandBuffer , VkBool32 rasterizerDiscardEnable ) +const PFN_vkCmdSetRasterizerDiscardEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetDepthBiasEnable ) ( VkCommandBuffer commandBuffer , VkBool32 depthBiasEnable ) +const PFN_vkCmdSetDepthBiasEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetPrimitiveRestartEnable ) ( VkCommandBuffer commandBuffer , VkBool32 primitiveRestartEnable ) +const PFN_vkCmdSetPrimitiveRestartEnable = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirements ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirements = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirements ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirements = Ptr{Cvoid} + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolProperties, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkGetPhysicalDeviceToolProperties(physicalDevice, pToolCount, pToolProperties, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlot, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkCreatePrivateDataSlot(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlot, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkDestroyPrivateDataSlot(device, privateDataSlot, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateData, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkSetPrivateData(device, objectType, objectHandle, privateDataSlot, data, fptr) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateData, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkGetPrivateData(device, objectType, objectHandle, privateDataSlot, pData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdSetEvent2(commandBuffer, event, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdResetEvent2(commandBuffer, event, stageMask, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdWaitEvents2(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdPipelineBarrier2(commandBuffer, pDependencyInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkCmdWriteTimestamp2(commandBuffer, stage, queryPool, query, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkQueueSubmit2(queue, submitCount, pSubmits, fence, fptr) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyBuffer2(commandBuffer, pCopyBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyImage2(commandBuffer, pCopyImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyBufferToImage2(commandBuffer, pCopyBufferToImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdCopyImageToBuffer2(commandBuffer, pCopyImageToBufferInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdBlitImage2(commandBuffer, pBlitImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdResolveImage2(commandBuffer, pResolveImageInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRendering, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRendering(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRendering(commandBuffer) + ccall((:vkCmdEndRendering, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRendering(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSetCullMode(commandBuffer, cullMode) + ccall((:vkCmdSetCullMode, libvulkan), Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetCullMode(commandBuffer, cullMode, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCullModeFlags), commandBuffer, cullMode) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace) + ccall((:vkCmdSetFrontFace, libvulkan), Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetFrontFace(commandBuffer, frontFace, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkFrontFace), commandBuffer, frontFace) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology) + ccall((:vkCmdSetPrimitiveTopology, libvulkan), Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetPrimitiveTopology(commandBuffer, primitiveTopology, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPrimitiveTopology), commandBuffer, primitiveTopology) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports) + ccall((:vkCmdSetViewportWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetViewportWithCount(commandBuffer, viewportCount, pViewports, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkViewport}), commandBuffer, viewportCount, pViewports) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors) + ccall((:vkCmdSetScissorWithCount, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdSetScissorWithCount(commandBuffer, scissorCount, pScissors, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkRect2D}), commandBuffer, scissorCount, pScissors) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) + ccall((:vkCmdBindVertexBuffers2, libvulkan), Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdBindVertexBuffers2(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, Ptr{VkBuffer}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}, Ptr{VkDeviceSize}), commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable) + ccall((:vkCmdSetDepthTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthTestEnable(commandBuffer, depthTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthTestEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable) + ccall((:vkCmdSetDepthWriteEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthWriteEnable(commandBuffer, depthWriteEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthWriteEnable) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp) + ccall((:vkCmdSetDepthCompareOp, libvulkan), Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthCompareOp(commandBuffer, depthCompareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkCompareOp), commandBuffer, depthCompareOp) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable) + ccall((:vkCmdSetDepthBoundsTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetDepthBoundsTestEnable(commandBuffer, depthBoundsTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBoundsTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable) + ccall((:vkCmdSetStencilTestEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilTestEnable(commandBuffer, stencilTestEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, stencilTestEnable) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) + ccall((:vkCmdSetStencilOp, libvulkan), Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetStencilOp(commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable) + ccall((:vkCmdSetRasterizerDiscardEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetRasterizerDiscardEnable(commandBuffer, rasterizerDiscardEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, rasterizerDiscardEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable) + ccall((:vkCmdSetDepthBiasEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetDepthBiasEnable(commandBuffer, depthBiasEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, depthBiasEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable) + ccall((:vkCmdSetPrimitiveRestartEnable, libvulkan), Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkCmdSetPrimitiveRestartEnable(commandBuffer, primitiveRestartEnable, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkBool32), commandBuffer, primitiveRestartEnable) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirements(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirements, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirements(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +const VkSurfaceKHR_T = Cvoid + +const VkSurfaceKHR = Ptr{VkSurfaceKHR_T} + +@cenum VkPresentModeKHR::UInt32 begin + 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 = 2147483647 +end + +@cenum VkColorSpaceKHR::UInt32 begin + 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 = 0 + VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = 1000104003 + VK_COLOR_SPACE_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkSurfaceTransformFlagBitsKHR::UInt32 begin + VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1 + VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2 + VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4 + VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64 + VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128 + VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256 + VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +@cenum VkCompositeAlphaFlagBitsKHR::UInt32 begin + VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1 + VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2 + VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4 + VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8 + VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 2147483647 +end + +const VkCompositeAlphaFlagsKHR = VkFlags + +const VkSurfaceTransformFlagsKHR = VkFlags + +struct VkSurfaceCapabilitiesKHR + minImageCount::UInt32 + maxImageCount::UInt32 + currentExtent::VkExtent2D + minImageExtent::VkExtent2D + maxImageExtent::VkExtent2D + maxImageArrayLayers::UInt32 + supportedTransforms::VkSurfaceTransformFlagsKHR + currentTransform::VkSurfaceTransformFlagBitsKHR + supportedCompositeAlpha::VkCompositeAlphaFlagsKHR + supportedUsageFlags::VkImageUsageFlags +end + +struct VkSurfaceFormatKHR + format::VkFormat + colorSpace::VkColorSpaceKHR +end + +# typedef void ( VKAPI_PTR * PFN_vkDestroySurfaceKHR ) ( VkInstance instance , VkSurfaceKHR surface , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroySurfaceKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceSupportKHR ) ( VkPhysicalDevice physicalDevice , uint32_t queueFamilyIndex , VkSurfaceKHR surface , VkBool32 * pSupported ) +const PFN_vkGetPhysicalDeviceSurfaceSupportKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) +const PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfaceFormatsKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pSurfaceFormatCount , VkSurfaceFormatKHR * pSurfaceFormats ) +const PFN_vkGetPhysicalDeviceSurfaceFormatsKHR = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModesKHR ) ( VkPhysicalDevice physicalDevice , VkSurfaceKHR surface , uint32_t * pPresentModeCount , VkPresentModeKHR * pPresentModes ) +const PFN_vkGetPhysicalDeviceSurfacePresentModesKHR = Ptr{Cvoid} + +function vkDestroySurfaceKHR(instance, surface, pAllocator) + ccall((:vkDestroySurfaceKHR, libvulkan), Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkDestroySurfaceKHR(instance, surface, pAllocator, fptr) + ccall(fptr, Cvoid, (VkInstance, VkSurfaceKHR, Ptr{VkAllocationCallbacks}), instance, surface, pAllocator) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported) + ccall((:vkGetPhysicalDeviceSurfaceSupportKHR, libvulkan), VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, UInt32, VkSurfaceKHR, Ptr{VkBool32}), physicalDevice, queueFamilyIndex, surface, pSupported) +end + +function vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities) ccall((:vkGetPhysicalDeviceSurfaceCapabilitiesKHR, libvulkan), VkResult, (VkPhysicalDevice, VkSurfaceKHR, Ptr{VkSurfaceCapabilitiesKHR}), physicalDevice, surface, pSurfaceCapabilities) end @@ -7137,6 +8362,74 @@ function vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllo ccall(fptr, VkResult, (VkDevice, UInt32, Ptr{VkSwapchainCreateInfoKHR}, Ptr{VkAllocationCallbacks}, Ptr{VkSwapchainKHR}), device, swapchainCount, pCreateInfos, pAllocator, pSwapchains) end +const VkRenderingFlagsKHR = VkRenderingFlags + +const VkRenderingFlagBitsKHR = VkRenderingFlagBits + +const VkRenderingInfoKHR = VkRenderingInfo + +const VkRenderingAttachmentInfoKHR = VkRenderingAttachmentInfo + +const VkPipelineRenderingCreateInfoKHR = VkPipelineRenderingCreateInfo + +const VkPhysicalDeviceDynamicRenderingFeaturesKHR = VkPhysicalDeviceDynamicRenderingFeatures + +const VkCommandBufferInheritanceRenderingInfoKHR = VkCommandBufferInheritanceRenderingInfo + +struct VkRenderingFragmentShadingRateAttachmentInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout + shadingRateAttachmentTexelSize::VkExtent2D +end + +struct VkRenderingFragmentDensityMapAttachmentInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + imageView::VkImageView + imageLayout::VkImageLayout +end + +struct VkAttachmentSampleCountInfoAMD + sType::VkStructureType + pNext::Ptr{Cvoid} + colorAttachmentCount::UInt32 + pColorAttachmentSamples::Ptr{VkSampleCountFlagBits} + depthStencilAttachmentSamples::VkSampleCountFlagBits +end + +const VkAttachmentSampleCountInfoNV = VkAttachmentSampleCountInfoAMD + +struct VkMultiviewPerViewAttributesInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + perViewAttributes::VkBool32 + perViewAttributesPositionXOnly::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBeginRenderingKHR ) ( VkCommandBuffer commandBuffer , const VkRenderingInfo * pRenderingInfo ) +const PFN_vkCmdBeginRenderingKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdEndRenderingKHR ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdEndRenderingKHR = Ptr{Cvoid} + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo) + ccall((:vkCmdBeginRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdBeginRenderingKHR(commandBuffer, pRenderingInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkRenderingInfo}), commandBuffer, pRenderingInfo) +end + +function vkCmdEndRenderingKHR(commandBuffer) + ccall((:vkCmdEndRenderingKHR, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdEndRenderingKHR(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + const VkRenderPassMultiviewCreateInfoKHR = VkRenderPassMultiviewCreateInfo const VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures @@ -8205,6 +9498,37 @@ struct VkPhysicalDeviceShaderClockFeaturesKHR shaderDeviceClock::VkBool32 end +@cenum VkQueueGlobalPriorityKHR::UInt32 begin + VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 + VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 + VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 + VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 + 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_KHR = 2147483647 +end + +struct VkDeviceQueueGlobalPriorityCreateInfoKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriority::VkQueueGlobalPriorityKHR +end + +struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + globalPriorityQuery::VkBool32 +end + +struct VkQueueFamilyGlobalPriorityPropertiesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + priorityCount::UInt32 + priorities::NTuple{16, VkQueueGlobalPriorityKHR} +end + const VkDriverIdKHR = VkDriverId const VkConformanceVersionKHR = VkConformanceVersion @@ -8276,11 +9600,7 @@ end const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = VkPhysicalDeviceVulkanMemoryModelFeatures -struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - shaderTerminateInvocation::VkBool32 -end +const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR = VkPhysicalDeviceShaderTerminateInvocationFeatures @cenum VkFragmentShadingRateCombinerOpKHR::UInt32 begin VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 @@ -8376,6 +9696,23 @@ const VkAttachmentReferenceStencilLayoutKHR = VkAttachmentReferenceStencilLayout const VkAttachmentDescriptionStencilLayoutKHR = VkAttachmentDescriptionStencilLayout +struct VkPhysicalDevicePresentWaitFeaturesKHR + sType::VkStructureType + pNext::Ptr{Cvoid} + presentWait::VkBool32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkWaitForPresentKHR ) ( VkDevice device , VkSwapchainKHR swapchain , uint64_t presentId , uint64_t timeout ) +const PFN_vkWaitForPresentKHR = Ptr{Cvoid} + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout) + ccall((:vkWaitForPresentKHR, libvulkan), VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + +function vkWaitForPresentKHR(device, swapchain, presentId, timeout, fptr) + ccall(fptr, VkResult, (VkDevice, VkSwapchainKHR, UInt64, UInt64), device, swapchain, presentId, timeout) +end + const VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = VkPhysicalDeviceUniformBufferStandardLayoutFeatures const VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = VkPhysicalDeviceBufferDeviceAddressFeatures @@ -8608,6 +9945,10 @@ function vkGetPipelineExecutableInternalRepresentationsKHR(device, pExecutableIn ccall(fptr, VkResult, (VkDevice, Ptr{VkPipelineExecutableInfoKHR}, Ptr{UInt32}, Ptr{VkPipelineExecutableInternalRepresentationKHR}), device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations) end +const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR = VkPhysicalDeviceShaderIntegerDotProductFeatures + +const VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR = VkPhysicalDeviceShaderIntegerDotProductProperties + struct VkPipelineLibraryCreateInfoKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8615,198 +9956,138 @@ struct VkPipelineLibraryCreateInfoKHR pLibraries::Ptr{VkPipeline} end -const VkFlags64 = UInt64 - -const VkPipelineStageFlags2KHR = VkFlags64 - -const VkPipelineStageFlagBits2KHR = VkFlags64 - -const VkAccessFlags2KHR = VkFlags64 - -const VkAccessFlagBits2KHR = VkFlags64 - -@cenum VkSubmitFlagBitsKHR::UInt32 begin - VK_SUBMIT_PROTECTED_BIT_KHR = 1 - VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 2147483647 -end - -const VkSubmitFlagsKHR = VkFlags - -struct VkMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR -end - -struct VkBufferMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - buffer::VkBuffer - offset::VkDeviceSize - size::VkDeviceSize -end - -struct VkImageMemoryBarrier2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcStageMask::VkPipelineStageFlags2KHR - srcAccessMask::VkAccessFlags2KHR - dstStageMask::VkPipelineStageFlags2KHR - dstAccessMask::VkAccessFlags2KHR - oldLayout::VkImageLayout - newLayout::VkImageLayout - srcQueueFamilyIndex::UInt32 - dstQueueFamilyIndex::UInt32 - image::VkImage - subresourceRange::VkImageSubresourceRange -end - -struct VkDependencyInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - dependencyFlags::VkDependencyFlags - memoryBarrierCount::UInt32 - pMemoryBarriers::Ptr{VkMemoryBarrier2KHR} - bufferMemoryBarrierCount::UInt32 - pBufferMemoryBarriers::Ptr{VkBufferMemoryBarrier2KHR} - imageMemoryBarrierCount::UInt32 - pImageMemoryBarriers::Ptr{VkImageMemoryBarrier2KHR} -end - -struct VkSemaphoreSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - semaphore::VkSemaphore - value::UInt64 - stageMask::VkPipelineStageFlags2KHR - deviceIndex::UInt32 -end - -struct VkCommandBufferSubmitInfoKHR - sType::VkStructureType - pNext::Ptr{Cvoid} - commandBuffer::VkCommandBuffer - deviceMask::UInt32 -end - -struct VkSubmitInfo2KHR +struct VkPresentIdKHR sType::VkStructureType pNext::Ptr{Cvoid} - flags::VkSubmitFlagsKHR - waitSemaphoreInfoCount::UInt32 - pWaitSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} - commandBufferInfoCount::UInt32 - pCommandBufferInfos::Ptr{VkCommandBufferSubmitInfoKHR} - signalSemaphoreInfoCount::UInt32 - pSignalSemaphoreInfos::Ptr{VkSemaphoreSubmitInfoKHR} + swapchainCount::UInt32 + pPresentIds::Ptr{UInt64} end -struct VkPhysicalDeviceSynchronization2FeaturesKHR +struct VkPhysicalDevicePresentIdFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - synchronization2::VkBool32 + presentId::VkBool32 end +const VkPipelineStageFlags2KHR = VkPipelineStageFlags2 + +const VkPipelineStageFlagBits2KHR = VkPipelineStageFlagBits2 + +const VkAccessFlags2KHR = VkAccessFlags2 + +const VkAccessFlagBits2KHR = VkAccessFlagBits2 + +const VkSubmitFlagBitsKHR = VkSubmitFlagBits + +const VkSubmitFlagsKHR = VkSubmitFlags + +const VkMemoryBarrier2KHR = VkMemoryBarrier2 + +const VkBufferMemoryBarrier2KHR = VkBufferMemoryBarrier2 + +const VkImageMemoryBarrier2KHR = VkImageMemoryBarrier2 + +const VkDependencyInfoKHR = VkDependencyInfo + +const VkSubmitInfo2KHR = VkSubmitInfo2 + +const VkSemaphoreSubmitInfoKHR = VkSemaphoreSubmitInfo + +const VkCommandBufferSubmitInfoKHR = VkCommandBufferSubmitInfo + +const VkPhysicalDeviceSynchronization2FeaturesKHR = VkPhysicalDeviceSynchronization2Features + struct VkQueueFamilyCheckpointProperties2NV sType::VkStructureType pNext::Ptr{Cvoid} - checkpointExecutionStageMask::VkPipelineStageFlags2KHR + checkpointExecutionStageMask::VkPipelineStageFlags2 end struct VkCheckpointData2NV sType::VkStructureType pNext::Ptr{Cvoid} - stage::VkPipelineStageFlags2KHR + stage::VkPipelineStageFlags2 pCheckpointMarker::Ptr{Cvoid} end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdSetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdSetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2KHR stageMask ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResetEvent2KHR ) ( VkCommandBuffer commandBuffer , VkEvent event , VkPipelineStageFlags2 stageMask ) const PFN_vkCmdResetEvent2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfoKHR * pDependencyInfos ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWaitEvents2KHR ) ( VkCommandBuffer commandBuffer , uint32_t eventCount , const VkEvent * pEvents , const VkDependencyInfo * pDependencyInfos ) const PFN_vkCmdWaitEvents2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfoKHR * pDependencyInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdPipelineBarrier2KHR ) ( VkCommandBuffer commandBuffer , const VkDependencyInfo * pDependencyInfo ) const PFN_vkCmdPipelineBarrier2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkQueryPool queryPool , uint32_t query ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteTimestamp2KHR ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkQueryPool queryPool , uint32_t query ) const PFN_vkCmdWriteTimestamp2KHR = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2KHR * pSubmits , VkFence fence ) +# typedef VkResult ( VKAPI_PTR * PFN_vkQueueSubmit2KHR ) ( VkQueue queue , uint32_t submitCount , const VkSubmitInfo2 * pSubmits , VkFence fence ) const PFN_vkQueueSubmit2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2KHR stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) +# typedef void ( VKAPI_PTR * PFN_vkCmdWriteBufferMarker2AMD ) ( VkCommandBuffer commandBuffer , VkPipelineStageFlags2 stage , VkBuffer dstBuffer , VkDeviceSize dstOffset , uint32_t marker ) const PFN_vkCmdWriteBufferMarker2AMD = Ptr{Cvoid} # typedef void ( VKAPI_PTR * PFN_vkGetQueueCheckpointData2NV ) ( VkQueue queue , uint32_t * pCheckpointDataCount , VkCheckpointData2NV * pCheckpointData ) const PFN_vkGetQueueCheckpointData2NV = Ptr{Cvoid} function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo) - ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall((:vkCmdSetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdSetEvent2KHR(commandBuffer, event, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfoKHR}), commandBuffer, event, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, Ptr{VkDependencyInfo}), commandBuffer, event, pDependencyInfo) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask) - ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall((:vkCmdResetEvent2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdResetEvent2KHR(commandBuffer, event, stageMask, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2KHR), commandBuffer, event, stageMask) + ccall(fptr, Cvoid, (VkCommandBuffer, VkEvent, VkPipelineStageFlags2), commandBuffer, event, stageMask) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos) - ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall((:vkCmdWaitEvents2KHR, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdWaitEvents2KHR(commandBuffer, eventCount, pEvents, pDependencyInfos, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfoKHR}), commandBuffer, eventCount, pEvents, pDependencyInfos) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkEvent}, Ptr{VkDependencyInfo}), commandBuffer, eventCount, pEvents, pDependencyInfos) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo) - ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall((:vkCmdPipelineBarrier2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdPipelineBarrier2KHR(commandBuffer, pDependencyInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfoKHR}), commandBuffer, pDependencyInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkDependencyInfo}), commandBuffer, pDependencyInfo) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query) - ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall((:vkCmdWriteTimestamp2KHR, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkCmdWriteTimestamp2KHR(commandBuffer, stage, queryPool, query, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, UInt32), commandBuffer, stage, queryPool, query) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence) - ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall((:vkQueueSubmit2KHR, libvulkan), VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkQueueSubmit2KHR(queue, submitCount, pSubmits, fence, fptr) - ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2KHR}, VkFence), queue, submitCount, pSubmits, fence) + ccall(fptr, VkResult, (VkQueue, UInt32, Ptr{VkSubmitInfo2}, VkFence), queue, submitCount, pSubmits, fence) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker) - ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall((:vkCmdWriteBufferMarker2AMD, libvulkan), Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkCmdWriteBufferMarker2AMD(commandBuffer, stage, dstBuffer, dstOffset, marker, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2KHR, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) + ccall(fptr, Cvoid, (VkCommandBuffer, VkPipelineStageFlags2, VkBuffer, VkDeviceSize, UInt32), commandBuffer, stage, dstBuffer, dstOffset, marker) end function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointData) @@ -8817,12 +10098,14 @@ function vkGetQueueCheckpointData2NV(queue, pCheckpointDataCount, pCheckpointDat ccall(fptr, Cvoid, (VkQueue, Ptr{UInt32}, Ptr{VkCheckpointData2NV}), queue, pCheckpointDataCount, pCheckpointData) end -struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR +struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} - shaderZeroInitializeWorkgroupMemory::VkBool32 + shaderSubgroupUniformControlFlow::VkBool32 end +const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR sType::VkStructureType pNext::Ptr{Cvoid} @@ -8832,181 +10115,139 @@ struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR workgroupMemoryExplicitLayout16BitAccess::VkBool32 end -struct VkBufferCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcOffset::VkDeviceSize - dstOffset::VkDeviceSize - size::VkDeviceSize -end +const VkCopyBufferInfo2KHR = VkCopyBufferInfo2 -struct VkCopyBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferCopy2KHR} -end +const VkCopyImageInfo2KHR = VkCopyImageInfo2 -struct VkImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkCopyBufferToImageInfo2KHR = VkCopyBufferToImageInfo2 -struct VkCopyImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageCopy2KHR} -end +const VkCopyImageToBufferInfo2KHR = VkCopyImageToBufferInfo2 -struct VkBufferImageCopy2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - bufferOffset::VkDeviceSize - bufferRowLength::UInt32 - bufferImageHeight::UInt32 - imageSubresource::VkImageSubresourceLayers - imageOffset::VkOffset3D - imageExtent::VkExtent3D -end +const VkBlitImageInfo2KHR = VkBlitImageInfo2 -struct VkCopyBufferToImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcBuffer::VkBuffer - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkResolveImageInfo2KHR = VkResolveImageInfo2 -struct VkCopyImageToBufferInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstBuffer::VkBuffer - regionCount::UInt32 - pRegions::Ptr{VkBufferImageCopy2KHR} -end +const VkBufferCopy2KHR = VkBufferCopy2 -struct VkImageBlit2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffsets::NTuple{2, VkOffset3D} - dstSubresource::VkImageSubresourceLayers - dstOffsets::NTuple{2, VkOffset3D} -end +const VkImageCopy2KHR = VkImageCopy2 -struct VkBlitImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageBlit2KHR} - filter::VkFilter -end +const VkImageBlit2KHR = VkImageBlit2 -struct VkImageResolve2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcSubresource::VkImageSubresourceLayers - srcOffset::VkOffset3D - dstSubresource::VkImageSubresourceLayers - dstOffset::VkOffset3D - extent::VkExtent3D -end +const VkBufferImageCopy2KHR = VkBufferImageCopy2 -struct VkResolveImageInfo2KHR - sType::VkStructureType - pNext::Ptr{Cvoid} - srcImage::VkImage - srcImageLayout::VkImageLayout - dstImage::VkImage - dstImageLayout::VkImageLayout - regionCount::UInt32 - pRegions::Ptr{VkImageResolve2KHR} -end +const VkImageResolve2KHR = VkImageResolve2 -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2KHR * pCopyBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferInfo2 * pCopyBufferInfo ) const PFN_vkCmdCopyBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2KHR * pCopyImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageInfo2 * pCopyImageInfo ) const PFN_vkCmdCopyImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyBufferToImage2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const PFN_vkCmdCopyBufferToImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdCopyImageToBuffer2KHR ) ( VkCommandBuffer commandBuffer , const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const PFN_vkCmdCopyImageToBuffer2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2KHR * pBlitImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdBlitImage2KHR ) ( VkCommandBuffer commandBuffer , const VkBlitImageInfo2 * pBlitImageInfo ) const PFN_vkCmdBlitImage2KHR = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2KHR * pResolveImageInfo ) +# typedef void ( VKAPI_PTR * PFN_vkCmdResolveImage2KHR ) ( VkCommandBuffer commandBuffer , const VkResolveImageInfo2 * pResolveImageInfo ) const PFN_vkCmdResolveImage2KHR = Ptr{Cvoid} function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo) - ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall((:vkCmdCopyBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyBuffer2KHR(commandBuffer, pCopyBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2KHR}), commandBuffer, pCopyBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferInfo2}), commandBuffer, pCopyBufferInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo) - ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall((:vkCmdCopyImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyImage2KHR(commandBuffer, pCopyImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2KHR}), commandBuffer, pCopyImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageInfo2}), commandBuffer, pCopyImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo) - ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall((:vkCmdCopyBufferToImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyBufferToImage2KHR(commandBuffer, pCopyBufferToImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2KHR}), commandBuffer, pCopyBufferToImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyBufferToImageInfo2}), commandBuffer, pCopyBufferToImageInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo) - ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall((:vkCmdCopyImageToBuffer2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdCopyImageToBuffer2KHR(commandBuffer, pCopyImageToBufferInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2KHR}), commandBuffer, pCopyImageToBufferInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCopyImageToBufferInfo2}), commandBuffer, pCopyImageToBufferInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo) - ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall((:vkCmdBlitImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdBlitImage2KHR(commandBuffer, pBlitImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2KHR}), commandBuffer, pBlitImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkBlitImageInfo2}), commandBuffer, pBlitImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo) - ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall((:vkCmdResolveImage2KHR, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) end function vkCmdResolveImage2KHR(commandBuffer, pResolveImageInfo, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2KHR}), commandBuffer, pResolveImageInfo) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkResolveImageInfo2}), commandBuffer, pResolveImageInfo) +end + +const VkFormatFeatureFlags2KHR = VkFormatFeatureFlags2 + +const VkFormatFeatureFlagBits2KHR = VkFormatFeatureFlagBits2 + +const VkFormatProperties3KHR = VkFormatProperties3 + +const VkPhysicalDeviceMaintenance4FeaturesKHR = VkPhysicalDeviceMaintenance4Features + +const VkPhysicalDeviceMaintenance4PropertiesKHR = VkPhysicalDeviceMaintenance4Properties + +const VkDeviceBufferMemoryRequirementsKHR = VkDeviceBufferMemoryRequirements + +const VkDeviceImageMemoryRequirementsKHR = VkDeviceImageMemoryRequirements + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceBufferMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceBufferMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceBufferMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , VkMemoryRequirements2 * pMemoryRequirements ) +const PFN_vkGetDeviceImageMemoryRequirementsKHR = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDeviceImageSparseMemoryRequirementsKHR ) ( VkDevice device , const VkDeviceImageMemoryRequirements * pInfo , uint32_t * pSparseMemoryRequirementCount , VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) +const PFN_vkGetDeviceImageSparseMemoryRequirementsKHR = Ptr{Cvoid} + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceBufferMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceBufferMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceBufferMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements) + ccall((:vkGetDeviceImageMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageMemoryRequirementsKHR(device, pInfo, pMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{VkMemoryRequirements2}), device, pInfo, pMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) + ccall((:vkGetDeviceImageSparseMemoryRequirementsKHR, libvulkan), Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) +end + +function vkGetDeviceImageSparseMemoryRequirementsKHR(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDeviceImageMemoryRequirements}, Ptr{UInt32}, Ptr{VkSparseImageMemoryRequirements2}), device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements) end const VkDebugReportCallbackEXT_T = Cvoid @@ -9048,8 +10289,11 @@ const VkDebugReportCallbackEXT = Ptr{VkDebugReportCallbackEXT_T} 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 = 28 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = 1000085000 @@ -9320,6 +10564,100 @@ function vkCmdDrawIndirectByteCountEXT(commandBuffer, instanceCount, firstInstan ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, UInt32, VkBuffer, VkDeviceSize, UInt32, UInt32), commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride) end +const VkCuModuleNVX_T = Cvoid + +const VkCuModuleNVX = Ptr{VkCuModuleNVX_T} + +const VkCuFunctionNVX_T = Cvoid + +const VkCuFunctionNVX = Ptr{VkCuFunctionNVX_T} + +struct VkCuModuleCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + dataSize::Csize_t + pData::Ptr{Cvoid} +end + +struct VkCuFunctionCreateInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _module::VkCuModuleNVX + pName::Ptr{Cchar} +end + +struct VkCuLaunchInfoNVX + sType::VkStructureType + pNext::Ptr{Cvoid} + _function::VkCuFunctionNVX + gridDimX::UInt32 + gridDimY::UInt32 + gridDimZ::UInt32 + blockDimX::UInt32 + blockDimY::UInt32 + blockDimZ::UInt32 + sharedMemBytes::UInt32 + paramCount::Csize_t + pParams::Ptr{Ptr{Cvoid}} + extraCount::Csize_t + pExtras::Ptr{Ptr{Cvoid}} +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuModuleNVX ) ( VkDevice device , const VkCuModuleCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuModuleNVX * pModule ) +const PFN_vkCreateCuModuleNVX = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkCreateCuFunctionNVX ) ( VkDevice device , const VkCuFunctionCreateInfoNVX * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkCuFunctionNVX * pFunction ) +const PFN_vkCreateCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuModuleNVX ) ( VkDevice device , VkCuModuleNVX module , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuModuleNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkDestroyCuFunctionNVX ) ( VkDevice device , VkCuFunctionNVX function , const VkAllocationCallbacks * pAllocator ) +const PFN_vkDestroyCuFunctionNVX = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdCuLaunchKernelNVX ) ( VkCommandBuffer commandBuffer , const VkCuLaunchInfoNVX * pLaunchInfo ) +const PFN_vkCmdCuLaunchKernelNVX = Ptr{Cvoid} + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule) + ccall((:vkCreateCuModuleNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuModuleNVX(device, pCreateInfo, pAllocator, pModule, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuModuleCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuModuleNVX}), device, pCreateInfo, pAllocator, pModule) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction) + ccall((:vkCreateCuFunctionNVX, libvulkan), VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkCreateCuFunctionNVX(device, pCreateInfo, pAllocator, pFunction, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkCuFunctionCreateInfoNVX}, Ptr{VkAllocationCallbacks}, Ptr{VkCuFunctionNVX}), device, pCreateInfo, pAllocator, pFunction) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator) + ccall((:vkDestroyCuModuleNVX, libvulkan), Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuModuleNVX(device, _module, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuModuleNVX, Ptr{VkAllocationCallbacks}), device, _module, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator) + ccall((:vkDestroyCuFunctionNVX, libvulkan), Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkDestroyCuFunctionNVX(device, _function, pAllocator, fptr) + ccall(fptr, Cvoid, (VkDevice, VkCuFunctionNVX, Ptr{VkAllocationCallbacks}), device, _function, pAllocator) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo) + ccall((:vkCmdCuLaunchKernelNVX, libvulkan), Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + +function vkCmdCuLaunchKernelNVX(commandBuffer, pLaunchInfo, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, Ptr{VkCuLaunchInfoNVX}), commandBuffer, pLaunchInfo) +end + struct VkImageViewHandleInfoNVX sType::VkStructureType pNext::Ptr{Cvoid} @@ -9489,11 +10827,7 @@ struct VkValidationFlagsEXT pDisabledValidationChecks::Ptr{VkValidationCheckEXT} end -struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - textureCompressionASTC_HDR::VkBool32 -end +const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = VkPhysicalDeviceTextureCompressionASTCHDRFeatures struct VkImageViewASTCDecodeModeEXT sType::VkStructureType @@ -10109,35 +11443,13 @@ const VkSamplerReductionModeCreateInfoEXT = VkSamplerReductionModeCreateInfo const VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = VkPhysicalDeviceSamplerFilterMinmaxProperties -struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - inlineUniformBlock::VkBool32 - descriptorBindingInlineUniformBlockUpdateAfterBind::VkBool32 -end +const VkPhysicalDeviceInlineUniformBlockFeaturesEXT = VkPhysicalDeviceInlineUniformBlockFeatures -struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockSize::UInt32 - maxPerStageDescriptorInlineUniformBlocks::UInt32 - maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks::UInt32 - maxDescriptorSetInlineUniformBlocks::UInt32 - maxDescriptorSetUpdateAfterBindInlineUniformBlocks::UInt32 -end +const VkPhysicalDeviceInlineUniformBlockPropertiesEXT = VkPhysicalDeviceInlineUniformBlockProperties -struct VkWriteDescriptorSetInlineUniformBlockEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - dataSize::UInt32 - pData::Ptr{Cvoid} -end +const VkWriteDescriptorSetInlineUniformBlockEXT = VkWriteDescriptorSetInlineUniformBlock -struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - maxInlineUniformBlockBindings::UInt32 -end +const VkDescriptorPoolInlineUniformBlockCreateInfoEXT = VkDescriptorPoolInlineUniformBlockCreateInfo struct VkSampleLocationEXT x::Cfloat @@ -10335,6 +11647,19 @@ struct VkImageDrmFormatModifierPropertiesEXT drmFormatModifier::UInt64 end +struct VkDrmFormatModifierProperties2EXT + drmFormatModifier::UInt64 + drmFormatModifierPlaneCount::UInt32 + drmFormatModifierTilingFeatures::VkFormatFeatureFlags2 +end + +struct VkDrmFormatModifierPropertiesList2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + drmFormatModifierCount::UInt32 + pDrmFormatModifierProperties::Ptr{VkDrmFormatModifierProperties2EXT} +end + # typedef VkResult ( VKAPI_PTR * PFN_vkGetImageDrmFormatModifierPropertiesEXT ) ( VkDevice device , VkImage image , VkImageDrmFormatModifierPropertiesEXT * pProperties ) const PFN_vkGetImageDrmFormatModifierPropertiesEXT = Ptr{Cvoid} @@ -10608,9 +11933,10 @@ const VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR @cenum VkGeometryInstanceFlagBitsKHR::UInt32 begin VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1 - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8 + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = 1 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = 2 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = 4 @@ -10630,6 +11956,7 @@ const VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16 + VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = 1 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = 2 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = 4 @@ -10783,10 +12110,10 @@ end function Base.getproperty(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol) f === :transform && return Ptr{VkTransformMatrixKHR}(x + 0) - f === :instanceCustomIndex && return Ptr{UInt32}(x + 48) - f === :mask && return Ptr{UInt32}(x + 51) - f === :instanceShaderBindingTableRecordOffset && return Ptr{UInt32}(x + 52) - f === :flags && return Ptr{VkGeometryInstanceFlagsKHR}(x + 55) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 48), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 48), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 52), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 52), 24, 8) f === :accelerationStructureReference && return Ptr{UInt64}(x + 56) return getfield(x, f) end @@ -10801,17 +12128,37 @@ function Base.getproperty(x::VkAccelerationStructureInstanceKHR, f::Symbol) else (baseptr, offset, width) = fptr ty = eltype(baseptr) - i8 = GC.@preserve(r, unsafe_load(baseptr)) - bitstr = bitstring(i8) - sig = bitstr[(end - offset) - (width - 1):end - offset] - zexted = lpad(sig, 8 * sizeof(ty), '0') - return parse(ty, zexted; base = 2) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty end end end function Base.setproperty!(x::Ptr{VkAccelerationStructureInstanceKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end end function VkAccelerationStructureInstanceKHR(transform::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) @@ -10996,19 +12343,9 @@ struct VkFilterCubicImageViewImageFormatPropertiesEXT filterCubicMinmax::VkBool32 end -@cenum VkQueueGlobalPriorityEXT::UInt32 begin - 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 = 2147483647 -end +const VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityKHR -struct VkDeviceQueueGlobalPriorityCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - globalPriority::VkQueueGlobalPriorityEXT -end +const VkDeviceQueueGlobalPriorityCreateInfoEXT = VkDeviceQueueGlobalPriorityCreateInfoKHR struct VkImportMemoryHostPointerInfoEXT sType::VkStructureType @@ -11156,27 +12493,13 @@ struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeInstanceRateZeroDivisor::VkBool32 end -@cenum VkPipelineCreationFeedbackFlagBitsEXT::UInt32 begin - VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1 - VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2 - VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4 - VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkPipelineCreationFeedbackFlagBitsEXT = VkPipelineCreationFeedbackFlagBits -const VkPipelineCreationFeedbackFlagsEXT = VkFlags +const VkPipelineCreationFeedbackFlagsEXT = VkPipelineCreationFeedbackFlags -struct VkPipelineCreationFeedbackEXT - flags::VkPipelineCreationFeedbackFlagsEXT - duration::UInt64 -end +const VkPipelineCreationFeedbackCreateInfoEXT = VkPipelineCreationFeedbackCreateInfo -struct VkPipelineCreationFeedbackCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pPipelineCreationFeedback::Ptr{VkPipelineCreationFeedbackEXT} - pipelineStageCreationFeedbackCount::UInt32 - pPipelineStageCreationFeedbacks::Ptr{VkPipelineCreationFeedbackEXT} -end +const VkPipelineCreationFeedbackEXT = VkPipelineCreationFeedback struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV sType::VkStructureType @@ -11603,27 +12926,11 @@ end const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = VkPhysicalDeviceScalarBlockLayoutFeatures -struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - subgroupSizeControl::VkBool32 - computeFullSubgroups::VkBool32 -end +const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = VkPhysicalDeviceSubgroupSizeControlFeatures -struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - minSubgroupSize::UInt32 - maxSubgroupSize::UInt32 - maxComputeWorkgroupSubgroups::UInt32 - requiredSubgroupSizeStages::VkShaderStageFlags -end +const VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = VkPhysicalDeviceSubgroupSizeControlProperties -struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - requiredSubgroupSize::UInt32 -end +const VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = VkPipelineShaderStageRequiredSubgroupSizeCreateInfo @cenum VkShaderCorePropertiesFlagBitsAMD::UInt32 begin VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 2147483647 @@ -11705,38 +13012,21 @@ function vkGetBufferDeviceAddressEXT(device, pInfo, fptr) ccall(fptr, VkDeviceAddress, (VkDevice, Ptr{VkBufferDeviceAddressInfo}), device, pInfo) end -@cenum VkToolPurposeFlagBitsEXT::UInt32 begin - VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1 - VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2 - VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4 - VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8 - VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16 - VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32 - VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64 - VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end +const VkToolPurposeFlagBitsEXT = VkToolPurposeFlagBits -const VkToolPurposeFlagsEXT = VkFlags +const VkToolPurposeFlagsEXT = VkToolPurposeFlags -struct VkPhysicalDeviceToolPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - name::NTuple{256, Cchar} - version::NTuple{256, Cchar} - purposes::VkToolPurposeFlagsEXT - description::NTuple{256, Cchar} - layer::NTuple{256, Cchar} -end +const VkPhysicalDeviceToolPropertiesEXT = VkPhysicalDeviceToolProperties -# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) +# typedef VkResult ( VKAPI_PTR * PFN_vkGetPhysicalDeviceToolPropertiesEXT ) ( VkPhysicalDevice physicalDevice , uint32_t * pToolCount , VkPhysicalDeviceToolProperties * pToolProperties ) const PFN_vkGetPhysicalDeviceToolPropertiesEXT = Ptr{Cvoid} function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties) - ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall((:vkGetPhysicalDeviceToolPropertiesEXT, libvulkan), VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end function vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice, pToolCount, pToolProperties, fptr) - ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolPropertiesEXT}), physicalDevice, pToolCount, pToolProperties) + ccall(fptr, VkResult, (VkPhysicalDevice, Ptr{UInt32}, Ptr{VkPhysicalDeviceToolProperties}), physicalDevice, pToolCount, pToolProperties) end const VkImageStencilUsageCreateInfoEXT = VkImageStencilUsageCreateInfo @@ -11758,6 +13048,7 @@ end 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 = 2147483647 end @@ -12149,12 +13440,25 @@ function vkCmdSetStencilOpEXT(commandBuffer, faceMask, failOp, passOp, depthFail ccall(fptr, Cvoid, (VkCommandBuffer, VkStencilFaceFlags, VkStencilOp, VkStencilOp, VkStencilOp, VkCompareOp), commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp) end -struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT +struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} - shaderDemoteToHelperInvocation::VkBool32 + shaderBufferFloat16Atomics::VkBool32 + shaderBufferFloat16AtomicAdd::VkBool32 + shaderBufferFloat16AtomicMinMax::VkBool32 + shaderBufferFloat32AtomicMinMax::VkBool32 + shaderBufferFloat64AtomicMinMax::VkBool32 + shaderSharedFloat16Atomics::VkBool32 + shaderSharedFloat16AtomicAdd::VkBool32 + shaderSharedFloat16AtomicMinMax::VkBool32 + shaderSharedFloat32AtomicMinMax::VkBool32 + shaderSharedFloat64AtomicMinMax::VkBool32 + shaderImageFloat32AtomicMinMax::VkBool32 + sparseImageFloat32AtomicMinMax::VkBool32 end +const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures + const VkIndirectCommandsLayoutNV_T = Cvoid const VkIndirectCommandsLayoutNV = Ptr{VkIndirectCommandsLayoutNV_T} @@ -12392,14 +13696,7 @@ struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT texelBufferAlignment::VkBool32 end -struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - storageTexelBufferOffsetAlignmentBytes::VkDeviceSize - storageTexelBufferOffsetSingleTexelAlignment::VkBool32 - uniformTexelBufferOffsetAlignmentBytes::VkDeviceSize - uniformTexelBufferOffsetSingleTexelAlignment::VkBool32 -end +const VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = VkPhysicalDeviceTexelBufferAlignmentProperties struct VkRenderPassTransformBeginInfoQCOM sType::VkStructureType @@ -12454,6 +13751,28 @@ struct VkDeviceDeviceMemoryReportCreateInfoEXT pUserData::Ptr{Cvoid} end +# typedef VkResult ( VKAPI_PTR * PFN_vkAcquireDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , VkDisplayKHR display ) +const PFN_vkAcquireDrmDisplayEXT = Ptr{Cvoid} + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDrmDisplayEXT ) ( VkPhysicalDevice physicalDevice , int32_t drmFd , uint32_t connectorId , VkDisplayKHR * display ) +const PFN_vkGetDrmDisplayEXT = Ptr{Cvoid} + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display) + ccall((:vkAcquireDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkAcquireDrmDisplayEXT(physicalDevice, drmFd, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, VkDisplayKHR), physicalDevice, drmFd, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display) + ccall((:vkGetDrmDisplayEXT, libvulkan), VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + +function vkGetDrmDisplayEXT(physicalDevice, drmFd, connectorId, display, fptr) + ccall(fptr, VkResult, (VkPhysicalDevice, Int32, UInt32, Ptr{VkDisplayKHR}), physicalDevice, drmFd, connectorId, display) +end + struct VkPhysicalDeviceRobustness2FeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12489,83 +13808,61 @@ struct VkPhysicalDeviceCustomBorderColorFeaturesEXT customBorderColorWithoutFormat::VkBool32 end -const VkPrivateDataSlotEXT_T = Cvoid - -const VkPrivateDataSlotEXT = Ptr{VkPrivateDataSlotEXT_T} +const VkPrivateDataSlotEXT = VkPrivateDataSlot -@cenum VkPrivateDataSlotCreateFlagBitsEXT::UInt32 begin - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 2147483647 -end - -const VkPrivateDataSlotCreateFlagsEXT = VkFlags +const VkPrivateDataSlotCreateFlagsEXT = VkPrivateDataSlotCreateFlags -struct VkPhysicalDevicePrivateDataFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateData::VkBool32 -end +const VkPhysicalDevicePrivateDataFeaturesEXT = VkPhysicalDevicePrivateDataFeatures -struct VkDevicePrivateDataCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - privateDataSlotRequestCount::UInt32 -end +const VkDevicePrivateDataCreateInfoEXT = VkDevicePrivateDataCreateInfo -struct VkPrivateDataSlotCreateInfoEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - flags::VkPrivateDataSlotCreateFlagsEXT -end +const VkPrivateDataSlotCreateInfoEXT = VkPrivateDataSlotCreateInfo -# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfoEXT * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlotEXT * pPrivateDataSlot ) +# typedef VkResult ( VKAPI_PTR * PFN_vkCreatePrivateDataSlotEXT ) ( VkDevice device , const VkPrivateDataSlotCreateInfo * pCreateInfo , const VkAllocationCallbacks * pAllocator , VkPrivateDataSlot * pPrivateDataSlot ) const PFN_vkCreatePrivateDataSlotEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlotEXT privateDataSlot , const VkAllocationCallbacks * pAllocator ) +# typedef void ( VKAPI_PTR * PFN_vkDestroyPrivateDataSlotEXT ) ( VkDevice device , VkPrivateDataSlot privateDataSlot , const VkAllocationCallbacks * pAllocator ) const PFN_vkDestroyPrivateDataSlotEXT = Ptr{Cvoid} -# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t data ) +# typedef VkResult ( VKAPI_PTR * PFN_vkSetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t data ) const PFN_vkSetPrivateDataEXT = Ptr{Cvoid} -# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlotEXT privateDataSlot , uint64_t * pData ) +# typedef void ( VKAPI_PTR * PFN_vkGetPrivateDataEXT ) ( VkDevice device , VkObjectType objectType , uint64_t objectHandle , VkPrivateDataSlot privateDataSlot , uint64_t * pData ) const PFN_vkGetPrivateDataEXT = Ptr{Cvoid} function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot) - ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall((:vkCreatePrivateDataSlotEXT, libvulkan), VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkCreatePrivateDataSlotEXT(device, pCreateInfo, pAllocator, pPrivateDataSlot, fptr) - ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfoEXT}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlotEXT}), device, pCreateInfo, pAllocator, pPrivateDataSlot) + ccall(fptr, VkResult, (VkDevice, Ptr{VkPrivateDataSlotCreateInfo}, Ptr{VkAllocationCallbacks}, Ptr{VkPrivateDataSlot}), device, pCreateInfo, pAllocator, pPrivateDataSlot) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator) - ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall((:vkDestroyPrivateDataSlotEXT, libvulkan), Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkDestroyPrivateDataSlotEXT(device, privateDataSlot, pAllocator, fptr) - ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlotEXT, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) + ccall(fptr, Cvoid, (VkDevice, VkPrivateDataSlot, Ptr{VkAllocationCallbacks}), device, privateDataSlot, pAllocator) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data) - ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall((:vkSetPrivateDataEXT, libvulkan), VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkSetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, data, fptr) - ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, UInt64), device, objectType, objectHandle, privateDataSlot, data) + ccall(fptr, VkResult, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, UInt64), device, objectType, objectHandle, privateDataSlot, data) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData) - ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall((:vkGetPrivateDataEXT, libvulkan), Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end function vkGetPrivateDataEXT(device, objectType, objectHandle, privateDataSlot, pData, fptr) - ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlotEXT, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) + ccall(fptr, Cvoid, (VkDevice, VkObjectType, UInt64, VkPrivateDataSlot, Ptr{UInt64}), device, objectType, objectHandle, privateDataSlot, pData) end -struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - pipelineCreationCacheControl::VkBool32 -end +const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = VkPhysicalDevicePipelineCreationCacheControlFeatures @cenum VkDeviceDiagnosticsConfigFlagBitsNV::UInt32 begin VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1 @@ -12643,6 +13940,275 @@ function vkCmdSetFragmentShadingRateEnumNV(commandBuffer, shadingRate, combinerO ccall(fptr, Cvoid, (VkCommandBuffer, VkFragmentShadingRateNV, Ptr{VkFragmentShadingRateCombinerOpKHR}), commandBuffer, shadingRate, combinerOps) end +@cenum VkAccelerationStructureMotionInstanceTypeNV::UInt32 begin + 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 = 2147483647 +end + +const VkAccelerationStructureMotionInfoFlagsNV = VkFlags + +const VkAccelerationStructureMotionInstanceFlagsNV = VkFlags + +struct VkDeviceOrHostAddressConstKHR + data::NTuple{8, UInt8} +end + +function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) + f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) + f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) + r = Ref{VkDeviceOrHostAddressConstKHR}(x) + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} + +function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) + ref = Ref{VkDeviceOrHostAddressConstKHR}() + ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) + if val isa VkDeviceAddress + ptr.deviceAddress = val + elseif val isa Ptr{Cvoid} + ptr.hostAddress = val + end + ref[] +end + +struct VkAccelerationStructureGeometryMotionTrianglesDataNV + sType::VkStructureType + pNext::Ptr{Cvoid} + vertexData::VkDeviceOrHostAddressConstKHR +end + +struct VkAccelerationStructureMotionInfoNV + sType::VkStructureType + pNext::Ptr{Cvoid} + maxInstances::UInt32 + flags::VkAccelerationStructureMotionInfoFlagsNV +end + +struct VkAccelerationStructureMatrixMotionInstanceNV + data::NTuple{112, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkTransformMatrixKHR}(x + 0) + f === :transformT1 && return Ptr{VkTransformMatrixKHR}(x + 48) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 96), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 96), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 100), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 100), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 104) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMatrixMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureMatrixMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureMatrixMotionInstanceNV(transformT0::VkTransformMatrixKHR, transformT1::VkTransformMatrixKHR, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureMatrixMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMatrixMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkSRTDataNV + sx::Cfloat + a::Cfloat + b::Cfloat + pvx::Cfloat + sy::Cfloat + c::Cfloat + pvy::Cfloat + sz::Cfloat + pvz::Cfloat + qx::Cfloat + qy::Cfloat + qz::Cfloat + qw::Cfloat + tx::Cfloat + ty::Cfloat + tz::Cfloat +end + +struct VkAccelerationStructureSRTMotionInstanceNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol) + f === :transformT0 && return Ptr{VkSRTDataNV}(x + 0) + f === :transformT1 && return Ptr{VkSRTDataNV}(x + 64) + f === :instanceCustomIndex && return (Ptr{UInt32}(x + 128), 0, 24) + f === :mask && return (Ptr{UInt32}(x + 128), 24, 8) + f === :instanceShaderBindingTableRecordOffset && return (Ptr{UInt32}(x + 132), 0, 24) + f === :flags && return (Ptr{VkGeometryInstanceFlagsKHR}(x + 132), 24, 8) + f === :accelerationStructureReference && return Ptr{UInt64}(x + 136) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureSRTMotionInstanceNV, f::Symbol) + r = Ref{VkAccelerationStructureSRTMotionInstanceNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, r) + fptr = getproperty(ptr, f) + begin + if fptr isa Ptr + return GC.@preserve(r, unsafe_load(fptr)) + else + (baseptr, offset, width) = fptr + ty = eltype(baseptr) + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = GC.@preserve(r, unsafe_load(baseptr32)) + if offset + width > 32 + u64 |= GC.@preserve(r, unsafe_load(baseptr32 + 4)) << 32 + end + u64 = u64 >> offset & (1 << width - 1) + return u64 % ty + end + end +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureSRTMotionInstanceNV}, f::Symbol, v) + fptr = getproperty(x, f) + if fptr isa Ptr + unsafe_store!(getproperty(x, f), v) + else + (baseptr, offset, width) = fptr + baseptr32 = convert(Ptr{UInt32}, baseptr) + u64 = unsafe_load(baseptr32) + straddle = offset + width > 32 + if straddle + u64 |= unsafe_load(baseptr32 + 4) << 32 + end + mask = 1 << width - 1 + u64 &= ~(mask << offset) + u64 |= (unsigned(v) & mask) << offset + unsafe_store!(baseptr32, u64 & typemax(UInt32)) + if straddle + unsafe_store!(baseptr32 + 4, u64 >> 32) + end + end +end + +function VkAccelerationStructureSRTMotionInstanceNV(transformT0::VkSRTDataNV, transformT1::VkSRTDataNV, instanceCustomIndex::UInt32, mask::UInt32, instanceShaderBindingTableRecordOffset::UInt32, flags::VkGeometryInstanceFlagsKHR, accelerationStructureReference::UInt64) + ref = Ref{VkAccelerationStructureSRTMotionInstanceNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureSRTMotionInstanceNV}, ref) + ptr.transformT0 = transformT0 + ptr.transformT1 = transformT1 + ptr.instanceCustomIndex = instanceCustomIndex + ptr.mask = mask + ptr.instanceShaderBindingTableRecordOffset = instanceShaderBindingTableRecordOffset + ptr.flags = flags + ptr.accelerationStructureReference = accelerationStructureReference + ref[] +end + +struct VkAccelerationStructureMotionInstanceDataNV + data::NTuple{144, UInt8} +end + +function Base.getproperty(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol) + f === :staticInstance && return Ptr{VkAccelerationStructureInstanceKHR}(x + 0) + f === :matrixMotionInstance && return Ptr{VkAccelerationStructureMatrixMotionInstanceNV}(x + 0) + f === :srtMotionInstance && return Ptr{VkAccelerationStructureSRTMotionInstanceNV}(x + 0) + return getfield(x, f) +end + +function Base.getproperty(x::VkAccelerationStructureMotionInstanceDataNV, f::Symbol) + r = Ref{VkAccelerationStructureMotionInstanceDataNV}(x) + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, r) + fptr = getproperty(ptr, f) + GC.@preserve r unsafe_load(fptr) +end + +function Base.setproperty!(x::Ptr{VkAccelerationStructureMotionInstanceDataNV}, f::Symbol, v) + unsafe_store!(getproperty(x, f), v) +end + +const __U_VkAccelerationStructureMotionInstanceDataNV = Union{VkAccelerationStructureInstanceKHR, VkAccelerationStructureMatrixMotionInstanceNV, VkAccelerationStructureSRTMotionInstanceNV} + +function VkAccelerationStructureMotionInstanceDataNV(val::__U_VkAccelerationStructureMotionInstanceDataNV) + ref = Ref{VkAccelerationStructureMotionInstanceDataNV}() + ptr = Base.unsafe_convert(Ptr{VkAccelerationStructureMotionInstanceDataNV}, ref) + if val isa VkAccelerationStructureInstanceKHR + ptr.staticInstance = val + elseif val isa VkAccelerationStructureMatrixMotionInstanceNV + ptr.matrixMotionInstance = val + elseif val isa VkAccelerationStructureSRTMotionInstanceNV + ptr.srtMotionInstance = val + end + ref[] +end + +struct VkAccelerationStructureMotionInstanceNV + type::VkAccelerationStructureMotionInstanceTypeNV + flags::VkAccelerationStructureMotionInstanceFlagsNV + data::VkAccelerationStructureMotionInstanceDataNV +end + +struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + rayTracingMotionBlur::VkBool32 + rayTracingMotionBlurPipelineTraceRaysIndirect::VkBool32 +end + struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT sType::VkStructureType pNext::Ptr{Cvoid} @@ -12670,11 +14236,7 @@ struct VkCopyCommandTransformInfoQCOM transform::VkSurfaceTransformFlagBitsKHR end -struct VkPhysicalDeviceImageRobustnessFeaturesEXT - sType::VkStructureType - pNext::Ptr{Cvoid} - robustImageAccess::VkBool32 -end +const VkPhysicalDeviceImageRobustnessFeaturesEXT = VkPhysicalDeviceImageRobustnessFeatures struct VkPhysicalDevice4444FormatsFeaturesEXT sType::VkStructureType @@ -12683,6 +14245,20 @@ struct VkPhysicalDevice4444FormatsFeaturesEXT formatA4B4G4R4::VkBool32 end +struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + sType::VkStructureType + pNext::Ptr{Cvoid} + rasterizationOrderColorAttachmentAccess::VkBool32 + rasterizationOrderDepthAttachmentAccess::VkBool32 + rasterizationOrderStencilAttachmentAccess::VkBool32 +end + +struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + formatRgba10x6WithoutYCbCrSampler::VkBool32 +end + # typedef VkResult ( VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV ) ( VkPhysicalDevice physicalDevice , VkDisplayKHR display ) const PFN_vkAcquireWinrtDisplayNV = Ptr{Cvoid} @@ -12729,33 +14305,147 @@ struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT vertexInputDynamicState::VkBool32 end -struct VkVertexInputBindingDescription2EXT +struct VkVertexInputBindingDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + binding::UInt32 + stride::UInt32 + inputRate::VkVertexInputRate + divisor::UInt32 +end + +struct VkVertexInputAttributeDescription2EXT + sType::VkStructureType + pNext::Ptr{Cvoid} + location::UInt32 + binding::UInt32 + format::VkFormat + offset::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) +const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) + ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +end + +struct VkPhysicalDeviceDrmPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + hasPrimary::VkBool32 + hasRender::VkBool32 + primaryMajor::Int64 + primaryMinor::Int64 + renderMajor::Int64 + renderMinor::Int64 +end + +struct VkPhysicalDeviceDepthClipControlFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + depthClipControl::VkBool32 +end + +struct VkPipelineViewportDepthClipControlCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + negativeOneToOne::VkBool32 +end + +struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + primitiveTopologyListRestart::VkBool32 + primitiveTopologyPatchListRestart::VkBool32 +end + +struct VkSubpassShadingPipelineCreateInfoHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + renderPass::VkRenderPass + subpass::UInt32 +end + +struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + subpassShading::VkBool32 +end + +struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + maxSubpassShadingWorkgroupSizeAspectRatio::UInt32 +end + +# typedef VkResult ( VKAPI_PTR * PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI ) ( VkDevice device , VkRenderPass renderpass , VkExtent2D * pMaxWorkgroupSize ) +const PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdSubpassShadingHUAWEI ) ( VkCommandBuffer commandBuffer ) +const PFN_vkCmdSubpassShadingHUAWEI = Ptr{Cvoid} + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize) + ccall((:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, libvulkan), VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderpass, pMaxWorkgroupSize, fptr) + ccall(fptr, VkResult, (VkDevice, VkRenderPass, Ptr{VkExtent2D}), device, renderpass, pMaxWorkgroupSize) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer) + ccall((:vkCmdSubpassShadingHUAWEI, libvulkan), Cvoid, (VkCommandBuffer,), commandBuffer) +end + +function vkCmdSubpassShadingHUAWEI(commandBuffer, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer,), commandBuffer) +end + +struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI + sType::VkStructureType + pNext::Ptr{Cvoid} + invocationMask::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdBindInvocationMaskHUAWEI ) ( VkCommandBuffer commandBuffer , VkImageView imageView , VkImageLayout imageLayout ) +const PFN_vkCmdBindInvocationMaskHUAWEI = Ptr{Cvoid} + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout) + ccall((:vkCmdBindInvocationMaskHUAWEI, libvulkan), Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +function vkCmdBindInvocationMaskHUAWEI(commandBuffer, imageView, imageLayout, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, VkImageView, VkImageLayout), commandBuffer, imageView, imageLayout) +end + +const VkRemoteAddressNV = Ptr{Cvoid} + +struct VkMemoryGetRemoteAddressInfoNV sType::VkStructureType pNext::Ptr{Cvoid} - binding::UInt32 - stride::UInt32 - inputRate::VkVertexInputRate - divisor::UInt32 + memory::VkDeviceMemory + handleType::VkExternalMemoryHandleTypeFlagBits end -struct VkVertexInputAttributeDescription2EXT +struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV sType::VkStructureType pNext::Ptr{Cvoid} - location::UInt32 - binding::UInt32 - format::VkFormat - offset::UInt32 + externalMemoryRDMA::VkBool32 end -# typedef void ( VKAPI_PTR * PFN_vkCmdSetVertexInputEXT ) ( VkCommandBuffer commandBuffer , uint32_t vertexBindingDescriptionCount , const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions , uint32_t vertexAttributeDescriptionCount , const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) -const PFN_vkCmdSetVertexInputEXT = Ptr{Cvoid} +# typedef VkResult ( VKAPI_PTR * PFN_vkGetMemoryRemoteAddressNV ) ( VkDevice device , const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo , VkRemoteAddressNV * pAddress ) +const PFN_vkGetMemoryRemoteAddressNV = Ptr{Cvoid} -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) - ccall((:vkCmdSetVertexInputEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress) + ccall((:vkGetMemoryRemoteAddressNV, libvulkan), VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end -function vkCmdSetVertexInputEXT(commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions, fptr) - ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkVertexInputBindingDescription2EXT}, UInt32, Ptr{VkVertexInputAttributeDescription2EXT}), commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions) +function vkGetMemoryRemoteAddressNV(device, pMemoryGetRemoteAddressInfo, pAddress, fptr) + ccall(fptr, VkResult, (VkDevice, Ptr{VkMemoryGetRemoteAddressInfoNV}, Ptr{VkRemoteAddressNV}), device, pMemoryGetRemoteAddressInfo, pAddress) end struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT @@ -12845,6 +14535,165 @@ function vkCmdSetColorWriteEnableEXT(commandBuffer, attachmentCount, pColorWrite ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkBool32}), commandBuffer, attachmentCount, pColorWriteEnables) end +const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT = VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR + +const VkQueueFamilyGlobalPriorityPropertiesEXT = VkQueueFamilyGlobalPriorityPropertiesKHR + +struct VkPhysicalDeviceImageViewMinLodFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::VkBool32 +end + +struct VkImageViewMinLodCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + minLod::Cfloat +end + +struct VkPhysicalDeviceMultiDrawFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + multiDraw::VkBool32 +end + +struct VkPhysicalDeviceMultiDrawPropertiesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + maxMultiDrawCount::UInt32 +end + +struct VkMultiDrawInfoEXT + firstVertex::UInt32 + vertexCount::UInt32 +end + +struct VkMultiDrawIndexedInfoEXT + firstIndex::UInt32 + indexCount::UInt32 + vertexOffset::Int32 +end + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawInfoEXT * pVertexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride ) +const PFN_vkCmdDrawMultiEXT = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkCmdDrawMultiIndexedEXT ) ( VkCommandBuffer commandBuffer , uint32_t drawCount , const VkMultiDrawIndexedInfoEXT * pIndexInfo , uint32_t instanceCount , uint32_t firstInstance , uint32_t stride , const int32_t * pVertexOffset ) +const PFN_vkCmdDrawMultiIndexedEXT = Ptr{Cvoid} + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) + ccall((:vkCmdDrawMultiEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiEXT(commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawInfoEXT}, UInt32, UInt32, UInt32), commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) + ccall((:vkCmdDrawMultiIndexedEXT, libvulkan), Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +function vkCmdDrawMultiIndexedEXT(commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset, fptr) + ccall(fptr, Cvoid, (VkCommandBuffer, UInt32, Ptr{VkMultiDrawIndexedInfoEXT}, UInt32, UInt32, UInt32, Ptr{Int32}), commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset) +end + +struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + borderColorSwizzle::VkBool32 + borderColorSwizzleFromImage::VkBool32 +end + +struct VkSamplerBorderColorComponentMappingCreateInfoEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + components::VkComponentMapping + srgb::VkBool32 +end + +struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT + sType::VkStructureType + pNext::Ptr{Cvoid} + pageableDeviceLocalMemory::VkBool32 +end + +# typedef void ( VKAPI_PTR * PFN_vkSetDeviceMemoryPriorityEXT ) ( VkDevice device , VkDeviceMemory memory , float priority ) +const PFN_vkSetDeviceMemoryPriorityEXT = Ptr{Cvoid} + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority) + ccall((:vkSetDeviceMemoryPriorityEXT, libvulkan), Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +function vkSetDeviceMemoryPriorityEXT(device, memory, priority, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDeviceMemory, Cfloat), device, memory, priority) +end + +struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetHostMapping::VkBool32 +end + +struct VkDescriptorSetBindingReferenceVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorSetLayout::VkDescriptorSetLayout + binding::UInt32 +end + +struct VkDescriptorSetLayoutHostMappingInfoVALVE + sType::VkStructureType + pNext::Ptr{Cvoid} + descriptorOffset::Csize_t + descriptorSize::UInt32 +end + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE ) ( VkDevice device , const VkDescriptorSetBindingReferenceVALVE * pBindingReference , VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping ) +const PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE = Ptr{Cvoid} + +# typedef void ( VKAPI_PTR * PFN_vkGetDescriptorSetHostMappingVALVE ) ( VkDevice device , VkDescriptorSet descriptorSet , void * * ppData ) +const PFN_vkGetDescriptorSetHostMappingVALVE = Ptr{Cvoid} + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping) + ccall((:vkGetDescriptorSetLayoutHostMappingInfoVALVE, libvulkan), Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetLayoutHostMappingInfoVALVE(device, pBindingReference, pHostMapping, fptr) + ccall(fptr, Cvoid, (VkDevice, Ptr{VkDescriptorSetBindingReferenceVALVE}, Ptr{VkDescriptorSetLayoutHostMappingInfoVALVE}), device, pBindingReference, pHostMapping) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData) + ccall((:vkGetDescriptorSetHostMappingVALVE, libvulkan), Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +function vkGetDescriptorSetHostMappingVALVE(device, descriptorSet, ppData, fptr) + ccall(fptr, Cvoid, (VkDevice, VkDescriptorSet, Ptr{Ptr{Cvoid}}), device, descriptorSet, ppData) +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityMapOffset::VkBool32 +end + +struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetGranularity::VkExtent2D +end + +struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM + sType::VkStructureType + pNext::Ptr{Cvoid} + fragmentDensityOffsetCount::UInt32 + pFragmentDensityOffsets::Ptr{VkOffset2D} +end + +struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV + sType::VkStructureType + pNext::Ptr{Cvoid} + linearColorAttachment::VkBool32 +end + const VkAccelerationStructureKHR_T = Cvoid const VkAccelerationStructureKHR = Ptr{VkAccelerationStructureKHR_T} @@ -12870,6 +14719,7 @@ end @cenum VkAccelerationStructureCreateFlagBitsKHR::UInt32 begin VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1 + VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 2147483647 end @@ -12909,40 +14759,6 @@ function VkDeviceOrHostAddressKHR(val::__U_VkDeviceOrHostAddressKHR) ref[] end -struct VkDeviceOrHostAddressConstKHR - data::NTuple{8, UInt8} -end - -function Base.getproperty(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol) - f === :deviceAddress && return Ptr{VkDeviceAddress}(x + 0) - f === :hostAddress && return Ptr{Ptr{Cvoid}}(x + 0) - return getfield(x, f) -end - -function Base.getproperty(x::VkDeviceOrHostAddressConstKHR, f::Symbol) - r = Ref{VkDeviceOrHostAddressConstKHR}(x) - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, r) - fptr = getproperty(ptr, f) - GC.@preserve r unsafe_load(fptr) -end - -function Base.setproperty!(x::Ptr{VkDeviceOrHostAddressConstKHR}, f::Symbol, v) - unsafe_store!(getproperty(x, f), v) -end - -const __U_VkDeviceOrHostAddressConstKHR = Union{VkDeviceAddress, Ptr{Cvoid}} - -function VkDeviceOrHostAddressConstKHR(val::__U_VkDeviceOrHostAddressConstKHR) - ref = Ref{VkDeviceOrHostAddressConstKHR}() - ptr = Base.unsafe_convert(Ptr{VkDeviceOrHostAddressConstKHR}, ref) - if val isa VkDeviceAddress - ptr.deviceAddress = val - elseif val isa Ptr{Cvoid} - ptr.hostAddress = val - end - ref[] -end - struct VkAccelerationStructureBuildRangeInfoKHR primitiveCount::UInt32 primitiveOffset::UInt32 @@ -13763,9 +15579,11 @@ const VK_USE_64_BIT_PTR_DEFINES = 1 const VK_API_VERSION_1_0 = VK_MAKE_API_VERSION(0, 1, 0, 0) -const VK_HEADER_VERSION = 177 +const VK_HEADER_VERSION = 207 -const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) +const VK_HEADER_VERSION_COMPLETE = VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + +const VK_UUID_SIZE = Cuint(16) const VK_ATTACHMENT_UNUSED = ~(Cuint(0)) @@ -13791,8 +15609,6 @@ const VK_MAX_MEMORY_HEAPS = Cuint(16) const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = Cuint(256) -const VK_UUID_SIZE = Cuint(16) - const VK_MAX_EXTENSION_NAME_SIZE = Cuint(256) const VK_MAX_DESCRIPTION_SIZE = Cuint(256) @@ -13815,6 +15631,10 @@ const VK_MAX_DRIVER_NAME_SIZE = Cuint(256) const VK_MAX_DRIVER_INFO_SIZE = Cuint(256) +const VK_VERSION_1_3 = 1 + +const VK_API_VERSION_1_3 = VK_MAKE_API_VERSION(0, 1, 3, 0) + const VK_KHR_surface = 1 const VK_KHR_SURFACE_SPEC_VERSION = 25 @@ -13845,6 +15665,12 @@ const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 3 const VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" +const VK_KHR_dynamic_rendering = 1 + +const VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1 + +const VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering" + const VK_KHR_multiview = 1 const VK_KHR_MULTIVIEW_SPEC_VERSION = 1 @@ -13871,9 +15697,13 @@ const VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_paramet const VK_KHR_maintenance1 = 1 -const VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 +const VK_KHR_MAINTENANCE_1_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1" -const VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" +const VK_KHR_MAINTENANCE1_SPEC_VERSION = VK_KHR_MAINTENANCE_1_SPEC_VERSION + +const VK_KHR_MAINTENANCE1_EXTENSION_NAME = VK_KHR_MAINTENANCE_1_EXTENSION_NAME const VK_KHR_device_group_creation = 1 @@ -13997,9 +15827,13 @@ const VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME = "VK_KHR_performance_query" const VK_KHR_maintenance2 = 1 -const VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_2_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2" -const VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" +const VK_KHR_MAINTENANCE2_SPEC_VERSION = VK_KHR_MAINTENANCE_2_SPEC_VERSION + +const VK_KHR_MAINTENANCE2_EXTENSION_NAME = VK_KHR_MAINTENANCE_2_EXTENSION_NAME const VK_KHR_get_surface_capabilities2 = 1 @@ -14063,9 +15897,13 @@ const VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" const VK_KHR_maintenance3 = 1 -const VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 +const VK_KHR_MAINTENANCE_3_SPEC_VERSION = 1 + +const VK_KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3" -const VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" +const VK_KHR_MAINTENANCE3_SPEC_VERSION = VK_KHR_MAINTENANCE_3_SPEC_VERSION + +const VK_KHR_MAINTENANCE3_EXTENSION_NAME = VK_KHR_MAINTENANCE_3_EXTENSION_NAME const VK_KHR_draw_indirect_count = 1 @@ -14097,6 +15935,14 @@ const VK_KHR_SHADER_CLOCK_SPEC_VERSION = 1 const VK_KHR_SHADER_CLOCK_EXTENSION_NAME = "VK_KHR_shader_clock" +const VK_KHR_global_priority = 1 + +const VK_MAX_GLOBAL_PRIORITY_SIZE_KHR = Cuint(16) + +const VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION = 1 + +const VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_KHR_global_priority" + const VK_KHR_driver_properties = 1 const VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION = 1 @@ -14145,7 +15991,7 @@ const VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME = "VK_KHR_shader_termina const VK_KHR_fragment_shading_rate = 1 -const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1 +const VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2 const VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate" @@ -14167,6 +16013,12 @@ const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION = 1 const VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME = "VK_KHR_separate_depth_stencil_layouts" +const VK_KHR_present_wait = 1 + +const VK_KHR_PRESENT_WAIT_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_WAIT_EXTENSION_NAME = "VK_KHR_present_wait" + const VK_KHR_uniform_buffer_standard_layout = 1 const VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION = 1 @@ -14191,6 +16043,12 @@ const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION = 1 const VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME = "VK_KHR_pipeline_executable_properties" +const VK_KHR_shader_integer_dot_product = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1 + +const VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product" + const VK_KHR_pipeline_library = 1 const VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION = 1 @@ -14203,12 +16061,24 @@ const VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION = 1 const VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME = "VK_KHR_shader_non_semantic_info" +const VK_KHR_present_id = 1 + +const VK_KHR_PRESENT_ID_SPEC_VERSION = 1 + +const VK_KHR_PRESENT_ID_EXTENSION_NAME = "VK_KHR_present_id" + const VK_KHR_synchronization2 = 1 const VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1 const VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2" +const VK_KHR_shader_subgroup_uniform_control_flow = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION = 1 + +const VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME = "VK_KHR_shader_subgroup_uniform_control_flow" + const VK_KHR_zero_initialize_workgroup_memory = 1 const VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION = 1 @@ -14227,6 +16097,18 @@ const VK_KHR_COPY_COMMANDS_2_SPEC_VERSION = 1 const VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME = "VK_KHR_copy_commands2" +const VK_KHR_format_feature_flags2 = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1 + +const VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2" + +const VK_KHR_maintenance4 = 1 + +const VK_KHR_MAINTENANCE_4_SPEC_VERSION = 2 + +const VK_KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4" + const VK_EXT_debug_report = 1 const VK_EXT_DEBUG_REPORT_SPEC_VERSION = 10 @@ -14293,6 +16175,12 @@ const VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION = 1 const VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME = "VK_EXT_transform_feedback" +const VK_NVX_binary_import = 1 + +const VK_NVX_BINARY_IMPORT_SPEC_VERSION = 1 + +const VK_NVX_BINARY_IMPORT_EXTENSION_NAME = "VK_NVX_binary_import" + const VK_NVX_image_view_handle = 1 const VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION = 2 @@ -14445,9 +16333,13 @@ const VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_ const VK_NV_viewport_array2 = 1 -const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 +const VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 -const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" +const VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" + +const VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION + +const VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME const VK_NVX_multiview_per_view_attributes = 1 @@ -14591,7 +16483,7 @@ const VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" const VK_EXT_image_drm_format_modifier = 1 -const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1 +const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2 const VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier" @@ -14769,7 +16661,7 @@ const VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr" const VK_EXT_fragment_density_map = 1 -const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1 +const VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2 const VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map" @@ -14781,9 +16673,13 @@ const VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME = "VK_EXT_scalar_block_layout" const VK_GOOGLE_hlsl_functionality1 = 1 -const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1 +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1 + +const VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" + +const VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION -const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1" +const VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME const VK_GOOGLE_decorate_string = 1 @@ -14853,7 +16749,7 @@ const VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME = "VK_EXT_separate_stencil_us const VK_EXT_validation_features = 1 -const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 4 +const VK_EXT_VALIDATION_FEATURES_SPEC_VERSION = 5 const VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME = "VK_EXT_validation_features" @@ -14923,6 +16819,12 @@ const VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_extended_dynamic_state" +const VK_EXT_shader_atomic_float2 = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION = 1 + +const VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME = "VK_EXT_shader_atomic_float2" + const VK_EXT_shader_demote_to_helper_invocation = 1 const VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION = 1 @@ -14959,6 +16861,12 @@ const VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION = 2 const VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME = "VK_EXT_device_memory_report" +const VK_EXT_acquire_drm_display = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION = 1 + +const VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_drm_display" + const VK_EXT_robustness2 = 1 const VK_EXT_ROBUSTNESS_2_SPEC_VERSION = 1 @@ -15007,6 +16915,12 @@ const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1 const VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" +const VK_NV_ray_tracing_motion_blur = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1 + +const VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" + const VK_EXT_ycbcr_2plane_444_formats = 1 const VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION = 1 @@ -15037,6 +16951,18 @@ const VK_EXT_4444_FORMATS_SPEC_VERSION = 1 const VK_EXT_4444_FORMATS_EXTENSION_NAME = "VK_EXT_4444_formats" +const VK_ARM_rasterization_order_attachment_access = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1 + +const VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access" + +const VK_EXT_rgba10x6_formats = 1 + +const VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1 + +const VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats" + const VK_NV_acquire_winrt_display = 1 const VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION = 1 @@ -15055,6 +16981,42 @@ const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION = 2 const VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME = "VK_EXT_vertex_input_dynamic_state" +const VK_EXT_physical_device_drm = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION = 1 + +const VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME = "VK_EXT_physical_device_drm" + +const VK_EXT_depth_clip_control = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1 + +const VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control" + +const VK_EXT_primitive_topology_list_restart = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1 + +const VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart" + +const VK_HUAWEI_subpass_shading = 1 + +const VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2 + +const VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading" + +const VK_HUAWEI_invocation_mask = 1 + +const VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION = 1 + +const VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME = "VK_HUAWEI_invocation_mask" + +const VK_NV_external_memory_rdma = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION = 1 + +const VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME = "VK_NV_external_memory_rdma" + const VK_EXT_extended_dynamic_state2 = 1 const VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1 @@ -15067,9 +17029,71 @@ const VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION = 1 const VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME = "VK_EXT_color_write_enable" +const VK_EXT_global_priority_query = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION = 1 + +const VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME = "VK_EXT_global_priority_query" + +const VK_MAX_GLOBAL_PRIORITY_SIZE_EXT = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR + +const VK_EXT_image_view_min_lod = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION = 1 + +const VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME = "VK_EXT_image_view_min_lod" + +const VK_EXT_multi_draw = 1 + +const VK_EXT_MULTI_DRAW_SPEC_VERSION = 1 + +const VK_EXT_MULTI_DRAW_EXTENSION_NAME = "VK_EXT_multi_draw" + +const VK_EXT_load_store_op_none = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1 + +const VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none" + +const VK_EXT_border_color_swizzle = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1 + +const VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle" + +const VK_EXT_pageable_device_local_memory = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1 + +const VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory" + +const VK_VALVE_descriptor_set_host_mapping = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION = 1 + +const VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME = "VK_VALVE_descriptor_set_host_mapping" + +const VK_QCOM_fragment_density_map_offset = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION = 1 + +const VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME = "VK_QCOM_fragment_density_map_offset" + +const VK_NV_linear_color_attachment = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION = 1 + +const VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME = "VK_NV_linear_color_attachment" + +const VK_GOOGLE_surfaceless_query = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION = 1 + +const VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME = "VK_GOOGLE_surfaceless_query" + const VK_KHR_acceleration_structure = 1 -const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11 +const VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13 const VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure" diff --git a/src/LibVulkan.jl b/src/LibVulkan.jl index fe38586..5152a66 100644 --- a/src/LibVulkan.jl +++ b/src/LibVulkan.jl @@ -22,10 +22,10 @@ const libvulkan_handle = Ref{Ptr{Cvoid}}(0) function __init__() libname = Libdl.find_library(libvulkan) if isempty(libname) - error(""" - Failed to retrieve a valid Vulkan library called '$libvulkan'. - If you configure the `JULIA_VULKAN_LIBNAME` environment variable before precompiling VulkanCore, it will be used instead of '$libvulkan'. You may also manually add search paths by appending them to Lidbl.DL_LOAD_PATH, but note that this may have repercussions beyond this package. - """) + error(""" + Failed to retrieve a valid Vulkan library called '$libvulkan'. + If you configure the `JULIA_VULKAN_LIBNAME` environment variable before precompiling VulkanCore, it will be used instead of '$libvulkan'. You may also manually add search paths by appending them to Lidbl.DL_LOAD_PATH, but note that this may have repercussions beyond this package. + """) end libvulkan_handle[] = Libdl.dlopen(libname) end @@ -63,7 +63,7 @@ elseif Sys.islinux() && Sys.ARCH === :x86_64 && !IS_LIBC_MUSL elseif Sys.islinux() && Sys.ARCH === :x86_64 && IS_LIBC_MUSL include("../lib/x86_64-linux-musl.jl") elseif Sys.isbsd() && !Sys.isapple() - include("../lib/x86_64-unknown-freebsd11.1.jl") + include("../lib/x86_64-unknown-freebsd.jl") elseif Sys.iswindows() && Sys.ARCH === :x86_64 include("../lib/x86_64-w64-mingw32.jl") else @@ -72,7 +72,7 @@ end # exports const PREFIXES = ["VK_", "Vk", "vk"] -for name in names(@__MODULE__; all=true), prefix in PREFIXES +for name in names(@__MODULE__; all = true), prefix in PREFIXES if startswith(string(name), prefix) @eval export $name end diff --git a/test/vkhelper.jl b/test/vkhelper.jl index ce18b19..88475c9 100644 --- a/test/vkhelper.jl +++ b/test/vkhelper.jl @@ -10,9 +10,16 @@ unsafe_strings2pp(names::Vector{String}) = Base.unsafe_convert(Ptr{Cstring}, Bas """ to_string(x::NTuple{N,UInt8}) -> String -Convert a `NTuple{N,UInt8}` to `String` dropping all of the `\0`s. +Convert a `NTuple{N,UInt8}` to `String`, stopping at the first `\0` encountered. """ -to_string(x::NTuple{N,Int8}) where {N} = rstrip(String(UInt8.(collect(x))), '\0') +function to_string(x::NTuple{N,Int8}) where {N} + nullchar = findfirst(iszero, x) + nullchar == 1 && return "" + if !isnothing(nullchar) + x = x[1:nullchar-1] + end + String(reinterpret(UInt8, collect(x))) +end """ int2version(::Type{VersionNumber}, ver::Integer) -> VersionNumber @@ -65,7 +72,7 @@ function check_extensions(required_extensions::Vector{<:AbstractString}) @info " $(x.name): $(x.version)" end names = [x.name for x in supported] - if all(x->x in names, required_extensions) + if all(x -> x in names, required_extensions) return true else @error "not all required extensions are supported." @@ -227,7 +234,7 @@ Return a `QueueFamilyIndices` for the input device. function find_queue_families(device::VkPhysicalDevice) indices = QueueFamilyIndices() families = get_queue_family_properties(device) - for (i,family) in enumerate(families) + for (i, family) in enumerate(families) if Bool(family.queueFlags & VK_QUEUE_GRAPHICS_BIT) indices.graphicsFamily = i end @@ -255,4 +262,4 @@ function LibVulkan.VkDeviceCreateInfo(queue_count::Integer, queue_info::Ref{VkDe return VkDeviceCreateInfo(sType, pNext, flags, queueCreateInfoCount, pQueueCreateInfos, 0, C_NULL, 0, C_NULL, pEnabledFeatures) end -LibVulkan.VkPhysicalDeviceFeatures() = VkPhysicalDeviceFeatures(fill(VK_FALSE,55)...) +LibVulkan.VkPhysicalDeviceFeatures() = VkPhysicalDeviceFeatures(fill(VK_FALSE, 55)...)