From 08557911dab5605b3b8163088427315529d784f8 Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Sun, 2 Jun 2024 12:23:37 -0700 Subject: [PATCH] regenerate with latest vk.xml Signed-off-by: Stephen Gutekanst --- vk.xml | 23657 +++++++++++++++++++++++----- vk.zig | 47002 +++++++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 58064 insertions(+), 12595 deletions(-) mode change 100644 => 100755 vk.xml diff --git a/vk.xml b/vk.xml old mode 100644 new mode 100755 index 5f76cc1..c9049bc --- a/vk.xml +++ b/vk.xml @@ -1,35 +1,9 @@ -Copyright (c) 2015-2019 The Khronos Group Inc. +Copyright 2015-2024 The Khronos Group Inc. -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - ----- Exceptions to the Apache 2.0 License: ---- - -As an exception, if you use this Software to generate code and portions of -this Software are embedded into the generated code as a result, you may -redistribute such product without providing attribution as would otherwise -be required by Sections 4(a), 4(b) and 4(d) of the License. - -In addition, if you combine or link code generated by this Software with -software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1 -("`Combined Software`") and if a court of competent jurisdiction determines -that the patent provision (Section 3), the indemnity provision (Section 9) -or other Section of the License conflicts with the conditions of the -applicable GPL or LGPL license, you may retroactively and prospectively -choose to deem waived or otherwise exclude such Section(s) of the License, -but only in their entirety and only with respect to the Combined Software. +SPDX-License-Identifier: Apache-2.0 OR MIT @@ -39,9 +13,9 @@ machine-readable definition of the API, parameter and member validation language incorporated into the Specification and reference pages, and other material which is registered by Khronos, such as tags used by extension and layer authors. The authoritative public version of vk.xml is maintained in -the master branch of the Khronos Vulkan GitHub project. The authoritative -private version is maintained in the master branch of the member gitlab -server. +the default branch (currently named main) of the Khronos Vulkan GitHub +project. The authoritative private version is maintained in the default +branch of the member gitlab server. @@ -49,6 +23,7 @@ server. + @@ -57,10 +32,13 @@ server. + + + - + @@ -74,11 +52,12 @@ server. - + - + + @@ -88,8 +67,15 @@ server. - + + + + + + + + @@ -102,8 +88,12 @@ server. + + + + In the current header structure, each platform's interfaces are confined to a platform-specific header (vulkan_xlib.h, @@ -137,52 +127,150 @@ server. + + + + + + + + + + + + // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. +#define VK_MAKE_VERSION(major, minor, patch) \ + ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) + // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. +#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) + // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. +#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) + // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. +#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) - #define VK_MAKE_VERSION(major, minor, patch) \ - (((major) << 22) | ((minor) << 12) | (patch)) - #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) - #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) - #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) + #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ + ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) + #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) + #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) + #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) + #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) + + // Vulkan SC variant number +#define VKSC_API_VARIANT 1 // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. -//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 +//#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0 // Vulkan 1.0 version number -#define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)// Patch version should always be set to 0 +#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 // Vulkan 1.1 version number -#define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0 - // Version of this file -#define VK_HEADER_VERSION 130 +#define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 + // Vulkan 1.2 version number +#define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 + // Vulkan 1.3 version number +#define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 + // Vulkan SC 1.0 version number +#define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0 + + // Version of this file +#define VK_HEADER_VERSION 286 + // Complete version of this file +#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + // Version of this file +#define VK_HEADER_VERSION 14 + // Complete version of this file +#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION) - + #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; + +#define VK_DEFINE_HANDLE(object) typedef struct object##_T* (object); - -#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE) -#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) + +#ifndef VK_USE_64_BIT_PTR_DEFINES + #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) || (defined(__riscv) && __riscv_xlen == 64) + #define VK_USE_64_BIT_PTR_DEFINES 1 + #else + #define VK_USE_64_BIT_PTR_DEFINES 0 + #endif +#endif + +#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE + #if (VK_USE_64_BIT_PTR_DEFINES==1) + #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L)) + #define VK_NULL_HANDLE nullptr + #else + #define VK_NULL_HANDLE ((void*)0) + #endif + #else + #define VK_NULL_HANDLE 0ULL + #endif +#endif +#ifndef VK_NULL_HANDLE + #define VK_NULL_HANDLE 0 +#endif + +#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE + #if (VK_USE_64_BIT_PTR_DEFINES==1) #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; -#else + #else #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; -#endif + #endif +#endif + +#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE + #if (VK_USE_64_BIT_PTR_DEFINES==1) + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *(object); + #else + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t (object); + #endif #endif - -#define VK_NULL_HANDLE 0 - - struct ANativeWindow; - struct AHardwareBuffer; - -#ifdef __OBJC__ + struct ANativeWindow; + struct AHardwareBuffer; + #ifdef __OBJC__ @class CAMetalLayer; #else typedef void CAMetalLayer; #endif + #ifdef __OBJC__ +@protocol MTLDevice; +typedef __unsafe_unretained id<MTLDevice> MTLDevice_id; +#else +typedef void* MTLDevice_id; +#endif + #ifdef __OBJC__ +@protocol MTLCommandQueue; +typedef __unsafe_unretained id<MTLCommandQueue> MTLCommandQueue_id; +#else +typedef void* MTLCommandQueue_id; +#endif + #ifdef __OBJC__ +@protocol MTLBuffer; +typedef __unsafe_unretained id<MTLBuffer> MTLBuffer_id; +#else +typedef void* MTLBuffer_id; +#endif + #ifdef __OBJC__ +@protocol MTLTexture; +typedef __unsafe_unretained id<MTLTexture> MTLTexture_id; +#else +typedef void* MTLTexture_id; +#endif + #ifdef __OBJC__ +@protocol MTLSharedEvent; +typedef __unsafe_unretained id<MTLSharedEvent> MTLSharedEvent_id; +#else +typedef void* MTLSharedEvent_id; +#endif + typedef struct __IOSurface* IOSurfaceRef; typedef uint32_t VkSampleMask; typedef uint32_t VkBool32; typedef uint32_t VkFlags; + typedef uint64_t VkFlags64; typedef uint64_t VkDeviceSize; typedef uint64_t VkDeviceAddress; @@ -191,7 +279,9 @@ typedef void CAMetalLayer; + + @@ -205,11 +295,13 @@ typedef void CAMetalLayer; typedef VkFlags VkQueryPoolCreateFlags; typedef VkFlags VkRenderPassCreateFlags; typedef VkFlags VkSamplerCreateFlags; - typedef VkFlags VkPipelineLayoutCreateFlags; - typedef VkFlags VkPipelineCacheCreateFlags; - typedef VkFlags VkPipelineDepthStencilStateCreateFlags; + typedef VkFlags VkPipelineLayoutCreateFlags; + typedef VkFlags VkPipelineCacheCreateFlags; + typedef VkFlags VkPipelineDepthStencilStateCreateFlags; + typedef VkFlags VkPipelineDepthStencilStateCreateFlags; typedef VkFlags VkPipelineDynamicStateCreateFlags; - typedef VkFlags VkPipelineColorBlendStateCreateFlags; + typedef VkFlags VkPipelineColorBlendStateCreateFlags; + typedef VkFlags VkPipelineColorBlendStateCreateFlags; typedef VkFlags VkPipelineMultisampleStateCreateFlags; typedef VkFlags VkPipelineRasterizationStateCreateFlags; typedef VkFlags VkPipelineViewportStateCreateFlags; @@ -219,7 +311,7 @@ typedef void CAMetalLayer; typedef VkFlags VkPipelineShaderStageCreateFlags; typedef VkFlags VkDescriptorSetLayoutCreateFlags; typedef VkFlags VkBufferViewCreateFlags; - typedef VkFlags VkInstanceCreateFlags; + typedef VkFlags VkInstanceCreateFlags; typedef VkFlags VkDeviceCreateFlags; typedef VkFlags VkDeviceQueueCreateFlags; typedef VkFlags VkQueueFlags; @@ -239,14 +331,15 @@ typedef void CAMetalLayer; typedef VkFlags VkFormatFeatureFlags; typedef VkFlags VkQueryControlFlags; typedef VkFlags VkQueryResultFlags; - typedef VkFlags VkShaderModuleCreateFlags; - typedef VkFlags VkEventCreateFlags; - typedef VkFlags VkCommandPoolCreateFlags; - typedef VkFlags VkCommandPoolResetFlags; - typedef VkFlags VkCommandBufferResetFlags; - typedef VkFlags VkCommandBufferUsageFlags; + typedef VkFlags VkShaderModuleCreateFlags; + typedef VkFlags VkEventCreateFlags; + typedef VkFlags VkCommandPoolCreateFlags; + typedef VkFlags VkCommandPoolResetFlags; + typedef VkFlags VkCommandBufferResetFlags; + typedef VkFlags VkCommandBufferUsageFlags; typedef VkFlags VkQueryPipelineStatisticFlags; - typedef VkFlags VkMemoryMapFlags; + typedef VkFlags VkMemoryMapFlags; + typedef VkFlags VkMemoryUnmapFlagsKHR; typedef VkFlags VkImageAspectFlags; typedef VkFlags VkSparseMemoryBindFlags; typedef VkFlags VkSparseImageFormatFlags; @@ -260,20 +353,45 @@ typedef void CAMetalLayer; typedef VkFlags VkDescriptorPoolResetFlags; typedef VkFlags VkDependencyFlags; typedef VkFlags VkSubgroupFeatureFlags; - typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNVX; - typedef VkFlags VkObjectEntryUsageFlagsNVX; - typedef VkFlags VkGeometryFlagsNV; - typedef VkFlags VkGeometryInstanceFlagsNV; - typedef VkFlags VkBuildAccelerationStructureFlagsNV; - + typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; + typedef VkFlags VkIndirectStateFlagsNV; + typedef VkFlags VkGeometryFlagsKHR; + + typedef VkFlags VkGeometryInstanceFlagsKHR; + + typedef VkFlags VkBuildAccelerationStructureFlagsKHR; + + typedef VkFlags VkPrivateDataSlotCreateFlags; + + typedef VkFlags VkAccelerationStructureCreateFlagsKHR; typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; - typedef VkFlags VkPipelineCreationFeedbackFlagsEXT; + typedef VkFlags VkPipelineCreationFeedbackFlags; + typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; - typedef VkFlags VkAcquireProfilingLockFlagsKHR; - typedef VkFlags VkSemaphoreWaitFlagsKHR; + typedef VkFlags VkAcquireProfilingLockFlagsKHR; + typedef VkFlags VkSemaphoreWaitFlags; + typedef VkFlags VkPipelineCompilerControlFlagsAMD; typedef VkFlags VkShaderCorePropertiesFlagsAMD; + typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; + typedef VkFlags VkRefreshObjectFlagsKHR; + typedef VkFlags64 VkAccessFlags2; + + typedef VkFlags64 VkPipelineStageFlags2; + + typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; + typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; + typedef VkFlags64 VkFormatFeatureFlags2; + + typedef VkFlags VkRenderingFlags; + typedef VkFlags64 VkMemoryDecompressionMethodFlagsNV; + + typedef VkFlags VkBuildMicromapFlagsEXT; + typedef VkFlags VkMicromapCreateFlagsEXT; + typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; + typedef VkFlags64 VkPipelineCreateFlags2KHR; + typedef VkFlags64 VkBufferUsageFlags2KHR; WSI extensions typedef VkFlags VkCompositeAlphaFlagsKHR; @@ -288,26 +406,28 @@ typedef void CAMetalLayer; typedef VkFlags VkWin32SurfaceCreateFlagsKHR; typedef VkFlags VkXlibSurfaceCreateFlagsKHR; typedef VkFlags VkXcbSurfaceCreateFlagsKHR; + typedef VkFlags VkDirectFBSurfaceCreateFlagsEXT; typedef VkFlags VkIOSSurfaceCreateFlagsMVK; typedef VkFlags VkMacOSSurfaceCreateFlagsMVK; typedef VkFlags VkMetalSurfaceCreateFlagsEXT; typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA; typedef VkFlags VkStreamDescriptorSurfaceCreateFlagsGGP; typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; - typedef VkFlags VkPeerMemoryFeatureFlags; + typedef VkFlags VkScreenSurfaceCreateFlagsQNX; + typedef VkFlags VkPeerMemoryFeatureFlags; - typedef VkFlags VkMemoryAllocateFlags; + typedef VkFlags VkMemoryAllocateFlags; typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; - typedef VkFlags VkDebugReportFlagsEXT; + typedef VkFlags VkDebugReportFlagsEXT; typedef VkFlags VkCommandPoolTrimFlags; typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; typedef VkFlags VkExternalMemoryFeatureFlagsNV; typedef VkFlags VkExternalMemoryHandleTypeFlags; - typedef VkFlags VkExternalMemoryFeatureFlags; + typedef VkFlags VkExternalMemoryFeatureFlags; typedef VkFlags VkExternalSemaphoreHandleTypeFlags; @@ -317,9 +437,9 @@ typedef void CAMetalLayer; typedef VkFlags VkExternalFenceHandleTypeFlags; - typedef VkFlags VkExternalFenceFeatureFlags; + typedef VkFlags VkExternalFenceFeatureFlags; - typedef VkFlags VkFenceImportFlags; + typedef VkFlags VkFenceImportFlags; typedef VkFlags VkSurfaceCounterFlagsEXT; typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; @@ -328,62 +448,141 @@ typedef void CAMetalLayer; typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; typedef VkFlags VkValidationCacheCreateFlagsEXT; - typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; - typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; + typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; + typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; + typedef VkFlags VkDeviceMemoryReportFlagsEXT; typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; - typedef VkFlags VkDescriptorBindingFlagsEXT; - typedef VkFlags VkConditionalRenderingFlagsEXT; - typedef VkFlags VkResolveModeFlagsKHR; + typedef VkFlags VkDescriptorBindingFlags; + + typedef VkFlags VkConditionalRenderingFlagsEXT; + typedef VkFlags VkResolveModeFlags; + typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; typedef VkFlags VkSwapchainImageUsageFlagsANDROID; - typedef VkFlags VkToolPurposeFlagsEXT; + typedef VkFlags VkToolPurposeFlags; + + typedef VkFlags VkSubmitFlags; + + typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA; + typedef VkFlags VkHostImageCopyFlagsEXT; + typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA; + typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; + typedef VkFlags VkImageCompressionFlagsEXT; + typedef VkFlags VkImageCompressionFixedRateFlagsEXT; + typedef VkFlags VkExportMetalObjectTypeFlagsEXT; + typedef VkFlags VkDeviceAddressBindingFlagsEXT; + typedef VkFlags VkOpticalFlowGridSizeFlagsNV; + typedef VkFlags VkOpticalFlowUsageFlagsNV; + typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; + typedef VkFlags VkOpticalFlowExecuteFlagsNV; + typedef VkFlags VkFrameBoundaryFlagsEXT; + typedef VkFlags VkPresentScalingFlagsEXT; + typedef VkFlags VkPresentGravityFlagsEXT; + typedef VkFlags VkShaderCreateFlagsEXT; + typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; + + Video Core extension + typedef VkFlags VkVideoCodecOperationFlagsKHR; + typedef VkFlags VkVideoCapabilityFlagsKHR; + typedef VkFlags VkVideoSessionCreateFlagsKHR; + typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; + typedef VkFlags VkVideoBeginCodingFlagsKHR; + typedef VkFlags VkVideoEndCodingFlagsKHR; + typedef VkFlags VkVideoCodingControlFlagsKHR; + + Video Decode Core extension + typedef VkFlags VkVideoDecodeUsageFlagsKHR; + typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; + typedef VkFlags VkVideoDecodeFlagsKHR; + + Video Decode H.264 extension + typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; + + Video Encode Core extension + typedef VkFlags VkVideoEncodeFlagsKHR; + typedef VkFlags VkVideoEncodeUsageFlagsKHR; + typedef VkFlags VkVideoEncodeContentFlagsKHR; + typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; + typedef VkFlags VkVideoEncodeFeedbackFlagsKHR; + typedef VkFlags VkVideoEncodeRateControlFlagsKHR; + typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; + typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; + typedef VkFlags VkVideoComponentBitDepthFlagsKHR; + + Video Encode H.264 extension + typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR; + typedef VkFlags VkVideoEncodeH264StdFlagsKHR; + typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR; + + Video Encode H.265 extension + typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR; + typedef VkFlags VkVideoEncodeH265StdFlagsKHR; + typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR; + typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR; + typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR; Types which can be void pointers or class pointers, selected at compile time - VK_DEFINE_HANDLE(VkInstance) - VK_DEFINE_HANDLE(VkPhysicalDevice) - VK_DEFINE_HANDLE(VkDevice) - VK_DEFINE_HANDLE(VkQueue) - VK_DEFINE_HANDLE(VkCommandBuffer) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkObjectTableNVX) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNVX) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) + VK_DEFINE_HANDLE(VkInstance) + VK_DEFINE_HANDLE(VkPhysicalDevice) + VK_DEFINE_HANDLE(VkDevice) + VK_DEFINE_HANDLE(VkQueue) + VK_DEFINE_HANDLE(VkCommandBuffer) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) + + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT) WSI extensions - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) + + Video extensions + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) + + VK_NV_external_sci_sync2 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphoreSciSyncPoolNV) Types generated from corresponding enums tags below @@ -396,20 +595,9 @@ typedef void CAMetalLayer; - - - - - - - - - - - @@ -431,6 +619,7 @@ typedef void CAMetalLayer; + @@ -474,14 +663,17 @@ typedef void CAMetalLayer; - - + + + + Extensions - - - - + + + + + @@ -493,39 +685,117 @@ typedef void CAMetalLayer; - - + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + + - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WSI extensions @@ -535,6 +805,7 @@ typedef void CAMetalLayer; + @@ -576,21 +847,81 @@ typedef void CAMetalLayer; - + + - + + + + + + + + + + + + + + + + + + + + Enumerated types in the header, but not used by the API - + + + Video Core extensions + + + + + + + + + Video Decode extensions + + + + Video H.264 Decode extensions + + + Video H.265 Decode extensions + + Video Encode extensions + + + + + + + + + Video H.264 Encode extensions + + + + + Video H.265 Encode extensions + + + + + + The PFN_vk*Function types are used by VkAllocationCallbacks below typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( void* pUserData, @@ -638,14 +969,34 @@ typedef void CAMetalLayer; const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, void* pUserData); + The PFN_vkFaultCallbackFunction type is used by VKSC_VERSION_1_0 + typedef void (VKAPI_PTR *PFN_vkFaultCallbackFunction)( + VkBool32 unrecordedFaults, + uint32_t faultCount, + const VkFaultData* pFaults); + + The PFN_vkDeviceMemoryReportCallbackEXT type is used by the VK_EXT_device_memory_report extension + typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( + const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, + void* pUserData); + + The PFN_vkGetInstanceProcAddrLUNARG type is used by the + VkDirectDriverLoadingInfoLUNARG structure. + We cannot introduce an explicit dependency on the + equivalent PFN_vkGetInstanceProcAddr type, even though + it is implicitly generated in the C header, because + that results in multiple definitions. + typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)( + VkInstance instance, const char* pName); + Struct types VkStructureType sType - struct VkBaseOutStructure* pNext + struct VkBaseOutStructure* pNext VkStructureType sType - const struct VkBaseInStructure* pNext + const struct VkBaseInStructure* pNext int32_t x @@ -689,29 +1040,29 @@ typedef void CAMetalLayer; VkComponentSwizzle a - uint32_t apiVersion - uint32_t driverVersion - uint32_t vendorID - uint32_t deviceID - VkPhysicalDeviceType deviceType - char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE] - uint8_t pipelineCacheUUID[VK_UUID_SIZE] - VkPhysicalDeviceLimits limits - VkPhysicalDeviceSparseProperties sparseProperties + uint32_t apiVersion + uint32_t driverVersion + uint32_t vendorID + uint32_t deviceID + VkPhysicalDeviceType deviceType + char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE] + uint8_t pipelineCacheUUID[VK_UUID_SIZE] + VkPhysicalDeviceLimits limits + VkPhysicalDeviceSparseProperties sparseProperties - char extensionName[VK_MAX_EXTENSION_NAME_SIZE]extension name - uint32_t specVersionversion of the extension specification implemented + char extensionName[VK_MAX_EXTENSION_NAME_SIZE]extension name + uint32_t specVersionversion of the extension specification implemented - char layerName[VK_MAX_EXTENSION_NAME_SIZE]layer name - uint32_t specVersionversion of the layer specification implemented - uint32_t implementationVersionbuild or release version of the layer's library - char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the layer + char layerName[VK_MAX_EXTENSION_NAME_SIZE]layer name + uint32_t specVersionversion of the layer specification implemented + uint32_t implementationVersionbuild or release version of the layer's library + char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the layer VkStructureType sType - const void* pNext + const void* pNext const char* pApplicationName uint32_t applicationVersion const char* pEngineName @@ -728,7 +1079,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDeviceQueueCreateFlags flags uint32_t queueFamilyIndex uint32_t queueCount @@ -736,19 +1087,19 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDeviceCreateFlags flags uint32_t queueCreateInfoCount const VkDeviceQueueCreateInfo* pQueueCreateInfos - uint32_t enabledLayerCount - const char* const* ppEnabledLayerNamesOrdered list of layer names to be enabled + uint32_t enabledLayerCount + const char* const* ppEnabledLayerNamesOrdered list of layer names to be enabled uint32_t enabledExtensionCount const char* const* ppEnabledExtensionNames const VkPhysicalDeviceFeatures* pEnabledFeatures VkStructureType sType - const void* pNext + const void* pNext VkInstanceCreateFlags flags const VkApplicationInfo* pApplicationInfo uint32_t enabledLayerCount @@ -757,20 +1108,20 @@ typedef void CAMetalLayer; const char* const* ppEnabledExtensionNamesExtension names to be enabled - VkQueueFlags queueFlagsQueue flags - uint32_t queueCount - uint32_t timestampValidBits - VkExtent3D minImageTransferGranularityMinimum alignment requirement for image transfers + VkQueueFlags queueFlagsQueue flags + uint32_t queueCount + uint32_t timestampValidBits + VkExtent3D minImageTransferGranularityMinimum alignment requirement for image transfers - uint32_t memoryTypeCount - VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES] - uint32_t memoryHeapCount - VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS] + uint32_t memoryTypeCount + VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES] + uint32_t memoryHeapCount + VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS] VkStructureType sType - const void* pNext + const void* pNext VkDeviceSize allocationSizeSize of memory allocation uint32_t memoryTypeIndexIndex of the of the memory type to allocate from @@ -780,9 +1131,9 @@ typedef void CAMetalLayer; uint32_t memoryTypeBitsBitmask of the allowed memory type indices into memoryTypes[] for this object - VkImageAspectFlags aspectMask - VkExtent3D imageGranularity - VkSparseImageFormatFlags flags + VkImageAspectFlags aspectMask + VkExtent3D imageGranularity + VkSparseImageFormatFlags flags VkSparseImageFormatProperties formatProperties @@ -801,15 +1152,15 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDeviceMemory memoryMapped memory object VkDeviceSize offsetOffset within the memory object where the range starts VkDeviceSize sizeSize of the range within the memory object - VkFormatFeatureFlags linearTilingFeaturesFormat features in case of linear tiling - VkFormatFeatureFlags optimalTilingFeaturesFormat features in case of optimal tiling - VkFormatFeatureFlags bufferFeaturesFormat features supported by buffers + VkFormatFeatureFlags linearTilingFeaturesFormat features in case of linear tiling + VkFormatFeatureFlags optimalTilingFeaturesFormat features in case of optimal tiling + VkFormatFeatureFlags bufferFeaturesFormat features supported by buffers VkExtent3D maxExtentmax image dimensions for this resource type @@ -819,7 +1170,7 @@ typedef void CAMetalLayer; VkDeviceSize maxResourceSizemax size (in bytes) of this resource type - VkBuffer bufferBuffer used for this descriptor slot. + VkBuffer bufferBuffer used for this descriptor slot. VkDeviceSize offsetBase offset from buffer start in bytes to update in the descriptor set. VkDeviceSize rangeSize in bytes of the buffer resource for this descriptor update. @@ -830,7 +1181,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDescriptorSet dstSetDestination descriptor set uint32_t dstBindingBinding within the destination descriptor set to write uint32_t dstArrayElementArray element within the destination binding to write @@ -842,7 +1193,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDescriptorSet srcSetSource descriptor set uint32_t srcBindingBinding within the source descriptor set to copy from uint32_t srcArrayElementArray element within the source binding to copy from @@ -851,20 +1202,25 @@ typedef void CAMetalLayer; uint32_t dstArrayElementArray element within the destination binding to copy to uint32_t descriptorCountNumber of descriptors to write (determines the size of the array pointed by pDescriptors) + + VkStructureType sType + const void* pNext + VkBufferUsageFlags2KHR usage + VkStructureType sType - const void* pNext + const void* pNext VkBufferCreateFlags flagsBuffer creation flags VkDeviceSize sizeSpecified in bytes - VkBufferUsageFlags usageBuffer usage flags + VkBufferUsageFlags usageBuffer usage flags VkSharingMode sharingMode uint32_t queueFamilyIndexCount const uint32_t* pQueueFamilyIndices VkStructureType sType - const void* pNext - VkBufferViewCreateFlagsflags + const void* pNext + VkBufferViewCreateFlags flags VkBuffer buffer VkFormat formatOptionally specifies format of elements VkDeviceSize offsetSpecified in bytes @@ -890,13 +1246,13 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize VkStructureType sType - const void* pNext + const void* pNext VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize uint32_t srcQueueFamilyIndexQueue family to transition ownership from @@ -907,7 +1263,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize VkImageLayout oldLayoutCurrent layout of the image @@ -919,7 +1275,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkImageCreateFlags flagsImage creation flags VkImageType imageType VkFormat format @@ -934,7 +1290,7 @@ typedef void CAMetalLayer; const uint32_t* pQueueFamilyIndicesArray of queue family indices to share across VkImageLayout initialLayoutInitial image layout for all subresources - + VkDeviceSize offsetSpecified in bytes VkDeviceSize sizeSpecified in bytes VkDeviceSize rowPitchSpecified in bytes @@ -943,7 +1299,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkImageViewCreateFlags flags VkImage image VkImageViewType viewType @@ -961,7 +1317,7 @@ typedef void CAMetalLayer; VkDeviceSize sizeSpecified in bytes VkDeviceMemory memory VkDeviceSize memoryOffsetSpecified in bytes - VkSparseMemoryBindFlagsflags + VkSparseMemoryBindFlags flags VkImageSubresource subresource @@ -969,7 +1325,7 @@ typedef void CAMetalLayer; VkExtent3D extent VkDeviceMemory memory VkDeviceSize memoryOffsetSpecified in bytes - VkSparseMemoryBindFlagsflags + VkSparseMemoryBindFlags flags VkBuffer buffer @@ -988,7 +1344,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreCount const VkSemaphore* pWaitSemaphores uint32_t bufferBindCount @@ -1021,6 +1377,19 @@ typedef void CAMetalLayer; VkOffset3D imageOffsetSpecified in pixels for both compressed and uncompressed images VkExtent3D imageExtentSpecified in pixels for both compressed and uncompressed images + + VkDeviceAddress srcAddress + VkDeviceAddress dstAddress + VkDeviceSize sizeSpecified in bytes + + + VkDeviceAddress srcAddress + uint32_t bufferRowLengthSpecified in texels + uint32_t bufferImageHeight + VkImageSubresourceLayers imageSubresource + VkOffset3D imageOffsetSpecified in pixels for both compressed and uncompressed images + VkExtent3D imageExtentSpecified in pixels for both compressed and uncompressed images + VkImageSubresourceLayers srcSubresource VkOffset3D srcOffset @@ -1028,9 +1397,9 @@ typedef void CAMetalLayer; VkOffset3D dstOffset VkExtent3D extent - + VkStructureType sType - const void* pNext + const void* pNextnoautovalidity because this structure can be either an explicit parameter, or passed in a pNext chain VkShaderModuleCreateFlags flags size_t codeSizeSpecified in bytes const uint32_t* pCodeBinary code of size codeSize @@ -1044,7 +1413,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDescriptorSetLayoutCreateFlags flags uint32_t bindingCountNumber of bindings in the descriptor set layout const VkDescriptorSetLayoutBinding* pBindingsArray of descriptor set layout bindings @@ -1055,15 +1424,15 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDescriptorPoolCreateFlags flags uint32_t maxSets - uint32_t poolSizeCount + uint32_t poolSizeCount const VkDescriptorPoolSize* pPoolSizes VkStructureType sType - const void* pNext + const void* pNext VkDescriptorPool descriptorPool uint32_t descriptorSetCount const VkDescriptorSetLayout* pSetLayouts @@ -1081,22 +1450,35 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineShaderStageCreateFlags flags VkShaderStageFlagBits stageShader stage - VkShaderModule moduleModule containing entry point - const char* pNameNull-terminated entry point name + VkShaderModule moduleModule containing entry point + const char* pNameNull-terminated entry point name + const char* pNameNull-terminated entry point name const VkSpecializationInfo* pSpecializationInfo VkStructureType sType - const void* pNext - VkPipelineCreateFlags flagsPipeline creation flags + const void* pNext + VkPipelineCreateFlags flagsPipeline creation flags VkPipelineShaderStageCreateInfo stage VkPipelineLayout layoutInterface layout of the pipeline VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of + + VkStructureType sType + const void* pNext + VkDeviceAddress deviceAddress + VkDeviceSize size + VkDeviceAddress pipelineDeviceAddressCaptureReplay + + + VkStructureType sType + const void* pNext + VkPipelineCreateFlags2KHR flags + uint32_t bindingVertex buffer binding id uint32_t strideDistance between vertices in bytes (0 = no advancement) @@ -1110,7 +1492,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineVertexInputStateCreateFlags flags uint32_t vertexBindingDescriptionCountnumber of bindings const VkVertexInputBindingDescription* pVertexBindingDescriptions @@ -1119,29 +1501,29 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineInputAssemblyStateCreateFlags flags VkPrimitiveTopology topology VkBool32 primitiveRestartEnable VkStructureType sType - const void* pNext + const void* pNext VkPipelineTessellationStateCreateFlags flags uint32_t patchControlPoints VkStructureType sType - const void* pNext + const void* pNext VkPipelineViewportStateCreateFlags flags - uint32_t viewportCount + uint32_t viewportCount const VkViewport* pViewports - uint32_t scissorCount + uint32_t scissorCount const VkRect2D* pScissors VkStructureType sType - const void* pNext + const void* pNext VkPipelineRasterizationStateCreateFlags flags VkBool32 depthClampEnable VkBool32 rasterizerDiscardEnable @@ -1156,7 +1538,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineMultisampleStateCreateFlags flags VkSampleCountFlagBits rasterizationSamplesNumber of samples used for rasterization VkBool32 sampleShadingEnableoptional (GL45) @@ -1177,17 +1559,17 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineColorBlendStateCreateFlags flags VkBool32 logicOpEnable VkLogicOp logicOp uint32_t attachmentCount# of pAttachments - const VkPipelineColorBlendAttachmentState* pAttachments + const VkPipelineColorBlendAttachmentState* pAttachments float blendConstants[4] VkStructureType sType - const void* pNext + const void* pNext VkPipelineDynamicStateCreateFlags flags uint32_t dynamicStateCount const VkDynamicState* pDynamicStates @@ -1203,7 +1585,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineDepthStencilStateCreateFlags flags VkBool32 depthTestEnable VkBool32 depthWriteEnable @@ -1217,49 +1599,83 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext - VkPipelineCreateFlags flagsPipeline creation flags - uint32_t stageCount - const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage + const void* pNext + VkPipelineCreateFlags flagsPipeline creation flags + uint32_t stageCount + const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage + const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage const VkPipelineVertexInputStateCreateInfo* pVertexInputState const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState const VkPipelineTessellationStateCreateInfo* pTessellationState const VkPipelineViewportStateCreateInfo* pViewportState - const VkPipelineRasterizationStateCreateInfo* pRasterizationState + const VkPipelineRasterizationStateCreateInfo* pRasterizationState const VkPipelineMultisampleStateCreateInfo* pMultisampleState const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState const VkPipelineColorBlendStateCreateInfo* pColorBlendState const VkPipelineDynamicStateCreateInfo* pDynamicState - VkPipelineLayout layoutInterface layout of the pipeline - VkRenderPass renderPass - uint32_t subpass + VkPipelineLayout layoutInterface layout of the pipeline + VkRenderPass renderPass + uint32_t subpass VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of VkStructureType sType - const void* pNext + const void* pNext VkPipelineCacheCreateFlags flags - size_t initialDataSizeSize of initial data to populate cache, in bytes + size_t initialDataSizeSize of initial data to populate cache, in bytes + size_t initialDataSizeSize of initial data to populate cache, in bytes const void* pInitialDataInitial data to populate cache + + The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. + uint32_t headerSize + VkPipelineCacheHeaderVersion headerVersion + uint32_t vendorID + uint32_t deviceID + uint8_t pipelineCacheUUID[VK_UUID_SIZE] + + + The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. + uint64_t codeSize + uint64_t codeOffset + + + The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. + uint8_t pipelineIdentifier[VK_UUID_SIZE] + uint64_t pipelineMemorySize + uint64_t jsonSize + uint64_t jsonOffset + uint32_t stageIndexCount + uint32_t stageIndexStride + uint64_t stageIndexOffset + + + The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. + VkPipelineCacheHeaderVersionOne headerVersionOne + VkPipelineCacheValidationVersion validationVersion + uint32_t implementationData + uint32_t pipelineIndexCount + uint32_t pipelineIndexStride + uint64_t pipelineIndexOffset + VkShaderStageFlags stageFlagsWhich stages use the range uint32_t offsetStart of the range, in bytes uint32_t sizeSize of the range, in bytes - + VkStructureType sType - const void* pNext + const void* pNext VkPipelineLayoutCreateFlags flags uint32_t setLayoutCountNumber of descriptor sets interfaced by the pipeline - const VkDescriptorSetLayout* pSetLayoutsArray of setCount number of descriptor set layout objects defining the layout of the + const VkDescriptorSetLayout* pSetLayoutsArray of setCount number of descriptor set layout objects defining the layout of the uint32_t pushConstantRangeCountNumber of push-constant ranges used by the pipeline const VkPushConstantRange* pPushConstantRangesArray of pushConstantRangeCount number of ranges used by various shader stages VkStructureType sType - const void* pNext + const void* pNext VkSamplerCreateFlags flags VkFilter magFilterFilter mode for magnification VkFilter minFilterFilter mode for minifiation @@ -1279,20 +1695,20 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkCommandPoolCreateFlags flagsCommand pool creation flags uint32_t queueFamilyIndex VkStructureType sType - const void* pNext + const void* pNext VkCommandPool commandPool VkCommandBufferLevel level uint32_t commandBufferCount VkStructureType sType - const void* pNext + const void* pNext VkRenderPass renderPassRender pass for secondary command buffers uint32_t subpass VkFramebuffer framebufferFramebuffer for secondary command buffers @@ -1302,18 +1718,18 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkCommandBufferUsageFlags flagsCommand buffer usage flags const VkCommandBufferInheritanceInfo* pInheritanceInfoPointer to inheritance info for secondary command buffers VkStructureType sType - const void* pNext + const void* pNext VkRenderPass renderPass VkFramebuffer framebuffer VkRect2D renderArea uint32_t clearValueCount - const VkClearValue* pClearValues + const VkClearValue* pClearValues float float32[4] @@ -1325,13 +1741,13 @@ typedef void CAMetalLayer; uint32_t stencil - VkClearColorValue color + VkClearColorValue color VkClearDepthStencilValue depthStencil VkImageAspectFlags aspectMask uint32_t colorAttachment - VkClearValue clearValue + VkClearValue clearValue VkAttachmentDescriptionFlags flags @@ -1363,15 +1779,15 @@ typedef void CAMetalLayer; uint32_t srcSubpass uint32_t dstSubpass - VkPipelineStageFlags srcStageMask - VkPipelineStageFlags dstStageMask + VkPipelineStageFlags srcStageMask + VkPipelineStageFlags dstStageMask VkAccessFlags srcAccessMaskMemory accesses from the source of the dependency to synchronize VkAccessFlags dstAccessMaskMemory accesses from the destination of the dependency to synchronize VkDependencyFlags dependencyFlags VkStructureType sType - const void* pNext + const void* pNext VkRenderPassCreateFlags flags uint32_t attachmentCount const VkAttachmentDescription* pAttachments @@ -1382,12 +1798,12 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkEventCreateFlags flagsEvent creation flags VkStructureType sType - const void* pNext + const void* pNext VkFenceCreateFlags flagsFence creation flags @@ -1401,7 +1817,7 @@ typedef void CAMetalLayer; VkBool32 dualSrcBlendblend operations which take two sources VkBool32 logicOplogic operations VkBool32 multiDrawIndirectmulti draw indirect - VkBool32 drawIndirectFirstInstanceindirect draws can use non-zero firstInstance + VkBool32 drawIndirectFirstInstanceindirect drawing can use non-zero firstInstance VkBool32 depthClampdepth clamping VkBool32 depthBiasClampdepth bias clamping VkBool32 fillModeNonSolidpoint and wireframe fill modes @@ -1448,137 +1864,137 @@ typedef void CAMetalLayer; VkBool32 inheritedQueriesQueries may be inherited from primary to secondary command buffers - VkBool32 residencyStandard2DBlockShapeSparse resources support: GPU will access all 2D (single sample) sparse resources using the standard sparse image block shapes (based on pixel format) - VkBool32 residencyStandard2DMultisampleBlockShapeSparse resources support: GPU will access all 2D (multisample) sparse resources using the standard sparse image block shapes (based on pixel format) - VkBool32 residencyStandard3DBlockShapeSparse resources support: GPU will access all 3D sparse resources using the standard sparse image block shapes (based on pixel format) - VkBool32 residencyAlignedMipSizeSparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail - VkBool32 residencyNonResidentStrictSparse resources support: GPU can consistently access non-resident regions of a resource, all reads return as if data is 0, writes are discarded + VkBool32 residencyStandard2DBlockShapeSparse resources support: GPU will access all 2D (single sample) sparse resources using the standard sparse image block shapes (based on pixel format) + VkBool32 residencyStandard2DMultisampleBlockShapeSparse resources support: GPU will access all 2D (multisample) sparse resources using the standard sparse image block shapes (based on pixel format) + VkBool32 residencyStandard3DBlockShapeSparse resources support: GPU will access all 3D sparse resources using the standard sparse image block shapes (based on pixel format) + VkBool32 residencyAlignedMipSizeSparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail + VkBool32 residencyNonResidentStrictSparse resources support: GPU can consistently access non-resident regions of a resource, all reads return as if data is 0, writes are discarded resource maximum sizes - uint32_t maxImageDimension1Dmax 1D image dimension - uint32_t maxImageDimension2Dmax 2D image dimension - uint32_t maxImageDimension3Dmax 3D image dimension - uint32_t maxImageDimensionCubemax cubemap image dimension - uint32_t maxImageArrayLayersmax layers for image arrays - uint32_t maxTexelBufferElementsmax texel buffer size (fstexels) - uint32_t maxUniformBufferRangemax uniform buffer range (bytes) - uint32_t maxStorageBufferRangemax storage buffer range (bytes) - uint32_t maxPushConstantsSizemax size of the push constants pool (bytes) + uint32_t maxImageDimension1Dmax 1D image dimension + uint32_t maxImageDimension2Dmax 2D image dimension + uint32_t maxImageDimension3Dmax 3D image dimension + uint32_t maxImageDimensionCubemax cubemap image dimension + uint32_t maxImageArrayLayersmax layers for image arrays + uint32_t maxTexelBufferElementsmax texel buffer size (fstexels) + uint32_t maxUniformBufferRangemax uniform buffer range (bytes) + uint32_t maxStorageBufferRangemax storage buffer range (bytes) + uint32_t maxPushConstantsSizemax size of the push constants pool (bytes) memory limits - uint32_t maxMemoryAllocationCountmax number of device memory allocations supported - uint32_t maxSamplerAllocationCountmax number of samplers that can be allocated on a device - VkDeviceSize bufferImageGranularityGranularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage - VkDeviceSize sparseAddressSpaceSizeTotal address space available for sparse allocations (bytes) + uint32_t maxMemoryAllocationCountmax number of device memory allocations supported + uint32_t maxSamplerAllocationCountmax number of samplers that can be allocated on a device + VkDeviceSize bufferImageGranularityGranularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage + VkDeviceSize sparseAddressSpaceSizeTotal address space available for sparse allocations (bytes) descriptor set limits - uint32_t maxBoundDescriptorSetsmax number of descriptors sets that can be bound to a pipeline - uint32_t maxPerStageDescriptorSamplersmax number of samplers allowed per-stage in a descriptor set - uint32_t maxPerStageDescriptorUniformBuffersmax number of uniform buffers allowed per-stage in a descriptor set - uint32_t maxPerStageDescriptorStorageBuffersmax number of storage buffers allowed per-stage in a descriptor set - uint32_t maxPerStageDescriptorSampledImagesmax number of sampled images allowed per-stage in a descriptor set - uint32_t maxPerStageDescriptorStorageImagesmax number of storage images allowed per-stage in a descriptor set - uint32_t maxPerStageDescriptorInputAttachmentsmax number of input attachments allowed per-stage in a descriptor set - uint32_t maxPerStageResourcesmax number of resources allowed by a single stage - uint32_t maxDescriptorSetSamplersmax number of samplers allowed in all stages in a descriptor set - uint32_t maxDescriptorSetUniformBuffersmax number of uniform buffers allowed in all stages in a descriptor set - uint32_t maxDescriptorSetUniformBuffersDynamicmax number of dynamic uniform buffers allowed in all stages in a descriptor set - uint32_t maxDescriptorSetStorageBuffersmax number of storage buffers allowed in all stages in a descriptor set - uint32_t maxDescriptorSetStorageBuffersDynamicmax number of dynamic storage buffers allowed in all stages in a descriptor set - uint32_t maxDescriptorSetSampledImagesmax number of sampled images allowed in all stages in a descriptor set - uint32_t maxDescriptorSetStorageImagesmax number of storage images allowed in all stages in a descriptor set - uint32_t maxDescriptorSetInputAttachmentsmax number of input attachments allowed in all stages in a descriptor set + uint32_t maxBoundDescriptorSetsmax number of descriptors sets that can be bound to a pipeline + uint32_t maxPerStageDescriptorSamplersmax number of samplers allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorUniformBuffersmax number of uniform buffers allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorStorageBuffersmax number of storage buffers allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorSampledImagesmax number of sampled images allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorStorageImagesmax number of storage images allowed per-stage in a descriptor set + uint32_t maxPerStageDescriptorInputAttachmentsmax number of input attachments allowed per-stage in a descriptor set + uint32_t maxPerStageResourcesmax number of resources allowed by a single stage + uint32_t maxDescriptorSetSamplersmax number of samplers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetUniformBuffersmax number of uniform buffers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetUniformBuffersDynamicmax number of dynamic uniform buffers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetStorageBuffersmax number of storage buffers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetStorageBuffersDynamicmax number of dynamic storage buffers allowed in all stages in a descriptor set + uint32_t maxDescriptorSetSampledImagesmax number of sampled images allowed in all stages in a descriptor set + uint32_t maxDescriptorSetStorageImagesmax number of storage images allowed in all stages in a descriptor set + uint32_t maxDescriptorSetInputAttachmentsmax number of input attachments allowed in all stages in a descriptor set vertex stage limits - uint32_t maxVertexInputAttributesmax number of vertex input attribute slots - uint32_t maxVertexInputBindingsmax number of vertex input binding slots - uint32_t maxVertexInputAttributeOffsetmax vertex input attribute offset added to vertex buffer offset - uint32_t maxVertexInputBindingStridemax vertex input binding stride - uint32_t maxVertexOutputComponentsmax number of output components written by vertex shader + uint32_t maxVertexInputAttributesmax number of vertex input attribute slots + uint32_t maxVertexInputBindingsmax number of vertex input binding slots + uint32_t maxVertexInputAttributeOffsetmax vertex input attribute offset added to vertex buffer offset + uint32_t maxVertexInputBindingStridemax vertex input binding stride + uint32_t maxVertexOutputComponentsmax number of output components written by vertex shader tessellation control stage limits - uint32_t maxTessellationGenerationLevelmax level supported by tessellation primitive generator - uint32_t maxTessellationPatchSizemax patch size (vertices) - uint32_t maxTessellationControlPerVertexInputComponentsmax number of input components per-vertex in TCS - uint32_t maxTessellationControlPerVertexOutputComponentsmax number of output components per-vertex in TCS - uint32_t maxTessellationControlPerPatchOutputComponentsmax number of output components per-patch in TCS - uint32_t maxTessellationControlTotalOutputComponentsmax total number of per-vertex and per-patch output components in TCS + uint32_t maxTessellationGenerationLevelmax level supported by tessellation primitive generator + uint32_t maxTessellationPatchSizemax patch size (vertices) + uint32_t maxTessellationControlPerVertexInputComponentsmax number of input components per-vertex in TCS + uint32_t maxTessellationControlPerVertexOutputComponentsmax number of output components per-vertex in TCS + uint32_t maxTessellationControlPerPatchOutputComponentsmax number of output components per-patch in TCS + uint32_t maxTessellationControlTotalOutputComponentsmax total number of per-vertex and per-patch output components in TCS tessellation evaluation stage limits - uint32_t maxTessellationEvaluationInputComponentsmax number of input components per vertex in TES - uint32_t maxTessellationEvaluationOutputComponentsmax number of output components per vertex in TES + uint32_t maxTessellationEvaluationInputComponentsmax number of input components per vertex in TES + uint32_t maxTessellationEvaluationOutputComponentsmax number of output components per vertex in TES geometry stage limits - uint32_t maxGeometryShaderInvocationsmax invocation count supported in geometry shader - uint32_t maxGeometryInputComponentsmax number of input components read in geometry stage - uint32_t maxGeometryOutputComponentsmax number of output components written in geometry stage - uint32_t maxGeometryOutputVerticesmax number of vertices that can be emitted in geometry stage - uint32_t maxGeometryTotalOutputComponentsmax total number of components (all vertices) written in geometry stage + uint32_t maxGeometryShaderInvocationsmax invocation count supported in geometry shader + uint32_t maxGeometryInputComponentsmax number of input components read in geometry stage + uint32_t maxGeometryOutputComponentsmax number of output components written in geometry stage + uint32_t maxGeometryOutputVerticesmax number of vertices that can be emitted in geometry stage + uint32_t maxGeometryTotalOutputComponentsmax total number of components (all vertices) written in geometry stage fragment stage limits - uint32_t maxFragmentInputComponentsmax number of input components read in fragment stage - uint32_t maxFragmentOutputAttachmentsmax number of output attachments written in fragment stage - uint32_t maxFragmentDualSrcAttachmentsmax number of output attachments written when using dual source blending - uint32_t maxFragmentCombinedOutputResourcesmax total number of storage buffers, storage images and output buffers + uint32_t maxFragmentInputComponentsmax number of input components read in fragment stage + uint32_t maxFragmentOutputAttachmentsmax number of output attachments written in fragment stage + uint32_t maxFragmentDualSrcAttachmentsmax number of output attachments written when using dual source blending + uint32_t maxFragmentCombinedOutputResourcesmax total number of storage buffers, storage images and output buffers compute stage limits - uint32_t maxComputeSharedMemorySizemax total storage size of work group local storage (bytes) - uint32_t maxComputeWorkGroupCount[3]max num of compute work groups that may be dispatched by a single command (x,y,z) - uint32_t maxComputeWorkGroupInvocationsmax total compute invocations in a single local work group - uint32_t maxComputeWorkGroupSize[3]max local size of a compute work group (x,y,z) - uint32_t subPixelPrecisionBitsnumber bits of subpixel precision in screen x and y - uint32_t subTexelPrecisionBitsnumber bits of precision for selecting texel weights - uint32_t mipmapPrecisionBitsnumber bits of precision for selecting mipmap weights - uint32_t maxDrawIndexedIndexValuemax index value for indexed draw calls (for 32-bit indices) - uint32_t maxDrawIndirectCountmax draw count for indirect draw calls - float maxSamplerLodBiasmax absolute sampler LOD bias - float maxSamplerAnisotropymax degree of sampler anisotropy - uint32_t maxViewportsmax number of active viewports - uint32_t maxViewportDimensions[2]max viewport dimensions (x,y) - float viewportBoundsRange[2]viewport bounds range (min,max) - uint32_t viewportSubPixelBitsnumber bits of subpixel precision for viewport - size_t minMemoryMapAlignmentmin required alignment of pointers returned by MapMemory (bytes) - VkDeviceSize minTexelBufferOffsetAlignmentmin required alignment for texel buffer offsets (bytes) - VkDeviceSize minUniformBufferOffsetAlignmentmin required alignment for uniform buffer sizes and offsets (bytes) - VkDeviceSize minStorageBufferOffsetAlignmentmin required alignment for storage buffer offsets (bytes) - int32_t minTexelOffsetmin texel offset for OpTextureSampleOffset - uint32_t maxTexelOffsetmax texel offset for OpTextureSampleOffset - int32_t minTexelGatherOffsetmin texel offset for OpTextureGatherOffset - uint32_t maxTexelGatherOffsetmax texel offset for OpTextureGatherOffset - float minInterpolationOffsetfurthest negative offset for interpolateAtOffset - float maxInterpolationOffsetfurthest positive offset for interpolateAtOffset - uint32_t subPixelInterpolationOffsetBitsnumber of subpixel bits for interpolateAtOffset - uint32_t maxFramebufferWidthmax width for a framebuffer - uint32_t maxFramebufferHeightmax height for a framebuffer - uint32_t maxFramebufferLayersmax layer count for a layered framebuffer - VkSampleCountFlags framebufferColorSampleCountssupported color sample counts for a framebuffer - VkSampleCountFlags framebufferDepthSampleCountssupported depth sample counts for a framebuffer - VkSampleCountFlags framebufferStencilSampleCountssupported stencil sample counts for a framebuffer - VkSampleCountFlags framebufferNoAttachmentsSampleCountssupported sample counts for a framebuffer with no attachments - uint32_t maxColorAttachmentsmax number of color attachments per subpass - VkSampleCountFlags sampledImageColorSampleCountssupported color sample counts for a non-integer sampled image - VkSampleCountFlags sampledImageIntegerSampleCountssupported sample counts for an integer image - VkSampleCountFlags sampledImageDepthSampleCountssupported depth sample counts for a sampled image - VkSampleCountFlags sampledImageStencilSampleCountssupported stencil sample counts for a sampled image - VkSampleCountFlags storageImageSampleCountssupported sample counts for a storage image - uint32_t maxSampleMaskWordsmax number of sample mask words - VkBool32 timestampComputeAndGraphicstimestamps on graphics and compute queues - float timestampPeriodnumber of nanoseconds it takes for timestamp query value to increment by 1 - uint32_t maxClipDistancesmax number of clip distances - uint32_t maxCullDistancesmax number of cull distances - uint32_t maxCombinedClipAndCullDistancesmax combined number of user clipping - uint32_t discreteQueuePrioritiesdistinct queue priorities available - float pointSizeRange[2]range (min,max) of supported point sizes - float lineWidthRange[2]range (min,max) of supported line widths - float pointSizeGranularitygranularity of supported point sizes - float lineWidthGranularitygranularity of supported line widths - VkBool32 strictLinesline rasterization follows preferred rules - VkBool32 standardSampleLocationssupports standard sample locations for all supported sample counts - VkDeviceSize optimalBufferCopyOffsetAlignmentoptimal offset of buffer copies - VkDeviceSize optimalBufferCopyRowPitchAlignmentoptimal pitch of buffer copies - VkDeviceSize nonCoherentAtomSizeminimum size and alignment for non-coherent host-mapped device memory access + uint32_t maxComputeSharedMemorySizemax total storage size of work group local storage (bytes) + uint32_t maxComputeWorkGroupCount[3]max num of compute work groups that may be dispatched by a single command (x,y,z) + uint32_t maxComputeWorkGroupInvocationsmax total compute invocations in a single local work group + uint32_t maxComputeWorkGroupSize[3]max local size of a compute work group (x,y,z) + uint32_t subPixelPrecisionBitsnumber bits of subpixel precision in screen x and y + uint32_t subTexelPrecisionBitsnumber bits of precision for selecting texel weights + uint32_t mipmapPrecisionBitsnumber bits of precision for selecting mipmap weights + uint32_t maxDrawIndexedIndexValuemax index value for indexed draw calls (for 32-bit indices) + uint32_t maxDrawIndirectCountmax draw count for indirect drawing calls + float maxSamplerLodBiasmax absolute sampler LOD bias + float maxSamplerAnisotropymax degree of sampler anisotropy + uint32_t maxViewportsmax number of active viewports + uint32_t maxViewportDimensions[2]max viewport dimensions (x,y) + float viewportBoundsRange[2]viewport bounds range (min,max) + uint32_t viewportSubPixelBitsnumber bits of subpixel precision for viewport + size_t minMemoryMapAlignmentmin required alignment of pointers returned by MapMemory (bytes) + VkDeviceSize minTexelBufferOffsetAlignmentmin required alignment for texel buffer offsets (bytes) + VkDeviceSize minUniformBufferOffsetAlignmentmin required alignment for uniform buffer sizes and offsets (bytes) + VkDeviceSize minStorageBufferOffsetAlignmentmin required alignment for storage buffer offsets (bytes) + int32_t minTexelOffsetmin texel offset for OpTextureSampleOffset + uint32_t maxTexelOffsetmax texel offset for OpTextureSampleOffset + int32_t minTexelGatherOffsetmin texel offset for OpTextureGatherOffset + uint32_t maxTexelGatherOffsetmax texel offset for OpTextureGatherOffset + float minInterpolationOffsetfurthest negative offset for interpolateAtOffset + float maxInterpolationOffsetfurthest positive offset for interpolateAtOffset + uint32_t subPixelInterpolationOffsetBitsnumber of subpixel bits for interpolateAtOffset + uint32_t maxFramebufferWidthmax width for a framebuffer + uint32_t maxFramebufferHeightmax height for a framebuffer + uint32_t maxFramebufferLayersmax layer count for a layered framebuffer + VkSampleCountFlags framebufferColorSampleCountssupported color sample counts for a framebuffer + VkSampleCountFlags framebufferDepthSampleCountssupported depth sample counts for a framebuffer + VkSampleCountFlags framebufferStencilSampleCountssupported stencil sample counts for a framebuffer + VkSampleCountFlags framebufferNoAttachmentsSampleCountssupported sample counts for a subpass which uses no attachments + uint32_t maxColorAttachmentsmax number of color attachments per subpass + VkSampleCountFlags sampledImageColorSampleCountssupported color sample counts for a non-integer sampled image + VkSampleCountFlags sampledImageIntegerSampleCountssupported sample counts for an integer image + VkSampleCountFlags sampledImageDepthSampleCountssupported depth sample counts for a sampled image + VkSampleCountFlags sampledImageStencilSampleCountssupported stencil sample counts for a sampled image + VkSampleCountFlags storageImageSampleCountssupported sample counts for a storage image + uint32_t maxSampleMaskWordsmax number of sample mask words + VkBool32 timestampComputeAndGraphicstimestamps on graphics and compute queues + float timestampPeriodnumber of nanoseconds it takes for timestamp query value to increment by 1 + uint32_t maxClipDistancesmax number of clip distances + uint32_t maxCullDistancesmax number of cull distances + uint32_t maxCombinedClipAndCullDistancesmax combined number of user clipping + uint32_t discreteQueuePrioritiesdistinct queue priorities available + float pointSizeRange[2]range (min,max) of supported point sizes + float lineWidthRange[2]range (min,max) of supported line widths + float pointSizeGranularitygranularity of supported point sizes + float lineWidthGranularitygranularity of supported line widths + VkBool32 strictLinesline rasterization follows preferred rules + VkBool32 standardSampleLocationssupports standard sample locations for all supported sample counts + VkDeviceSize optimalBufferCopyOffsetAlignmentoptimal offset of buffer copies + VkDeviceSize optimalBufferCopyRowPitchAlignmentoptimal pitch of buffer copies + VkDeviceSize nonCoherentAtomSizeminimum size and alignment for non-coherent host-mapped device memory access VkStructureType sType - const void* pNext + const void* pNext VkSemaphoreCreateFlags flagsSemaphore creation flags VkStructureType sType - const void* pNext + const void* pNext VkQueryPoolCreateFlags flags VkQueryType queryType uint32_t queryCount @@ -1586,9 +2002,9 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkFramebufferCreateFlags flags - VkRenderPass renderPass + VkRenderPass renderPass uint32_t attachmentCount const VkImageView* pAttachments uint32_t width @@ -1613,12 +2029,21 @@ typedef void CAMetalLayer; uint32_t y uint32_t z + + uint32_t firstVertex + uint32_t vertexCount + + + uint32_t firstIndex + uint32_t indexCount + int32_t vertexOffset + VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreCount const VkSemaphore* pWaitSemaphores - const VkPipelineStageFlags* pWaitDstStageMask + const VkPipelineStageFlags* pWaitDstStageMask uint32_t commandBufferCount const VkCommandBuffer* pCommandBuffers uint32_t signalSemaphoreCount @@ -1648,7 +2073,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDisplayModeCreateFlagsKHR flags VkDisplayModeParametersKHR parametersThe parameters this mode uses. @@ -1665,7 +2090,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDisplaySurfaceCreateFlagsKHR flags VkDisplayModeKHR displayModeThe mode to use when displaying this surface uint32_t planeIndexThe plane on which this surface appears. Must be between 0 and the value returned by vkGetPhysicalDeviceDisplayPlanePropertiesKHR() in pPropertyCount. @@ -1677,7 +2102,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkRect2D srcRectRectangle within the presentable image to read pixel data from when presenting to the display. VkRect2D dstRectRectangle within the current display mode's visible region to display srcRectangle in. VkBool32 persistentFor smart displays, use buffered mode. If the display properties member "persistentMode" is VK_FALSE, this member must always be VK_FALSE. @@ -1689,70 +2114,84 @@ typedef void CAMetalLayer; VkExtent2D minImageExtentSupported minimum image width and height for the surface VkExtent2D maxImageExtentSupported maximum image width and height for the surface uint32_t maxImageArrayLayersSupported maximum number of image layers for the surface - VkSurfaceTransformFlagsKHR supportedTransforms1 or more bits representing the transforms supported + VkSurfaceTransformFlagsKHR supportedTransforms1 or more bits representing the transforms supported VkSurfaceTransformFlagBitsKHR currentTransformThe surface's current transform relative to the device's natural orientation - VkCompositeAlphaFlagsKHR supportedCompositeAlpha1 or more bits representing the alpha compositing modes supported - VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface + VkCompositeAlphaFlagsKHR supportedCompositeAlpha1 or more bits representing the alpha compositing modes supported + VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface VkStructureType sType - const void* pNext + const void* pNext VkAndroidSurfaceCreateFlagsKHR flags struct ANativeWindow* window VkStructureType sType - const void* pNext + const void* pNext VkViSurfaceCreateFlagsNN flags void* window VkStructureType sType - const void* pNext + const void* pNext VkWaylandSurfaceCreateFlagsKHR flags struct wl_display* display struct wl_surface* surface VkStructureType sType - const void* pNext + const void* pNext VkWin32SurfaceCreateFlagsKHR flags HINSTANCE hinstance HWND hwnd VkStructureType sType - const void* pNext + const void* pNext VkXlibSurfaceCreateFlagsKHR flags Display* dpy Window window VkStructureType sType - const void* pNext + const void* pNext VkXcbSurfaceCreateFlagsKHR flags xcb_connection_t* connection xcb_window_t window + + VkStructureType sType + const void* pNext + VkDirectFBSurfaceCreateFlagsEXT flags + IDirectFB* dfb + IDirectFBSurface* surface + VkStructureType sType - const void* pNext + const void* pNext VkImagePipeSurfaceCreateFlagsFUCHSIA flags zx_handle_t imagePipeHandle VkStructureType sType - const void* pNext + const void* pNext VkStreamDescriptorSurfaceCreateFlagsGGP flags GgpStreamDescriptor streamDescriptor + + VkStructureType sType + const void* pNext + VkScreenSurfaceCreateFlagsQNX flags + struct _screen_context* context + struct _screen_window* window + VkFormat formatSupported pair of rendering format VkColorSpaceKHR colorSpaceand color space for the surface VkStructureType sType - const void* pNext + const void* pNext VkSwapchainCreateFlagsKHR flags VkSurfaceKHR surfaceThe swapchain's target surface uint32_t minImageCountMinimum number of presentation images the application needs @@ -1768,11 +2207,12 @@ typedef void CAMetalLayer; VkCompositeAlphaFlagBitsKHR compositeAlphaThe alpha blending mode used when compositing this surface with other surfaces in the window system VkPresentModeKHR presentModeWhich presentation mode to use for presents on this swap chain VkBool32 clippedSpecifies whether presentable images may be affected by window clip regions - VkSwapchainKHR oldSwapchainExisting swap chain to replace, if any + VkSwapchainKHR oldSwapchainExisting swap chain to replace, if any + VkSwapchainKHR oldSwapchainExisting swap chain to replace, if any VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreCountNumber of semaphores to wait for before presenting const VkSemaphore* pWaitSemaphoresSemaphores to wait for before presenting uint32_t swapchainCountNumber of swapchains to present in this call @@ -1782,65 +2222,86 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDebugReportFlagsEXT flagsIndicates which events call this callback PFN_vkDebugReportCallbackEXT pfnCallbackFunction pointer of a callback function void* pUserDataUser data provided to callback function VkStructureType sTypeMust be VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT - const void* pNext + const void* pNext uint32_t disabledValidationCheckCountNumber of validation checks to disable const VkValidationCheckEXT* pDisabledValidationChecksValidation checks to disable VkStructureType sTypeMust be VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT - const void* pNext + const void* pNext uint32_t enabledValidationFeatureCountNumber of validation features to enable const VkValidationFeatureEnableEXT* pEnabledValidationFeaturesValidation features to enable uint32_t disabledValidationFeatureCountNumber of validation features to disable const VkValidationFeatureDisableEXT* pDisabledValidationFeaturesValidation features to disable + + VkStructureType sTypeMust be VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT + const void* pNext + uint32_t settingCountNumber of settings to configure + const VkLayerSettingEXT* pSettingsValidation features to enable + + + const char* pLayerName + const char* pSettingName + VkLayerSettingTypeEXT typeThe type of the object + uint32_t valueCountNumber of values of the setting + const void* pValuesValues to pass for a setting + + + VkStructureType sType + const void* pNext + uint32_t vendorID + uint32_t deviceID + uint32_t key + uint64_t value + VkStructureType sType - const void* pNext + const void* pNext VkRasterizationOrderAMD rasterizationOrderRasterization order to use for the pipeline VkStructureType sType - const void* pNext + const void* pNext VkDebugReportObjectTypeEXT objectTypeThe type of the object - uint64_t objectThe handle of the object, cast to uint64_t + uint64_t objectThe handle of the object, cast to uint64_t const char* pObjectNameName to apply to the object VkStructureType sType - const void* pNext + const void* pNext VkDebugReportObjectTypeEXT objectTypeThe type of the object - uint64_t objectThe handle of the object, cast to uint64_t + uint64_t objectThe handle of the object, cast to uint64_t uint64_t tagNameThe name of the tag to set on the object size_t tagSizeThe length in bytes of the tag data const void* pTagTag data to attach to the object VkStructureType sType - const void* pNext + const void* pNext const char* pMarkerNameName of the debug marker - float color[4]Optional color for debug marker + float color[4]Optional color for debug marker VkStructureType sType - const void* pNext + const void* pNext VkBool32 dedicatedAllocationWhether this image uses a dedicated allocation VkStructureType sType - const void* pNext + const void* pNext VkBool32 dedicatedAllocationWhether this buffer uses a dedicated allocation VkStructureType sType - const void* pNext + const void* pNext VkImage imageImage that this allocation will be bound to VkBuffer bufferBuffer that this allocation will be bound to @@ -1852,29 +2313,58 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagsNV handleTypes VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagsNV handleTypes VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagsNV handleType HANDLE handle VkStructureType sType - const void* pNext + const void* pNext const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess - + + VkStructureType sType + const void* pNext + NvSciBufAttrList pAttributes + + + VkStructureType sType + const void* pNext + VkExternalMemoryHandleTypeFlagBits handleType + NvSciBufObj handle + + + VkStructureType sType + const void* pNext + VkDeviceMemory memory + VkExternalMemoryHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + uint32_t memoryTypeBits + + + VkStructureType sType + void* pNext + VkBool32 sciBufImport + VkBool32 sciBufExport + + + VkStructureType sType - const void* pNext + const void* pNext uint32_t acquireCount const VkDeviceMemory* pAcquireSyncs const uint64_t* pAcquireKeys @@ -1883,133 +2373,178 @@ typedef void CAMetalLayer; const VkDeviceMemory* pReleaseSyncs const uint64_t* pReleaseKeys - - VkStructureType sType - const void* pNext - VkBool32 computeBindingPointSupport - - - VkStructureType sType - const void* pNext - uint32_t maxIndirectCommandsLayoutTokenCount - uint32_t maxObjectEntryCounts - uint32_t minSequenceCountBufferOffsetAlignment - uint32_t minSequenceIndexBufferOffsetAlignment - uint32_t minCommandsTokenBufferOffsetAlignment - - - VkIndirectCommandsTokenTypeNVX tokenType - VkBuffer bufferbuffer containing tableEntries and additional data for indirectCommands - VkDeviceSize offsetoffset from the base address of the buffer - - - VkIndirectCommandsTokenTypeNVX tokenType - uint32_t bindingUnitBinding unit for vertex attribute / descriptor set, offset for pushconstants - uint32_t dynamicCountNumber of variable dynamic values for descriptor set / push constants - uint32_t divisorRate the which the array is advanced per element (must be power of 2, minimum 1) - - - VkStructureType sType - const void* pNext - VkPipelineBindPoint pipelineBindPoint - VkIndirectCommandsLayoutUsageFlagsNVX flags - uint32_t tokenCount - const VkIndirectCommandsLayoutTokenNVX* pTokens - - - VkStructureType sType - const void* pNext - VkObjectTableNVX objectTable - VkIndirectCommandsLayoutNVX indirectCommandsLayout - uint32_t indirectCommandsTokenCount - const VkIndirectCommandsTokenNVX* pIndirectCommandsTokens - uint32_t maxSequencesCount - VkCommandBuffer targetCommandBuffer - VkBuffer sequencesCountBuffer - VkDeviceSize sequencesCountOffset - VkBuffer sequencesIndexBuffer - VkDeviceSize sequencesIndexOffset - - - VkStructureType sType - const void* pNext - VkObjectTableNVX objectTable - VkIndirectCommandsLayoutNVX indirectCommandsLayout - uint32_t maxSequencesCount - - - VkStructureType sType - const void* pNext - uint32_t objectCount - const VkObjectEntryTypeNVX* pObjectEntryTypes - const uint32_t* pObjectEntryCounts - const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags - - uint32_t maxUniformBuffersPerDescriptor - uint32_t maxStorageBuffersPerDescriptor - uint32_t maxStorageImagesPerDescriptor - uint32_t maxSampledImagesPerDescriptor - uint32_t maxPipelineLayouts - - - VkObjectEntryTypeNVX type - VkObjectEntryUsageFlagsNVX flags - - - VkObjectEntryTypeNVX type - VkObjectEntryUsageFlagsNVX flags - VkPipeline pipeline - - - VkObjectEntryTypeNVX type - VkObjectEntryUsageFlagsNVX flags - VkPipelineLayout pipelineLayout - VkDescriptorSet descriptorSet - - - VkObjectEntryTypeNVX type - VkObjectEntryUsageFlagsNVX flags - VkBuffer buffer - - - VkObjectEntryTypeNVX type - VkObjectEntryUsageFlagsNVX flags - VkBuffer buffer - VkIndexType indexType - - - VkObjectEntryTypeNVX type - VkObjectEntryUsageFlagsNVX flags - VkPipelineLayout pipelineLayout - VkShaderStageFlags stageFlags + + VkStructureType sType + void* pNext + VkBool32 deviceGeneratedCommands + + + VkStructureType sType + void* pNext + VkBool32 deviceGeneratedCompute + VkBool32 deviceGeneratedComputePipelines + VkBool32 deviceGeneratedComputeCaptureReplay + + + VkStructureType sType + const void* pNext + uint32_t privateDataSlotRequestCount + + + + VkStructureType sType + const void* pNext + VkPrivateDataSlotCreateFlags flags + + + + VkStructureType sType + void* pNext + VkBool32 privateData + + + + VkStructureType sType + void* pNext + uint32_t maxGraphicsShaderGroupCount + uint32_t maxIndirectSequenceCount + uint32_t maxIndirectCommandsTokenCount + uint32_t maxIndirectCommandsStreamCount + uint32_t maxIndirectCommandsTokenOffset + uint32_t maxIndirectCommandsStreamStride + uint32_t minSequencesCountBufferOffsetAlignment + uint32_t minSequencesIndexBufferOffsetAlignment + uint32_t minIndirectCommandsBufferOffsetAlignment + + + VkStructureType sType + void* pNext + uint32_t maxMultiDrawCount + + + VkStructureType sType + const void* pNext + uint32_t stageCount + const VkPipelineShaderStageCreateInfo* pStages + const VkPipelineVertexInputStateCreateInfo* pVertexInputState + const VkPipelineTessellationStateCreateInfo* pTessellationState + + + VkStructureType sType + const void* pNext + uint32_t groupCount + const VkGraphicsShaderGroupCreateInfoNV* pGroups + uint32_t pipelineCount + const VkPipeline* pPipelines + + + uint32_t groupIndex + + + VkDeviceAddress bufferAddress + uint32_t size + VkIndexType indexType + + + VkDeviceAddress bufferAddress + uint32_t size + uint32_t stride + + + uint32_t data + + + VkBuffer buffer + VkDeviceSize offset + + + VkStructureType sType + const void* pNext + VkIndirectCommandsTokenTypeNV tokenType + uint32_t stream + uint32_t offset + uint32_t vertexBindingUnit + VkBool32 vertexDynamicStride + VkPipelineLayout pushconstantPipelineLayout + VkShaderStageFlags pushconstantShaderStageFlags + uint32_t pushconstantOffset + uint32_t pushconstantSize + VkIndirectStateFlagsNV indirectStateFlags + uint32_t indexTypeCount + const VkIndexType* pIndexTypes + const uint32_t* pIndexTypeValues + + + VkStructureType sType + const void* pNext + VkIndirectCommandsLayoutUsageFlagsNV flags + VkPipelineBindPoint pipelineBindPoint + uint32_t tokenCount + const VkIndirectCommandsLayoutTokenNV* pTokens + uint32_t streamCount + const uint32_t* pStreamStrides + + + VkStructureType sType + const void* pNext + VkPipelineBindPoint pipelineBindPoint + VkPipeline pipeline + VkIndirectCommandsLayoutNV indirectCommandsLayout + uint32_t streamCount + const VkIndirectCommandsStreamNV* pStreams + uint32_t sequencesCount + VkBuffer preprocessBuffer + VkDeviceSize preprocessOffset + VkDeviceSize preprocessSize + VkBuffer sequencesCountBuffer + VkDeviceSize sequencesCountOffset + VkBuffer sequencesIndexBuffer + VkDeviceSize sequencesIndexOffset + + + VkStructureType sType + const void* pNext + VkPipelineBindPoint pipelineBindPoint + VkPipeline pipeline + VkIndirectCommandsLayoutNV indirectCommandsLayout + uint32_t maxSequencesCount + + + VkStructureType sType + const void* pNext + VkPipelineBindPoint pipelineBindPoint + VkPipeline pipeline + + + VkDeviceAddress pipelineAddress VkStructureType sType - void* pNext + void* pNext VkPhysicalDeviceFeatures features VkStructureType sType - void* pNext - VkPhysicalDeviceProperties properties + void* pNext + VkPhysicalDeviceProperties properties VkStructureType sType - void* pNext + void* pNext VkFormatProperties formatProperties VkStructureType sType - void* pNext + void* pNext VkImageFormatProperties imageFormatProperties VkStructureType sType - const void* pNext + const void* pNext VkFormat format VkImageType type VkImageTiling tiling @@ -2019,25 +2554,25 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext - VkQueueFamilyProperties queueFamilyProperties + void* pNext + VkQueueFamilyProperties queueFamilyProperties VkStructureType sType - void* pNext + void* pNext VkPhysicalDeviceMemoryProperties memoryProperties VkStructureType sType - void* pNext - VkSparseImageFormatProperties properties + void* pNext + VkSparseImageFormatProperties properties VkStructureType sType - const void* pNext + const void* pNext VkFormat format VkImageType type VkSampleCountFlagBits samples @@ -2047,26 +2582,28 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext - uint32_t maxPushDescriptors + void* pNext + uint32_t maxPushDescriptors - + uint8_t major uint8_t minor uint8_t subminor uint8_t patch - - VkStructureType sType - void* pNext - VkDriverIdKHR driverID - char driverName[VK_MAX_DRIVER_NAME_SIZE_KHR] - char driverInfo[VK_MAX_DRIVER_INFO_SIZE_KHR] - VkConformanceVersionKHR conformanceVersion + + + VkStructureType sType + void* pNext + VkDriverId driverID + char driverName[VK_MAX_DRIVER_NAME_SIZE] + char driverInfo[VK_MAX_DRIVER_INFO_SIZE] + VkConformanceVersion conformanceVersion + VkStructureType sType - const void* pNext + const void* pNext uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount const VkPresentRegionKHR* pRegionsThe regions that have changed @@ -2081,7 +2618,7 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 variablePointersStorageBuffer VkBool32 variablePointers @@ -2096,103 +2633,120 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagBits handleType VkStructureType sType - void* pNext + void* pNext VkExternalMemoryProperties externalMemoryProperties VkStructureType sType - const void* pNext + const void* pNext VkBufferCreateFlags flags - VkBufferUsageFlags usage + VkBufferUsageFlags usage VkExternalMemoryHandleTypeFlagBits handleType VkStructureType sType - void* pNext + void* pNext VkExternalMemoryProperties externalMemoryProperties VkStructureType sType - void* pNext - uint8_t deviceUUID[VK_UUID_SIZE] - uint8_t driverUUID[VK_UUID_SIZE] - uint8_t deviceLUID[VK_LUID_SIZE] - uint32_t deviceNodeMask - VkBool32 deviceLUIDValid + void* pNext + uint8_t deviceUUID[VK_UUID_SIZE] + uint8_t driverUUID[VK_UUID_SIZE] + uint8_t deviceLUID[VK_LUID_SIZE] + uint32_t deviceNodeMask + VkBool32 deviceLUIDValid VkStructureType sType - const void* pNext - VkExternalMemoryHandleTypeFlags handleTypes + const void* pNext + VkExternalMemoryHandleTypeFlags handleTypes VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlags handleTypes VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlags handleTypes VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagBits handleType HANDLE handle LPCWSTR name VkStructureType sType - const void* pNext + const void* pNext const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess LPCWSTR name + + VkStructureType sType + const void* pNext + VkExternalMemoryHandleTypeFlagBits handleType + zx_handle_t handle + + + VkStructureType sType + void* pNext + uint32_t memoryTypeBits + + + VkStructureType sType + const void* pNext + VkDeviceMemory memory + VkExternalMemoryHandleTypeFlagBits handleType + VkStructureType sType - void* pNext + void* pNext uint32_t memoryTypeBits VkStructureType sType - const void* pNext + const void* pNext VkDeviceMemory memory VkExternalMemoryHandleTypeFlagBits handleType VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagBits handleType int fd VkStructureType sType - void* pNext + void* pNext uint32_t memoryTypeBits VkStructureType sType - const void* pNext + const void* pNext VkDeviceMemory memory VkExternalMemoryHandleTypeFlagBits handleType - + VkStructureType sType - const void* pNext + const void* pNext uint32_t acquireCount const VkDeviceMemory* pAcquireSyncs const uint64_t* pAcquireKeys @@ -2203,13 +2757,13 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkExternalSemaphoreHandleTypeFlagBits handleType VkStructureType sType - void* pNext + void* pNext VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures @@ -2217,29 +2771,29 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkExternalSemaphoreHandleTypeFlags handleTypes VkStructureType sType - const void* pNext + const void* pNext VkSemaphore semaphore VkSemaphoreImportFlags flags - VkExternalSemaphoreHandleTypeFlagBits handleType + VkExternalSemaphoreHandleTypeFlagBits handleType HANDLE handle LPCWSTR name VkStructureType sType - const void* pNext + const void* pNext const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess LPCWSTR name VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreValuesCount const uint64_t* pWaitSemaphoreValues uint32_t signalSemaphoreValuesCount @@ -2247,13 +2801,13 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkSemaphore semaphore VkExternalSemaphoreHandleTypeFlagBits handleType VkStructureType sType - const void* pNext + const void* pNext VkSemaphore semaphore VkSemaphoreImportFlags flags VkExternalSemaphoreHandleTypeFlagBits handleType @@ -2261,19 +2815,33 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext + VkSemaphore semaphore + VkExternalSemaphoreHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + VkSemaphoreImportFlags flags + VkExternalSemaphoreHandleTypeFlagBits handleType + zx_handle_t zirconHandle + + + VkStructureType sType + const void* pNext VkSemaphore semaphore VkExternalSemaphoreHandleTypeFlagBits handleType VkStructureType sType - const void* pNext + const void* pNext VkExternalFenceHandleTypeFlagBits handleType VkStructureType sType - void* pNext + void* pNext VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes VkExternalFenceHandleTypeFlags compatibleHandleTypes VkExternalFenceFeatureFlags externalFenceFeatures @@ -2281,35 +2849,35 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkExternalFenceHandleTypeFlags handleTypes VkStructureType sType - const void* pNext + const void* pNext VkFence fence VkFenceImportFlags flags - VkExternalFenceHandleTypeFlagBits handleType + VkExternalFenceHandleTypeFlagBits handleType HANDLE handle LPCWSTR name VkStructureType sType - const void* pNext + const void* pNext const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess LPCWSTR name VkStructureType sType - const void* pNext + const void* pNext VkFence fence VkExternalFenceHandleTypeFlagBits handleType VkStructureType sType - const void* pNext + const void* pNext VkFence fence VkFenceImportFlags flags VkExternalFenceHandleTypeFlagBits handleType @@ -2317,13 +2885,87 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkFence fence VkExternalFenceHandleTypeFlagBits handleType + + VkStructureType sType + const void* pNext + NvSciSyncAttrList pAttributes + + + VkStructureType sType + const void* pNext + VkFence fence + VkExternalFenceHandleTypeFlagBits handleType + void* handle + + + VkStructureType sType + const void* pNext + VkFence fence + VkExternalFenceHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + NvSciSyncAttrList pAttributes + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + VkExternalSemaphoreHandleTypeFlagBits handleType + void* handle + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + VkExternalSemaphoreHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + VkSciSyncClientTypeNV clientType + VkSciSyncPrimitiveTypeNV primitiveType + + + VkStructureType sType + void* pNext + VkBool32 sciSyncFence + VkBool32 sciSyncSemaphore + VkBool32 sciSyncImport + VkBool32 sciSyncExport + + + VkStructureType sType + void* pNext + VkBool32 sciSyncFence + VkBool32 sciSyncSemaphore2 + VkBool32 sciSyncImport + VkBool32 sciSyncExport + + + VkStructureType sType + const void* pNext + NvSciSyncObj handle + + + VkStructureType sType + const void* pNext + VkSemaphoreSciSyncPoolNV semaphorePool + const NvSciSyncFence* pFence + + + VkStructureType sType + const void* pNext + uint32_t semaphoreSciSyncPoolRequestCount + VkStructureType sType - void* pNext + void* pNext VkBool32 multiviewMultiple views in a renderpass VkBool32 multiviewGeometryShaderMultiple views in a renderpass w/ geometry shader VkBool32 multiviewTessellationShaderMultiple views in a renderpass w/ tessellation shader @@ -2331,14 +2973,14 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext - uint32_t maxMultiviewViewCountmax number of views in a subpass - uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass + void* pNext + uint32_t maxMultiviewViewCountmax number of views in a subpass + uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass VkStructureType sType - const void* pNext + const void* pNext uint32_t subpassCount const uint32_t* pViewMasks uint32_t dependencyCount @@ -2349,57 +2991,57 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext uint32_t minImageCountSupported minimum number of images for the surface uint32_t maxImageCountSupported maximum number of images for the surface, 0 for unlimited VkExtent2D currentExtentCurrent image width and height for the surface, (0, 0) if undefined VkExtent2D minImageExtentSupported minimum image width and height for the surface VkExtent2D maxImageExtentSupported maximum image width and height for the surface uint32_t maxImageArrayLayersSupported maximum number of image layers for the surface - VkSurfaceTransformFlagsKHR supportedTransforms1 or more bits representing the transforms supported + VkSurfaceTransformFlagsKHR supportedTransforms1 or more bits representing the transforms supported VkSurfaceTransformFlagBitsKHR currentTransformThe surface's current transform relative to the device's natural orientation - VkCompositeAlphaFlagsKHR supportedCompositeAlpha1 or more bits representing the alpha compositing modes supported - VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface + VkCompositeAlphaFlagsKHR supportedCompositeAlpha1 or more bits representing the alpha compositing modes supported + VkImageUsageFlags supportedUsageFlagsSupported image usage flags for the surface VkSurfaceCounterFlagsEXT supportedSurfaceCounters VkStructureType sType - const void* pNext + const void* pNext VkDisplayPowerStateEXT powerState VkStructureType sType - const void* pNext + const void* pNext VkDeviceEventTypeEXT deviceEvent VkStructureType sType - const void* pNext + const void* pNext VkDisplayEventTypeEXT displayEvent VkStructureType sType - const void* pNext + const void* pNext VkSurfaceCounterFlagsEXT surfaceCounters VkStructureType sType - void* pNext + void* pNext uint32_t physicalDeviceCount - VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE] + VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE] VkBool32 subsetAllocation VkStructureType sType - const void* pNext + const void* pNext VkMemoryAllocateFlags flags uint32_t deviceMask VkStructureType sType - const void* pNext + const void* pNext VkBuffer buffer VkDeviceMemory memory VkDeviceSize memoryOffset @@ -2407,14 +3049,14 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t deviceIndexCount const uint32_t* pDeviceIndices VkStructureType sType - const void* pNext + const void* pNext VkImage image VkDeviceMemory memory VkDeviceSize memoryOffset @@ -2422,16 +3064,16 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t deviceIndexCount const uint32_t* pDeviceIndices uint32_t splitInstanceBindRegionCount const VkRect2D* pSplitInstanceBindRegions - + VkStructureType sType - const void* pNext + const void* pNext uint32_t deviceMask uint32_t deviceRenderAreaCount const VkRect2D* pDeviceRenderAreas @@ -2439,13 +3081,13 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t deviceMask VkStructureType sType - const void* pNext + const void* pNext uint32_t waitSemaphoreCount const uint32_t* pWaitSemaphoreDeviceIndices uint32_t commandBufferCount @@ -2456,31 +3098,31 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t resourceDeviceIndex uint32_t memoryDeviceIndex VkStructureType sType - const void* pNext + void* pNext uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE] VkDeviceGroupPresentModeFlagsKHR modes VkStructureType sType - const void* pNext + const void* pNext VkSwapchainKHR swapchain VkStructureType sType - const void* pNext + const void* pNext VkSwapchainKHR swapchain uint32_t imageIndex VkStructureType sType - const void* pNext + const void* pNext VkSwapchainKHR swapchain uint64_t timeout VkSemaphore semaphore @@ -2489,21 +3131,21 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t swapchainCount const uint32_t* pDeviceMasks VkDeviceGroupPresentModeFlagBitsKHR mode VkStructureType sType - const void* pNext + const void* pNext uint32_t physicalDeviceCount const VkPhysicalDevice* pPhysicalDevices VkStructureType sType - const void* pNext + const void* pNext VkDeviceGroupPresentModeFlagsKHR modes @@ -2517,14 +3159,14 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDescriptorUpdateTemplateCreateFlags flags uint32_t descriptorUpdateEntryCountNumber of descriptor update entries to use for the update template const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntriesDescriptor update entries for the template VkDescriptorUpdateTemplateType templateType VkDescriptorSetLayout descriptorSetLayout VkPipelineBindPoint pipelineBindPoint - VkPipelineLayoutpipelineLayoutIf used for push descriptors, this is the only allowed layout + VkPipelineLayout pipelineLayoutIf used for push descriptors, this is the only allowed layout uint32_t set @@ -2532,10 +3174,26 @@ typedef void CAMetalLayer; float x float y + + VkStructureType sType + void* pNext + VkBool32 presentIdPresent ID in VkPresentInfoKHR + + + VkStructureType sType + const void* pNext + uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount + const uint64_t* pPresentIdsPresent ID values for each swapchain + + + VkStructureType sType + void* pNext + VkBool32 presentWaitvkWaitForPresentKHR is supported + Display primary in chromaticity coordinates VkStructureType sType - const void* pNext + const void* pNext From SMPTE 2086 VkXYColorEXT displayPrimaryRedDisplay primary's Red VkXYColorEXT displayPrimaryGreenDisplay primary's Green @@ -2549,12 +3207,12 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 localDimmingSupport VkStructureType sType - const void* pNext + const void* pNext VkBool32 localDimmingEnable @@ -2569,7 +3227,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount const VkPresentTimeGOOGLE* pTimesThe earliest times to present images @@ -2579,19 +3237,19 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkIOSSurfaceCreateFlagsMVK flags const void* pView VkStructureType sType - const void* pNext + const void* pNext VkMacOSSurfaceCreateFlagsMVK flags const void* pView VkStructureType sType - const void* pNext + const void* pNext VkMetalSurfaceCreateFlagsEXT flags const CAMetalLayer* pLayer @@ -2601,7 +3259,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkBool32 viewportWScalingEnable uint32_t viewportCount const VkViewportWScalingNV* pViewportWScalings @@ -2614,28 +3272,28 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineViewportSwizzleStateCreateFlagsNV flags uint32_t viewportCount const VkViewportSwizzleNV* pViewportSwizzles VkStructureType sType - void* pNext - uint32_t maxDiscardRectanglesmax number of active discard rectangles + void* pNext + uint32_t maxDiscardRectanglesmax number of active discard rectangles VkStructureType sType - const void* pNext - VkPipelineDiscardRectangleStateCreateFlagsEXT flags - VkDiscardRectangleModeEXT discardRectangleMode - uint32_t discardRectangleCount - const VkRect2D* pDiscardRectangles + const void* pNext + VkPipelineDiscardRectangleStateCreateFlagsEXT flags + VkDiscardRectangleModeEXT discardRectangleMode + uint32_t discardRectangleCount + const VkRect2D* pDiscardRectangles VkStructureType sType - void* pNext - VkBool32 perViewPositionAllComponents + void* pNext + VkBool32 perViewPositionAllComponents uint32_t subpass @@ -2645,60 +3303,60 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t aspectReferenceCount const VkInputAttachmentAspectReference* pAspectReferences VkStructureType sType - const void* pNext - VkSurfaceKHR surface + const void* pNext + VkSurfaceKHR surface VkStructureType sType - void* pNext + void* pNext VkSurfaceCapabilitiesKHR surfaceCapabilities VkStructureType sType - void* pNext + void* pNext VkSurfaceFormatKHR surfaceFormat VkStructureType sType - void* pNext + void* pNext VkDisplayPropertiesKHR displayProperties VkStructureType sType - void* pNext + void* pNext VkDisplayPlanePropertiesKHR displayPlaneProperties VkStructureType sType - void* pNext + void* pNext VkDisplayModePropertiesKHR displayModeProperties VkStructureType sType - const void* pNext + const void* pNext VkDisplayModeKHR mode uint32_t planeIndex VkStructureType sType - void* pNext + void* pNext VkDisplayPlaneCapabilitiesKHR capabilities VkStructureType sType - void* pNext + void* pNext VkImageUsageFlags sharedPresentSupportedUsageFlagsSupported image usage flags if swapchain created using a shared present mode VkStructureType sType - void* pNext + void* pNext VkBool32 storageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock VkBool32 uniformAndStorageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock and Block VkBool32 storagePushConstant1616-bit integer/floating-point variables supported in PushConstant @@ -2707,88 +3365,108 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext - uint32_t subgroupSizeThe size of a subgroup for this queue. - VkShaderStageFlags supportedStagesBitfield of what shader stages support subgroup operations - VkSubgroupFeatureFlags supportedOperationsBitfield of what subgroup operations are supported. - VkBool32 quadOperationsInAllStagesFlag to specify whether quad operations are available in all stages. - - - VkStructureType sType - void* pNext - VkBool32 shaderSubgroupExtendedTypesFlag to specify whether subgroup operations with extended types are supported - + void* pNext + uint32_t subgroupSizeThe size of a subgroup for this queue. + VkShaderStageFlags supportedStagesBitfield of what shader stages support subgroup operations + VkSubgroupFeatureFlags supportedOperationsBitfield of what subgroup operations are supported. + VkBool32 quadOperationsInAllStagesFlag to specify whether quad operations are available in all stages. + + + VkStructureType sType + void* pNext + VkBool32 shaderSubgroupExtendedTypesFlag to specify whether subgroup operations with extended types are supported + + VkStructureType sType - const void* pNext + const void* pNext VkBuffer buffer + + VkStructureType sType + const void* pNext + const VkBufferCreateInfo* pCreateInfo + + VkStructureType sType - const void* pNext + const void* pNext VkImage image VkStructureType sType - const void* pNext + const void* pNext VkImage image + + VkStructureType sType + const void* pNext + const VkImageCreateInfo* pCreateInfo + VkImageAspectFlagBits planeAspect + + VkStructureType sType - void* pNext + void* pNext VkMemoryRequirements memoryRequirements VkStructureType sType - void* pNext + void* pNext VkSparseImageMemoryRequirements memoryRequirements VkStructureType sType - void* pNext - VkPointClippingBehavior pointClippingBehavior + void* pNext + VkPointClippingBehavior pointClippingBehavior VkStructureType sType - void* pNext + void* pNext VkBool32 prefersDedicatedAllocation VkBool32 requiresDedicatedAllocation VkStructureType sType - const void* pNext + const void* pNext VkImage imageImage that this allocation will be bound to VkBuffer bufferBuffer that this allocation will be bound to VkStructureType sType - const void* pNext + const void* pNext VkImageUsageFlags usage + + VkStructureType sType + const void* pNext + uint32_t sliceOffset + uint32_t sliceCount + VkStructureType sType - const void* pNext + const void* pNext VkTessellationDomainOrigin domainOrigin VkStructureType sType - const void* pNext + const void* pNext VkSamplerYcbcrConversion conversion VkStructureType sType - const void* pNext + const void* pNext VkFormat format VkSamplerYcbcrModelConversion ycbcrModel VkSamplerYcbcrRange ycbcrRange @@ -2801,83 +3479,84 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkImageAspectFlagBits planeAspect VkStructureType sType - const void* pNext + const void* pNext VkImageAspectFlagBits planeAspect VkStructureType sType - void* pNext + void* pNext VkBool32 samplerYcbcrConversionSampler color conversion supported VkStructureType sType - void* pNext + void* pNext uint32_t combinedImageSamplerDescriptorCount VkStructureType sType - void* pNext + void* pNext VkBool32 supportsTextureGatherLODBiasAMD VkStructureType sType - const void* pNext + const void* pNext VkBuffer buffer VkDeviceSize offset VkConditionalRenderingFlagsEXT flags VkStructureType sType - const void* pNext + const void* pNext VkBool32 protectedSubmitSubmit protected command buffers VkStructureType sType - void* pNext + void* pNext VkBool32 protectedMemory VkStructureType sType - void* pNext - VkBool32 protectedNoFault + void* pNext + VkBool32 protectedNoFault VkStructureType sType - const void* pNext + const void* pNext VkDeviceQueueCreateFlags flags uint32_t queueFamilyIndex uint32_t queueIndex VkStructureType sType - const void* pNext + const void* pNext VkPipelineCoverageToColorStateCreateFlagsNV flags VkBool32 coverageToColorEnable uint32_t coverageToColorLocation - - VkStructureType sType - void* pNext - VkBool32 filterMinmaxSingleComponentFormats - VkBool32 filterMinmaxImageComponentMapping + + VkStructureType sType + void* pNext + VkBool32 filterMinmaxSingleComponentFormats + VkBool32 filterMinmaxImageComponentMapping + float x float y - + VkStructureType sType - const void* pNext - VkSampleCountFlagBits sampleLocationsPerPixel + const void* pNext + VkSampleCountFlagBits sampleLocationsPerPixel VkExtent2D sampleLocationGridSize uint32_t sampleLocationsCount const VkSampleLocationEXT* pSampleLocations @@ -2892,7 +3571,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t attachmentInitialSampleLocationsCount const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations uint32_t postSubpassSampleLocationsCount @@ -2900,163 +3579,225 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkBool32 sampleLocationsEnable VkSampleLocationsInfoEXT sampleLocationsInfo VkStructureType sType - void* pNext - VkSampleCountFlags sampleLocationSampleCounts - VkExtent2D maxSampleLocationGridSize - float sampleLocationCoordinateRange[2] - uint32_t sampleLocationSubPixelBits - VkBool32 variableSampleLocations + void* pNext + VkSampleCountFlags sampleLocationSampleCounts + VkExtent2D maxSampleLocationGridSize + float sampleLocationCoordinateRange[2] + uint32_t sampleLocationSubPixelBits + VkBool32 variableSampleLocations VkStructureType sType - void* pNext + void* pNext VkExtent2D maxSampleLocationGridSize - - VkStructureType sType - const void* pNext - VkSamplerReductionModeEXT reductionMode + + VkStructureType sType + const void* pNext + VkSamplerReductionMode reductionMode + VkStructureType sType - void* pNext + void* pNext VkBool32 advancedBlendCoherentOperations + + VkStructureType sType + void* pNext + VkBool32 multiDraw + VkStructureType sType - void* pNext - uint32_t advancedBlendMaxColorAttachments - VkBool32 advancedBlendIndependentBlend - VkBool32 advancedBlendNonPremultipliedSrcColor - VkBool32 advancedBlendNonPremultipliedDstColor - VkBool32 advancedBlendCorrelatedOverlap - VkBool32 advancedBlendAllOperations + void* pNext + uint32_t advancedBlendMaxColorAttachments + VkBool32 advancedBlendIndependentBlend + VkBool32 advancedBlendNonPremultipliedSrcColor + VkBool32 advancedBlendNonPremultipliedDstColor + VkBool32 advancedBlendCorrelatedOverlap + VkBool32 advancedBlendAllOperations VkStructureType sType - const void* pNext + const void* pNext VkBool32 srcPremultiplied VkBool32 dstPremultiplied VkBlendOverlapEXT blendOverlap - - VkStructureType sType - void* pNext + + VkStructureType sType + void* pNext VkBool32 inlineUniformBlock VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind - - VkStructureType sType - void* pNext - uint32_t maxInlineUniformBlockSize - uint32_t maxPerStageDescriptorInlineUniformBlocks - uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks - uint32_t maxDescriptorSetInlineUniformBlocks - uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks - - - VkStructureType sType - const void* pNext - uint32_t dataSize - const void* pData - - - VkStructureType sType - const void* pNext - uint32_t maxInlineUniformBlockBindings - + + + VkStructureType sType + void* pNext + uint32_t maxInlineUniformBlockSize + uint32_t maxPerStageDescriptorInlineUniformBlocks + uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks + uint32_t maxDescriptorSetInlineUniformBlocks + uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks + + + + VkStructureType sType + const void* pNext + uint32_t dataSize + const void* pData + + + + VkStructureType sType + const void* pNext + uint32_t maxInlineUniformBlockBindings + + VkStructureType sType - const void* pNext + const void* pNext VkPipelineCoverageModulationStateCreateFlagsNV flags VkCoverageModulationModeNV coverageModulationMode VkBool32 coverageModulationTableEnable uint32_t coverageModulationTableCount const float* pCoverageModulationTable - - VkStructureType sType - const void* pNext + + VkStructureType sType + const void* pNext uint32_t viewFormatCount - const VkFormat* pViewFormats + const VkFormat* pViewFormats + VkStructureType sType - const void* pNext + const void* pNext VkValidationCacheCreateFlagsEXT flags size_t initialDataSize const void* pInitialData - + VkStructureType sType - const void* pNext + const void* pNext VkValidationCacheEXT validationCache VkStructureType sType - void* pNext - uint32_t maxPerSetDescriptors - VkDeviceSize maxMemoryAllocationSize + void* pNext + uint32_t maxPerSetDescriptors + VkDeviceSize maxMemoryAllocationSize + + VkStructureType sType + void* pNext + VkBool32 maintenance4 + + + + VkStructureType sType + void* pNext + VkDeviceSize maxBufferSize + + + + VkStructureType sType + void* pNext + VkBool32 maintenance5 + + + VkStructureType sType + void* pNext + VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting + VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting + VkBool32 depthStencilSwizzleOneSupport + VkBool32 polygonModePointSize + VkBool32 nonStrictSinglePixelWideLinesUseParallelogram + VkBool32 nonStrictWideLinesUseParallelogram + + + VkStructureType sType + void* pNext + VkBool32 maintenance6 + + + VkStructureType sType + void* pNext + VkBool32 blockTexelViewCompatibleMultipleLayers + uint32_t maxCombinedImageSamplerDescriptorCount + VkBool32 fragmentShadingRateClampCombinerInputs + + + VkStructureType sType + const void* pNext + uint32_t viewMask + uint32_t colorAttachmentCount + const VkFormat* pColorAttachmentFormats + VkFormat depthAttachmentFormat + VkFormat stencilAttachmentFormat + VkStructureType sType - void* pNext + void* pNext VkBool32 supported VkStructureType sType - void* pNext + void* pNext VkBool32 shaderDrawParameters - - VkStructureType sType - void* pNext - VkBool32 shaderFloat16 - VkBool32 shaderInt8 - - - - VkStructureType sType - void* pNext - VkShaderFloatControlsIndependenceKHR denormBehaviorIndependence - VkShaderFloatControlsIndependenceKHR roundingModeIndependence - VkBool32 shaderSignedZeroInfNanPreserveFloat16 - VkBool32 shaderSignedZeroInfNanPreserveFloat32 - VkBool32 shaderSignedZeroInfNanPreserveFloat64 - VkBool32 shaderDenormPreserveFloat16 - VkBool32 shaderDenormPreserveFloat32 - VkBool32 shaderDenormPreserveFloat64 - VkBool32 shaderDenormFlushToZeroFloat16 - VkBool32 shaderDenormFlushToZeroFloat32 - VkBool32 shaderDenormFlushToZeroFloat64 - VkBool32 shaderRoundingModeRTEFloat16 - VkBool32 shaderRoundingModeRTEFloat32 - VkBool32 shaderRoundingModeRTEFloat64 - VkBool32 shaderRoundingModeRTZFloat16 - VkBool32 shaderRoundingModeRTZFloat32 - VkBool32 shaderRoundingModeRTZFloat64 - - - VkStructureType sType - void* pNext + + VkStructureType sType + void* pNext + VkBool32 shaderFloat1616-bit floats (halfs) in shaders + VkBool32 shaderInt88-bit integers in shaders + + + + + VkStructureType sType + void* pNext + VkShaderFloatControlsIndependence denormBehaviorIndependence + VkShaderFloatControlsIndependence roundingModeIndependence + VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf + VkBool32 shaderDenormPreserveFloat16An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat32An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat64An implementation can preserve denormals + VkBool32 shaderDenormFlushToZeroFloat16An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat32An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat64An implementation can flush to zero denormals + VkBool32 shaderRoundingModeRTEFloat16An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat32An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat64An implementation can support RTE + VkBool32 shaderRoundingModeRTZFloat16An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat32An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat64An implementation can support RTZ + + + + VkStructureType sType + void* pNext VkBool32 hostQueryReset + uint64_t consumer uint64_t producer VkStructureType sType - const void* pNext + const void* pNext const void* handle int stride int format @@ -3065,12 +3806,12 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkSwapchainImageUsageFlagsANDROID usage VkStructureType sType - const void* pNext + const void* pNext VkBool32 sharedImage @@ -3089,36 +3830,50 @@ typedef void CAMetalLayer; uint32_t numAvailableSgprs uint32_t computeWorkGroupSize[3] - - VkStructureType sType - const void* pNext - VkQueueGlobalPriorityEXT globalPriority - - + + VkStructureType sType + const void* pNext + VkQueueGlobalPriorityKHR globalPriority + + + + VkStructureType sType + void* pNext + VkBool32 globalPriorityQuery + + + + VkStructureType sType + void* pNext + uint32_t priorityCount + VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR] + + + VkStructureType sType - const void* pNext + const void* pNext VkObjectType objectType - uint64_t objectHandle + uint64_t objectHandle const char* pObjectName VkStructureType sType - const void* pNext + const void* pNext VkObjectType objectType - uint64_t objectHandle + uint64_t objectHandle uint64_t tagName size_t tagSize const void* pTag VkStructureType sType - const void* pNext + const void* pNext const char* pLabelName - float color[4] + float color[4] - + VkStructureType sType - const void* pNext + const void* pNext VkDebugUtilsMessengerCreateFlagsEXT flags VkDebugUtilsMessageSeverityFlagsEXT messageSeverity VkDebugUtilsMessageTypeFlagsEXT messageType @@ -3130,8 +3885,8 @@ typedef void CAMetalLayer; const void* pNext VkDebugUtilsMessengerCallbackDataFlagsEXT flags const char* pMessageIdName - int32_t messageIdNumber - const char* pMessage + int32_t messageIdNumber + const char* pMessage uint32_t queueLabelCount const VkDebugUtilsLabelEXT* pQueueLabels uint32_t cmdBufLabelCount @@ -3139,74 +3894,98 @@ typedef void CAMetalLayer; uint32_t objectCount const VkDebugUtilsObjectNameInfoEXT* pObjects + + VkStructureType sType + void* pNext + VkBool32 deviceMemoryReport + + + VkStructureType sType + const void* pNext + VkDeviceMemoryReportFlagsEXT flags + PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback + void* pUserData + + + VkStructureType sType + void* pNext + VkDeviceMemoryReportFlagsEXT flags + VkDeviceMemoryReportEventTypeEXT type + uint64_t memoryObjectId + VkDeviceSize size + VkObjectType objectType + uint64_t objectHandle + uint32_t heapIndex + VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagBits handleType - void* pHostPointer + void* pHostPointer VkStructureType sType - void* pNext + void* pNext uint32_t memoryTypeBits VkStructureType sType - void* pNext - VkDeviceSize minImportedHostPointerAlignment + void* pNext + VkDeviceSize minImportedHostPointerAlignment VkStructureType sType - void* pNextPointer to next structure - float primitiveOverestimationSizeThe size in pixels the primitive is enlarged at each edge during conservative rasterization - float maxExtraPrimitiveOverestimationSizeThe maximum additional overestimation the client can specify in the pipeline state - float extraPrimitiveOverestimationSizeGranularityThe granularity of extra overestimation sizes the implementations supports between 0 and maxExtraOverestimationSize - VkBool32 primitiveUnderestimationtrue if the implementation supports conservative rasterization underestimation mode - VkBool32 conservativePointAndLineRasterizationtrue if conservative rasterization also applies to points and lines - VkBool32 degenerateTrianglesRasterizedtrue if degenerate triangles (those with zero area after snap) are rasterized - VkBool32 degenerateLinesRasterizedtrue if degenerate lines (those with zero length after snap) are rasterized - VkBool32 fullyCoveredFragmentShaderInputVariabletrue if the implementation supports the FullyCoveredEXT SPIR-V builtin fragment shader input variable - VkBool32 conservativeRasterizationPostDepthCoveragetrue if the implementation supports both conservative rasterization and post depth coverage sample coverage mask - - - VkStructureType sType - const void* pNext - VkTimeDomainEXT timeDomain - + void* pNext + float primitiveOverestimationSizeThe size in pixels the primitive is enlarged at each edge during conservative rasterization + float maxExtraPrimitiveOverestimationSizeThe maximum additional overestimation the client can specify in the pipeline state + float extraPrimitiveOverestimationSizeGranularityThe granularity of extra overestimation sizes the implementations supports between 0 and maxExtraOverestimationSize + VkBool32 primitiveUnderestimationtrue if the implementation supports conservative rasterization underestimation mode + VkBool32 conservativePointAndLineRasterizationtrue if conservative rasterization also applies to points and lines + VkBool32 degenerateTrianglesRasterizedtrue if degenerate triangles (those with zero area after snap) are rasterized + VkBool32 degenerateLinesRasterizedtrue if degenerate lines (those with zero length after snap) are rasterized + VkBool32 fullyCoveredFragmentShaderInputVariabletrue if the implementation supports the FullyCoveredEXT SPIR-V builtin fragment shader input variable + VkBool32 conservativeRasterizationPostDepthCoveragetrue if the implementation supports both conservative rasterization and post depth coverage sample coverage mask + + + VkStructureType sType + const void* pNext + VkTimeDomainKHR timeDomain + + VkStructureType sType - void* pNextPointer to next structure - uint32_t shaderEngineCountnumber of shader engines - uint32_t shaderArraysPerEngineCountnumber of shader arrays - uint32_t computeUnitsPerShaderArraynumber of physical CUs per shader array - uint32_t simdPerComputeUnitnumber of SIMDs per compute unit - uint32_t wavefrontsPerSimdnumber of wavefront slots in each SIMD - uint32_t wavefrontSizemaximum number of threads per wavefront - uint32_t sgprsPerSimdnumber of physical SGPRs per SIMD - uint32_t minSgprAllocationminimum number of SGPRs that can be allocated by a wave - uint32_t maxSgprAllocationnumber of available SGPRs - uint32_t sgprAllocationGranularitySGPRs are allocated in groups of this size - uint32_t vgprsPerSimdnumber of physical VGPRs per SIMD - uint32_t minVgprAllocationminimum number of VGPRs that can be allocated by a wave - uint32_t maxVgprAllocationnumber of available VGPRs - uint32_t vgprAllocationGranularityVGPRs are allocated in groups of this size + void* pNext + uint32_t shaderEngineCountnumber of shader engines + uint32_t shaderArraysPerEngineCountnumber of shader arrays + uint32_t computeUnitsPerShaderArraynumber of physical CUs per shader array + uint32_t simdPerComputeUnitnumber of SIMDs per compute unit + uint32_t wavefrontsPerSimdnumber of wavefront slots in each SIMD + uint32_t wavefrontSizemaximum number of threads per wavefront + uint32_t sgprsPerSimdnumber of physical SGPRs per SIMD + uint32_t minSgprAllocationminimum number of SGPRs that can be allocated by a wave + uint32_t maxSgprAllocationnumber of available SGPRs + uint32_t sgprAllocationGranularitySGPRs are allocated in groups of this size + uint32_t vgprsPerSimdnumber of physical VGPRs per SIMD + uint32_t minVgprAllocationminimum number of VGPRs that can be allocated by a wave + uint32_t maxVgprAllocationnumber of available VGPRs + uint32_t vgprAllocationGranularityVGPRs are allocated in groups of this size VkStructureType sType - void* pNextPointer to next structure - VkShaderCorePropertiesFlagsAMD shaderCoreFeaturesfeatures supported by the shader core - uint32_t activeComputeUnitCountnumber of active compute units across all shader engines/arrays + void* pNextPointer to next structure + VkShaderCorePropertiesFlagsAMD shaderCoreFeaturesfeatures supported by the shader core + uint32_t activeComputeUnitCountnumber of active compute units across all shader engines/arrays VkStructureType sType - const void* pNext - VkPipelineRasterizationConservativeStateCreateFlagsEXT flags - VkConservativeRasterizationModeEXT conservativeRasterizationMode - float extraPrimitiveOverestimationSize - - - VkStructureType sType - void* pNext + const void* pNext + VkPipelineRasterizationConservativeStateCreateFlagsEXT flagsReserved + VkConservativeRasterizationModeEXT conservativeRasterizationModeConservative rasterization mode + float extraPrimitiveOverestimationSizeExtra overestimation to add to the primitive + + + VkStructureType sType + void* pNext VkBool32 shaderInputAttachmentArrayDynamicIndexing VkBool32 shaderUniformTexelBufferArrayDynamicIndexing VkBool32 shaderStorageTexelBufferArrayDynamicIndexing @@ -3228,53 +4007,58 @@ typedef void CAMetalLayer; VkBool32 descriptorBindingVariableDescriptorCount VkBool32 runtimeDescriptorArray - - VkStructureType sType - void* pNext - uint32_t maxUpdateAfterBindDescriptorsInAllPools - VkBool32 shaderUniformBufferArrayNonUniformIndexingNative - VkBool32 shaderSampledImageArrayNonUniformIndexingNative - VkBool32 shaderStorageBufferArrayNonUniformIndexingNative - VkBool32 shaderStorageImageArrayNonUniformIndexingNative - VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative - VkBool32 robustBufferAccessUpdateAfterBind - VkBool32 quadDivergentImplicitLod - uint32_t maxPerStageDescriptorUpdateAfterBindSamplers - uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers - uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers - uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages - uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages - uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments - uint32_t maxPerStageUpdateAfterBindResources - uint32_t maxDescriptorSetUpdateAfterBindSamplers - uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers - uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic - uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers - uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic - uint32_t maxDescriptorSetUpdateAfterBindSampledImages - uint32_t maxDescriptorSetUpdateAfterBindStorageImages - uint32_t maxDescriptorSetUpdateAfterBindInputAttachments - - - VkStructureType sType - const void* pNext - uint32_t bindingCount - const VkDescriptorBindingFlagsEXT* pBindingFlags - - - VkStructureType sType - const void* pNext + + + VkStructureType sType + void* pNext + uint32_t maxUpdateAfterBindDescriptorsInAllPools + VkBool32 shaderUniformBufferArrayNonUniformIndexingNative + VkBool32 shaderSampledImageArrayNonUniformIndexingNative + VkBool32 shaderStorageBufferArrayNonUniformIndexingNative + VkBool32 shaderStorageImageArrayNonUniformIndexingNative + VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative + VkBool32 robustBufferAccessUpdateAfterBind + VkBool32 quadDivergentImplicitLod + uint32_t maxPerStageDescriptorUpdateAfterBindSamplers + uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers + uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers + uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages + uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages + uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments + uint32_t maxPerStageUpdateAfterBindResources + uint32_t maxDescriptorSetUpdateAfterBindSamplers + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindSampledImages + uint32_t maxDescriptorSetUpdateAfterBindStorageImages + uint32_t maxDescriptorSetUpdateAfterBindInputAttachments + + + + VkStructureType sType + const void* pNext + uint32_t bindingCount + const VkDescriptorBindingFlags* pBindingFlags + + + + VkStructureType sType + const void* pNext uint32_t descriptorSetCount const uint32_t* pDescriptorCounts - - VkStructureType sType - void* pNext + + + VkStructureType sType + void* pNext uint32_t maxVariableDescriptorCount - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext VkAttachmentDescriptionFlags flags VkFormat format VkSampleCountFlagBits samples @@ -3285,147 +4069,168 @@ typedef void CAMetalLayer; VkImageLayout initialLayout VkImageLayout finalLayout - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext uint32_t attachment VkImageLayout layout VkImageAspectFlags aspectMask - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext VkSubpassDescriptionFlags flags VkPipelineBindPoint pipelineBindPoint uint32_t viewMask uint32_t inputAttachmentCount - const VkAttachmentReference2KHR* pInputAttachments + const VkAttachmentReference2* pInputAttachments uint32_t colorAttachmentCount - const VkAttachmentReference2KHR* pColorAttachments - const VkAttachmentReference2KHR* pResolveAttachments - const VkAttachmentReference2KHR* pDepthStencilAttachment + const VkAttachmentReference2* pColorAttachments + const VkAttachmentReference2* pResolveAttachments + const VkAttachmentReference2* pDepthStencilAttachment uint32_t preserveAttachmentCount const uint32_t* pPreserveAttachments - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext uint32_t srcSubpass uint32_t dstSubpass - VkPipelineStageFlags srcStageMask - VkPipelineStageFlags dstStageMask + VkPipelineStageFlags srcStageMask + VkPipelineStageFlags dstStageMask VkAccessFlags srcAccessMask VkAccessFlags dstAccessMask VkDependencyFlags dependencyFlags - int32_t viewOffset + int32_t viewOffset - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext VkRenderPassCreateFlags flags uint32_t attachmentCount - const VkAttachmentDescription2KHR* pAttachments + const VkAttachmentDescription2* pAttachments uint32_t subpassCount - const VkSubpassDescription2KHR* pSubpasses + const VkSubpassDescription2* pSubpasses uint32_t dependencyCount - const VkSubpassDependency2KHR* pDependencies + const VkSubpassDependency2* pDependencies uint32_t correlatedViewMaskCount const uint32_t* pCorrelatedViewMasks - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext VkSubpassContents contents - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext - - VkStructureType sType - void* pNext + + + VkStructureType sType + void* pNext VkBool32 timelineSemaphore - - VkStructureType sType - void* pNext - uint64_t maxTimelineSemaphoreValueDifference - - - VkStructureType sType - const void* pNext - VkSemaphoreTypeKHR semaphoreType + + + VkStructureType sType + void* pNext + uint64_t maxTimelineSemaphoreValueDifference + + + + VkStructureType sType + const void* pNext + VkSemaphoreType semaphoreType uint64_t initialValue - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext uint32_t waitSemaphoreValueCount const uint64_t* pWaitSemaphoreValues uint32_t signalSemaphoreValueCount const uint64_t* pSignalSemaphoreValues - - VkStructureType sType - const void* pNext - VkSemaphoreWaitFlagsKHR flags + + + VkStructureType sType + const void* pNext + VkSemaphoreWaitFlags flags uint32_t semaphoreCount const VkSemaphore* pSemaphores const uint64_t* pValues - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext VkSemaphore semaphore uint64_t value - + + uint32_t binding uint32_t divisor - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext uint32_t vertexBindingDivisorCount - const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors + const VkVertexInputBindingDivisorDescriptionKHR* pVertexBindingDivisors + VkStructureType sType - void* pNext - uint32_t maxVertexAttribDivisormax value of vertex attribute divisor + void* pNext + uint32_t maxVertexAttribDivisormax value of vertex attribute divisor + + + VkStructureType sType + void* pNext + uint32_t maxVertexAttribDivisormax value of vertex attribute divisor + VkBool32 supportsNonZeroFirstInstance VkStructureType sType - void* pNext - uint32_t pciDomain - uint32_t pciBus - uint32_t pciDevice - uint32_t pciFunction + void* pNext + uint32_t pciDomain + uint32_t pciBus + uint32_t pciDevice + uint32_t pciFunction VkStructureType sType - const void* pNext + const void* pNext struct AHardwareBuffer* buffer VkStructureType sType - void* pNext + void* pNext uint64_t androidHardwareBufferUsage VkStructureType sType - void* pNext + void* pNext VkDeviceSize allocationSize uint32_t memoryTypeBits VkStructureType sType - const void* pNext + const void* pNext VkDeviceMemory memory VkStructureType sType - void* pNext + void* pNext VkFormat format uint64_t externalFormat VkFormatFeatureFlags formatFeatures @@ -3437,178 +4242,238 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkBool32 conditionalRenderingEnableWhether this secondary command buffer may be executed during an active conditional rendering - + VkStructureType sType - void* pNext + void* pNext uint64_t externalFormat - - VkStructureType sType - void* pNext + + VkStructureType sType + void* pNext VkBool32 storageBuffer8BitAccess8-bit integer variables supported in StorageBuffer VkBool32 uniformAndStorageBuffer8BitAccess8-bit integer variables supported in StorageBuffer and Uniform VkBool32 storagePushConstant88-bit integer variables supported in PushConstant + VkStructureType sType - void* pNext + void* pNext VkBool32 conditionalRendering VkBool32 inheritedConditionalRendering - - VkStructureType sType - void* pNext + + VkStructureType sType + void* pNext VkBool32 vulkanMemoryModel VkBool32 vulkanMemoryModelDeviceScope VkBool32 vulkanMemoryModelAvailabilityVisibilityChains - - VkStructureType sType - void* pNext + + + VkStructureType sType + void* pNext VkBool32 shaderBufferInt64Atomics VkBool32 shaderSharedInt64Atomics - - VkStructureType sType - void* pNext + + + VkStructureType sType + void* pNext + VkBool32 shaderBufferFloat32Atomics + VkBool32 shaderBufferFloat32AtomicAdd + VkBool32 shaderBufferFloat64Atomics + VkBool32 shaderBufferFloat64AtomicAdd + VkBool32 shaderSharedFloat32Atomics + VkBool32 shaderSharedFloat32AtomicAdd + VkBool32 shaderSharedFloat64Atomics + VkBool32 shaderSharedFloat64AtomicAdd + VkBool32 shaderImageFloat32Atomics + VkBool32 shaderImageFloat32AtomicAdd + VkBool32 sparseImageFloat32Atomics + VkBool32 sparseImageFloat32AtomicAdd + + + VkStructureType sType + void* pNext + VkBool32 shaderBufferFloat16Atomics + VkBool32 shaderBufferFloat16AtomicAdd + VkBool32 shaderBufferFloat16AtomicMinMax + VkBool32 shaderBufferFloat32AtomicMinMax + VkBool32 shaderBufferFloat64AtomicMinMax + VkBool32 shaderSharedFloat16Atomics + VkBool32 shaderSharedFloat16AtomicAdd + VkBool32 shaderSharedFloat16AtomicMinMax + VkBool32 shaderSharedFloat32AtomicMinMax + VkBool32 shaderSharedFloat64AtomicMinMax + VkBool32 shaderImageFloat32AtomicMinMax + VkBool32 sparseImageFloat32AtomicMinMax + + + VkStructureType sType + void* pNext VkBool32 vertexAttributeInstanceRateDivisor VkBool32 vertexAttributeInstanceRateZeroDivisor + VkStructureType sType - void* pNext - VkPipelineStageFlags checkpointExecutionStageMask + void* pNext + VkPipelineStageFlags checkpointExecutionStageMask VkStructureType sType - void* pNext + void* pNext VkPipelineStageFlagBits stage void* pCheckpointMarker - - VkStructureType sType - void* pNext - VkResolveModeFlagsKHR supportedDepthResolveModessupported depth resolve modes - VkResolveModeFlagsKHR supportedStencilResolveModessupported stencil resolve modes - VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none - VkBool32 independentResolvedepth and stencil resolve modes can be set independently - - - VkStructureType sType - const void* pNext - VkResolveModeFlagBitsKHR depthResolveModedepth resolve mode - VkResolveModeFlagBitsKHR stencilResolveModestencil resolve mode - const VkAttachmentReference2KHR* pDepthStencilResolveAttachmentdepth/stencil resolve attachment - + + VkStructureType sType + void* pNext + VkResolveModeFlags supportedDepthResolveModessupported depth resolve modes + VkResolveModeFlags supportedStencilResolveModessupported stencil resolve modes + VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none + VkBool32 independentResolvedepth and stencil resolve modes can be set independently + + + + VkStructureType sType + const void* pNext + VkResolveModeFlagBits depthResolveModedepth resolve mode + VkResolveModeFlagBits stencilResolveModestencil resolve mode + const VkAttachmentReference2* pDepthStencilResolveAttachmentdepth/stencil resolve attachment + + VkStructureType sType - const void* pNext + const void* pNext VkFormat decodeMode VkStructureType sType - void* pNext + void* pNext VkBool32 decodeModeSharedExponent VkStructureType sType - void* pNext + void* pNext VkBool32 transformFeedback VkBool32 geometryStreams VkStructureType sType - void* pNext - uint32_t maxTransformFeedbackStreams - uint32_t maxTransformFeedbackBuffers - VkDeviceSize maxTransformFeedbackBufferSize - uint32_t maxTransformFeedbackStreamDataSize - uint32_t maxTransformFeedbackBufferDataSize - uint32_t maxTransformFeedbackBufferDataStride - VkBool32 transformFeedbackQueries - VkBool32 transformFeedbackStreamsLinesTriangles - VkBool32 transformFeedbackRasterizationStreamSelect - VkBool32 transformFeedbackDraw + void* pNext + uint32_t maxTransformFeedbackStreams + uint32_t maxTransformFeedbackBuffers + VkDeviceSize maxTransformFeedbackBufferSize + uint32_t maxTransformFeedbackStreamDataSize + uint32_t maxTransformFeedbackBufferDataSize + uint32_t maxTransformFeedbackBufferDataStride + VkBool32 transformFeedbackQueries + VkBool32 transformFeedbackStreamsLinesTriangles + VkBool32 transformFeedbackRasterizationStreamSelect + VkBool32 transformFeedbackDraw VkStructureType sType - const void* pNext + const void* pNext VkPipelineRasterizationStateStreamCreateFlagsEXT flags uint32_t rasterizationStream - VkStructureTypesType - void* pNext + VkStructureType sType + void* pNext VkBool32 representativeFragmentTest VkStructureType sType - const void* pNext + const void* pNext VkBool32 representativeFragmentTestEnable VkStructureType sType - void* pNext + void* pNext VkBool32 exclusiveScissor VkStructureType sType - const void* pNext - uint32_t exclusiveScissorCount - const VkRect2D* pExclusiveScissors + const void* pNext + uint32_t exclusiveScissorCount + const VkRect2D* pExclusiveScissors VkStructureType sType - void* pNext + void* pNext VkBool32 cornerSampledImage VkStructureType sType - void* pNext + void* pNext VkBool32 computeDerivativeGroupQuads VkBool32 computeDerivativeGroupLinear - - VkStructureType sType - void* pNext - VkBool32 fragmentShaderBarycentric - + VkStructureType sType - void* pNext + void* pNext VkBool32 imageFootprint VkStructureType sType - void* pNext + void* pNext VkBool32 dedicatedAllocationImageAliasing + + VkStructureType sType + void* pNext + VkBool32 indirectCopy + + + VkStructureType sType + void* pNext + VkQueueFlags supportedQueuesBitfield of which queues are supported for indirect copy + + + VkStructureType sType + void* pNext + VkBool32 memoryDecompression + + + VkStructureType sType + void* pNext + VkMemoryDecompressionMethodFlagsNV decompressionMethods + uint64_t maxDecompressionIndirectCount + uint32_t shadingRatePaletteEntryCount const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries VkStructureType sType - const void* pNext - VkBool32 shadingRateImageEnable - uint32_t viewportCount - const VkShadingRatePaletteNV* pShadingRatePalettes + const void* pNext + VkBool32 shadingRateImageEnable + uint32_t viewportCount + const VkShadingRatePaletteNV* pShadingRatePalettes VkStructureType sType - void* pNext + void* pNext VkBool32 shadingRateImage VkBool32 shadingRateCoarseSampleOrder VkStructureType sType - void* pNext - VkExtent2D shadingRateTexelSize - uint32_t shadingRatePaletteSize - uint32_t shadingRateMaxCoarseSamples + void* pNext + VkExtent2D shadingRateTexelSize + uint32_t shadingRatePaletteSize + uint32_t shadingRateMaxCoarseSamples + + + VkStructureType sType + void* pNext + VkBool32 invocationMask uint32_t pixelX @@ -3623,51 +4488,107 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkCoarseSampleOrderTypeNV sampleOrderType uint32_t customSampleOrderCount const VkCoarseSampleOrderCustomNV* pCustomSampleOrders VkStructureType sType - void* pNext + void* pNext VkBool32 taskShader VkBool32 meshShader VkStructureType sType - void* pNext - uint32_t maxDrawMeshTasksCount - uint32_t maxTaskWorkGroupInvocations - uint32_t maxTaskWorkGroupSize[3] - uint32_t maxTaskTotalMemorySize - uint32_t maxTaskOutputCount - uint32_t maxMeshWorkGroupInvocations - uint32_t maxMeshWorkGroupSize[3] - uint32_t maxMeshTotalMemorySize - uint32_t maxMeshOutputVertices - uint32_t maxMeshOutputPrimitives - uint32_t maxMeshMultiviewViewCount - uint32_t meshOutputPerVertexGranularity - uint32_t meshOutputPerPrimitiveGranularity + void* pNext + uint32_t maxDrawMeshTasksCount + uint32_t maxTaskWorkGroupInvocations + uint32_t maxTaskWorkGroupSize[3] + uint32_t maxTaskTotalMemorySize + uint32_t maxTaskOutputCount + uint32_t maxMeshWorkGroupInvocations + uint32_t maxMeshWorkGroupSize[3] + uint32_t maxMeshTotalMemorySize + uint32_t maxMeshOutputVertices + uint32_t maxMeshOutputPrimitives + uint32_t maxMeshMultiviewViewCount + uint32_t meshOutputPerVertexGranularity + uint32_t meshOutputPerPrimitiveGranularity uint32_t taskCount uint32_t firstTask + + VkStructureType sType + void* pNext + VkBool32 taskShader + VkBool32 meshShader + VkBool32 multiviewMeshShader + VkBool32 primitiveFragmentShadingRateMeshShader + VkBool32 meshShaderQueries + + + VkStructureType sType + void* pNext + uint32_t maxTaskWorkGroupTotalCount + uint32_t maxTaskWorkGroupCount[3] + uint32_t maxTaskWorkGroupInvocations + uint32_t maxTaskWorkGroupSize[3] + uint32_t maxTaskPayloadSize + uint32_t maxTaskSharedMemorySize + uint32_t maxTaskPayloadAndSharedMemorySize + uint32_t maxMeshWorkGroupTotalCount + uint32_t maxMeshWorkGroupCount[3] + uint32_t maxMeshWorkGroupInvocations + uint32_t maxMeshWorkGroupSize[3] + uint32_t maxMeshSharedMemorySize + uint32_t maxMeshPayloadAndSharedMemorySize + uint32_t maxMeshOutputMemorySize + uint32_t maxMeshPayloadAndOutputMemorySize + uint32_t maxMeshOutputComponents + uint32_t maxMeshOutputVertices + uint32_t maxMeshOutputPrimitives + uint32_t maxMeshOutputLayers + uint32_t maxMeshMultiviewViewCount + uint32_t meshOutputPerVertexGranularity + uint32_t meshOutputPerPrimitiveGranularity + uint32_t maxPreferredTaskWorkGroupInvocations + uint32_t maxPreferredMeshWorkGroupInvocations + VkBool32 prefersLocalInvocationVertexOutput + VkBool32 prefersLocalInvocationPrimitiveOutput + VkBool32 prefersCompactVertexOutput + VkBool32 prefersCompactPrimitiveOutput + + + uint32_t groupCountX + uint32_t groupCountY + uint32_t groupCountZ + VkStructureType sType - const void* pNext - VkRayTracingShaderGroupTypeNV type + const void* pNext + VkRayTracingShaderGroupTypeKHR type + uint32_t generalShader + uint32_t closestHitShader + uint32_t anyHitShader + uint32_t intersectionShader + + + VkStructureType sType + const void* pNext + VkRayTracingShaderGroupTypeKHR type uint32_t generalShader uint32_t closestHitShader uint32_t anyHitShader uint32_t intersectionShader + const void* pShaderGroupCaptureReplayHandle VkStructureType sType - const void* pNext - VkPipelineCreateFlags flagsPipeline creation flags + const void* pNext + VkPipelineCreateFlags flagsPipeline creation flags uint32_t stageCount const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage uint32_t groupCount @@ -3677,9 +4598,25 @@ typedef void CAMetalLayer; VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of + + VkStructureType sType + const void* pNext + VkPipelineCreateFlags flagsPipeline creation flags + uint32_t stageCount + const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage + uint32_t groupCount + const VkRayTracingShaderGroupCreateInfoKHR* pGroups + uint32_t maxPipelineRayRecursionDepth + const VkPipelineLibraryCreateInfoKHR* pLibraryInfo + const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface + const VkPipelineDynamicStateCreateInfo* pDynamicState + VkPipelineLayout layoutInterface layout of the pipeline + VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of + int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of + VkStructureType sType - const void* pNext + const void* pNext VkBuffer vertexData VkDeviceSize vertexOffset uint32_t vertexCount @@ -3694,7 +4631,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkBuffer aabbData uint32_t numAABBs uint32_t strideStride in bytes between AABBs @@ -3706,64 +4643,149 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext - VkGeometryTypeNV geometryType - VkGeometryDataNV geometry - VkGeometryFlagsNV flags + const void* pNext + VkGeometryTypeKHR geometryType + VkGeometryDataNV geometry + VkGeometryFlagsKHR flags VkStructureType sType - const void* pNext + const void* pNext VkAccelerationStructureTypeNV type - VkBuildAccelerationStructureFlagsNVflags + VkBuildAccelerationStructureFlagsNV flags uint32_t instanceCount uint32_t geometryCount const VkGeometryNV* pGeometries VkStructureType sType - const void* pNext + const void* pNext VkDeviceSize compactedSize VkAccelerationStructureInfoNV info VkStructureType sType - const void* pNext - VkAccelerationStructureNV accelerationStructure + const void* pNext + VkAccelerationStructureNV accelerationStructure VkDeviceMemory memory VkDeviceSize memoryOffset uint32_t deviceIndexCount const uint32_t* pDeviceIndices + + VkStructureType sType + const void* pNext + uint32_t accelerationStructureCount + const VkAccelerationStructureKHR* pAccelerationStructures + VkStructureType sType - const void* pNext + const void* pNext uint32_t accelerationStructureCount - const VkAccelerationStructureNV* pAccelerationStructures + const VkAccelerationStructureNV* pAccelerationStructures VkStructureType sType - const void* pNext - VkAccelerationStructureMemoryRequirementsTypeNV type - VkAccelerationStructureNV accelerationStructure + const void* pNext + VkAccelerationStructureMemoryRequirementsTypeNV type + VkAccelerationStructureNV accelerationStructure + + + VkStructureType sType + void* pNext + VkBool32 accelerationStructure + VkBool32 accelerationStructureCaptureReplay + VkBool32 accelerationStructureIndirectBuild + VkBool32 accelerationStructureHostCommands + VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind + + + VkStructureType sType + void* pNext + VkBool32 rayTracingPipeline + VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay + VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed + VkBool32 rayTracingPipelineTraceRaysIndirect + VkBool32 rayTraversalPrimitiveCulling + + + VkStructureType sType + void* pNext + VkBool32 rayQuery + + + VkStructureType sType + void* pNext + uint64_t maxGeometryCount + uint64_t maxInstanceCount + uint64_t maxPrimitiveCount + uint32_t maxPerStageDescriptorAccelerationStructures + uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures + uint32_t maxDescriptorSetAccelerationStructures + uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures + uint32_t minAccelerationStructureScratchOffsetAlignment + + + VkStructureType sType + void* pNext + uint32_t shaderGroupHandleSize + uint32_t maxRayRecursionDepth + uint32_t maxShaderGroupStride + uint32_t shaderGroupBaseAlignment + uint32_t shaderGroupHandleCaptureReplaySize + uint32_t maxRayDispatchInvocationCount + uint32_t shaderGroupHandleAlignment + uint32_t maxRayHitAttributeSize VkStructureType sType - void* pNext - uint32_t shaderGroupHandleSize - uint32_t maxRecursionDepth - uint32_t maxShaderGroupStride - uint32_t shaderGroupBaseAlignment - uint64_t maxGeometryCount - uint64_t maxInstanceCount - uint64_t maxTriangleCount - uint32_t maxDescriptorSetAccelerationStructures + void* pNext + uint32_t shaderGroupHandleSize + uint32_t maxRecursionDepth + uint32_t maxShaderGroupStride + uint32_t shaderGroupBaseAlignment + uint64_t maxGeometryCount + uint64_t maxInstanceCount + uint64_t maxTriangleCount + uint32_t maxDescriptorSetAccelerationStructures + + + VkDeviceAddress deviceAddress + VkDeviceSize stride + VkDeviceSize size + + + uint32_t width + uint32_t height + uint32_t depth + + + VkDeviceAddress raygenShaderRecordAddress + VkDeviceSize raygenShaderRecordSize + VkDeviceAddress missShaderBindingTableAddress + VkDeviceSize missShaderBindingTableSize + VkDeviceSize missShaderBindingTableStride + VkDeviceAddress hitShaderBindingTableAddress + VkDeviceSize hitShaderBindingTableSize + VkDeviceSize hitShaderBindingTableStride + VkDeviceAddress callableShaderBindingTableAddress + VkDeviceSize callableShaderBindingTableSize + VkDeviceSize callableShaderBindingTableStride + uint32_t width + uint32_t height + uint32_t depth + + + VkStructureType sType + void* pNext + VkBool32 rayTracingMaintenance1 + VkBool32 rayTracingPipelineTraceRaysIndirect2 VkStructureType sType - void* pNext + void* pNext uint32_t drmFormatModifierCount - VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties + VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties uint64_t drmFormatModifier @@ -3772,7 +4794,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint64_t drmFormatModifier VkSharingMode sharingMode uint32_t queueFamilyIndexCount @@ -3780,149 +4802,191 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t drmFormatModifierCount const uint64_t* pDrmFormatModifiers VkStructureType sType - const void* pNext + const void* pNext uint64_t drmFormatModifier - uint32_t drmFormatModifierPlaneCount + uint32_t drmFormatModifierPlaneCount const VkSubresourceLayout* pPlaneLayouts VkStructureType sType - void* pNext + void* pNext uint64_t drmFormatModifier - - VkStructureType sType - const void* pNext + + VkStructureType sType + const void* pNext VkImageUsageFlags stencilUsage + VkStructureType sType - const void* pNext + const void* pNext VkMemoryOverallocationBehaviorAMD overallocationBehavior - + VkStructureType sType - void* pNext + void* pNext VkBool32 fragmentDensityMap VkBool32 fragmentDensityMapDynamic VkBool32 fragmentDensityMapNonSubsampledImages + + VkStructureType sType + void* pNext + VkBool32 fragmentDensityMapDeferred + + + VkStructureType sType + void* pNext + VkBool32 fragmentDensityMapOffset + VkStructureType sType - void* pNext - VkExtent2D minFragmentDensityTexelSize - VkExtent2D maxFragmentDensityTexelSize - VkBool32 fragmentDensityInvocations - - + void* pNext + VkExtent2D minFragmentDensityTexelSize + VkExtent2D maxFragmentDensityTexelSize + VkBool32 fragmentDensityInvocations + + + VkStructureType sType + void* pNext + VkBool32 subsampledLoads + VkBool32 subsampledCoarseReconstructionEarlyAccess + uint32_t maxSubsampledArrayLayers + uint32_t maxDescriptorSetSubsampledSamplers + + + VkStructureType sType + void* pNext + VkExtent2D fragmentDensityOffsetGranularity + + VkStructureType sType - const void* pNext + const void* pNext VkAttachmentReference fragmentDensityMapAttachment - - VkStructureType sType - void* pNext + + VkStructureType sType + const void* pNext + uint32_t fragmentDensityOffsetCount + const VkOffset2D* pFragmentDensityOffsets + + + VkStructureType sType + void* pNext VkBool32 scalarBlockLayout - + + VkStructureType sType - const void* pNext + const void* pNext VkBool32 supportsProtectedRepresents if surface can be protected - - VkStructureType sType - void* pNext + + VkStructureType sType + void* pNext VkBool32 uniformBufferStandardLayout + VkStructureType sType - void* pNextPointer to next structure + void* pNext VkBool32 depthClipEnable VkStructureType sType - const void* pNext - VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags + const void* pNext + VkPipelineRasterizationDepthClipStateCreateFlagsEXT flagsReserved VkBool32 depthClipEnable VkStructureType sType - void* pNext + void* pNext VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS] VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS] VkStructureType sType - void* pNext + void* pNext VkBool32 memoryPriority VkStructureType sType - const void* pNext + const void* pNext float priority - - VkStructureType sType - void* pNext + + VkStructureType sType + void* pNext + VkBool32 pageableDeviceLocalMemory + + + VkStructureType sType + void* pNext VkBool32 bufferDeviceAddress VkBool32 bufferDeviceAddressCaptureReplay VkBool32 bufferDeviceAddressMultiDevice + VkStructureType sType - void* pNext + void* pNext VkBool32 bufferDeviceAddress VkBool32 bufferDeviceAddressCaptureReplay VkBool32 bufferDeviceAddressMultiDevice - - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext VkBuffer buffer - - - VkStructureType sType - const void* pNext + + + + VkStructureType sType + const void* pNext uint64_t opaqueCaptureAddress + VkStructureType sType - const void* pNext + const void* pNext VkDeviceAddress deviceAddress VkStructureType sType - void* pNext + void* pNext VkImageViewType imageViewType VkStructureType sType - void* pNext - VkBool32 filterCubic - VkBool32 filterCubicMinmax + void* pNext + VkBool32 filterCubicThe combinations of format, image type (and image view type if provided) can be filtered with VK_FILTER_CUBIC_EXT + VkBool32 filterCubicMinmaxThe combination of format, image type (and image view type if provided) can be filtered with VK_FILTER_CUBIC_EXT and ReductionMode of Min or Max - - VkStructureType sType - void* pNext + + VkStructureType sType + void* pNext VkBool32 imagelessFramebuffer - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext uint32_t attachmentImageInfoCount - const VkFramebufferAttachmentImageInfoKHR* pAttachmentImageInfos + const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext VkImageCreateFlags flagsImage creation flags VkImageUsageFlags usageImage usage flags uint32_t width @@ -3931,31 +4995,34 @@ typedef void CAMetalLayer; uint32_t viewFormatCount const VkFormat* pViewFormats - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext uint32_t attachmentCount const VkImageView* pAttachments - - VkStructureType sType - void* pNext + + + VkStructureType sType + void* pNext VkBool32 textureCompressionASTC_HDR + VkStructureType sType - void* pNext + void* pNext VkBool32 cooperativeMatrix VkBool32 cooperativeMatrixRobustBufferAccess VkStructureType sType - void* pNext - VkShaderStageFlags cooperativeMatrixSupportedStages + void* pNext + VkShaderStageFlags cooperativeMatrixSupportedStages - + VkStructureType sType - void* pNext + void* pNext uint32_t MSize uint32_t NSize uint32_t KSize @@ -3967,60 +5034,84 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 ycbcrImageArrays VkStructureType sType - const void* pNext + const void* pNext VkImageView imageView VkDescriptorType descriptorType VkSampler sampler + + VkStructureType sType + void* pNext + VkDeviceAddress deviceAddress + VkDeviceSize size + VkStructureType sType - const void* pNext + const void* pNext GgpFrameToken frameToken - - VkPipelineCreationFeedbackFlagsEXT flags + + VkPipelineCreationFeedbackFlags flags uint64_t duration - - VkStructureType sType - const void* pNext - VkPipelineCreationFeedbackEXT* pPipelineCreationFeedbackOutput pipeline creation feedback. - uint32_t pipelineStageCreationFeedbackCount - VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacksOne entry for each shader stage specified in the parent Vk*PipelineCreateInfo struct + + + VkStructureType sType + const void* pNext + VkPipelineCreationFeedback* pPipelineCreationFeedbackOutput pipeline creation feedback. + uint32_t pipelineStageCreationFeedbackCount + VkPipelineCreationFeedback* pPipelineStageCreationFeedbacksOne entry for each shader stage specified in the parent Vk*PipelineCreateInfo struct + VkStructureType sType - void* pNext + void* pNext VkFullScreenExclusiveEXT fullScreenExclusive VkStructureType sType - const void* pNext + const void* pNext HMONITOR hmonitor - + VkStructureType sType - void* pNext + void* pNext VkBool32 fullScreenExclusiveSupported + + VkStructureType sType + void* pNext + VkBool32 presentBarrier + + + VkStructureType sType + void* pNext + VkBool32 presentBarrierSupported + + + VkStructureType sType + void* pNext + VkBool32 presentBarrierEnable + VkStructureType sType - void* pNext + void* pNext VkBool32 performanceCounterQueryPoolsperformance counters supported in query pools - VkBool32 performanceCounterMultipleQueryPoolsperformance counters from multiple query pools can be accessed in the same primary command buffer + VkBool32 performanceCounterMultipleQueryPoolsperformance counters from multiple query pools can be accessed in the same primary command buffer + - VkStructureType sType - void* pNext - VkBool32 allowCommandBufferQueryCopiesFlag to specify whether performance queries are allowed to be used in vkCmdCopyQueryPoolResults + VkStructureType sType + void* pNext + VkBool32 allowCommandBufferQueryCopiesFlag to specify whether performance queries are allowed to be used in vkCmdCopyQueryPoolResults VkStructureType sType - const void* pNext + void* pNext VkPerformanceCounterUnitKHR unit VkPerformanceCounterScopeKHR scope VkPerformanceCounterStorageKHR storage @@ -4028,15 +5119,15 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + void* pNext VkPerformanceCounterDescriptionFlagsKHR flags - char name[VK_MAX_DESCRIPTION_SIZE] - char category[VK_MAX_DESCRIPTION_SIZE] - char description[VK_MAX_DESCRIPTION_SIZE] + char name[VK_MAX_DESCRIPTION_SIZE] + char category[VK_MAX_DESCRIPTION_SIZE] + char description[VK_MAX_DESCRIPTION_SIZE] VkStructureType sType - const void* pNext + const void* pNext uint32_t queueFamilyIndex uint32_t counterIndexCount const uint32_t* pCounterIndices @@ -4051,34 +5142,39 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkAcquireProfilingLockFlagsKHR flagsAcquire profiling lock flags uint64_t timeout - + VkStructureType sType - const void* pNext + const void* pNext uint32_t counterPassIndexIndex for which counter pass to submit + + VkStructureType sType + const void* pNext + uint32_t maxPerformanceQueriesPerPoolMaximum number of VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR queries in a query pool + VkStructureType sType - const void* pNext + const void* pNext VkHeadlessSurfaceCreateFlagsEXT flags - VkStructureTypesType - void* pNext + VkStructureType sType + void* pNext VkBool32 coverageReductionMode VkStructureType sType - const void* pNext + const void* pNext VkPipelineCoverageReductionStateCreateFlagsNV flags VkCoverageReductionModeNV coverageReductionMode VkStructureType sType - void* pNext + void* pNext VkCoverageReductionModeNV coverageReductionMode VkSampleCountFlagBits rasterizationSamples VkSampleCountFlags depthStencilSamples @@ -4086,194 +5182,233 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 shaderIntegerFunctions2 - uint32_t value32 - uint64_t value64 - float valueFloat - VkBool32 valueBool - const char* valueString + uint32_t value32 + uint64_t value64 + float valueFloat + VkBool32 valueBool + const char* valueString - + VkPerformanceValueTypeINTEL type - VkPerformanceValueDataINTEL data + VkPerformanceValueDataINTEL data VkStructureType sType - const void* pNext - void* pUserData + const void* pNext + void* pUserData - - VkStructureType sType - const void* pNext + + VkStructureType sType + const void* pNext VkQueryPoolSamplingModeINTEL performanceCountersSampling + VkStructureType sType - const void* pNext + const void* pNext uint64_t marker VkStructureType sType - const void* pNext + const void* pNext uint32_t marker VkStructureType sType - const void* pNext + const void* pNext VkPerformanceOverrideTypeINTEL type VkBool32 enable uint64_t parameter VkStructureType sType - const void* pNext + const void* pNext VkPerformanceConfigurationTypeINTEL type VkStructureType sType - void* pNext + void* pNext VkBool32 shaderSubgroupClock VkBool32 shaderDeviceClock - - VkStructureType sType - void* pNext + + VkStructureType sType + void* pNext VkBool32 indexTypeUint8 + VkStructureType sType - void* pNext - uint32_t shaderSMCount - uint32_t shaderWarpsPerSM + void* pNext + uint32_t shaderSMCount + uint32_t shaderWarpsPerSM - VkStructureTypesType - void* pNext + VkStructureType sType + void* pNext VkBool32 shaderSMBuiltins VkStructureType sType - void* pNextPointer to next structure + void* pNextPointer to next structure VkBool32 fragmentShaderSampleInterlock VkBool32 fragmentShaderPixelInterlock VkBool32 fragmentShaderShadingRateInterlock - - VkStructureTypesType - void* pNext + + VkStructureType sType + void* pNext VkBool32 separateDepthStencilLayouts - - VkStructureTypesType - void* pNext + + + VkStructureType sType + void* pNext VkImageLayout stencilLayout - - VkStructureTypesType - void* pNext + + VkStructureType sType + void* pNext + VkBool32 primitiveTopologyListRestart + VkBool32 primitiveTopologyPatchListRestart + + + + VkStructureType sType + void* pNext VkImageLayout stencilInitialLayout VkImageLayout stencilFinalLayout + VkStructureType sType - void* pNext + void* pNext VkBool32 pipelineExecutableInfo VkStructureType sType - const void* pNext + const void* pNext VkPipeline pipeline + VkStructureType sType - void* pNext - VkShaderStageFlags stages - char name[VK_MAX_DESCRIPTION_SIZE] - char description[VK_MAX_DESCRIPTION_SIZE] - uint32_t subgroupSize + void* pNext + VkShaderStageFlags stages + char name[VK_MAX_DESCRIPTION_SIZE] + char description[VK_MAX_DESCRIPTION_SIZE] + uint32_t subgroupSize VkStructureType sType - const void* pNext + const void* pNext VkPipeline pipeline uint32_t executableIndex - VkBool32 b32 - int64_t i64 - uint64_t u64 - double f64 + VkBool32 b32 + int64_t i64 + uint64_t u64 + double f64 VkStructureType sType - void* pNext - char name[VK_MAX_DESCRIPTION_SIZE] - char description[VK_MAX_DESCRIPTION_SIZE] + void* pNext + char name[VK_MAX_DESCRIPTION_SIZE] + char description[VK_MAX_DESCRIPTION_SIZE] VkPipelineExecutableStatisticFormatKHR format - VkPipelineExecutableStatisticValueKHR value + VkPipelineExecutableStatisticValueKHR value VkStructureType sType - void* pNext - char name[VK_MAX_DESCRIPTION_SIZE] - char description[VK_MAX_DESCRIPTION_SIZE] - VkBool32 isText - size_t dataSize + void* pNext + char name[VK_MAX_DESCRIPTION_SIZE] + char description[VK_MAX_DESCRIPTION_SIZE] + VkBool32 isText + size_t dataSize void* pData - - VkStructureType sType - void* pNext - VkBool32 shaderDemoteToHelperInvocation + + VkStructureType sType + void* pNext + VkBool32 shaderDemoteToHelperInvocation + VkStructureType sType - void* pNext + void* pNext VkBool32 texelBufferAlignment - - VkStructureType sType - void* pNext - VkDeviceSize storageTexelBufferOffsetAlignmentBytes - VkBool32 storageTexelBufferOffsetSingleTexelAlignment - VkDeviceSize uniformTexelBufferOffsetAlignmentBytes - VkBool32 uniformTexelBufferOffsetSingleTexelAlignment - - - VkStructureType sType - void* pNext - VkBool32 subgroupSizeControl - VkBool32 computeFullSubgroups - - - VkStructureType sType - void* pNext - uint32_t minSubgroupSizeThe minimum subgroup size supported by this device - uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device - uint32_t maxComputeWorkgroupSubgroupsThe maximum number of subgroups supported in a workgroup - VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size - - - VkStructureType sType - void* pNext + + VkStructureType sType + void* pNext + VkDeviceSize storageTexelBufferOffsetAlignmentBytes + VkBool32 storageTexelBufferOffsetSingleTexelAlignment + VkDeviceSize uniformTexelBufferOffsetAlignmentBytes + VkBool32 uniformTexelBufferOffsetSingleTexelAlignment + + + + VkStructureType sType + void* pNext + VkBool32 subgroupSizeControl + VkBool32 computeFullSubgroups + + + + VkStructureType sType + void* pNext + uint32_t minSubgroupSizeThe minimum subgroup size supported by this device + uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device + uint32_t maxComputeWorkgroupSubgroupsThe maximum number of subgroups supported in a workgroup + VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size + + + + VkStructureType sType + void* pNext uint32_t requiredSubgroupSize - - VkStructureType sType - const void* pNext + + + + VkStructureType sType + void* pNext + VkRenderPass renderPass + uint32_t subpass + + + VkStructureType sType + void* pNext + uint32_t maxSubpassShadingWorkgroupSizeAspectRatio + + + VkStructureType sType + void* pNext + uint32_t maxWorkGroupCount[3] + uint32_t maxWorkGroupSize[3] + uint32_t maxOutputClusterCount + VkDeviceSize indirectBufferOffsetAlignment + + + VkStructureType sType + const void* pNext uint64_t opaqueCaptureAddress - - VkStructureType sType - const void* pNext + + + VkStructureType sType + const void* pNext VkDeviceMemory memory - - VkStructureType sType - void* pNext + + + VkStructureType sType + void* pNext VkBool32 rectangularLines VkBool32 bresenhamLines VkBool32 smoothLines @@ -4281,68 +5416,3773 @@ typedef void CAMetalLayer; VkBool32 stippledBresenhamLines VkBool32 stippledSmoothLines - - VkStructureType sType - void* pNext - uint32_t lineSubPixelPrecisionBits - - - VkStructureType sType - const void* pNext - VkLineRasterizationModeEXT lineRasterizationMode + + + VkStructureType sType + void* pNext + uint32_t lineSubPixelPrecisionBits + + + + VkStructureType sType + const void* pNext + VkLineRasterizationModeKHR lineRasterizationMode VkBool32 stippledLineEnable - uint32_t lineStippleFactor - uint16_t lineStipplePattern + uint32_t lineStippleFactor + uint16_t lineStipplePattern + + + + VkStructureType sType + void* pNext + VkBool32 pipelineCreationCacheControl + + + + VkStructureType sType + void* pNext + VkBool32 storageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock + VkBool32 uniformAndStorageBuffer16BitAccess16-bit integer/floating-point variables supported in BufferBlock and Block + VkBool32 storagePushConstant1616-bit integer/floating-point variables supported in PushConstant + VkBool32 storageInputOutput1616-bit integer/floating-point variables supported in shader inputs and outputs + VkBool32 multiviewMultiple views in a renderpass + VkBool32 multiviewGeometryShaderMultiple views in a renderpass w/ geometry shader + VkBool32 multiviewTessellationShaderMultiple views in a renderpass w/ tessellation shader + VkBool32 variablePointersStorageBuffer + VkBool32 variablePointers + VkBool32 protectedMemory + VkBool32 samplerYcbcrConversionSampler color conversion supported + VkBool32 shaderDrawParameters - + + VkStructureType sType + void* pNext + uint8_t deviceUUID[VK_UUID_SIZE] + uint8_t driverUUID[VK_UUID_SIZE] + uint8_t deviceLUID[VK_LUID_SIZE] + uint32_t deviceNodeMask + VkBool32 deviceLUIDValid + uint32_t subgroupSizeThe size of a subgroup for this queue. + VkShaderStageFlags subgroupSupportedStagesBitfield of what shader stages support subgroup operations + VkSubgroupFeatureFlags subgroupSupportedOperationsBitfield of what subgroup operations are supported. + VkBool32 subgroupQuadOperationsInAllStagesFlag to specify whether quad operations are available in all stages. + VkPointClippingBehavior pointClippingBehavior + uint32_t maxMultiviewViewCountmax number of views in a subpass + uint32_t maxMultiviewInstanceIndexmax instance index for a draw in a multiview subpass + VkBool32 protectedNoFault + uint32_t maxPerSetDescriptors + VkDeviceSize maxMemoryAllocationSize + + + VkStructureType sType + void* pNext + VkBool32 samplerMirrorClampToEdge + VkBool32 drawIndirectCount + VkBool32 storageBuffer8BitAccess8-bit integer variables supported in StorageBuffer + VkBool32 uniformAndStorageBuffer8BitAccess8-bit integer variables supported in StorageBuffer and Uniform + VkBool32 storagePushConstant88-bit integer variables supported in PushConstant + VkBool32 shaderBufferInt64Atomics + VkBool32 shaderSharedInt64Atomics + VkBool32 shaderFloat1616-bit floats (halfs) in shaders + VkBool32 shaderInt88-bit integers in shaders + VkBool32 descriptorIndexing + VkBool32 shaderInputAttachmentArrayDynamicIndexing + VkBool32 shaderUniformTexelBufferArrayDynamicIndexing + VkBool32 shaderStorageTexelBufferArrayDynamicIndexing + VkBool32 shaderUniformBufferArrayNonUniformIndexing + VkBool32 shaderSampledImageArrayNonUniformIndexing + VkBool32 shaderStorageBufferArrayNonUniformIndexing + VkBool32 shaderStorageImageArrayNonUniformIndexing + VkBool32 shaderInputAttachmentArrayNonUniformIndexing + VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing + VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing + VkBool32 descriptorBindingUniformBufferUpdateAfterBind + VkBool32 descriptorBindingSampledImageUpdateAfterBind + VkBool32 descriptorBindingStorageImageUpdateAfterBind + VkBool32 descriptorBindingStorageBufferUpdateAfterBind + VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind + VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind + VkBool32 descriptorBindingUpdateUnusedWhilePending + VkBool32 descriptorBindingPartiallyBound + VkBool32 descriptorBindingVariableDescriptorCount + VkBool32 runtimeDescriptorArray + VkBool32 samplerFilterMinmax + VkBool32 scalarBlockLayout + VkBool32 imagelessFramebuffer + VkBool32 uniformBufferStandardLayout + VkBool32 shaderSubgroupExtendedTypes + VkBool32 separateDepthStencilLayouts + VkBool32 hostQueryReset + VkBool32 timelineSemaphore + VkBool32 bufferDeviceAddress + VkBool32 bufferDeviceAddressCaptureReplay + VkBool32 bufferDeviceAddressMultiDevice + VkBool32 vulkanMemoryModel + VkBool32 vulkanMemoryModelDeviceScope + VkBool32 vulkanMemoryModelAvailabilityVisibilityChains + VkBool32 shaderOutputViewportIndex + VkBool32 shaderOutputLayer + VkBool32 subgroupBroadcastDynamicId + + + VkStructureType sType + void* pNext + VkDriverId driverID + char driverName[VK_MAX_DRIVER_NAME_SIZE] + char driverInfo[VK_MAX_DRIVER_INFO_SIZE] + VkConformanceVersion conformanceVersion + VkShaderFloatControlsIndependence denormBehaviorIndependence + VkShaderFloatControlsIndependence roundingModeIndependence + VkBool32 shaderSignedZeroInfNanPreserveFloat16An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat32An implementation can preserve signed zero, nan, inf + VkBool32 shaderSignedZeroInfNanPreserveFloat64An implementation can preserve signed zero, nan, inf + VkBool32 shaderDenormPreserveFloat16An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat32An implementation can preserve denormals + VkBool32 shaderDenormPreserveFloat64An implementation can preserve denormals + VkBool32 shaderDenormFlushToZeroFloat16An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat32An implementation can flush to zero denormals + VkBool32 shaderDenormFlushToZeroFloat64An implementation can flush to zero denormals + VkBool32 shaderRoundingModeRTEFloat16An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat32An implementation can support RTE + VkBool32 shaderRoundingModeRTEFloat64An implementation can support RTE + VkBool32 shaderRoundingModeRTZFloat16An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat32An implementation can support RTZ + VkBool32 shaderRoundingModeRTZFloat64An implementation can support RTZ + uint32_t maxUpdateAfterBindDescriptorsInAllPools + VkBool32 shaderUniformBufferArrayNonUniformIndexingNative + VkBool32 shaderSampledImageArrayNonUniformIndexingNative + VkBool32 shaderStorageBufferArrayNonUniformIndexingNative + VkBool32 shaderStorageImageArrayNonUniformIndexingNative + VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative + VkBool32 robustBufferAccessUpdateAfterBind + VkBool32 quadDivergentImplicitLod + uint32_t maxPerStageDescriptorUpdateAfterBindSamplers + uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers + uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers + uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages + uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages + uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments + uint32_t maxPerStageUpdateAfterBindResources + uint32_t maxDescriptorSetUpdateAfterBindSamplers + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic + uint32_t maxDescriptorSetUpdateAfterBindSampledImages + uint32_t maxDescriptorSetUpdateAfterBindStorageImages + uint32_t maxDescriptorSetUpdateAfterBindInputAttachments + VkResolveModeFlags supportedDepthResolveModessupported depth resolve modes + VkResolveModeFlags supportedStencilResolveModessupported stencil resolve modes + VkBool32 independentResolveNonedepth and stencil resolve modes can be set independently if one of them is none + VkBool32 independentResolvedepth and stencil resolve modes can be set independently + VkBool32 filterMinmaxSingleComponentFormats + VkBool32 filterMinmaxImageComponentMapping + uint64_t maxTimelineSemaphoreValueDifference + VkSampleCountFlags framebufferIntegerColorSampleCounts + + + VkStructureType sType + void* pNext + VkBool32 robustImageAccess + VkBool32 inlineUniformBlock + VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind + VkBool32 pipelineCreationCacheControl + VkBool32 privateData + VkBool32 shaderDemoteToHelperInvocation + VkBool32 shaderTerminateInvocation + VkBool32 subgroupSizeControl + VkBool32 computeFullSubgroups + VkBool32 synchronization2 + VkBool32 textureCompressionASTC_HDR + VkBool32 shaderZeroInitializeWorkgroupMemory + VkBool32 dynamicRendering + VkBool32 shaderIntegerDotProduct + VkBool32 maintenance4 + + + VkStructureType sType + void* pNext + uint32_t minSubgroupSizeThe minimum subgroup size supported by this device + uint32_t maxSubgroupSizeThe maximum subgroup size supported by this device + uint32_t maxComputeWorkgroupSubgroupsThe maximum number of subgroups supported in a workgroup + VkShaderStageFlags requiredSubgroupSizeStagesThe shader stages that support specifying a subgroup size + uint32_t maxInlineUniformBlockSize + uint32_t maxPerStageDescriptorInlineUniformBlocks + uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks + uint32_t maxDescriptorSetInlineUniformBlocks + uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks + uint32_t maxInlineUniformTotalSize + VkBool32 integerDotProduct8BitUnsignedAccelerated + VkBool32 integerDotProduct8BitSignedAccelerated + VkBool32 integerDotProduct8BitMixedSignednessAccelerated + VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated + VkBool32 integerDotProduct4x8BitPackedSignedAccelerated + VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated + VkBool32 integerDotProduct16BitUnsignedAccelerated + VkBool32 integerDotProduct16BitSignedAccelerated + VkBool32 integerDotProduct16BitMixedSignednessAccelerated + VkBool32 integerDotProduct32BitUnsignedAccelerated + VkBool32 integerDotProduct32BitSignedAccelerated + VkBool32 integerDotProduct32BitMixedSignednessAccelerated + VkBool32 integerDotProduct64BitUnsignedAccelerated + VkBool32 integerDotProduct64BitSignedAccelerated + VkBool32 integerDotProduct64BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated + VkDeviceSize storageTexelBufferOffsetAlignmentBytes + VkBool32 storageTexelBufferOffsetSingleTexelAlignment + VkDeviceSize uniformTexelBufferOffsetAlignmentBytes + VkBool32 uniformTexelBufferOffsetSingleTexelAlignment + VkDeviceSize maxBufferSize + + VkStructureType sType - const void* pNext + const void* pNext VkPipelineCompilerControlFlagsAMD compilerControlFlags VkStructureType sType - void* pNext + void* pNext VkBool32 deviceCoherentMemory - - VkStructureType sType - void* pNext - char name[VK_MAX_EXTENSION_NAME_SIZE] - char version[VK_MAX_EXTENSION_NAME_SIZE] - VkToolPurposeFlagsEXT purposes - char description[VK_MAX_DESCRIPTION_SIZE] - char layer[VK_MAX_EXTENSION_NAME_SIZE] + + VkStructureType sType + void* pNext + VkFaultLevel faultLevel + VkFaultType faultType + + + VkStructureType sType + const void* pNext + uint32_t faultCount + VkFaultData*pFaults + PFN_vkFaultCallbackFunction pfnFaultCallback + + + VkStructureType sType + void* pNext + char name[VK_MAX_EXTENSION_NAME_SIZE] + char version[VK_MAX_EXTENSION_NAME_SIZE] + VkToolPurposeFlags purposes + char description[VK_MAX_DESCRIPTION_SIZE] + char layer[VK_MAX_EXTENSION_NAME_SIZE] + + + + VkStructureType sType + const void* pNext + VkClearColorValue customBorderColor + VkFormat format + + + VkStructureType sType + void* pNext + uint32_t maxCustomBorderColorSamplers + + + VkStructureType sType + void* pNext + VkBool32 customBorderColors + VkBool32 customBorderColorWithoutFormat + + + VkStructureType sType + const void* pNext + VkComponentMapping components + VkBool32 srgb + + + VkStructureType sType + void* pNext + VkBool32 borderColorSwizzle + VkBool32 borderColorSwizzleFromImage + + + VkDeviceAddress deviceAddress + void* hostAddress + + + VkDeviceAddress deviceAddress + const void* hostAddress + + + VkDeviceAddress deviceAddress + const void* hostAddress + + + VkStructureType sType + const void* pNext + VkFormat vertexFormat + VkDeviceOrHostAddressConstKHR vertexData + VkDeviceSize vertexStride + uint32_t maxVertex + VkIndexType indexType + VkDeviceOrHostAddressConstKHR indexData + VkDeviceOrHostAddressConstKHR transformData + + + VkStructureType sType + const void* pNext + VkDeviceOrHostAddressConstKHR data + VkDeviceSize stride + + + VkStructureType sType + const void* pNext + VkBool32 arrayOfPointers + VkDeviceOrHostAddressConstKHR data + + + VkAccelerationStructureGeometryTrianglesDataKHR triangles + VkAccelerationStructureGeometryAabbsDataKHR aabbs + VkAccelerationStructureGeometryInstancesDataKHR instances + + + VkStructureType sType + const void* pNext + VkGeometryTypeKHR geometryType + VkAccelerationStructureGeometryDataKHR geometry + VkGeometryFlagsKHR flags + + + VkStructureType sType + const void* pNext + VkAccelerationStructureTypeKHR type + VkBuildAccelerationStructureFlagsKHR flags + VkBuildAccelerationStructureModeKHR mode + VkAccelerationStructureKHR srcAccelerationStructure + VkAccelerationStructureKHR dstAccelerationStructure + uint32_t geometryCount + const VkAccelerationStructureGeometryKHR* pGeometries + const VkAccelerationStructureGeometryKHR* const* ppGeometries + VkDeviceOrHostAddressKHR scratchData + + + uint32_t primitiveCount + uint32_t primitiveOffset + uint32_t firstVertex + uint32_t transformOffset + + + VkStructureType sType + const void* pNext + VkAccelerationStructureCreateFlagsKHR createFlags + VkBuffer buffer + VkDeviceSize offsetSpecified in bytes + VkDeviceSize size + VkAccelerationStructureTypeKHR type + VkDeviceAddress deviceAddress + + + float minX + float minY + float minZ + float maxX + float maxY + float maxZ + + + + float matrix[3][4] + + + + The bitfields in this structure are non-normative since bitfield ordering is implementation-defined in C. The specification defines the normative layout. + VkTransformMatrixKHR transform + uint32_t instanceCustomIndex:24 + uint32_t mask:8 + uint32_t instanceShaderBindingTableRecordOffset:24 + VkGeometryInstanceFlagsKHR flags:8 + uint64_t accelerationStructureReference + + + + VkStructureType sType + const void* pNext + VkAccelerationStructureKHR accelerationStructure + + + VkStructureType sType + const void* pNext + const uint8_t* pVersionData + + + VkStructureType sType + const void* pNext + VkAccelerationStructureKHR src + VkAccelerationStructureKHR dst + VkCopyAccelerationStructureModeKHR mode + + + VkStructureType sType + const void* pNext + VkAccelerationStructureKHR src + VkDeviceOrHostAddressKHR dst + VkCopyAccelerationStructureModeKHR mode + + + VkStructureType sType + const void* pNext + VkDeviceOrHostAddressConstKHR src + VkAccelerationStructureKHR dst + VkCopyAccelerationStructureModeKHR mode + + + VkStructureType sType + const void* pNext + uint32_t maxPipelineRayPayloadSize + uint32_t maxPipelineRayHitAttributeSize + + + VkStructureType sType + const void* pNext + uint32_t libraryCount + const VkPipeline* pLibraries + + + VkObjectType objectType + uint64_t objectHandle + VkRefreshObjectFlagsKHR flags + + + VkStructureType sType + const void* pNext + uint32_t objectCount + const VkRefreshObjectKHR* pObjects + + + VkStructureType sType + void* pNext + VkBool32 extendedDynamicState + + + VkStructureType sType + void* pNext + VkBool32 extendedDynamicState2 + VkBool32 extendedDynamicState2LogicOp + VkBool32 extendedDynamicState2PatchControlPoints + + + VkStructureType sType + void* pNext + VkBool32 extendedDynamicState3TessellationDomainOrigin + VkBool32 extendedDynamicState3DepthClampEnable + VkBool32 extendedDynamicState3PolygonMode + VkBool32 extendedDynamicState3RasterizationSamples + VkBool32 extendedDynamicState3SampleMask + VkBool32 extendedDynamicState3AlphaToCoverageEnable + VkBool32 extendedDynamicState3AlphaToOneEnable + VkBool32 extendedDynamicState3LogicOpEnable + VkBool32 extendedDynamicState3ColorBlendEnable + VkBool32 extendedDynamicState3ColorBlendEquation + VkBool32 extendedDynamicState3ColorWriteMask + VkBool32 extendedDynamicState3RasterizationStream + VkBool32 extendedDynamicState3ConservativeRasterizationMode + VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize + VkBool32 extendedDynamicState3DepthClipEnable + VkBool32 extendedDynamicState3SampleLocationsEnable + VkBool32 extendedDynamicState3ColorBlendAdvanced + VkBool32 extendedDynamicState3ProvokingVertexMode + VkBool32 extendedDynamicState3LineRasterizationMode + VkBool32 extendedDynamicState3LineStippleEnable + VkBool32 extendedDynamicState3DepthClipNegativeOneToOne + VkBool32 extendedDynamicState3ViewportWScalingEnable + VkBool32 extendedDynamicState3ViewportSwizzle + VkBool32 extendedDynamicState3CoverageToColorEnable + VkBool32 extendedDynamicState3CoverageToColorLocation + VkBool32 extendedDynamicState3CoverageModulationMode + VkBool32 extendedDynamicState3CoverageModulationTableEnable + VkBool32 extendedDynamicState3CoverageModulationTable + VkBool32 extendedDynamicState3CoverageReductionMode + VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable + VkBool32 extendedDynamicState3ShadingRateImageEnable + + + VkStructureType sType + void* pNext + VkBool32 dynamicPrimitiveTopologyUnrestricted + + + VkBlendFactor srcColorBlendFactor + VkBlendFactor dstColorBlendFactor + VkBlendOp colorBlendOp + VkBlendFactor srcAlphaBlendFactor + VkBlendFactor dstAlphaBlendFactor + VkBlendOp alphaBlendOp + + + VkBlendOp advancedBlendOp + VkBool32 srcPremultiplied + VkBool32 dstPremultiplied + VkBlendOverlapEXT blendOverlap + VkBool32 clampResults + + + VkStructureType sType + void* pNextPointer to next structure + VkSurfaceTransformFlagBitsKHR transform + + + VkStructureType sType + const void* pNext + VkSurfaceTransformFlagBitsKHR transform + + + VkStructureType sType + void* pNextPointer to next structure + VkSurfaceTransformFlagBitsKHR transform + VkRect2D renderArea + + + VkStructureType sType + void* pNext + VkBool32 diagnosticsConfig + + + VkStructureType sType + const void* pNext + VkDeviceDiagnosticsConfigFlagsNV flags + + + VkStructureType sType + const void* pNext + uint8_t pipelineIdentifier[VK_UUID_SIZE] + VkPipelineMatchControl matchControl + VkDeviceSize poolEntrySize + + + VkStructureType sType + void* pNext + VkBool32 shaderZeroInitializeWorkgroupMemory + + + + VkStructureType sType + void* pNext + VkBool32 shaderSubgroupUniformControlFlow + + + VkStructureType sType + void* pNext + VkBool32 robustBufferAccess2 + VkBool32 robustImageAccess2 + VkBool32 nullDescriptor + + + VkStructureType sType + void* pNext + VkDeviceSize robustStorageBufferAccessSizeAlignment + VkDeviceSize robustUniformBufferAccessSizeAlignment + + + VkStructureType sType + void* pNext + VkBool32 robustImageAccess + + + + VkStructureType sType + void* pNext + VkBool32 workgroupMemoryExplicitLayout + VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout + VkBool32 workgroupMemoryExplicitLayout8BitAccess + VkBool32 workgroupMemoryExplicitLayout16BitAccess + + + VkStructureType sType + void* pNext + VkBool32 constantAlphaColorBlendFactors + VkBool32 events + VkBool32 imageViewFormatReinterpretation + VkBool32 imageViewFormatSwizzle + VkBool32 imageView2DOn3DImage + VkBool32 multisampleArrayImage + VkBool32 mutableComparisonSamplers + VkBool32 pointPolygons + VkBool32 samplerMipLodBias + VkBool32 separateStencilMaskRef + VkBool32 shaderSampleRateInterpolationFunctions + VkBool32 tessellationIsolines + VkBool32 tessellationPointMode + VkBool32 triangleFans + VkBool32 vertexAttributeAccessBeyondStride + + + VkStructureType sType + void* pNext + uint32_t minVertexInputBindingStrideAlignment + + + VkStructureType sType + void* pNext + VkBool32 formatA4R4G4B4 + VkBool32 formatA4B4G4R4 + + + VkStructureType sType + void* pNext + VkBool32 subpassShading + + + VkStructureType sType + void*pNext + VkBool32 clustercullingShader + VkBool32 multiviewClusterCullingShader + + + VkStructureType sType + void*pNext + VkBool32 clusterShadingRate + + + VkStructureType sType + const void* pNext + VkDeviceSize srcOffsetSpecified in bytes + VkDeviceSize dstOffsetSpecified in bytes + VkDeviceSize sizeSpecified in bytes + + + + VkStructureType sType + const void* pNext + VkImageSubresourceLayers srcSubresource + VkOffset3D srcOffsetSpecified in pixels for both compressed and uncompressed images + VkImageSubresourceLayers dstSubresource + VkOffset3D dstOffsetSpecified in pixels for both compressed and uncompressed images + VkExtent3D extentSpecified in pixels for both compressed and uncompressed images + + + + VkStructureType sType + const void* pNext + VkImageSubresourceLayers srcSubresource + VkOffset3D srcOffsets[2]Specified in pixels for both compressed and uncompressed images + VkImageSubresourceLayers dstSubresource + VkOffset3D dstOffsets[2]Specified in pixels for both compressed and uncompressed images + + + + VkStructureType sType + const void* pNext + VkDeviceSize bufferOffsetSpecified in bytes + uint32_t bufferRowLengthSpecified in texels + uint32_t bufferImageHeight + VkImageSubresourceLayers imageSubresource + VkOffset3D imageOffsetSpecified in pixels for both compressed and uncompressed images + VkExtent3D imageExtentSpecified in pixels for both compressed and uncompressed images + + + + VkStructureType sType + const void* pNext + VkImageSubresourceLayers srcSubresource + VkOffset3D srcOffset + VkImageSubresourceLayers dstSubresource + VkOffset3D dstOffset + VkExtent3D extent + + + + VkStructureType sType + const void* pNext + VkBuffer srcBuffer + VkBuffer dstBuffer + uint32_t regionCount + const VkBufferCopy2* pRegions + + + + VkStructureType sType + const void* pNext + VkImage srcImage + VkImageLayout srcImageLayout + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkImageCopy2* pRegions + + + + VkStructureType sType + const void* pNext + VkImage srcImage + VkImageLayout srcImageLayout + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkImageBlit2* pRegions + VkFilter filter + + + + VkStructureType sType + const void* pNext + VkBuffer srcBuffer + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkBufferImageCopy2* pRegions + + + + VkStructureType sType + const void* pNext + VkImage srcImage + VkImageLayout srcImageLayout + VkBuffer dstBuffer + uint32_t regionCount + const VkBufferImageCopy2* pRegions + + + + VkStructureType sType + const void* pNext + VkImage srcImage + VkImageLayout srcImageLayout + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkImageResolve2* pRegions + + + + VkStructureType sType + void* pNext + VkBool32 shaderImageInt64Atomics + VkBool32 sparseImageInt64Atomics + + + VkStructureType sType + const void* pNext + const VkAttachmentReference2* pFragmentShadingRateAttachment + VkExtent2D shadingRateAttachmentTexelSize + + + VkStructureType sType + const void* pNext + VkExtent2D fragmentSize + VkFragmentShadingRateCombinerOpKHR combinerOps[2] + + + VkStructureType sType + void* pNext + VkBool32 pipelineFragmentShadingRate + VkBool32 primitiveFragmentShadingRate + VkBool32 attachmentFragmentShadingRate + + + VkStructureType sType + void* pNext + VkExtent2D minFragmentShadingRateAttachmentTexelSize + VkExtent2D maxFragmentShadingRateAttachmentTexelSize + uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio + VkBool32 primitiveFragmentShadingRateWithMultipleViewports + VkBool32 layeredShadingRateAttachments + VkBool32 fragmentShadingRateNonTrivialCombinerOps + VkExtent2D maxFragmentSize + uint32_t maxFragmentSizeAspectRatio + uint32_t maxFragmentShadingRateCoverageSamples + VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples + VkBool32 fragmentShadingRateWithShaderDepthStencilWrites + VkBool32 fragmentShadingRateWithSampleMask + VkBool32 fragmentShadingRateWithShaderSampleMask + VkBool32 fragmentShadingRateWithConservativeRasterization + VkBool32 fragmentShadingRateWithFragmentShaderInterlock + VkBool32 fragmentShadingRateWithCustomSampleLocations + VkBool32 fragmentShadingRateStrictMultiplyCombiner + + + VkStructureType sType + void* pNext + VkSampleCountFlags sampleCounts + VkExtent2D fragmentSize + + + VkStructureType sType + void* pNext + VkBool32 shaderTerminateInvocation + + + + VkStructureType sType + void* pNext + VkBool32 fragmentShadingRateEnums + VkBool32 supersampleFragmentShadingRates + VkBool32 noInvocationFragmentShadingRates + + + VkStructureType sType + void* pNext + VkSampleCountFlagBits maxFragmentShadingRateInvocationCount + + + VkStructureType sType + const void* pNext + VkFragmentShadingRateTypeNV shadingRateType + VkFragmentShadingRateNV shadingRate + VkFragmentShadingRateCombinerOpKHR combinerOps[2] + + + VkStructureType sType + const void* pNext + VkDeviceSize accelerationStructureSize + VkDeviceSize updateScratchSize + VkDeviceSize buildScratchSize + + + VkStructureType sType + void* pNext + VkBool32 image2DViewOf3D + VkBool32 sampler2DViewOf3D + + + VkStructureType sType + void* pNext + VkBool32 imageSlicedViewOf3D + + + VkStructureType sType + void* pNext + VkBool32 attachmentFeedbackLoopDynamicState + + + VkStructureType sType + void* pNext + VkBool32 legacyVertexAttributes + + + VkStructureType sType + void* pNext + VkBool32 nativeUnalignedPerformance + + + VkStructureType sType + void* pNext + VkBool32 mutableDescriptorType + + + + uint32_t descriptorTypeCount + const VkDescriptorType* pDescriptorTypes + + + + VkStructureType sType + const void* pNext + uint32_t mutableDescriptorTypeListCount + const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists + + + + VkStructureType sType + void* pNext + VkBool32 depthClipControl + + + VkStructureType sType + const void* pNext + VkBool32 negativeOneToOne + + + VkStructureType sType + void* pNext + VkBool32 vertexInputDynamicState + + + VkStructureType sType + void* pNext + VkBool32 externalMemoryRDMA + + + VkStructureType sType + void* pNext + uint32_t binding + uint32_t stride + VkVertexInputRate inputRate + uint32_t divisor + + + VkStructureType sType + void* pNext + uint32_t locationlocation of the shader vertex attrib + uint32_t bindingVertex buffer binding id + VkFormat formatformat of source data + uint32_t offsetOffset of first element in bytes from base of vertex + + + VkStructureType sType + void* pNext + VkBool32 colorWriteEnable + + + VkStructureType sType + const void* pNext + uint32_t attachmentCount# of pAttachments + const VkBool32* pColorWriteEnables + + + VkStructureType sType + const void* pNext + VkPipelineStageFlags2 srcStageMask + VkAccessFlags2 srcAccessMask + VkPipelineStageFlags2 dstStageMask + VkAccessFlags2 dstAccessMask + + + + VkStructureType sType + const void* pNext + VkPipelineStageFlags2 srcStageMask + VkAccessFlags2 srcAccessMask + VkPipelineStageFlags2 dstStageMask + VkAccessFlags2 dstAccessMask + VkImageLayout oldLayout + VkImageLayout newLayout + uint32_t srcQueueFamilyIndex + uint32_t dstQueueFamilyIndex + VkImage image + VkImageSubresourceRange subresourceRange + + + + VkStructureType sType + const void* pNext + VkPipelineStageFlags2 srcStageMask + VkAccessFlags2 srcAccessMask + VkPipelineStageFlags2 dstStageMask + VkAccessFlags2 dstAccessMask + uint32_t srcQueueFamilyIndex + uint32_t dstQueueFamilyIndex + VkBuffer buffer + VkDeviceSize offset + VkDeviceSize size + + + + VkStructureType sType + const void* pNext + VkDependencyFlags dependencyFlags + uint32_t memoryBarrierCount + const VkMemoryBarrier2* pMemoryBarriers + uint32_t bufferMemoryBarrierCount + const VkBufferMemoryBarrier2* pBufferMemoryBarriers + uint32_t imageMemoryBarrierCount + const VkImageMemoryBarrier2* pImageMemoryBarriers + + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + uint64_t value + VkPipelineStageFlags2 stageMask + uint32_t deviceIndex + + + + VkStructureType sType + const void* pNext + VkCommandBuffer commandBuffer + uint32_t deviceMask + + + + VkStructureType sType + const void* pNext + VkSubmitFlags flags + uint32_t waitSemaphoreInfoCount + const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos + uint32_t commandBufferInfoCount + const VkCommandBufferSubmitInfo* pCommandBufferInfos + uint32_t signalSemaphoreInfoCount + const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos + + + + VkStructureType sType + void* pNext + VkPipelineStageFlags2 checkpointExecutionStageMask + + + VkStructureType sType + void* pNext + VkPipelineStageFlags2 stage + void* pCheckpointMarker + + + VkStructureType sType + void* pNext + VkBool32 synchronization2 + + + + VkStructureType sType + void* pNext + VkBool32 hostImageCopy + + + VkStructureType sType + void* pNext + uint32_t copySrcLayoutCount + VkImageLayout* pCopySrcLayouts + uint32_t copyDstLayoutCount + VkImageLayout* pCopyDstLayouts + uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE] + VkBool32 identicalMemoryTypeRequirements + + + VkStructureType sType + const void* pNext + const void* pHostPointer + uint32_t memoryRowLengthSpecified in texels + uint32_t memoryImageHeight + VkImageSubresourceLayers imageSubresource + VkOffset3D imageOffset + VkExtent3D imageExtent + + + VkStructureType sType + const void* pNext + void* pHostPointer + uint32_t memoryRowLengthSpecified in texels + uint32_t memoryImageHeight + VkImageSubresourceLayers imageSubresource + VkOffset3D imageOffset + VkExtent3D imageExtent + + + VkStructureType sType + const void* pNext + VkHostImageCopyFlagsEXT flags + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkMemoryToImageCopyEXT* pRegions + + + VkStructureType sType + const void* pNext + VkHostImageCopyFlagsEXT flags + VkImage srcImage + VkImageLayout srcImageLayout + uint32_t regionCount + const VkImageToMemoryCopyEXT* pRegions + + + VkStructureType sType + const void* pNext + VkHostImageCopyFlagsEXT flags + VkImage srcImage + VkImageLayout srcImageLayout + VkImage dstImage + VkImageLayout dstImageLayout + uint32_t regionCount + const VkImageCopy2* pRegions + + + VkStructureType sType + const void* pNext + VkImage image + VkImageLayout oldLayout + VkImageLayout newLayout + VkImageSubresourceRange subresourceRange + + + VkStructureType sType + void* pNext + VkDeviceSize sizeSpecified in bytes + + + VkStructureType sType + void* pNext + VkBool32 optimalDeviceAccessSpecifies if device access is optimal + VkBool32 identicalMemoryLayoutSpecifies if memory layout is identical + + + VkStructureType sType + void* pNext + VkBool32 deviceNoDynamicHostAllocations + VkBool32 deviceDestroyFreesMemory + VkBool32 commandPoolMultipleCommandBuffersRecording + VkBool32 commandPoolResetCommandBuffer + VkBool32 commandBufferSimultaneousUse + VkBool32 secondaryCommandBufferNullOrImagelessFramebuffer + VkBool32 recycleDescriptorSetMemory + VkBool32 recyclePipelineMemory + uint32_t maxRenderPassSubpasses + uint32_t maxRenderPassDependencies + uint32_t maxSubpassInputAttachments + uint32_t maxSubpassPreserveAttachments + uint32_t maxFramebufferAttachments + uint32_t maxDescriptorSetLayoutBindings + uint32_t maxQueryFaultCount + uint32_t maxCallbackFaultCount + uint32_t maxCommandPoolCommandBuffers + VkDeviceSize maxCommandBufferSize + + + VkStructureType sType + const void* pNext + VkDeviceSize poolEntrySize + uint32_t poolEntryCount + + + VkStructureType sType + const void* pNext + uint32_t pipelineCacheCreateInfoCount + const VkPipelineCacheCreateInfo* pPipelineCacheCreateInfos + uint32_t pipelinePoolSizeCount + const VkPipelinePoolSize* pPipelinePoolSizes + uint32_t semaphoreRequestCount + uint32_t commandBufferRequestCount + uint32_t fenceRequestCount + uint32_t deviceMemoryRequestCount + uint32_t bufferRequestCount + uint32_t imageRequestCount + uint32_t eventRequestCount + uint32_t queryPoolRequestCount + uint32_t bufferViewRequestCount + uint32_t imageViewRequestCount + uint32_t layeredImageViewRequestCount + uint32_t pipelineCacheRequestCount + uint32_t pipelineLayoutRequestCount + uint32_t renderPassRequestCount + uint32_t graphicsPipelineRequestCount + uint32_t computePipelineRequestCount + uint32_t descriptorSetLayoutRequestCount + uint32_t samplerRequestCount + uint32_t descriptorPoolRequestCount + uint32_t descriptorSetRequestCount + uint32_t framebufferRequestCount + uint32_t commandPoolRequestCount + uint32_t samplerYcbcrConversionRequestCount + uint32_t surfaceRequestCount + uint32_t swapchainRequestCount + uint32_t displayModeRequestCount + uint32_t subpassDescriptionRequestCount + uint32_t attachmentDescriptionRequestCount + uint32_t descriptorSetLayoutBindingRequestCount + uint32_t descriptorSetLayoutBindingLimit + uint32_t maxImageViewMipLevels + uint32_t maxImageViewArrayLayers + uint32_t maxLayeredImageViewMipLevels + uint32_t maxOcclusionQueriesPerPool + uint32_t maxPipelineStatisticsQueriesPerPool + uint32_t maxTimestampQueriesPerPool + uint32_t maxImmutableSamplersPerDescriptorSetLayout + + + VkStructureType sType + const void* pNext + VkDeviceSize commandPoolReservedSize + uint32_t commandPoolMaxCommandBuffers + + + VkStructureType sType + void* pNext + VkDeviceSize commandPoolAllocated + VkDeviceSize commandPoolReservedSize + VkDeviceSize commandBufferAllocated + + + VkStructureType sType + void* pNext + VkBool32 shaderAtomicInstructions + + + VkStructureType sType + void* pNext + VkBool32 primitivesGeneratedQuery + VkBool32 primitivesGeneratedQueryWithRasterizerDiscard + VkBool32 primitivesGeneratedQueryWithNonZeroStreams + + + VkStructureType sType + void* pNext + VkBool32 legacyDithering + + + VkStructureType sType + void* pNext + VkBool32 multisampledRenderToSingleSampled + + + VkStructureType sType + void* pNext + VkBool32 optimal + + + VkStructureType sType + const void* pNext + VkBool32 multisampledRenderToSingleSampledEnable + VkSampleCountFlagBits rasterizationSamples + + + VkStructureType sType + void* pNext + VkBool32 pipelineProtectedAccess + + + VkStructureType sType + void* pNext + VkVideoCodecOperationFlagsKHR videoCodecOperations + + + VkStructureType sType + void* pNext + VkBool32 queryResultStatusSupport + + + VkStructureType sType + const void* pNext + uint32_t profileCount + const VkVideoProfileInfoKHR* pProfiles + + + VkStructureType sType + const void* pNext + VkImageUsageFlags imageUsage + + + VkStructureType sType + void* pNext + VkFormat format + VkComponentMapping componentMapping + VkImageCreateFlags imageCreateFlags + VkImageType imageType + VkImageTiling imageTiling + VkImageUsageFlags imageUsageFlags + + + VkStructureType sType + const void* pNext + VkVideoCodecOperationFlagBitsKHR videoCodecOperation + VkVideoChromaSubsamplingFlagsKHR chromaSubsampling + VkVideoComponentBitDepthFlagsKHR lumaBitDepth + VkVideoComponentBitDepthFlagsKHR chromaBitDepth + + + VkStructureType sType + void* pNext + VkVideoCapabilityFlagsKHR flags + VkDeviceSize minBitstreamBufferOffsetAlignment + VkDeviceSize minBitstreamBufferSizeAlignment + VkExtent2D pictureAccessGranularity + VkExtent2D minCodedExtent + VkExtent2D maxCodedExtent + uint32_t maxDpbSlots + uint32_t maxActiveReferencePictures + VkExtensionProperties stdHeaderVersion + + + VkStructureType sType + void* pNext + uint32_t memoryBindIndex + VkMemoryRequirements memoryRequirements + + + VkStructureType sType + const void* pNext + uint32_t memoryBindIndex + VkDeviceMemory memory + VkDeviceSize memoryOffset + VkDeviceSize memorySize + + + VkStructureType sType + const void* pNext + VkOffset2D codedOffsetThe offset to be used for the picture resource, currently only used in field mode + VkExtent2D codedExtentThe extent to be used for the picture resource + uint32_t baseArrayLayerThe first array layer to be accessed for the Decode or Encode Operations + VkImageView imageViewBindingThe ImageView binding of the resource + + + VkStructureType sType + const void* pNext + int32_t slotIndexThe reference slot index + const VkVideoPictureResourceInfoKHR* pPictureResourceThe reference picture resource + + + VkStructureType sType + void* pNext + VkVideoDecodeCapabilityFlagsKHR flags + + + VkStructureType sType + const void* pNext + VkVideoDecodeUsageFlagsKHR videoUsageHints + + + VkStructureType sType + const void* pNext + VkVideoDecodeFlagsKHR flags + VkBuffer srcBuffer + VkDeviceSize srcBufferOffset + VkDeviceSize srcBufferRange + VkVideoPictureResourceInfoKHR dstPictureResource + const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot + uint32_t referenceSlotCount + const VkVideoReferenceSlotInfoKHR* pReferenceSlots + + + VkStructureType sType + void* pNext + VkBool32 videoMaintenance1 + + + VkStructureType sType + const void* pNext + VkQueryPool queryPool + uint32_t firstQuery + uint32_t queryCount + + Video Decode Codec Standard specific structures + #include "vk_video/vulkan_video_codec_h264std.h" + + + + + + + + + + + + + + + + + + + #include "vk_video/vulkan_video_codec_h264std_decode.h" + + + + + + VkStructureType sType + const void* pNext + StdVideoH264ProfileIdc stdProfileIdc + VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout + + + VkStructureType sType + void* pNext + StdVideoH264LevelIdc maxLevelIdc + VkOffset2D fieldOffsetGranularity + + + + + VkStructureType sType + const void* pNext + uint32_t stdSPSCount + const StdVideoH264SequenceParameterSet* pStdSPSs + uint32_t stdPPSCount + const StdVideoH264PictureParameterSet* pStdPPSsList of Picture Parameters associated with the spsStd, above + + + VkStructureType sType + const void* pNext + uint32_t maxStdSPSCount + uint32_t maxStdPPSCount + const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo + + + VkStructureType sType + const void* pNext + const StdVideoDecodeH264PictureInfo* pStdPictureInfo + uint32_t sliceCount + const uint32_t* pSliceOffsets + + + VkStructureType sType + const void* pNext + const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo + + #include "vk_video/vulkan_video_codec_h265std.h" + + + + + + + + + + + + + + + + + + + #include "vk_video/vulkan_video_codec_h265std_decode.h" + + + + + + VkStructureType sType + const void* pNext + StdVideoH265ProfileIdc stdProfileIdc + + + VkStructureType sType + void* pNext + StdVideoH265LevelIdc maxLevelIdc + + + VkStructureType sType + const void* pNext + uint32_t stdVPSCount + const StdVideoH265VideoParameterSet* pStdVPSs + uint32_t stdSPSCount + const StdVideoH265SequenceParameterSet* pStdSPSs + uint32_t stdPPSCount + const StdVideoH265PictureParameterSet* pStdPPSsList of Picture Parameters associated with the spsStd, above + + + VkStructureType sType + const void* pNext + uint32_t maxStdVPSCount + uint32_t maxStdSPSCount + uint32_t maxStdPPSCount + const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo + + + VkStructureType sType + const void* pNext + const StdVideoDecodeH265PictureInfo* pStdPictureInfo + uint32_t sliceSegmentCount + const uint32_t* pSliceSegmentOffsets + + + VkStructureType sType + const void* pNext + const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo + + #include "vk_video/vulkan_video_codec_av1std.h" + + + + #include "vk_video/vulkan_video_codec_av1std_decode.h" + + + + VkStructureType sType + const void* pNext + StdVideoAV1Profile stdProfile + VkBool32 filmGrainSupport + + + VkStructureType sType + void* pNext + StdVideoAV1Level maxLevel + + + VkStructureType sType + const void* pNext + const StdVideoAV1SequenceHeader* pStdSequenceHeader + + + VkStructureType sType + const void* pNext + const StdVideoDecodeAV1PictureInfo* pStdPictureInfo + int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR] + uint32_t frameHeaderOffset + uint32_t tileCount + const uint32_t* pTileOffsets + const uint32_t* pTileSizes + + + VkStructureType sType + const void* pNext + const StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo + + + VkStructureType sType + const void* pNext + uint32_t queueFamilyIndex + VkVideoSessionCreateFlagsKHR flags + const VkVideoProfileInfoKHR* pVideoProfile + VkFormat pictureFormat + VkExtent2D maxCodedExtent + VkFormat referencePictureFormat + uint32_t maxDpbSlots + uint32_t maxActiveReferencePictures + const VkExtensionProperties* pStdHeaderVersion + + + VkStructureType sType + const void* pNext + VkVideoSessionParametersCreateFlagsKHR flags + VkVideoSessionParametersKHR videoSessionParametersTemplate + VkVideoSessionKHR videoSession + + + VkStructureType sType + const void* pNext + uint32_t updateSequenceCount + + + VkStructureType sType + const void* pNext + VkVideoSessionParametersKHR videoSessionParameters + + + VkStructureType sType + void* pNext + VkBool32 hasOverrides + + + VkStructureType sType + const void* pNext + VkVideoBeginCodingFlagsKHR flags + VkVideoSessionKHR videoSession + VkVideoSessionParametersKHR videoSessionParameters + uint32_t referenceSlotCount + const VkVideoReferenceSlotInfoKHR* pReferenceSlots + + + VkStructureType sType + const void* pNext + VkVideoEndCodingFlagsKHR flags + + + VkStructureType sType + const void* pNext + VkVideoCodingControlFlagsKHR flags + + + VkStructureType sType + const void* pNext + VkVideoEncodeUsageFlagsKHR videoUsageHints + VkVideoEncodeContentFlagsKHR videoContentHints + VkVideoEncodeTuningModeKHR tuningMode + + + VkStructureType sType + const void* pNext + VkVideoEncodeFlagsKHR flags + VkBuffer dstBuffer + VkDeviceSize dstBufferOffset + VkDeviceSize dstBufferRange + VkVideoPictureResourceInfoKHR srcPictureResource + const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot + uint32_t referenceSlotCount + const VkVideoReferenceSlotInfoKHR* pReferenceSlots + uint32_t precedingExternallyEncodedBytes + + + VkStructureType sType + const void* pNext + VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags + + + VkStructureType sType + const void* pNext + uint32_t qualityLevel + + + VkStructureType sType + const void* pNext + const VkVideoProfileInfoKHR* pVideoProfile + uint32_t qualityLevel + + + VkStructureType sType + void* pNext + VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode + uint32_t preferredRateControlLayerCount + + + VkStructureType sType + const void* pNext + VkVideoEncodeRateControlFlagsKHR flags + VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode + uint32_t layerCount + const VkVideoEncodeRateControlLayerInfoKHR* pLayers + uint32_t virtualBufferSizeInMs + uint32_t initialVirtualBufferSizeInMs + + + VkStructureType sType + const void* pNext + uint64_t averageBitrate + uint64_t maxBitrate + uint32_t frameRateNumerator + uint32_t frameRateDenominator + + + VkStructureType sType + void* pNext + VkVideoEncodeCapabilityFlagsKHR flags + VkVideoEncodeRateControlModeFlagsKHR rateControlModes + uint32_t maxRateControlLayers + uint64_t maxBitrate + uint32_t maxQualityLevels + VkExtent2D encodeInputPictureGranularity + VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags + + + VkStructureType sType + void* pNext + VkVideoEncodeH264CapabilityFlagsKHR flags + StdVideoH264LevelIdc maxLevelIdc + uint32_t maxSliceCount + uint32_t maxPPictureL0ReferenceCount + uint32_t maxBPictureL0ReferenceCount + uint32_t maxL1ReferenceCount + uint32_t maxTemporalLayerCount + VkBool32 expectDyadicTemporalLayerPattern + int32_t minQp + int32_t maxQp + VkBool32 prefersGopRemainingFrames + VkBool32 requiresGopRemainingFrames + VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags + + + VkStructureType sType + void* pNext + VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags + uint32_t preferredGopFrameCount + uint32_t preferredIdrPeriod + uint32_t preferredConsecutiveBFrameCount + uint32_t preferredTemporalLayerCount + VkVideoEncodeH264QpKHR preferredConstantQp + uint32_t preferredMaxL0ReferenceCount + uint32_t preferredMaxL1ReferenceCount + VkBool32 preferredStdEntropyCodingModeFlag + + #include "vk_video/vulkan_video_codec_h264std_encode.h" + + + + + + + + + + + + VkStructureType sType + const void* pNext + VkBool32 useMaxLevelIdc + StdVideoH264LevelIdc maxLevelIdc + + + VkStructureType sType + const void* pNext + uint32_t stdSPSCount + const StdVideoH264SequenceParameterSet* pStdSPSs + uint32_t stdPPSCount + const StdVideoH264PictureParameterSet* pStdPPSsList of Picture Parameters associated with the spsStd, above + + + VkStructureType sType + const void* pNext + uint32_t maxStdSPSCount + uint32_t maxStdPPSCount + const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo + + + VkStructureType sType + const void* pNext + VkBool32 writeStdSPS + VkBool32 writeStdPPS + uint32_t stdSPSId + uint32_t stdPPSId + + + VkStructureType sType + void* pNext + VkBool32 hasStdSPSOverrides + VkBool32 hasStdPPSOverrides + + + VkStructureType sType + const void* pNext + const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo + + + VkStructureType sType + const void* pNext + uint32_t naluSliceEntryCount + const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries + const StdVideoEncodeH264PictureInfo* pStdPictureInfo + VkBool32 generatePrefixNalu + + + VkStructureType sType + const void* pNext + StdVideoH264ProfileIdc stdProfileIdc + + + VkStructureType sType + const void* pNext + int32_t constantQp + const StdVideoEncodeH264SliceHeader* pStdSliceHeader + + + VkStructureType sType + const void* pNext + VkVideoEncodeH264RateControlFlagsKHR flags + uint32_t gopFrameCount + uint32_t idrPeriod + uint32_t consecutiveBFrameCount + uint32_t temporalLayerCount + + + int32_t qpI + int32_t qpP + int32_t qpB + + + uint32_t frameISize + uint32_t framePSize + uint32_t frameBSize + + + VkStructureType sType + const void* pNext + VkBool32 useGopRemainingFrames + uint32_t gopRemainingI + uint32_t gopRemainingP + uint32_t gopRemainingB + + + VkStructureType sType + const void* pNext + VkBool32 useMinQp + VkVideoEncodeH264QpKHR minQp + VkBool32 useMaxQp + VkVideoEncodeH264QpKHR maxQp + VkBool32 useMaxFrameSize + VkVideoEncodeH264FrameSizeKHR maxFrameSize + + + VkStructureType sType + void* pNext + VkVideoEncodeH265CapabilityFlagsKHR flags + StdVideoH265LevelIdc maxLevelIdc + uint32_t maxSliceSegmentCount + VkExtent2D maxTiles + VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes + VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes + uint32_t maxPPictureL0ReferenceCount + uint32_t maxBPictureL0ReferenceCount + uint32_t maxL1ReferenceCount + uint32_t maxSubLayerCount + VkBool32 expectDyadicTemporalSubLayerPattern + int32_t minQp + int32_t maxQp + VkBool32 prefersGopRemainingFrames + VkBool32 requiresGopRemainingFrames + VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags + + + VkStructureType sType + void* pNext + VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags + uint32_t preferredGopFrameCount + uint32_t preferredIdrPeriod + uint32_t preferredConsecutiveBFrameCount + uint32_t preferredSubLayerCount + VkVideoEncodeH265QpKHR preferredConstantQp + uint32_t preferredMaxL0ReferenceCount + uint32_t preferredMaxL1ReferenceCount + + #include "vk_video/vulkan_video_codec_h265std_encode.h" + + + + + + + + + + VkStructureType sType + const void* pNext + VkBool32 useMaxLevelIdc + StdVideoH265LevelIdc maxLevelIdc + + + VkStructureType sType + const void* pNext + uint32_t stdVPSCount + const StdVideoH265VideoParameterSet* pStdVPSs + uint32_t stdSPSCount + const StdVideoH265SequenceParameterSet* pStdSPSs + uint32_t stdPPSCount + const StdVideoH265PictureParameterSet* pStdPPSsList of Picture Parameters associated with the spsStd, above + + + VkStructureType sType + const void* pNext + uint32_t maxStdVPSCount + uint32_t maxStdSPSCount + uint32_t maxStdPPSCount + const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo + + + VkStructureType sType + const void* pNext + VkBool32 writeStdVPS + VkBool32 writeStdSPS + VkBool32 writeStdPPS + uint32_t stdVPSId + uint32_t stdSPSId + uint32_t stdPPSId + + + VkStructureType sType + void* pNext + VkBool32 hasStdVPSOverrides + VkBool32 hasStdSPSOverrides + VkBool32 hasStdPPSOverrides + + + VkStructureType sType + const void* pNext + uint32_t naluSliceSegmentEntryCount + const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries + const StdVideoEncodeH265PictureInfo* pStdPictureInfo + + + VkStructureType sType + const void* pNext + int32_t constantQp + const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader + + + VkStructureType sType + const void* pNext + VkVideoEncodeH265RateControlFlagsKHR flags + uint32_t gopFrameCount + uint32_t idrPeriod + uint32_t consecutiveBFrameCount + uint32_t subLayerCount + + + int32_t qpI + int32_t qpP + int32_t qpB + + + uint32_t frameISize + uint32_t framePSize + uint32_t frameBSize + + + VkStructureType sType + const void* pNext + VkBool32 useGopRemainingFrames + uint32_t gopRemainingI + uint32_t gopRemainingP + uint32_t gopRemainingB + + + VkStructureType sType + const void* pNext + VkBool32 useMinQp + VkVideoEncodeH265QpKHR minQp + VkBool32 useMaxQp + VkVideoEncodeH265QpKHR maxQp + VkBool32 useMaxFrameSize + VkVideoEncodeH265FrameSizeKHR maxFrameSize + + + VkStructureType sType + const void* pNext + StdVideoH265ProfileIdc stdProfileIdc + + + VkStructureType sType + const void* pNext + const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo + + + VkStructureType sType + void* pNext + VkBool32 inheritedViewportScissor2D + + + VkStructureType sType + const void* pNext + VkBool32 viewportScissor2D + uint32_t viewportDepthCount + const VkViewport* pViewportDepths + + + VkStructureType sType + void* pNext + VkBool32 ycbcr2plane444Formats + + + VkStructureType sType + void* pNext + VkBool32 provokingVertexLast + VkBool32 transformFeedbackPreservesProvokingVertex + + + VkStructureType sType + void* pNext + VkBool32 provokingVertexModePerPipeline + VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex + + + VkStructureType sType + const void* pNext + VkProvokingVertexModeEXT provokingVertexMode + + + VkStructureType sType + const void* pNext + size_t dataSize + const void* pData + + + VkStructureType sType + const void* pNext + VkCuModuleNVX module + const char* pName + + + VkStructureType sType + const void* pNext + VkCuFunctionNVX function + uint32_t gridDimX + uint32_t gridDimY + uint32_t gridDimZ + uint32_t blockDimX + uint32_t blockDimY + uint32_t blockDimZ + uint32_t sharedMemBytes + size_t paramCount + const void* const * pParams + size_t extraCount + const void* const * pExtras + + + VkStructureType sType + void* pNext + VkBool32 descriptorBuffer + VkBool32 descriptorBufferCaptureReplay + VkBool32 descriptorBufferImageLayoutIgnored + VkBool32 descriptorBufferPushDescriptors + + + VkStructureType sType + void* pNext + VkBool32 combinedImageSamplerDescriptorSingleArray + VkBool32 bufferlessPushDescriptors + VkBool32 allowSamplerImageViewPostSubmitCreation + VkDeviceSize descriptorBufferOffsetAlignment + uint32_t maxDescriptorBufferBindings + uint32_t maxResourceDescriptorBufferBindings + uint32_t maxSamplerDescriptorBufferBindings + uint32_t maxEmbeddedImmutableSamplerBindings + uint32_t maxEmbeddedImmutableSamplers + size_t bufferCaptureReplayDescriptorDataSize + size_t imageCaptureReplayDescriptorDataSize + size_t imageViewCaptureReplayDescriptorDataSize + size_t samplerCaptureReplayDescriptorDataSize + size_t accelerationStructureCaptureReplayDescriptorDataSize + size_t samplerDescriptorSize + size_t combinedImageSamplerDescriptorSize + size_t sampledImageDescriptorSize + size_t storageImageDescriptorSize + size_t uniformTexelBufferDescriptorSize + size_t robustUniformTexelBufferDescriptorSize + size_t storageTexelBufferDescriptorSize + size_t robustStorageTexelBufferDescriptorSize + size_t uniformBufferDescriptorSize + size_t robustUniformBufferDescriptorSize + size_t storageBufferDescriptorSize + size_t robustStorageBufferDescriptorSize + size_t inputAttachmentDescriptorSize + size_t accelerationStructureDescriptorSize + VkDeviceSize maxSamplerDescriptorBufferRange + VkDeviceSize maxResourceDescriptorBufferRange + VkDeviceSize samplerDescriptorBufferAddressSpaceSize + VkDeviceSize resourceDescriptorBufferAddressSpaceSize + VkDeviceSize descriptorBufferAddressSpaceSize + + + VkStructureType sType + void* pNext + size_t combinedImageSamplerDensityMapDescriptorSize + + + VkStructureType sType + void* pNext + VkDeviceAddress address + VkDeviceSize range + VkFormat format + + + VkStructureType sType + void* pNext + VkDeviceAddress address + VkBufferUsageFlags usage + + + VkStructureType sType + void* pNext + VkBuffer buffer + + + const VkSampler* pSampler + const VkDescriptorImageInfo* pCombinedImageSampler + const VkDescriptorImageInfo* pInputAttachmentImage + const VkDescriptorImageInfo* pSampledImage + const VkDescriptorImageInfo* pStorageImage + const VkDescriptorAddressInfoEXT* pUniformTexelBuffer + const VkDescriptorAddressInfoEXT* pStorageTexelBuffer + const VkDescriptorAddressInfoEXT* pUniformBuffer + const VkDescriptorAddressInfoEXT* pStorageBuffer + VkDeviceAddress accelerationStructure + + + VkStructureType sType + const void* pNext + VkDescriptorType type + VkDescriptorDataEXT data + + + VkStructureType sType + const void* pNext + VkBuffer buffer + + + VkStructureType sType + const void* pNext + VkImage image + + + VkStructureType sType + const void* pNext + VkImageView imageView + + + VkStructureType sType + const void* pNext + VkSampler sampler + + + VkStructureType sType + const void* pNext + VkAccelerationStructureKHR accelerationStructure + VkAccelerationStructureNV accelerationStructureNV + + + VkStructureType sType + const void* pNext + const void* opaqueCaptureDescriptorData + + + VkStructureType sType + void* pNext + VkBool32 shaderIntegerDotProduct + + + + VkStructureType sType + void* pNext + VkBool32 integerDotProduct8BitUnsignedAccelerated + VkBool32 integerDotProduct8BitSignedAccelerated + VkBool32 integerDotProduct8BitMixedSignednessAccelerated + VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated + VkBool32 integerDotProduct4x8BitPackedSignedAccelerated + VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated + VkBool32 integerDotProduct16BitUnsignedAccelerated + VkBool32 integerDotProduct16BitSignedAccelerated + VkBool32 integerDotProduct16BitMixedSignednessAccelerated + VkBool32 integerDotProduct32BitUnsignedAccelerated + VkBool32 integerDotProduct32BitSignedAccelerated + VkBool32 integerDotProduct32BitMixedSignednessAccelerated + VkBool32 integerDotProduct64BitUnsignedAccelerated + VkBool32 integerDotProduct64BitSignedAccelerated + VkBool32 integerDotProduct64BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated + + + + VkStructureType sType + void* pNext + VkBool32 hasPrimary + VkBool32 hasRender + int64_t primaryMajor + int64_t primaryMinor + int64_t renderMajor + int64_t renderMinor + + + VkStructureType sType + void* pNext + VkBool32 fragmentShaderBarycentric + + + VkStructureType sType + void* pNext + VkBool32 triStripVertexOrderIndependentOfProvokingVertex + + + VkStructureType sType + void* pNext + VkBool32 rayTracingMotionBlur + VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect + + + VkStructureType sType + void* pNext + VkBool32 rayTracingValidation + + + + VkStructureType sType + const void* pNext + VkDeviceOrHostAddressConstKHR vertexData + + + VkStructureType sType + const void* pNext + uint32_t maxInstances + VkAccelerationStructureMotionInfoFlagsNV flags + + + float sx + float a + float b + float pvx + float sy + float c + float pvy + float sz + float pvz + float qx + float qy + float qz + float qw + float tx + float ty + float tz + + + The bitfields in this structure are non-normative since bitfield ordering is implementation-defined in C. The specification defines the normative layout. + VkSRTDataNV transformT0 + VkSRTDataNV transformT1 + uint32_t instanceCustomIndex:24 + uint32_t mask:8 + uint32_t instanceShaderBindingTableRecordOffset:24 + VkGeometryInstanceFlagsKHR flags:8 + uint64_t accelerationStructureReference + + + The bitfields in this structure are non-normative since bitfield ordering is implementation-defined in C. The specification defines the normative layout. + VkTransformMatrixKHR transformT0 + VkTransformMatrixKHR transformT1 + uint32_t instanceCustomIndex:24 + uint32_t mask:8 + uint32_t instanceShaderBindingTableRecordOffset:24 + VkGeometryInstanceFlagsKHR flags:8 + uint64_t accelerationStructureReference + + + VkAccelerationStructureInstanceKHR staticInstance + VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance + VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance + + + VkAccelerationStructureMotionInstanceTypeNV type + VkAccelerationStructureMotionInstanceFlagsNV flags + VkAccelerationStructureMotionInstanceDataNV data + + typedef void* VkRemoteAddressNV; + + VkStructureType sType + const void* pNext + VkDeviceMemory memory + VkExternalMemoryHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + VkBufferCollectionFUCHSIA collection + uint32_t index + + + VkStructureType sType + const void* pNext + VkBufferCollectionFUCHSIA collection + uint32_t index + + + VkStructureType sType + const void* pNext + VkBufferCollectionFUCHSIA collection + uint32_t index + + + VkStructureType sType + const void* pNext + zx_handle_t collectionToken + + + VkStructureType sType + void* pNext + uint32_t memoryTypeBits + uint32_t bufferCount + uint32_t createInfoIndex + uint64_t sysmemPixelFormat + VkFormatFeatureFlags formatFeatures + VkSysmemColorSpaceFUCHSIA sysmemColorSpaceIndex + VkComponentMapping samplerYcbcrConversionComponents + VkSamplerYcbcrModelConversion suggestedYcbcrModel + VkSamplerYcbcrRange suggestedYcbcrRange + VkChromaLocation suggestedXChromaOffset + VkChromaLocation suggestedYChromaOffset + + + VkStructureType sType + const void* pNext + VkBufferCreateInfo createInfo + VkFormatFeatureFlags requiredFormatFeatures + VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints + + + VkStructureType sType + const void* pNext + uint32_t colorSpace + + + VkStructureType sType + const void* pNext + VkImageCreateInfo imageCreateInfo + VkFormatFeatureFlags requiredFormatFeatures + VkImageFormatConstraintsFlagsFUCHSIA flags + uint64_t sysmemPixelFormat + uint32_t colorSpaceCount + const VkSysmemColorSpaceFUCHSIA* pColorSpaces + + + VkStructureType sType + const void* pNext + uint32_t formatConstraintsCount + const VkImageFormatConstraintsInfoFUCHSIA* pFormatConstraints + VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints + VkImageConstraintsInfoFlagsFUCHSIA flags + + + VkStructureType sType + const void* pNext + uint32_t minBufferCount + uint32_t maxBufferCount + uint32_t minBufferCountForCamping + uint32_t minBufferCountForDedicatedSlack + uint32_t minBufferCountForSharedSlack + + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV) + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV) + + VkStructureType sType + const void* pNext + size_t dataSize + const void* pData + + + VkStructureType sType + const void* pNext + VkCudaModuleNV module + const char* pName + + + VkStructureType sType + const void* pNext + VkCudaFunctionNV function + uint32_t gridDimX + uint32_t gridDimY + uint32_t gridDimZ + uint32_t blockDimX + uint32_t blockDimY + uint32_t blockDimZ + uint32_t sharedMemBytes + size_t paramCount + const void* const * pParams + size_t extraCount + const void* const * pExtras + + + VkStructureType sType + void* pNext + VkBool32 formatRgba10x6WithoutYCbCrSampler + + + VkStructureType sType + void* pNext + VkFormatFeatureFlags2 linearTilingFeatures + VkFormatFeatureFlags2 optimalTilingFeatures + VkFormatFeatureFlags2 bufferFeatures + + + + VkStructureType sType + void* pNext + uint32_t drmFormatModifierCount + VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties + + + uint64_t drmFormatModifier + uint32_t drmFormatModifierPlaneCount + VkFormatFeatureFlags2 drmFormatModifierTilingFeatures + + + VkStructureType sType + void* pNext + VkFormat format + uint64_t externalFormat + VkFormatFeatureFlags2 formatFeatures + VkComponentMapping samplerYcbcrConversionComponents + VkSamplerYcbcrModelConversion suggestedYcbcrModel + VkSamplerYcbcrRange suggestedYcbcrRange + VkChromaLocation suggestedXChromaOffset + VkChromaLocation suggestedYChromaOffset + + + VkStructureType sType + const void* pNext + uint32_t viewMask + uint32_t colorAttachmentCount + const VkFormat* pColorAttachmentFormats + VkFormat depthAttachmentFormat + VkFormat stencilAttachmentFormat + + + + VkStructureType sType + const void* pNext + VkRenderingFlags flags + VkRect2D renderArea + uint32_t layerCount + uint32_t viewMask + uint32_t colorAttachmentCount + const VkRenderingAttachmentInfo* pColorAttachments + const VkRenderingAttachmentInfo* pDepthAttachment + const VkRenderingAttachmentInfo* pStencilAttachment + + + + VkStructureType sType + const void* pNext + VkImageView imageView + VkImageLayout imageLayout + VkResolveModeFlagBits resolveMode + VkImageView resolveImageView + VkImageLayout resolveImageLayout + VkAttachmentLoadOp loadOp + VkAttachmentStoreOp storeOp + VkClearValue clearValue + + + + VkStructureType sType + const void* pNext + VkImageView imageView + VkImageLayout imageLayout + VkExtent2D shadingRateAttachmentTexelSize + + + VkStructureType sType + const void* pNext + VkImageView imageView + VkImageLayout imageLayout + + + VkStructureType sType + void* pNext + VkBool32 dynamicRendering + + + + VkStructureType sType + const void* pNext + VkRenderingFlags flags + uint32_t viewMask + uint32_t colorAttachmentCount + uint32_t colorAttachmentCount + const VkFormat* pColorAttachmentFormats + VkFormat depthAttachmentFormat + VkFormat stencilAttachmentFormat + VkSampleCountFlagBits rasterizationSamples + + + + VkStructureType sType + const void* pNext + uint32_t colorAttachmentCount + const VkSampleCountFlagBits* pColorAttachmentSamples + VkSampleCountFlagBits depthStencilAttachmentSamples + + + + VkStructureType sType + const void* pNext + VkBool32 perViewAttributes + VkBool32 perViewAttributesPositionXOnly + + + VkStructureType sType + void* pNext + VkBool32 minLod + + + VkStructureType sType + const void* pNext + float minLod + + + VkStructureType sType + void* pNext + VkBool32 rasterizationOrderColorAttachmentAccess + VkBool32 rasterizationOrderDepthAttachmentAccess + VkBool32 rasterizationOrderStencilAttachmentAccess + + + + VkStructureType sType + void* pNext + VkBool32 linearColorAttachment + + + VkStructureType sType + void* pNext + VkBool32 graphicsPipelineLibrary + + + VkStructureType sType + void* pNext + VkBool32 graphicsPipelineLibraryFastLinking + VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration + + + VkStructureType sType + const void* pNext + VkGraphicsPipelineLibraryFlagsEXT flags + + + VkStructureType sType + void* pNext + VkBool32 descriptorSetHostMapping + + + VkStructureType sType + const void* pNext + VkDescriptorSetLayout descriptorSetLayout + uint32_t binding + + + VkStructureType sType + void* pNext + size_t descriptorOffset + uint32_t descriptorSize + + + VkStructureType sType + void* pNext + VkBool32 nestedCommandBuffer + VkBool32 nestedCommandBufferRendering + VkBool32 nestedCommandBufferSimultaneousUse + + + VkStructureType sType + void* pNext + uint32_t maxCommandBufferNestingLevel + + + VkStructureType sType + void* pNext + VkBool32 shaderModuleIdentifier + + + VkStructureType sType + void* pNext + uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE] + + + VkStructureType sType + const void* pNext + uint32_t identifierSize + const uint8_t* pIdentifier + + + VkStructureType sType + void* pNext + uint32_t identifierSize + uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT] + + + VkStructureType sType + const void* pNext + VkImageCompressionFlagsEXT flags + uint32_t compressionControlPlaneCount + VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags + + + VkStructureType sType + void* pNext + VkBool32 imageCompressionControl + + + VkStructureType sType + void* pNext + VkImageCompressionFlagsEXT imageCompressionFlags + VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags + + + VkStructureType sType + void* pNext + VkBool32 imageCompressionControlSwapchain + + + VkStructureType sType + void* pNext + VkImageSubresource imageSubresource + + + + VkStructureType sType + void* pNext + VkSubresourceLayout subresourceLayout + + + + VkStructureType sType + const void* pNext + VkBool32 disallowMerging + + + uint32_t postMergeSubpassCount + + + VkStructureType sType + const void* pNext + VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback + + + VkSubpassMergeStatusEXT subpassMergeStatus + char description[VK_MAX_DESCRIPTION_SIZE] + uint32_t postMergeIndex + + + VkStructureType sType + const void* pNext + VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback + + + VkStructureType sType + void* pNext + VkBool32 subpassMergeFeedback + + + VkStructureType sType + const void* pNext + VkMicromapTypeEXT type + VkBuildMicromapFlagsEXT flags + VkBuildMicromapModeEXT mode + VkMicromapEXT dstMicromap + uint32_t usageCountsCount + const VkMicromapUsageEXT* pUsageCounts + const VkMicromapUsageEXT* const* ppUsageCounts + VkDeviceOrHostAddressConstKHR data + VkDeviceOrHostAddressKHR scratchData + VkDeviceOrHostAddressConstKHR triangleArray + VkDeviceSize triangleArrayStride + + + VkStructureType sType + const void* pNext + VkMicromapCreateFlagsEXT createFlags + VkBuffer buffer + VkDeviceSize offsetSpecified in bytes + VkDeviceSize size + VkMicromapTypeEXT type + VkDeviceAddress deviceAddress + + + VkStructureType sType + const void* pNext + const uint8_t* pVersionData + + + VkStructureType sType + const void* pNext + VkMicromapEXT src + VkMicromapEXT dst + VkCopyMicromapModeEXT mode + + + VkStructureType sType + const void* pNext + VkMicromapEXT src + VkDeviceOrHostAddressKHR dst + VkCopyMicromapModeEXT mode + + + VkStructureType sType + const void* pNext + VkDeviceOrHostAddressConstKHR src + VkMicromapEXT dst + VkCopyMicromapModeEXT mode + + + VkStructureType sType + const void* pNext + VkDeviceSize micromapSize + VkDeviceSize buildScratchSize + VkBool32 discardable + + + uint32_t count + uint32_t subdivisionLevel + uint32_t formatInterpretation depends on parent type + + + uint32_t dataOffsetSpecified in bytes + uint16_t subdivisionLevel + uint16_t format + + + VkStructureType sType + void* pNext + VkBool32 micromap + VkBool32 micromapCaptureReplay + VkBool32 micromapHostCommands + + + VkStructureType sType + void* pNext + uint32_t maxOpacity2StateSubdivisionLevel + uint32_t maxOpacity4StateSubdivisionLevel + + + VkStructureType sType + void* pNext + VkIndexType indexType + VkDeviceOrHostAddressConstKHR indexBuffer + VkDeviceSize indexStride + uint32_t baseTriangle + uint32_t usageCountsCount + const VkMicromapUsageEXT* pUsageCounts + const VkMicromapUsageEXT* const* ppUsageCounts + VkMicromapEXT micromap + + + VkStructureType sType + void* pNext + VkBool32 displacementMicromap + + + VkStructureType sType + void* pNext + uint32_t maxDisplacementMicromapSubdivisionLevel + + + VkStructureType sType + void* pNext + + VkFormat displacementBiasAndScaleFormat + VkFormat displacementVectorFormat + + VkDeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer + VkDeviceSize displacementBiasAndScaleStride + VkDeviceOrHostAddressConstKHR displacementVectorBuffer + VkDeviceSize displacementVectorStride + VkDeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags + VkDeviceSize displacedMicromapPrimitiveFlagsStride + VkIndexType indexType + VkDeviceOrHostAddressConstKHR indexBuffer + VkDeviceSize indexStride + + uint32_t baseTriangle + + uint32_t usageCountsCount + const VkMicromapUsageEXT* pUsageCounts + const VkMicromapUsageEXT* const* ppUsageCounts + + VkMicromapEXT micromap + + + VkStructureType sType + void* pNext + uint8_t pipelineIdentifier[VK_UUID_SIZE] + + + VkStructureType sType + void* pNext + VkBool32 pipelinePropertiesIdentifier + + + VkStructureType sType + void* pNext + VkBool32 shaderEarlyAndLateFragmentTests + + + VkStructureType sType + const void* pNext + VkBool32 acquireUnmodifiedMemory + + + VkStructureType sType + const void* pNext + VkExportMetalObjectTypeFlagBitsEXT exportObjectType + + + VkStructureType sType + const void* pNext + + + VkStructureType sType + const void* pNext + MTLDevice_id mtlDevice + + + VkStructureType sType + const void* pNext + VkQueue queue + MTLCommandQueue_id mtlCommandQueue + + + VkStructureType sType + const void* pNext + VkDeviceMemory memory + MTLBuffer_id mtlBuffer + + + VkStructureType sType + const void* pNext + MTLBuffer_id mtlBuffer + + + VkStructureType sType + const void* pNext + VkImage image + VkImageView imageView + VkBufferView bufferView + VkImageAspectFlagBits plane + MTLTexture_id mtlTexture + + + VkStructureType sType + const void* pNext + VkImageAspectFlagBits plane + MTLTexture_id mtlTexture + + + VkStructureType sType + const void* pNext + VkImage image + IOSurfaceRef ioSurface + + + VkStructureType sType + const void* pNext + IOSurfaceRef ioSurface + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + VkEvent event + MTLSharedEvent_id mtlSharedEvent + + + VkStructureType sType + const void* pNext + MTLSharedEvent_id mtlSharedEvent + + + VkStructureType sType + void* pNext + VkBool32 nonSeamlessCubeMap + + + VkStructureType sType + void* pNext + VkBool32 pipelineRobustness + + + VkStructureType sType + const void* pNext + VkPipelineRobustnessBufferBehaviorEXT storageBuffers + VkPipelineRobustnessBufferBehaviorEXT uniformBuffers + VkPipelineRobustnessBufferBehaviorEXT vertexInputs + VkPipelineRobustnessImageBehaviorEXT images + + + VkStructureType sType + void* pNext + VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers + VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers + VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs + VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages + + + VkStructureType sType + const void* pNext + VkOffset2D filterCenter + VkExtent2D filterSize + uint32_t numPhases + + + VkStructureType sType + void* pNext + VkBool32 textureSampleWeighted + VkBool32 textureBoxFilter + VkBool32 textureBlockMatch + + + VkStructureType sType + void* pNext + uint32_t maxWeightFilterPhases + VkExtent2D maxWeightFilterDimension + VkExtent2D maxBlockMatchRegion + VkExtent2D maxBoxFilterBlockSize + + + VkStructureType sType + void* pNext + VkBool32 tileProperties + + + VkStructureType sType + void* pNext + VkExtent3D tileSize + VkExtent2D apronSize + VkOffset2D origin + + + VkStructureType sType + void* pNext + VkBool32 amigoProfiling + + + VkStructureType sType + const void* pNext + uint64_t firstDrawTimestamp + uint64_t swapBufferTimestamp + + + VkStructureType sType + void* pNext + VkBool32 attachmentFeedbackLoopLayout + + + VkStructureType sType + void* pNext + VkBool32 depthClampZeroOne + + + VkStructureType sType + void* pNext + VkBool32 reportAddressBinding + + + VkStructureType sType + void* pNext + VkDeviceAddressBindingFlagsEXT flags + VkDeviceAddress baseAddress + VkDeviceSize size + VkDeviceAddressBindingTypeEXT bindingType + + + VkStructureType sType + void* pNext + VkBool32 opticalFlow + + + VkStructureType sType + void* pNext + VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes + VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes + VkBool32 hintSupported + VkBool32 costSupported + VkBool32 bidirectionalFlowSupported + VkBool32 globalFlowSupported + uint32_t minWidth + uint32_t minHeight + uint32_t maxWidth + uint32_t maxHeight + uint32_t maxNumRegionsOfInterest + + + VkStructureType sType + const void* pNext + VkOpticalFlowUsageFlagsNV usage + + + VkStructureType sType + const void* pNext + VkFormat format + + + VkStructureType sType + void* pNext + uint32_t width + uint32_t height + VkFormat imageFormat + VkFormat flowVectorFormat + VkFormat costFormat + VkOpticalFlowGridSizeFlagsNV outputGridSize + VkOpticalFlowGridSizeFlagsNV hintGridSize + VkOpticalFlowPerformanceLevelNV performanceLevel + VkOpticalFlowSessionCreateFlagsNV flags + + NV internal use only + VkStructureType sType + void* pNext + uint32_t id + uint32_t size + const void* pPrivateData + + + VkStructureType sType + void* pNext + VkOpticalFlowExecuteFlagsNV flags + uint32_t regionCount + const VkRect2D* pRegions + + + VkStructureType sType + void* pNext + VkBool32 deviceFault + VkBool32 deviceFaultVendorBinary + + + VkDeviceFaultAddressTypeEXT addressType + VkDeviceAddress reportedAddress + VkDeviceSize addressPrecision + + + char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the fault + uint64_t vendorFaultCode + uint64_t vendorFaultData + + + VkStructureType sType + void* pNext + uint32_t addressInfoCount + uint32_t vendorInfoCount + VkDeviceSize vendorBinarySizeSpecified in bytes + + + VkStructureType sType + void* pNext + char description[VK_MAX_DESCRIPTION_SIZE]Free-form description of the fault + VkDeviceFaultAddressInfoEXT* pAddressInfos + VkDeviceFaultVendorInfoEXT* pVendorInfos + void* pVendorBinaryData + + + The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. + uint32_t headerSize + VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion + uint32_t vendorID + uint32_t deviceID + uint32_t driverVersion + uint8_t pipelineCacheUUID[VK_UUID_SIZE] + uint32_t applicationNameOffset + uint32_t applicationVersion + uint32_t engineNameOffset + uint32_t engineVersion + uint32_t apiVersion + + + VkStructureType sType + void* pNext + VkBool32 pipelineLibraryGroupHandles + + + VkStructureType sType + const void* pNext + float depthBiasConstantFactor + float depthBiasClamp + float depthBiasSlopeFactor + + + VkStructureType sType + const void* pNext + VkDepthBiasRepresentationEXT depthBiasRepresentation + VkBool32 depthBiasExact + + + VkDeviceAddress srcAddress + VkDeviceAddress dstAddress + VkDeviceSize compressedSizeSpecified in bytes + VkDeviceSize decompressedSizeSpecified in bytes + VkMemoryDecompressionMethodFlagsNV decompressionMethod + + + VkStructureType sType + void* pNext + uint64_t shaderCoreMask + uint32_t shaderCoreCount + uint32_t shaderWarpsPerCore + + + VkStructureType sType + void* pNext + VkBool32 shaderCoreBuiltins + + + VkStructureType sType + const void* pNext + VkFrameBoundaryFlagsEXT flags + uint64_t frameID + uint32_t imageCount + const VkImage* pImages + uint32_t bufferCount + const VkBuffer* pBuffers + uint64_t tagName + size_t tagSize + const void* pTag + + + VkStructureType sType + void* pNext + VkBool32 frameBoundary + + + VkStructureType sType + void* pNext + VkBool32 dynamicRenderingUnusedAttachments + + + VkStructureType sType + void* pNext + VkPresentModeKHR presentMode + + + VkStructureType sType + void* pNext + VkPresentScalingFlagsEXT supportedPresentScaling + VkPresentGravityFlagsEXT supportedPresentGravityX + VkPresentGravityFlagsEXT supportedPresentGravityY + VkExtent2D minScaledImageExtentSupported minimum image width and height for the surface when scaling is used + VkExtent2D maxScaledImageExtentSupported maximum image width and height for the surface when scaling is used + + + VkStructureType sType + void* pNext + uint32_t presentModeCount + VkPresentModeKHR* pPresentModesOutput list of present modes compatible with the one specified in VkSurfacePresentModeEXT + + + VkStructureType sType + void* pNext + VkBool32 swapchainMaintenance1 + + + VkStructureType sType + const void* pNext + uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount + const VkFence* pFencesFence to signal for each swapchain + + + VkStructureType sType + const void* pNext + uint32_t presentModeCountLength of the pPresentModes array + const VkPresentModeKHR* pPresentModesPresentation modes which will be usable with this swapchain + + + VkStructureType sType + const void* pNext + uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount + const VkPresentModeKHR* pPresentModesPresentation mode for each swapchain + + + VkStructureType sType + const void* pNext + VkPresentScalingFlagsEXT scalingBehavior + VkPresentGravityFlagsEXT presentGravityX + VkPresentGravityFlagsEXT presentGravityY + + + VkStructureType sType + const void* pNext + VkSwapchainKHR swapchainSwapchain for which images are being released + uint32_t imageIndexCountNumber of indices to release + const uint32_t* pImageIndicesIndices of which presentable images to release + + + VkStructureType sType + void* pNext + VkBool32 depthBiasControl + VkBool32 leastRepresentableValueForceUnormRepresentation + VkBool32 floatRepresentation + VkBool32 depthBiasExact + + + VkStructureType sType + void* pNext + VkBool32 rayTracingInvocationReorder + + + VkStructureType sType + void* pNext + VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint + + + VkStructureType sType + void* pNext + VkBool32 extendedSparseAddressSpace + + + VkStructureType sType + void* pNext + VkDeviceSize extendedSparseAddressSpaceSizeTotal address space available for extended sparse allocations (bytes) + VkImageUsageFlags extendedSparseImageUsageFlagsBitfield of which image usages are supported for extended sparse allocations + VkBufferUsageFlags extendedSparseBufferUsageFlagsBitfield of which buffer usages are supported for extended sparse allocations + + + VkStructureType sType + void* pNext + VkDirectDriverLoadingFlagsLUNARG flags + PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr + + + VkStructureType sType + const void* pNext + VkDirectDriverLoadingModeLUNARG mode + uint32_t driverCount + const VkDirectDriverLoadingInfoLUNARG* pDrivers + + + VkStructureType sType + void* pNext + VkBool32 multiviewPerViewViewports + + + VkStructureType sType + void* pNext + VkBool32 rayTracingPositionFetch + + + VkStructureType sType + const void* pNext + const VkImageCreateInfo* pCreateInfo + const VkImageSubresource2KHR* pSubresource + + + VkStructureType sType + void* pNext + uint32_t pixelRate + uint32_t texelRate + uint32_t fmaRate + + + VkStructureType sType + void* pNext + VkBool32 multiviewPerViewRenderAreas + + + VkStructureType sType + const void* pNext + uint32_t perViewRenderAreaCount + const VkRect2D* pPerViewRenderAreas + + + VkStructureType sType + const void* pNext + void* pQueriedLowLatencyData + + + VkStructureType sType + const void* pNext + VkMemoryMapFlags flags + VkDeviceMemory memory + VkDeviceSize offset + VkDeviceSize size + + + VkStructureType sType + const void* pNext + VkMemoryUnmapFlagsKHR flags + VkDeviceMemory memory + + + VkStructureType sType + void* pNext + VkBool32 shaderObject + + + VkStructureType sType + void* pNext + uint8_t shaderBinaryUUID[VK_UUID_SIZE] + uint32_t shaderBinaryVersion + + + VkStructureType sType + const void* pNext + VkShaderCreateFlagsEXT flags + VkShaderStageFlagBits stage + VkShaderStageFlags nextStage + VkShaderCodeTypeEXT codeType + size_t codeSize + const void* pCode + const char* pName + uint32_t setLayoutCount + const VkDescriptorSetLayout* pSetLayouts + uint32_t pushConstantRangeCount + const VkPushConstantRange* pPushConstantRanges + const VkSpecializationInfo* pSpecializationInfo + + + VkStructureType sType + void* pNext + VkBool32 shaderTileImageColorReadAccess + VkBool32 shaderTileImageDepthReadAccess + VkBool32 shaderTileImageStencilReadAccess + + + VkStructureType sType + void* pNext + VkBool32 shaderTileImageCoherentReadAccelerated + VkBool32 shaderTileImageReadSampleFromPixelRateInvocation + VkBool32 shaderTileImageReadFromHelperInvocation + + + VkStructureType sType + const void* pNext + struct _screen_buffer* buffer + + + VkStructureType sType + void* pNext + VkDeviceSize allocationSize + uint32_t memoryTypeBits + + + VkStructureType sType + void* pNext + VkFormat format + uint64_t externalFormat + uint64_t screenUsage + VkFormatFeatureFlags formatFeatures + VkComponentMapping samplerYcbcrConversionComponents + VkSamplerYcbcrModelConversion suggestedYcbcrModel + VkSamplerYcbcrRange suggestedYcbcrRange + VkChromaLocation suggestedXChromaOffset + VkChromaLocation suggestedYChromaOffset + + + VkStructureType sType + void* pNext + uint64_t externalFormat + + + VkStructureType sType + void* pNext + VkBool32 screenBufferImport + + + VkStructureType sType + void* pNext + VkBool32 cooperativeMatrix + VkBool32 cooperativeMatrixRobustBufferAccess + + + VkStructureType sType + void* pNext + uint32_t MSize + uint32_t NSize + uint32_t KSize + VkComponentTypeKHR AType + VkComponentTypeKHR BType + VkComponentTypeKHR CType + VkComponentTypeKHR ResultType + VkBool32 saturatingAccumulation + VkScopeKHR scope + + + VkStructureType sType + void* pNext + VkShaderStageFlags cooperativeMatrixSupportedStages + + + VkStructureType sType + void* pNext + uint32_t maxExecutionGraphDepth + uint32_t maxExecutionGraphShaderOutputNodes + uint32_t maxExecutionGraphShaderPayloadSize + uint32_t maxExecutionGraphShaderPayloadCount + uint32_t executionGraphDispatchAddressAlignment + + + VkStructureType sType + void* pNext + VkBool32 shaderEnqueue + + + VkStructureType sType + const void* pNext + VkPipelineCreateFlags flags + uint32_t stageCount + const VkPipelineShaderStageCreateInfo* pStages + const VkPipelineLibraryCreateInfoKHR* pLibraryInfo + VkPipelineLayout layout + VkPipeline basePipelineHandle + int32_t basePipelineIndex + + + VkStructureType sType + const void* pNext + const char* pName + uint32_t index + + + VkStructureType sType + void* pNext + VkDeviceSize size + + + uint32_t nodeIndex + uint32_t payloadCount + VkDeviceOrHostAddressConstAMDX payloads + uint64_t payloadStride + + + uint32_t count + VkDeviceOrHostAddressConstAMDX infos + uint64_t stride + + + VkStructureType sType + const void* pNext + VkResult* pResult + + + VkStructureType sType + const void* pNext + VkShaderStageFlags stageFlags + VkPipelineLayout layout + uint32_t firstSet + uint32_t descriptorSetCount + const VkDescriptorSet* pDescriptorSets + uint32_t dynamicOffsetCount + const uint32_t* pDynamicOffsets + + + VkStructureType sType + const void* pNext + VkPipelineLayout layout + VkShaderStageFlags stageFlags + uint32_t offset + uint32_t size + const void* pValues + + + VkStructureType sType + const void* pNext + VkShaderStageFlags stageFlags + VkPipelineLayout layout + uint32_t set + uint32_t descriptorWriteCount + const VkWriteDescriptorSet* pDescriptorWrites + + + VkStructureType sType + const void* pNext + VkDescriptorUpdateTemplate descriptorUpdateTemplate + VkPipelineLayout layout + uint32_t set + const void* pData + + + VkStructureType sType + const void* pNext + VkShaderStageFlags stageFlags + VkPipelineLayout layout + uint32_t firstSet + uint32_t setCount + const uint32_t* pBufferIndices + const VkDeviceSize* pOffsets + + + VkStructureType sType + const void* pNext + VkShaderStageFlags stageFlags + VkPipelineLayout layout + uint32_t set + + + VkStructureType sType + void* pNext + VkBool32 cubicRangeClamp + + + VkStructureType sType + void* pNext + VkBool32 ycbcrDegamma + + + VkStructureType sType + void* pNext + VkBool32 enableYDegamma + VkBool32 enableCbCrDegamma + + + VkStructureType sType + void* pNext + VkBool32 selectableCubicWeights + + + VkStructureType sType + const void* pNext + VkCubicFilterWeightsQCOM cubicWeights + + + VkStructureType sType + const void* pNext + VkCubicFilterWeightsQCOM cubicWeights + + + VkStructureType sType + void* pNext + VkBool32 textureBlockMatch2 + + + VkStructureType sType + void* pNext + VkExtent2D maxBlockMatchWindow + + + VkStructureType sType + const void* pNext + VkExtent2D windowExtent + VkBlockMatchWindowCompareModeQCOM windowCompareMode + + + VkStructureType sType + void* pNext + VkBool32 descriptorPoolOverallocation + + + VkStructureType sType + void* pNext + VkLayeredDriverUnderlyingApiMSFT underlyingAPI + + + VkStructureType sType + void* pNext + VkBool32 perStageDescriptorSet + VkBool32 dynamicPipelineLayout + + + VkStructureType sType + void* pNext + VkBool32 externalFormatResolve + + + VkStructureType sType + void* pNext + VkBool32 nullColorAttachmentWithExternalFormatResolve + VkChromaLocation externalFormatResolveChromaOffsetX + VkChromaLocation externalFormatResolveChromaOffsetY + + + VkStructureType sType + void* pNext + VkFormat colorAttachmentFormat + + + VkStructureType sType + const void* pNext + VkBool32 lowLatencyMode + VkBool32 lowLatencyBoost + uint32_t minimumIntervalUs + + + VkStructureType sType + const void* pNext + VkSemaphore signalSemaphore + uint64_t value + + + VkStructureType sType + const void* pNext + uint64_t presentID + VkLatencyMarkerNV marker + + + VkStructureType sType + const void* pNext + uint32_t timingCount + VkLatencyTimingsFrameReportNV* pTimings + + + VkStructureType sType + const void* pNext + uint64_t presentID + uint64_t inputSampleTimeUs + uint64_t simStartTimeUs + uint64_t simEndTimeUs + uint64_t renderSubmitStartTimeUs + uint64_t renderSubmitEndTimeUs + uint64_t presentStartTimeUs + uint64_t presentEndTimeUs + uint64_t driverStartTimeUs + uint64_t driverEndTimeUs + uint64_t osRenderQueueStartTimeUs + uint64_t osRenderQueueEndTimeUs + uint64_t gpuRenderStartTimeUs + uint64_t gpuRenderEndTimeUs + + + VkStructureType sType + const void* pNext + VkOutOfBandQueueTypeNV queueType + + + VkStructureType sType + const void* pNext + uint64_t presentID + + + VkStructureType sType + const void* pNext + VkBool32 latencyModeEnable + + + VkStructureType sType + const void* pNext + uint32_t presentModeCount + VkPresentModeKHR* pPresentModes + + + VkStructureType sType + void* pNext + VkBool32 cudaKernelLaunchFeatures + + + VkStructureType sType + void* pNext + uint32_t computeCapabilityMinor + uint32_t computeCapabilityMajor + + + VkStructureType sType + void* pNext + uint32_t shaderCoreCount + + + VkStructureType sType + void* pNext + VkBool32 schedulingControls + + + VkStructureType sType + void* pNext + VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags + + + VkStructureType sType + void* pNext + VkBool32 relaxedLineRasterization + + + VkStructureType sType + void* pNext + VkBool32 renderPassStriped + + + VkStructureType sType + void* pNext + VkExtent2D renderPassStripeGranularity + uint32_t maxRenderPassStripes + + + VkStructureType sType + const void* pNext + VkRect2D stripeArea + + + VkStructureType sType + const void* pNext + uint32_t stripeInfoCount + const VkRenderPassStripeInfoARM* pStripeInfos + + + VkStructureType sType + const void* pNext + uint32_t stripeSemaphoreInfoCount + const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos + + + VkStructureType sType + void* pNext + VkBool32 shaderMaximalReconvergence + + + VkStructureType sType + void* pNext + VkBool32 shaderSubgroupRotate + VkBool32 shaderSubgroupRotateClustered + + + VkStructureType sType + void* pNext + VkBool32 shaderExpectAssume + + + VkStructureType sType + void* pNext + VkBool32 shaderFloatControls2 + + + VkStructureType sType + void* pNext + VkBool32 dynamicRenderingLocalRead + + + VkStructureType sType + const void* pNext + uint32_t colorAttachmentCount + const uint32_t* pColorAttachmentLocations + + + VkStructureType sType + const void* pNext + uint32_t colorAttachmentCount + const uint32_t* pColorAttachmentInputIndices + const uint32_t* pDepthInputAttachmentIndex + const uint32_t* pStencilInputAttachmentIndex + + + VkStructureType sType + void* pNext + VkBool32 shaderQuadControl + + + VkStructureType sType + void* pNext + VkBool32 shaderFloat16VectorAtomics + + + VkStructureType sType + void* pNext + VkBool32 memoryMapPlaced + VkBool32 memoryMapRangePlaced + VkBool32 memoryUnmapReserve + + + VkStructureType sType + void* pNext + VkDeviceSize minPlacedMemoryMapAlignment + + + VkStructureType sType + const void* pNext + void* pPlacedAddress + + + VkStructureType sType + void* pNext + VkBool32 shaderRawAccessChains + + + VkStructureType sType + void* pNext + VkBool32 imageAlignmentControl + + + VkStructureType sType + void* pNext + uint32_t supportedImageAlignmentMask + + + VkStructureType sType + const void* pNext + uint32_t maximumRequestedAlignment + + + VkStructureType sType + void* pNext + VkBool32 shaderReplicatedComposites + Vulkan enumerant (token) definitions - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4438,6 +9278,8 @@ typedef void CAMetalLayer; + + @@ -4493,12 +9335,6 @@ typedef void CAMetalLayer; - - - - - - @@ -4833,7 +9669,7 @@ typedef void CAMetalLayer; Error codes (negative values) - + @@ -4843,7 +9679,8 @@ typedef void CAMetalLayer; - + + @@ -4859,33 +9696,41 @@ typedef void CAMetalLayer; - + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags @@ -4895,8 +9740,16 @@ typedef void CAMetalLayer; - - + + + + + + + + + + @@ -4937,10 +9790,21 @@ typedef void CAMetalLayer; + + + + + + + + + + + - + @@ -4965,7 +9829,7 @@ typedef void CAMetalLayer; - + @@ -4978,6 +9842,11 @@ typedef void CAMetalLayer; + + + + + @@ -5033,6 +9902,8 @@ typedef void CAMetalLayer; + + @@ -5092,7 +9963,7 @@ typedef void CAMetalLayer; - + @@ -5100,12 +9971,12 @@ typedef void CAMetalLayer; - - - + + + - - + + WSI Extensions @@ -5117,7 +9988,7 @@ typedef void CAMetalLayer; - + @@ -5145,11 +10016,11 @@ typedef void CAMetalLayer; - - - - - + + + + + @@ -5188,13 +10059,22 @@ typedef void CAMetalLayer; - + - - + NVX_device_generated_commands formerly used these enum values, but that extension has been removed + value 31 / name VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT + value 32 / name VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT + - + + + + + + + + @@ -5219,6 +10099,8 @@ typedef void CAMetalLayer; + + @@ -5228,6 +10110,17 @@ typedef void CAMetalLayer; + + + + + + + + + + + @@ -5239,32 +10132,25 @@ typedef void CAMetalLayer; - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -5287,6 +10173,7 @@ typedef void CAMetalLayer; + @@ -5310,7 +10197,8 @@ typedef void CAMetalLayer; - + + @@ -5360,10 +10248,10 @@ typedef void CAMetalLayer; - - - - + + + + @@ -5407,11 +10295,15 @@ typedef void CAMetalLayer; - - - - - + + + + + + + + + @@ -5429,47 +10321,67 @@ typedef void CAMetalLayer; - - - - - + + + + + Vendor IDs are now represented as enums instead of the old <vendorids> tag, allowing them to be included in the API headers. + - + + + + + - + Driver IDs are now represented as enums instead of the old <driverids> tag, allowing them to be included in the API headers. - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + @@ -5491,44 +10403,71 @@ typedef void CAMetalLayer; - - - - - + + + + + + + + + + - - - + + + + + + - - - - - - + + - - - + + + + + - - - + + + - - - + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + @@ -5537,29 +10476,19 @@ typedef void CAMetalLayer; - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -5568,9 +10497,15 @@ typedef void CAMetalLayer; - - - + + + + + + + + + @@ -5594,13 +10529,17 @@ typedef void CAMetalLayer; - - + + + + + + @@ -5622,33 +10561,728 @@ typedef void CAMetalLayer; + + + + + - - - - - - - - - - + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bitpos 17-31 are specified by extensions to the original VkAccessFlagBits enum + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bitpos 17-31 are specified by extensions to the original VkPipelineStageFlagBits enum + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5662,6 +11296,9 @@ typedef void CAMetalLayer; void vkDestroyInstance VkInstance instance const VkAllocationCallbacks* pAllocator + + all sname:VkPhysicalDevice objects enumerated from pname:instance + VkResult vkEnumeratePhysicalDevices @@ -5716,7 +11353,14 @@ typedef void CAMetalLayer; VkImageCreateFlags flags VkImageFormatProperties* pImageFormatProperties - + + VkResult vkCreateDevice + VkPhysicalDevice physicalDevice + const VkDeviceCreateInfo* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkDevice* pDevice + + VkResult vkCreateDevice VkPhysicalDevice physicalDevice const VkDeviceCreateInfo* pCreateInfo @@ -5727,8 +11371,11 @@ typedef void CAMetalLayer; void vkDestroyDevice VkDevice device const VkAllocationCallbacks* pAllocator + + all sname:VkQueue objects created from pname:device + - + VkResult vkEnumerateInstanceVersion uint32_t* pApiVersion @@ -5743,12 +11390,19 @@ typedef void CAMetalLayer; uint32_t* pPropertyCount VkExtensionProperties* pProperties - + + VkResult vkEnumerateDeviceLayerProperties + VkPhysicalDevice physicalDevice + uint32_t* pPropertyCount + VkLayerProperties* pProperties + + VkResult vkEnumerateDeviceLayerProperties VkPhysicalDevice physicalDevice uint32_t* pPropertyCount VkLayerProperties* pProperties + VkResult vkEnumerateDeviceExtensionProperties VkPhysicalDevice physicalDevice @@ -5781,7 +11435,7 @@ typedef void CAMetalLayer; all sname:VkQueue objects created from pname:device - + VkResult vkAllocateMemory VkDevice device const VkMemoryAllocateInfo* pAllocateInfo @@ -5874,7 +11528,7 @@ typedef void CAMetalLayer; VkResult vkQueueBindSparse VkQueue queue uint32_t bindInfoCount - const VkBindSparseInfo* pBindInfo + const VkBindSparseInfo* pBindInfo VkFence fence @@ -5890,7 +11544,7 @@ typedef void CAMetalLayer; VkFence fence const VkAllocationCallbacks* pAllocator - + VkResult vkResetFences VkDevice device uint32_t fenceCount @@ -5945,7 +11599,7 @@ typedef void CAMetalLayer; VkDevice device VkEvent event - + VkResult vkResetEvent VkDevice device VkEvent event @@ -5975,12 +11629,13 @@ typedef void CAMetalLayer; VkQueryResultFlags flags - void vkResetQueryPoolEXT + void vkResetQueryPool VkDevice device VkQueryPool queryPool uint32_t firstQuery uint32_t queryCount + VkResult vkCreateBuffer VkDevice device @@ -6007,7 +11662,7 @@ typedef void CAMetalLayer; VkBufferView bufferView const VkAllocationCallbacks* pAllocator - + VkResult vkCreateImage VkDevice device const VkImageCreateInfo* pCreateInfo @@ -6027,7 +11682,7 @@ typedef void CAMetalLayer; const VkImageSubresource* pSubresource VkSubresourceLayout* pLayout - + VkResult vkCreateImageView VkDevice device const VkImageViewCreateInfo* pCreateInfo @@ -6053,7 +11708,14 @@ typedef void CAMetalLayer; VkShaderModule shaderModule const VkAllocationCallbacks* pAllocator - + + VkResult vkCreatePipelineCache + VkDevice device + const VkPipelineCacheCreateInfo* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkPipelineCache* pPipelineCache + + VkResult vkCreatePipelineCache VkDevice device const VkPipelineCacheCreateInfo* pCreateInfo @@ -6080,7 +11742,7 @@ typedef void CAMetalLayer; uint32_t srcCacheCount const VkPipelineCache* pSrcCaches - + VkResult vkCreateGraphicsPipelines VkDevice device VkPipelineCache pipelineCache @@ -6089,7 +11751,16 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines - + + VkResult vkCreateGraphicsPipelines + VkDevice device + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkGraphicsPipelineCreateInfo* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + + VkResult vkCreateComputePipelines VkDevice device VkPipelineCache pipelineCache @@ -6098,6 +11769,21 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines + + VkResult vkCreateComputePipelines + VkDevice device + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkComputePipelineCreateInfo* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + + + VkResult vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI + VkDevice device + VkRenderPass renderpass + VkExtent2D* pMaxWorkgroupSize + void vkDestroyPipeline VkDevice device @@ -6117,7 +11803,7 @@ typedef void CAMetalLayer; VkPipelineLayout pipelineLayout const VkAllocationCallbacks* pAllocator - + VkResult vkCreateSampler VkDevice device const VkSamplerCreateInfo* pCreateInfo @@ -6168,8 +11854,8 @@ typedef void CAMetalLayer; VkResult vkAllocateDescriptorSets VkDevice device - const VkDescriptorSetAllocateInfo* pAllocateInfo - VkDescriptorSet* pDescriptorSets + const VkDescriptorSetAllocateInfo* pAllocateInfo + VkDescriptorSet* pDescriptorSets VkResult vkFreeDescriptorSets @@ -6182,9 +11868,9 @@ typedef void CAMetalLayer; void vkUpdateDescriptorSets VkDevice device uint32_t descriptorWriteCount - const VkWriteDescriptorSet* pDescriptorWrites + const VkWriteDescriptorSet* pDescriptorWrites uint32_t descriptorCopyCount - const VkCopyDescriptorSet* pDescriptorCopies + const VkCopyDescriptorSet* pDescriptorCopies VkResult vkCreateFramebuffer @@ -6218,6 +11904,12 @@ typedef void CAMetalLayer; VkRenderPass renderPass VkExtent2D* pGranularity + + void vkGetRenderingAreaGranularityKHR + VkDevice device + const VkRenderingAreaInfoKHR* pRenderingAreaInfo + VkExtent2D* pGranularity + VkResult vkCreateCommandPool VkDevice device @@ -6231,7 +11923,7 @@ typedef void CAMetalLayer; VkCommandPool commandPool const VkAllocationCallbacks* pAllocator - + VkResult vkResetCommandPool VkDevice device VkCommandPool commandPool @@ -6240,8 +11932,8 @@ typedef void CAMetalLayer; VkResult vkAllocateCommandBuffers VkDevice device - const VkCommandBufferAllocateInfo* pAllocateInfo - VkCommandBuffer* pCommandBuffers + const VkCommandBufferAllocateInfo* pAllocateInfo + VkCommandBuffer* pCommandBuffers void vkFreeCommandBuffers @@ -6258,106 +11950,114 @@ typedef void CAMetalLayer; the sname:VkCommandPool that pname:commandBuffer was allocated from - + VkResult vkEndCommandBuffer VkCommandBuffer commandBuffer the sname:VkCommandPool that pname:commandBuffer was allocated from - + VkResult vkResetCommandBuffer VkCommandBuffer commandBuffer VkCommandBufferResetFlags flags + + the sname:VkCommandPool that pname:commandBuffer was allocated from + - + void vkCmdBindPipeline VkCommandBuffer commandBuffer VkPipelineBindPoint pipelineBindPoint VkPipeline pipeline - + + void vkCmdSetAttachmentFeedbackLoopEnableEXT + VkCommandBuffer commandBuffer + VkImageAspectFlags aspectMask + + void vkCmdSetViewport VkCommandBuffer commandBuffer uint32_t firstViewport uint32_t viewportCount const VkViewport* pViewports - + void vkCmdSetScissor VkCommandBuffer commandBuffer uint32_t firstScissor uint32_t scissorCount const VkRect2D* pScissors - + void vkCmdSetLineWidth VkCommandBuffer commandBuffer float lineWidth - + void vkCmdSetDepthBias VkCommandBuffer commandBuffer float depthBiasConstantFactor float depthBiasClamp float depthBiasSlopeFactor - + void vkCmdSetBlendConstants VkCommandBuffer commandBuffer const float blendConstants[4] - + void vkCmdSetDepthBounds VkCommandBuffer commandBuffer float minDepthBounds float maxDepthBounds - + void vkCmdSetStencilCompareMask VkCommandBuffer commandBuffer VkStencilFaceFlags faceMask uint32_t compareMask - + void vkCmdSetStencilWriteMask VkCommandBuffer commandBuffer VkStencilFaceFlags faceMask uint32_t writeMask - + void vkCmdSetStencilReference VkCommandBuffer commandBuffer VkStencilFaceFlags faceMask uint32_t reference - + void vkCmdBindDescriptorSets VkCommandBuffer commandBuffer VkPipelineBindPoint pipelineBindPoint VkPipelineLayout layout uint32_t firstSet uint32_t descriptorSetCount - const VkDescriptorSet* pDescriptorSets + const VkDescriptorSet* pDescriptorSets uint32_t dynamicOffsetCount const uint32_t* pDynamicOffsets - + void vkCmdBindIndexBuffer VkCommandBuffer commandBuffer - VkBuffer buffer + VkBuffer buffer VkDeviceSize offset VkIndexType indexType - + void vkCmdBindVertexBuffers VkCommandBuffer commandBuffer uint32_t firstBinding uint32_t bindingCount - const VkBuffer* pBuffers + const VkBuffer* pBuffers const VkDeviceSize* pOffsets - + void vkCmdDraw VkCommandBuffer commandBuffer uint32_t vertexCount @@ -6365,7 +12065,7 @@ typedef void CAMetalLayer; uint32_t firstVertex uint32_t firstInstance - + void vkCmdDrawIndexed VkCommandBuffer commandBuffer uint32_t indexCount @@ -6374,7 +12074,26 @@ typedef void CAMetalLayer; int32_t vertexOffset uint32_t firstInstance - + + void vkCmdDrawMultiEXT + VkCommandBuffer commandBuffer + uint32_t drawCount + const VkMultiDrawInfoEXT* pVertexInfo + uint32_t instanceCount + uint32_t firstInstance + uint32_t stride + + + void vkCmdDrawMultiIndexedEXT + VkCommandBuffer commandBuffer + uint32_t drawCount + const VkMultiDrawIndexedInfoEXT* pIndexInfo + uint32_t instanceCount + uint32_t firstInstance + uint32_t stride + const int32_t* pVertexOffset + + void vkCmdDrawIndirect VkCommandBuffer commandBuffer VkBuffer buffer @@ -6382,7 +12101,7 @@ typedef void CAMetalLayer; uint32_t drawCount uint32_t stride - + void vkCmdDrawIndexedIndirect VkCommandBuffer commandBuffer VkBuffer buffer @@ -6390,20 +12109,43 @@ typedef void CAMetalLayer; uint32_t drawCount uint32_t stride - + void vkCmdDispatch VkCommandBuffer commandBuffer uint32_t groupCountX uint32_t groupCountY uint32_t groupCountZ - + void vkCmdDispatchIndirect VkCommandBuffer commandBuffer VkBuffer buffer VkDeviceSize offset - + + void vkCmdSubpassShadingHUAWEI + VkCommandBuffer commandBuffer + + + void vkCmdDrawClusterHUAWEI + VkCommandBuffer commandBuffer + uint32_t groupCountX + uint32_t groupCountY + uint32_t groupCountZ + + + void vkCmdDrawClusterIndirectHUAWEI + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + + + void vkCmdUpdatePipelineIndirectBufferNV + VkCommandBuffer commandBuffer + VkPipelineBindPoint pipelineBindPoint + VkPipeline pipeline + + void vkCmdCopyBuffer VkCommandBuffer commandBuffer VkBuffer srcBuffer @@ -6411,7 +12153,7 @@ typedef void CAMetalLayer; uint32_t regionCount const VkBufferCopy* pRegions - + void vkCmdCopyImage VkCommandBuffer commandBuffer VkImage srcImage @@ -6421,7 +12163,7 @@ typedef void CAMetalLayer; uint32_t regionCount const VkImageCopy* pRegions - + void vkCmdBlitImage VkCommandBuffer commandBuffer VkImage srcImage @@ -6432,7 +12174,7 @@ typedef void CAMetalLayer; const VkImageBlit* pRegions VkFilter filter - + void vkCmdCopyBufferToImage VkCommandBuffer commandBuffer VkBuffer srcBuffer @@ -6441,7 +12183,7 @@ typedef void CAMetalLayer; uint32_t regionCount const VkBufferImageCopy* pRegions - + void vkCmdCopyImageToBuffer VkCommandBuffer commandBuffer VkImage srcImage @@ -6450,7 +12192,24 @@ typedef void CAMetalLayer; uint32_t regionCount const VkBufferImageCopy* pRegions - + + void vkCmdCopyMemoryIndirectNV + VkCommandBuffer commandBuffer + VkDeviceAddress copyBufferAddress + uint32_t copyCount + uint32_t stride + + + void vkCmdCopyMemoryToImageIndirectNV + VkCommandBuffer commandBuffer + VkDeviceAddress copyBufferAddress + uint32_t copyCount + uint32_t stride + VkImage dstImage + VkImageLayout dstImageLayout + const VkImageSubresourceLayers* pImageSubresources + + void vkCmdUpdateBuffer VkCommandBuffer commandBuffer VkBuffer dstBuffer @@ -6458,7 +12217,7 @@ typedef void CAMetalLayer; VkDeviceSize dataSize const void* pData - + void vkCmdFillBuffer VkCommandBuffer commandBuffer VkBuffer dstBuffer @@ -6466,16 +12225,16 @@ typedef void CAMetalLayer; VkDeviceSize size uint32_t data - + void vkCmdClearColorImage VkCommandBuffer commandBuffer VkImage image VkImageLayout imageLayout - const VkClearColorValue* pColor + const VkClearColorValue* pColor uint32_t rangeCount const VkImageSubresourceRange* pRanges - + void vkCmdClearDepthStencilImage VkCommandBuffer commandBuffer VkImage image @@ -6484,7 +12243,7 @@ typedef void CAMetalLayer; uint32_t rangeCount const VkImageSubresourceRange* pRanges - + void vkCmdClearAttachments VkCommandBuffer commandBuffer uint32_t attachmentCount @@ -6492,7 +12251,7 @@ typedef void CAMetalLayer; uint32_t rectCount const VkClearRect* pRects - + void vkCmdResolveImage VkCommandBuffer commandBuffer VkImage srcImage @@ -6502,25 +12261,25 @@ typedef void CAMetalLayer; uint32_t regionCount const VkImageResolve* pRegions - + void vkCmdSetEvent VkCommandBuffer commandBuffer VkEvent event - VkPipelineStageFlags stageMask + VkPipelineStageFlags stageMask - + void vkCmdResetEvent VkCommandBuffer commandBuffer VkEvent event - VkPipelineStageFlags stageMask + VkPipelineStageFlags stageMask - + void vkCmdWaitEvents VkCommandBuffer commandBuffer uint32_t eventCount const VkEvent* pEvents - VkPipelineStageFlags srcStageMask - VkPipelineStageFlags dstStageMask + VkPipelineStageFlags srcStageMask + VkPipelineStageFlags dstStageMask uint32_t memoryBarrierCount const VkMemoryBarrier* pMemoryBarriers uint32_t bufferMemoryBarrierCount @@ -6528,11 +12287,11 @@ typedef void CAMetalLayer; uint32_t imageMemoryBarrierCount const VkImageMemoryBarrier* pImageMemoryBarriers - + void vkCmdPipelineBarrier VkCommandBuffer commandBuffer - VkPipelineStageFlags srcStageMask - VkPipelineStageFlags dstStageMask + VkPipelineStageFlags srcStageMask + VkPipelineStageFlags dstStageMask VkDependencyFlags dependencyFlags uint32_t memoryBarrierCount const VkMemoryBarrier* pMemoryBarriers @@ -6541,43 +12300,43 @@ typedef void CAMetalLayer; uint32_t imageMemoryBarrierCount const VkImageMemoryBarrier* pImageMemoryBarriers - + void vkCmdBeginQuery VkCommandBuffer commandBuffer VkQueryPool queryPool uint32_t query VkQueryControlFlags flags - + void vkCmdEndQuery VkCommandBuffer commandBuffer VkQueryPool queryPool uint32_t query - + void vkCmdBeginConditionalRenderingEXT VkCommandBuffer commandBuffer const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin - + void vkCmdEndConditionalRenderingEXT VkCommandBuffer commandBuffer - + void vkCmdResetQueryPool VkCommandBuffer commandBuffer VkQueryPool queryPool uint32_t firstQuery uint32_t queryCount - + void vkCmdWriteTimestamp VkCommandBuffer commandBuffer VkPipelineStageFlagBits pipelineStage VkQueryPool queryPool uint32_t query - + void vkCmdCopyQueryPoolResults VkCommandBuffer commandBuffer VkQueryPool queryPool @@ -6588,7 +12347,7 @@ typedef void CAMetalLayer; VkDeviceSize stride VkQueryResultFlags flags - + void vkCmdPushConstants VkCommandBuffer commandBuffer VkPipelineLayout layout @@ -6597,22 +12356,22 @@ typedef void CAMetalLayer; uint32_t size const void* pValues - + void vkCmdBeginRenderPass VkCommandBuffer commandBuffer const VkRenderPassBeginInfo* pRenderPassBegin VkSubpassContents contents - + void vkCmdNextSubpass VkCommandBuffer commandBuffer VkSubpassContents contents - + void vkCmdEndRenderPass VkCommandBuffer commandBuffer - + void vkCmdExecuteCommands VkCommandBuffer commandBuffer uint32_t commandBufferCount @@ -6677,7 +12436,8 @@ typedef void CAMetalLayer; VkResult vkCreateSharedSwapchainsKHR VkDevice device uint32_t swapchainCount - const VkSwapchainCreateInfoKHR* pCreateInfos + const VkSwapchainCreateInfoKHR* pCreateInfos + const VkSwapchainCreateInfoKHR* pCreateInfos const VkAllocationCallbacks* pAllocator VkSwapchainKHR* pSwapchains @@ -6703,21 +12463,22 @@ typedef void CAMetalLayer; VkResult vkGetPhysicalDeviceSurfaceFormatsKHR VkPhysicalDevice physicalDevice - VkSurfaceKHR surface + VkSurfaceKHR surface uint32_t* pSurfaceFormatCount VkSurfaceFormatKHR* pSurfaceFormats VkResult vkGetPhysicalDeviceSurfacePresentModesKHR VkPhysicalDevice physicalDevice - VkSurfaceKHR surface + VkSurfaceKHR surface uint32_t* pPresentModeCount VkPresentModeKHR* pPresentModes - + VkResult vkCreateSwapchainKHR VkDevice device - const VkSwapchainCreateInfoKHR* pCreateInfo + const VkSwapchainCreateInfoKHR* pCreateInfo + const VkSwapchainCreateInfoKHR* pCreateInfo const VkAllocationCallbacks* pAllocator VkSwapchainKHR* pSwapchain @@ -6746,7 +12507,7 @@ typedef void CAMetalLayer; VkResult vkQueuePresentKHR VkQueue queue - const VkPresentInfoKHR* pPresentInfo + const VkPresentInfoKHR* pPresentInfo VkResult vkCreateViSurfaceNN @@ -6808,6 +12569,19 @@ typedef void CAMetalLayer; xcb_connection_t* connection xcb_visualid_t visual_id + + VkResult vkCreateDirectFBSurfaceEXT + VkInstance instance + const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkSurfaceKHR* pSurface + + + VkBool32 vkGetPhysicalDeviceDirectFBPresentationSupportEXT + VkPhysicalDevice physicalDevice + uint32_t queueFamilyIndex + IDirectFB* dfb + VkResult vkCreateImagePipeSurfaceFUCHSIA VkInstance instance @@ -6822,6 +12596,19 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkSurfaceKHR* pSurface + + VkResult vkCreateScreenSurfaceQNX + VkInstance instance + const VkScreenSurfaceCreateInfoQNX* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkSurfaceKHR* pSurface + + + VkBool32 vkGetPhysicalDeviceScreenPresentationSupportQNX + VkPhysicalDevice physicalDevice + uint32_t queueFamilyIndex + struct _screen_window* window + VkResult vkCreateDebugReportCallbackEXT VkInstance instance @@ -6832,7 +12619,7 @@ typedef void CAMetalLayer; void vkDestroyDebugReportCallbackEXT VkInstance instance - VkDebugReportCallbackEXT callback + VkDebugReportCallbackEXT callback const VkAllocationCallbacks* pAllocator @@ -6840,7 +12627,7 @@ typedef void CAMetalLayer; VkInstance instance VkDebugReportFlagsEXT flags VkDebugReportObjectTypeEXT objectType - uint64_t object + uint64_t object size_t location int32_t messageCode const char* pLayerPrefix @@ -6849,25 +12636,25 @@ typedef void CAMetalLayer; VkResult vkDebugMarkerSetObjectNameEXT VkDevice device - const VkDebugMarkerObjectNameInfoEXT* pNameInfo + const VkDebugMarkerObjectNameInfoEXT* pNameInfo VkResult vkDebugMarkerSetObjectTagEXT VkDevice device - const VkDebugMarkerObjectTagInfoEXT* pTagInfo + const VkDebugMarkerObjectTagInfoEXT* pTagInfo - + void vkCmdDebugMarkerBeginEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkDebugMarkerMarkerInfoEXT* pMarkerInfo - + void vkCmdDebugMarkerEndEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer - + void vkCmdDebugMarkerInsertEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkDebugMarkerMarkerInfoEXT* pMarkerInfo @@ -6888,64 +12675,43 @@ typedef void CAMetalLayer; VkExternalMemoryHandleTypeFlagsNV handleType HANDLE* pHandle - - void vkCmdProcessCommandsNVX + + void vkCmdExecuteGeneratedCommandsNV VkCommandBuffer commandBuffer - const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo + VkBool32 isPreprocessed + const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo - - void vkCmdReserveSpaceForCommandsNVX + + void vkCmdPreprocessGeneratedCommandsNV VkCommandBuffer commandBuffer - const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo + const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo - - VkResult vkCreateIndirectCommandsLayoutNVX - VkDevice device - const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo - const VkAllocationCallbacks* pAllocator - VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout + + void vkCmdBindPipelineShaderGroupNV + VkCommandBuffer commandBuffer + VkPipelineBindPoint pipelineBindPoint + VkPipeline pipeline + uint32_t groupIndex - void vkDestroyIndirectCommandsLayoutNVX + void vkGetGeneratedCommandsMemoryRequirementsNV VkDevice device - VkIndirectCommandsLayoutNVX indirectCommandsLayout - const VkAllocationCallbacks* pAllocator + const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo + VkMemoryRequirements2* pMemoryRequirements - VkResult vkCreateObjectTableNVX + VkResult vkCreateIndirectCommandsLayoutNV VkDevice device - const VkObjectTableCreateInfoNVX* pCreateInfo + const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo const VkAllocationCallbacks* pAllocator - VkObjectTableNVX* pObjectTable + VkIndirectCommandsLayoutNV* pIndirectCommandsLayout - void vkDestroyObjectTableNVX + void vkDestroyIndirectCommandsLayoutNV VkDevice device - VkObjectTableNVX objectTable + VkIndirectCommandsLayoutNV indirectCommandsLayout const VkAllocationCallbacks* pAllocator - - VkResult vkRegisterObjectsNVX - VkDevice device - VkObjectTableNVX objectTable - uint32_t objectCount - const VkObjectTableEntryNVX* const* ppObjectTableEntries - const uint32_t* pObjectIndices - - - VkResult vkUnregisterObjectsNVX - VkDevice device - VkObjectTableNVX objectTable - uint32_t objectCount - const VkObjectEntryTypeNVX* pObjectEntryTypes - const uint32_t* pObjectIndices - - - void vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX - VkPhysicalDevice physicalDevice - VkDeviceGeneratedCommandsFeaturesNVX* pFeatures - VkDeviceGeneratedCommandsLimitsNVX* pLimits - void vkGetPhysicalDeviceFeatures2 VkPhysicalDevice physicalDevice @@ -6965,7 +12731,7 @@ typedef void CAMetalLayer; VkFormatProperties2* pFormatProperties - + VkResult vkGetPhysicalDeviceImageFormatProperties2 VkPhysicalDevice physicalDevice const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo @@ -6993,7 +12759,7 @@ typedef void CAMetalLayer; VkSparseImageFormatProperties2* pProperties - + void vkCmdPushDescriptorSetKHR VkCommandBuffer commandBuffer VkPipelineBindPoint pipelineBindPoint @@ -7022,7 +12788,7 @@ typedef void CAMetalLayer; const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo HANDLE* pHandle - + VkResult vkGetMemoryWin32HandlePropertiesKHR VkDevice device VkExternalMemoryHandleTypeFlagBits handleType @@ -7035,20 +12801,57 @@ typedef void CAMetalLayer; const VkMemoryGetFdInfoKHR* pGetFdInfo int* pFd - + VkResult vkGetMemoryFdPropertiesKHR VkDevice device VkExternalMemoryHandleTypeFlagBits handleType int fd VkMemoryFdPropertiesKHR* pMemoryFdProperties + + VkResult vkGetMemoryZirconHandleFUCHSIA + VkDevice device + const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo + zx_handle_t* pZirconHandle + + + VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA + VkDevice device + VkExternalMemoryHandleTypeFlagBits handleType + zx_handle_t zirconHandle + VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties + + + VkResult vkGetMemoryRemoteAddressNV + VkDevice device + const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo + VkRemoteAddressNV* pAddress + + + VkResult vkGetMemorySciBufNV + VkDevice device + const VkMemoryGetSciBufInfoNV* pGetSciBufInfo + NvSciBufObj* pHandle + + + VkResult vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV + VkPhysicalDevice physicalDevice + VkExternalMemoryHandleTypeFlagBits handleType + NvSciBufObj handle + VkMemorySciBufPropertiesNV* pMemorySciBufProperties + + + VkResult vkGetPhysicalDeviceSciBufAttributesNV + VkPhysicalDevice physicalDevice + NvSciBufAttrList pAttributes + void vkGetPhysicalDeviceExternalSemaphoreProperties VkPhysicalDevice physicalDevice const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo VkExternalSemaphoreProperties* pExternalSemaphoreProperties - + VkResult vkGetSemaphoreWin32HandleKHR VkDevice device @@ -7071,13 +12874,24 @@ typedef void CAMetalLayer; VkDevice device const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo + + VkResult vkGetSemaphoreZirconHandleFUCHSIA + VkDevice device + const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo + zx_handle_t* pZirconHandle + + + VkResult vkImportSemaphoreZirconHandleFUCHSIA + VkDevice device + const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo + void vkGetPhysicalDeviceExternalFenceProperties VkPhysicalDevice physicalDevice const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo VkExternalFenceProperties* pExternalFenceProperties - + VkResult vkGetFenceWin32HandleKHR VkDevice device @@ -7100,38 +12914,101 @@ typedef void CAMetalLayer; VkDevice device const VkImportFenceFdInfoKHR* pImportFenceFdInfo + + VkResult vkGetFenceSciSyncFenceNV + VkDevice device + const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo + void* pHandle + + + VkResult vkGetFenceSciSyncObjNV + VkDevice device + const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo + void* pHandle + + + VkResult vkImportFenceSciSyncFenceNV + VkDevice device + const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo + + + VkResult vkImportFenceSciSyncObjNV + VkDevice device + const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo + + + VkResult vkGetSemaphoreSciSyncObjNV + VkDevice device + const VkSemaphoreGetSciSyncInfoNV* pGetSciSyncInfo + void* pHandle + + + VkResult vkImportSemaphoreSciSyncObjNV + VkDevice device + const VkImportSemaphoreSciSyncInfoNV* pImportSemaphoreSciSyncInfo + + + VkResult vkGetPhysicalDeviceSciSyncAttributesNV + VkPhysicalDevice physicalDevice + const VkSciSyncAttributesInfoNV* pSciSyncAttributesInfo + NvSciSyncAttrList pAttributes + + + VkResult vkCreateSemaphoreSciSyncPoolNV + VkDevice device + const VkSemaphoreSciSyncPoolCreateInfoNV* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkSemaphoreSciSyncPoolNV* pSemaphorePool + + + void vkDestroySemaphoreSciSyncPoolNV + VkDevice device + VkSemaphoreSciSyncPoolNV semaphorePool + const VkAllocationCallbacks* pAllocator + VkResult vkReleaseDisplayEXT VkPhysicalDevice physicalDevice VkDisplayKHR display - + VkResult vkAcquireXlibDisplayEXT VkPhysicalDevice physicalDevice Display* dpy VkDisplayKHR display - + VkResult vkGetRandROutputDisplayEXT VkPhysicalDevice physicalDevice Display* dpy RROutput rrOutput VkDisplayKHR* pDisplay - + + VkResult vkAcquireWinrtDisplayNV + VkPhysicalDevice physicalDevice + VkDisplayKHR display + + + VkResult vkGetWinrtDisplayNV + VkPhysicalDevice physicalDevice + uint32_t deviceRelativeId + VkDisplayKHR* pDisplay + + VkResult vkDisplayPowerControlEXT VkDevice device VkDisplayKHR display const VkDisplayPowerInfoEXT* pDisplayPowerInfo - + VkResult vkRegisterDeviceEventEXT VkDevice device const VkDeviceEventInfoEXT* pDeviceEventInfo const VkAllocationCallbacks* pAllocator VkFence* pFence - + VkResult vkRegisterDisplayEventEXT VkDevice device VkDisplayKHR display @@ -7139,7 +13016,7 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkFence* pFence - + VkResult vkGetSwapchainCounterEXT VkDevice device VkSwapchainKHR swapchain @@ -7182,7 +13059,7 @@ typedef void CAMetalLayer; const VkBindImageMemoryInfo* pBindInfos - + void vkCmdSetDeviceMask VkCommandBuffer commandBuffer uint32_t deviceMask @@ -7205,7 +13082,7 @@ typedef void CAMetalLayer; const VkAcquireNextImageInfoKHR* pAcquireInfo uint32_t* pImageIndex - + void vkCmdDispatchBase VkCommandBuffer commandBuffer uint32_t baseGroupX @@ -7241,12 +13118,12 @@ typedef void CAMetalLayer; void vkUpdateDescriptorSetWithTemplate VkDevice device - VkDescriptorSet descriptorSet + VkDescriptorSet descriptorSet VkDescriptorUpdateTemplate descriptorUpdateTemplate const void* pData - + void vkCmdPushDescriptorSetWithTemplateKHR VkCommandBuffer commandBuffer VkDescriptorUpdateTemplate descriptorUpdateTemplate @@ -7266,13 +13143,13 @@ typedef void CAMetalLayer; VkDevice device VkSwapchainKHR swapchain - + VkResult vkGetRefreshCycleDurationGOOGLE VkDevice device VkSwapchainKHR swapchain VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties - + VkResult vkGetPastPresentationTimingGOOGLE VkDevice device VkSwapchainKHR swapchain @@ -7300,21 +13177,31 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkSurfaceKHR* pSurface - + void vkCmdSetViewportWScalingNV VkCommandBuffer commandBuffer uint32_t firstViewport uint32_t viewportCount const VkViewportWScalingNV* pViewportWScalings - + void vkCmdSetDiscardRectangleEXT VkCommandBuffer commandBuffer uint32_t firstDiscardRectangle uint32_t discardRectangleCount const VkRect2D* pDiscardRectangles - + + void vkCmdSetDiscardRectangleEnableEXT + VkCommandBuffer commandBuffer + VkBool32 discardRectangleEnable + + + void vkCmdSetDiscardRectangleModeEXT + VkCommandBuffer commandBuffer + VkDiscardRectangleModeEXT discardRectangleMode + + void vkCmdSetSampleLocationsEXT VkCommandBuffer commandBuffer const VkSampleLocationsInfoEXT* pSampleLocationsInfo @@ -7385,6 +13272,28 @@ typedef void CAMetalLayer; VkSparseImageMemoryRequirements2* pSparseMemoryRequirements + + void vkGetDeviceBufferMemoryRequirements + VkDevice device + const VkDeviceBufferMemoryRequirements* pInfo + VkMemoryRequirements2* pMemoryRequirements + + + + void vkGetDeviceImageMemoryRequirements + VkDevice device + const VkDeviceImageMemoryRequirements* pInfo + VkMemoryRequirements2* pMemoryRequirements + + + + void vkGetDeviceImageSparseMemoryRequirements + VkDevice device + const VkDeviceImageMemoryRequirements* pInfo + uint32_t* pSparseMemoryRequirementCount + VkSparseImageMemoryRequirements2* pSparseMemoryRequirements + + VkResult vkCreateSamplerYcbcrConversion VkDevice device @@ -7461,14 +13370,14 @@ typedef void CAMetalLayer; VkDevice device VkImage image int nativeFenceFd - VkSemaphore semaphore - VkFence fence + VkSemaphore semaphore + VkFence fence VkResult vkQueueSignalReleaseImageANDROID VkQueue queue uint32_t waitSemaphoreCount - const VkSemaphore* pWaitSemaphores + const VkSemaphore* pWaitSemaphores VkImage image int* pNativeFenceFd @@ -7488,28 +13397,30 @@ typedef void CAMetalLayer; VkBool32 localDimmingEnable - VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT + VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsKHR VkPhysicalDevice physicalDevice uint32_t* pTimeDomainCount - VkTimeDomainEXT* pTimeDomains + VkTimeDomainKHR* pTimeDomains + - VkResult vkGetCalibratedTimestampsEXT + VkResult vkGetCalibratedTimestampsKHR VkDevice device uint32_t timestampCount - const VkCalibratedTimestampInfoEXT* pTimestampInfos + const VkCalibratedTimestampInfoKHR* pTimestampInfos uint64_t* pTimestamps uint64_t* pMaxDeviation + VkResult vkSetDebugUtilsObjectNameEXT VkDevice device - const VkDebugUtilsObjectNameInfoEXT* pNameInfo + const VkDebugUtilsObjectNameInfoEXT* pNameInfo VkResult vkSetDebugUtilsObjectTagEXT VkDevice device - const VkDebugUtilsObjectTagInfoEXT* pTagInfo + const VkDebugUtilsObjectTagInfoEXT* pTagInfo void vkQueueBeginDebugUtilsLabelEXT @@ -7525,18 +13436,18 @@ typedef void CAMetalLayer; VkQueue queue const VkDebugUtilsLabelEXT* pLabelInfo - + void vkCmdBeginDebugUtilsLabelEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkDebugUtilsLabelEXT* pLabelInfo - + void vkCmdEndDebugUtilsLabelEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer - + void vkCmdInsertDebugUtilsLabelEXT - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkDebugUtilsLabelEXT* pLabelInfo @@ -7549,7 +13460,7 @@ typedef void CAMetalLayer; void vkDestroyDebugUtilsMessengerEXT VkInstance instance - VkDebugUtilsMessengerEXT messenger + VkDebugUtilsMessengerEXT messenger const VkAllocationCallbacks* pAllocator @@ -7559,63 +13470,70 @@ typedef void CAMetalLayer; VkDebugUtilsMessageTypeFlagsEXT messageTypes const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData - + VkResult vkGetMemoryHostPointerPropertiesEXT VkDevice device VkExternalMemoryHandleTypeFlagBits handleType - const void* pHostPointer + const void* pHostPointer VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties - + void vkCmdWriteBufferMarkerAMD VkCommandBuffer commandBuffer - VkPipelineStageFlagBits pipelineStage + VkPipelineStageFlagBits pipelineStage VkBuffer dstBuffer VkDeviceSize dstOffset uint32_t marker - VkResult vkCreateRenderPass2KHR + VkResult vkCreateRenderPass2 VkDevice device - const VkRenderPassCreateInfo2KHR* pCreateInfo + const VkRenderPassCreateInfo2* pCreateInfo const VkAllocationCallbacks* pAllocator VkRenderPass* pRenderPass - - void vkCmdBeginRenderPass2KHR + + + void vkCmdBeginRenderPass2 VkCommandBuffer commandBuffer const VkRenderPassBeginInfo* pRenderPassBegin - const VkSubpassBeginInfoKHR* pSubpassBeginInfo + const VkSubpassBeginInfo* pSubpassBeginInfo - - void vkCmdNextSubpass2KHR + + + void vkCmdNextSubpass2 VkCommandBuffer commandBuffer - const VkSubpassBeginInfoKHR* pSubpassBeginInfo - const VkSubpassEndInfoKHR* pSubpassEndInfo + const VkSubpassBeginInfo* pSubpassBeginInfo + const VkSubpassEndInfo* pSubpassEndInfo - - void vkCmdEndRenderPass2KHR + + + void vkCmdEndRenderPass2 VkCommandBuffer commandBuffer - const VkSubpassEndInfoKHR* pSubpassEndInfo + const VkSubpassEndInfo* pSubpassEndInfo + - VkResult vkGetSemaphoreCounterValueKHR + VkResult vkGetSemaphoreCounterValue VkDevice device VkSemaphore semaphore uint64_t* pValue + - VkResult vkWaitSemaphoresKHR + VkResult vkWaitSemaphores VkDevice device - const VkSemaphoreWaitInfoKHR* pWaitInfo + const VkSemaphoreWaitInfo* pWaitInfo uint64_t timeout + - VkResult vkSignalSemaphoreKHR + VkResult vkSignalSemaphore VkDevice device - const VkSemaphoreSignalInfoKHR* pSignalInfo + const VkSemaphoreSignalInfo* pSignalInfo - + + VkResult vkGetAndroidHardwareBufferPropertiesANDROID VkDevice device const struct AHardwareBuffer* buffer @@ -7627,8 +13545,8 @@ typedef void CAMetalLayer; const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo struct AHardwareBuffer** pBuffer - - void vkCmdDrawIndirectCountKHR + + void vkCmdDrawIndirectCount VkCommandBuffer commandBuffer VkBuffer buffer VkDeviceSize offset @@ -7637,9 +13555,10 @@ typedef void CAMetalLayer; uint32_t maxDrawCount uint32_t stride - - - void vkCmdDrawIndexedIndirectCountKHR + + + + void vkCmdDrawIndexedIndirectCount VkCommandBuffer commandBuffer VkBuffer buffer VkDeviceSize offset @@ -7648,10 +13567,11 @@ typedef void CAMetalLayer; uint32_t maxDrawCount uint32_t stride - - + + + void vkCmdSetCheckpointNV - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const void* pCheckpointMarker @@ -7660,16 +13580,16 @@ typedef void CAMetalLayer; uint32_t* pCheckpointDataCount VkCheckpointDataNV* pCheckpointData - + void vkCmdBindTransformFeedbackBuffersEXT VkCommandBuffer commandBuffer uint32_t firstBinding uint32_t bindingCount const VkBuffer* pBuffers const VkDeviceSize* pOffsets - const VkDeviceSize* pSizes + const VkDeviceSize* pSizes - + void vkCmdBeginTransformFeedbackEXT VkCommandBuffer commandBuffer uint32_t firstCounterBuffer @@ -7677,7 +13597,7 @@ typedef void CAMetalLayer; const VkBuffer* pCounterBuffers const VkDeviceSize* pCounterBufferOffsets - + void vkCmdEndTransformFeedbackEXT VkCommandBuffer commandBuffer uint32_t firstCounterBuffer @@ -7685,7 +13605,7 @@ typedef void CAMetalLayer; const VkBuffer* pCounterBuffers const VkDeviceSize* pCounterBufferOffsets - + void vkCmdBeginQueryIndexedEXT VkCommandBuffer commandBuffer VkQueryPool queryPool @@ -7693,14 +13613,14 @@ typedef void CAMetalLayer; VkQueryControlFlags flags uint32_t index - + void vkCmdEndQueryIndexedEXT VkCommandBuffer commandBuffer VkQueryPool queryPool uint32_t query uint32_t index - + void vkCmdDrawIndirectByteCountEXT VkCommandBuffer commandBuffer uint32_t instanceCount @@ -7710,40 +13630,47 @@ typedef void CAMetalLayer; uint32_t counterOffset uint32_t vertexStride - + void vkCmdSetExclusiveScissorNV VkCommandBuffer commandBuffer uint32_t firstExclusiveScissor uint32_t exclusiveScissorCount const VkRect2D* pExclusiveScissors - + + void vkCmdSetExclusiveScissorEnableNV + VkCommandBuffer commandBuffer + uint32_t firstExclusiveScissor + uint32_t exclusiveScissorCount + const VkBool32* pExclusiveScissorEnables + + void vkCmdBindShadingRateImageNV VkCommandBuffer commandBuffer VkImageView imageView VkImageLayout imageLayout - + void vkCmdSetViewportShadingRatePaletteNV VkCommandBuffer commandBuffer uint32_t firstViewport uint32_t viewportCount const VkShadingRatePaletteNV* pShadingRatePalettes - + void vkCmdSetCoarseSampleOrderNV VkCommandBuffer commandBuffer VkCoarseSampleOrderTypeNV sampleOrderType uint32_t customSampleOrderCount const VkCoarseSampleOrderCustomNV* pCustomSampleOrders - + void vkCmdDrawMeshTasksNV VkCommandBuffer commandBuffer uint32_t taskCount uint32_t firstTask - + void vkCmdDrawMeshTasksIndirectNV VkCommandBuffer commandBuffer VkBuffer buffer @@ -7751,7 +13678,7 @@ typedef void CAMetalLayer; uint32_t drawCount uint32_t stride - + void vkCmdDrawMeshTasksIndirectCountNV VkCommandBuffer commandBuffer VkBuffer buffer @@ -7761,6 +13688,31 @@ typedef void CAMetalLayer; uint32_t maxDrawCount uint32_t stride + + void vkCmdDrawMeshTasksEXT + VkCommandBuffer commandBuffer + uint32_t groupCountX + uint32_t groupCountY + uint32_t groupCountZ + + + void vkCmdDrawMeshTasksIndirectEXT + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + uint32_t drawCount + uint32_t stride + + + void vkCmdDrawMeshTasksIndirectCountEXT + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + VkBuffer countBuffer + VkDeviceSize countBufferOffset + uint32_t maxDrawCount + uint32_t stride + VkResult vkCompileDeferredNV VkDevice device @@ -7774,10 +13726,22 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkAccelerationStructureNV* pAccelerationStructure + + void vkCmdBindInvocationMaskHUAWEI + VkCommandBuffer commandBuffer + VkImageView imageView + VkImageLayout imageLayout + + + void vkDestroyAccelerationStructureKHR + VkDevice device + VkAccelerationStructureKHR accelerationStructure + const VkAllocationCallbacks* pAllocator + void vkDestroyAccelerationStructureNV VkDevice device - VkAccelerationStructureNV accelerationStructure + VkAccelerationStructureNV accelerationStructure const VkAllocationCallbacks* pAllocator @@ -7792,25 +13756,67 @@ typedef void CAMetalLayer; uint32_t bindInfoCount const VkBindAccelerationStructureMemoryInfoNV* pBindInfos - + void vkCmdCopyAccelerationStructureNV - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer VkAccelerationStructureNV dst VkAccelerationStructureNV src - VkCopyAccelerationStructureModeNV mode + VkCopyAccelerationStructureModeKHR mode + + + void vkCmdCopyAccelerationStructureKHR + VkCommandBuffer commandBuffer + const VkCopyAccelerationStructureInfoKHR* pInfo - + + VkResult vkCopyAccelerationStructureKHR + VkDevice device + VkDeferredOperationKHR deferredOperation + const VkCopyAccelerationStructureInfoKHR* pInfo + + + void vkCmdCopyAccelerationStructureToMemoryKHR + VkCommandBuffer commandBuffer + const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo + + + VkResult vkCopyAccelerationStructureToMemoryKHR + VkDevice device + VkDeferredOperationKHR deferredOperation + const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo + + + void vkCmdCopyMemoryToAccelerationStructureKHR + VkCommandBuffer commandBuffer + const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo + + + VkResult vkCopyMemoryToAccelerationStructureKHR + VkDevice device + VkDeferredOperationKHR deferredOperation + const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo + + + void vkCmdWriteAccelerationStructuresPropertiesKHR + VkCommandBuffer commandBuffer + uint32_t accelerationStructureCount + const VkAccelerationStructureKHR* pAccelerationStructures + VkQueryType queryType + VkQueryPool queryPool + uint32_t firstQuery + + void vkCmdWriteAccelerationStructuresPropertiesNV - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer uint32_t accelerationStructureCount const VkAccelerationStructureNV* pAccelerationStructures VkQueryType queryType VkQueryPool queryPool uint32_t firstQuery - + void vkCmdBuildAccelerationStructureNV - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkAccelerationStructureInfoNV* pInfo VkBuffer instanceData VkDeviceSize instanceOffset @@ -7820,9 +13826,30 @@ typedef void CAMetalLayer; VkBuffer scratch VkDeviceSize scratchOffset - + + VkResult vkWriteAccelerationStructuresPropertiesKHR + VkDevice device + uint32_t accelerationStructureCount + const VkAccelerationStructureKHR* pAccelerationStructures + VkQueryType queryType + size_t dataSize + void* pData + size_t stride + + + void vkCmdTraceRaysKHR + VkCommandBuffer commandBuffer + const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable + const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable + const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable + const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable + uint32_t width + uint32_t height + uint32_t depth + + void vkCmdTraceRaysNV - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer VkBuffer raygenShaderBindingTableBuffer VkDeviceSize raygenShaderBindingOffset VkBuffer missShaderBindingTableBuffer @@ -7839,7 +13866,17 @@ typedef void CAMetalLayer; uint32_t depth - VkResult vkGetRayTracingShaderGroupHandlesNV + VkResult vkGetRayTracingShaderGroupHandlesKHR + VkDevice device + VkPipeline pipeline + uint32_t firstGroup + uint32_t groupCount + size_t dataSize + void* pData + + + + VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR VkDevice device VkPipeline pipeline uint32_t firstGroup @@ -7854,7 +13891,7 @@ typedef void CAMetalLayer; size_t dataSize void* pData - + VkResult vkCreateRayTracingPipelinesNV VkDevice device VkPipelineCache pipelineCache @@ -7863,17 +13900,84 @@ typedef void CAMetalLayer; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines + + VkResult vkCreateRayTracingPipelinesNV + VkDevice device + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkRayTracingPipelineCreateInfoNV* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + + + VkResult vkCreateRayTracingPipelinesKHR + VkDevice device + VkDeferredOperationKHR deferredOperation + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkRayTracingPipelineCreateInfoKHR* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + + + VkResult vkCreateRayTracingPipelinesKHR + VkDevice device + VkDeferredOperationKHR deferredOperation + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkRayTracingPipelineCreateInfoKHR* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV VkPhysicalDevice physicalDevice uint32_t* pPropertyCount VkCooperativeMatrixPropertiesNV* pProperties + + void vkCmdTraceRaysIndirectKHR + VkCommandBuffer commandBuffer + const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable + const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable + const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable + const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable + VkDeviceAddress indirectDeviceAddress + + + void vkCmdTraceRaysIndirect2KHR + VkCommandBuffer commandBuffer + VkDeviceAddress indirectDeviceAddress + + + void vkGetDeviceAccelerationStructureCompatibilityKHR + VkDevice device + const VkAccelerationStructureVersionInfoKHR* pVersionInfo + VkAccelerationStructureCompatibilityKHR* pCompatibility + + + VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR + VkDevice device + VkPipeline pipeline + uint32_t group + VkShaderGroupShaderKHR groupShader + + + void vkCmdSetRayTracingPipelineStackSizeKHR + VkCommandBuffer commandBuffer + uint32_t pipelineStackSize + uint32_t vkGetImageViewHandleNVX VkDevice device const VkImageViewHandleInfoNVX* pInfo + + VkResult vkGetImageViewAddressNVX + VkDevice device + VkImageView imageView + VkImageViewAddressPropertiesNVX* pProperties + VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT VkPhysicalDevice physicalDevice @@ -7911,7 +14015,7 @@ typedef void CAMetalLayer; const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo uint32_t* pNumPasses - + VkResult vkAcquireProfilingLockKHR VkDevice device const VkAcquireProfilingLockInfoKHR* pInfo @@ -7920,23 +14024,25 @@ typedef void CAMetalLayer; void vkReleaseProfilingLockKHR VkDevice device - + VkResult vkGetImageDrmFormatModifierPropertiesEXT VkDevice device VkImage image VkImageDrmFormatModifierPropertiesEXT* pProperties - uint64_t vkGetBufferOpaqueCaptureAddressKHR + uint64_t vkGetBufferOpaqueCaptureAddress VkDevice device - const VkBufferDeviceAddressInfoKHR* pInfo + const VkBufferDeviceAddressInfo* pInfo + - VkDeviceAddress vkGetBufferDeviceAddressKHR + VkDeviceAddress vkGetBufferDeviceAddress VkDevice device - const VkBufferDeviceAddressInfoKHR* pInfo + const VkBufferDeviceAddressInfo* pInfo - + + VkResult vkCreateHeadlessSurfaceEXT VkInstance instance @@ -7959,19 +14065,19 @@ typedef void CAMetalLayer; void vkUninitializePerformanceApiINTEL VkDevice device - + VkResult vkCmdSetPerformanceMarkerINTEL - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkPerformanceMarkerInfoINTEL* pMarkerInfo - + VkResult vkCmdSetPerformanceStreamMarkerINTEL - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo - + VkResult vkCmdSetPerformanceOverrideINTEL - VkCommandBuffer commandBuffer + VkCommandBuffer commandBuffer const VkPerformanceOverrideInfoINTEL* pOverrideInfo @@ -7983,7 +14089,7 @@ typedef void CAMetalLayer; VkResult vkReleasePerformanceConfigurationINTEL VkDevice device - VkPerformanceConfigurationINTEL configuration + VkPerformanceConfigurationINTEL configuration VkResult vkQueueSetPerformanceConfigurationINTEL @@ -7997,10 +14103,11 @@ typedef void CAMetalLayer; VkPerformanceValueINTEL* pValue - uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR + uint64_t vkGetDeviceMemoryOpaqueCaptureAddress VkDevice device - const VkDeviceMemoryOpaqueCaptureAddressInfoKHR* pInfo + const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo + VkResult vkGetPipelineExecutablePropertiesKHR VkDevice device @@ -8022,77 +14129,1443 @@ typedef void CAMetalLayer; uint32_t* pInternalRepresentationCount VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations - - void vkCmdSetLineStippleEXT + + void vkCmdSetLineStippleKHR VkCommandBuffer commandBuffer uint32_t lineStippleFactor uint16_t lineStipplePattern - - VkResult vkGetPhysicalDeviceToolPropertiesEXT + + + VkResult vkGetFaultData + VkDevice device + VkFaultQueryBehavior faultQueryBehavior + VkBool32* pUnrecordedFaults + uint32_t* pFaultCount + VkFaultData* pFaults + + + VkResult vkGetPhysicalDeviceToolProperties VkPhysicalDevice physicalDevice - uint32_t* pToolCount - VkPhysicalDeviceToolPropertiesEXT* pToolProperties + uint32_t* pToolCount + VkPhysicalDeviceToolProperties* pToolProperties + + + + VkResult vkCreateAccelerationStructureKHR + VkDevice device + const VkAccelerationStructureCreateInfoKHR* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkAccelerationStructureKHR* pAccelerationStructure + + + void vkCmdBuildAccelerationStructuresKHR + VkCommandBuffer commandBuffer + uint32_t infoCount + const VkAccelerationStructureBuildGeometryInfoKHR* pInfos + const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos + + + void vkCmdBuildAccelerationStructuresIndirectKHR + VkCommandBuffer commandBuffer + uint32_t infoCount + const VkAccelerationStructureBuildGeometryInfoKHR* pInfos + const VkDeviceAddress* pIndirectDeviceAddresses + const uint32_t* pIndirectStrides + const uint32_t* const* ppMaxPrimitiveCounts + + + VkResult vkBuildAccelerationStructuresKHR + VkDevice device + VkDeferredOperationKHR deferredOperation + uint32_t infoCount + const VkAccelerationStructureBuildGeometryInfoKHR* pInfos + const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR + VkDevice device + const VkAccelerationStructureDeviceAddressInfoKHR* pInfo + + + VkResult vkCreateDeferredOperationKHR + VkDevice device + const VkAllocationCallbacks* pAllocator + VkDeferredOperationKHR* pDeferredOperation + + + void vkDestroyDeferredOperationKHR + VkDevice device + VkDeferredOperationKHR operation + const VkAllocationCallbacks* pAllocator + + + uint32_t vkGetDeferredOperationMaxConcurrencyKHR + VkDevice device + VkDeferredOperationKHR operation + + + VkResult vkGetDeferredOperationResultKHR + VkDevice device + VkDeferredOperationKHR operation + + + VkResult vkDeferredOperationJoinKHR + VkDevice device + VkDeferredOperationKHR operation + + + void vkGetPipelineIndirectMemoryRequirementsNV + VkDevice device + const VkComputePipelineCreateInfo* pCreateInfo + VkMemoryRequirements2* pMemoryRequirements + + + VkDeviceAddress vkGetPipelineIndirectDeviceAddressNV + VkDevice device + const VkPipelineIndirectDeviceAddressInfoNV* pInfo + + + void vkCmdSetCullMode + VkCommandBuffer commandBuffer + VkCullModeFlags cullMode + + + + void vkCmdSetFrontFace + VkCommandBuffer commandBuffer + VkFrontFace frontFace + + + + void vkCmdSetPrimitiveTopology + VkCommandBuffer commandBuffer + VkPrimitiveTopology primitiveTopology + + + + void vkCmdSetViewportWithCount + VkCommandBuffer commandBuffer + uint32_t viewportCount + const VkViewport* pViewports + + + + void vkCmdSetScissorWithCount + VkCommandBuffer commandBuffer + uint32_t scissorCount + const VkRect2D* pScissors + + + + void vkCmdBindIndexBuffer2KHR + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + VkDeviceSize size + VkIndexType indexType + + + void vkCmdBindVertexBuffers2 + VkCommandBuffer commandBuffer + uint32_t firstBinding + uint32_t bindingCount + const VkBuffer* pBuffers + const VkDeviceSize* pOffsets + const VkDeviceSize* pSizes + const VkDeviceSize* pStrides + + + + void vkCmdSetDepthTestEnable + VkCommandBuffer commandBuffer + VkBool32 depthTestEnable + + + + void vkCmdSetDepthWriteEnable + VkCommandBuffer commandBuffer + VkBool32 depthWriteEnable + + + + void vkCmdSetDepthCompareOp + VkCommandBuffer commandBuffer + VkCompareOp depthCompareOp + + + + void vkCmdSetDepthBoundsTestEnable + VkCommandBuffer commandBuffer + VkBool32 depthBoundsTestEnable + + + + void vkCmdSetStencilTestEnable + VkCommandBuffer commandBuffer + VkBool32 stencilTestEnable + + + + void vkCmdSetStencilOp + VkCommandBuffer commandBuffer + VkStencilFaceFlags faceMask + VkStencilOp failOp + VkStencilOp passOp + VkStencilOp depthFailOp + VkCompareOp compareOp + + + + void vkCmdSetPatchControlPointsEXT + VkCommandBuffer commandBuffer + uint32_t patchControlPoints + + + void vkCmdSetRasterizerDiscardEnable + VkCommandBuffer commandBuffer + VkBool32 rasterizerDiscardEnable + + + + void vkCmdSetDepthBiasEnable + VkCommandBuffer commandBuffer + VkBool32 depthBiasEnable + + + + void vkCmdSetLogicOpEXT + VkCommandBuffer commandBuffer + VkLogicOp logicOp + + + void vkCmdSetPrimitiveRestartEnable + VkCommandBuffer commandBuffer + VkBool32 primitiveRestartEnable + + + + void vkCmdSetTessellationDomainOriginEXT + VkCommandBuffer commandBuffer + VkTessellationDomainOrigin domainOrigin + + + void vkCmdSetDepthClampEnableEXT + VkCommandBuffer commandBuffer + VkBool32 depthClampEnable + + + void vkCmdSetPolygonModeEXT + VkCommandBuffer commandBuffer + VkPolygonMode polygonMode + + + void vkCmdSetRasterizationSamplesEXT + VkCommandBuffer commandBuffer + VkSampleCountFlagBits rasterizationSamples + + + void vkCmdSetSampleMaskEXT + VkCommandBuffer commandBuffer + VkSampleCountFlagBits samples + const VkSampleMask* pSampleMask + + + void vkCmdSetAlphaToCoverageEnableEXT + VkCommandBuffer commandBuffer + VkBool32 alphaToCoverageEnable + + + void vkCmdSetAlphaToOneEnableEXT + VkCommandBuffer commandBuffer + VkBool32 alphaToOneEnable + + + void vkCmdSetLogicOpEnableEXT + VkCommandBuffer commandBuffer + VkBool32 logicOpEnable + + + void vkCmdSetColorBlendEnableEXT + VkCommandBuffer commandBuffer + uint32_t firstAttachment + uint32_t attachmentCount + const VkBool32* pColorBlendEnables + + + void vkCmdSetColorBlendEquationEXT + VkCommandBuffer commandBuffer + uint32_t firstAttachment + uint32_t attachmentCount + const VkColorBlendEquationEXT* pColorBlendEquations + + + void vkCmdSetColorWriteMaskEXT + VkCommandBuffer commandBuffer + uint32_t firstAttachment + uint32_t attachmentCount + const VkColorComponentFlags* pColorWriteMasks + + + void vkCmdSetRasterizationStreamEXT + VkCommandBuffer commandBuffer + uint32_t rasterizationStream + + + void vkCmdSetConservativeRasterizationModeEXT + VkCommandBuffer commandBuffer + VkConservativeRasterizationModeEXT conservativeRasterizationMode + + + void vkCmdSetExtraPrimitiveOverestimationSizeEXT + VkCommandBuffer commandBuffer + float extraPrimitiveOverestimationSize + + + void vkCmdSetDepthClipEnableEXT + VkCommandBuffer commandBuffer + VkBool32 depthClipEnable + + + void vkCmdSetSampleLocationsEnableEXT + VkCommandBuffer commandBuffer + VkBool32 sampleLocationsEnable + + + void vkCmdSetColorBlendAdvancedEXT + VkCommandBuffer commandBuffer + uint32_t firstAttachment + uint32_t attachmentCount + const VkColorBlendAdvancedEXT* pColorBlendAdvanced + + + void vkCmdSetProvokingVertexModeEXT + VkCommandBuffer commandBuffer + VkProvokingVertexModeEXT provokingVertexMode + + + void vkCmdSetLineRasterizationModeEXT + VkCommandBuffer commandBuffer + VkLineRasterizationModeEXT lineRasterizationMode + + + void vkCmdSetLineStippleEnableEXT + VkCommandBuffer commandBuffer + VkBool32 stippledLineEnable + + + void vkCmdSetDepthClipNegativeOneToOneEXT + VkCommandBuffer commandBuffer + VkBool32 negativeOneToOne + + + void vkCmdSetViewportWScalingEnableNV + VkCommandBuffer commandBuffer + VkBool32 viewportWScalingEnable + + + void vkCmdSetViewportSwizzleNV + VkCommandBuffer commandBuffer + uint32_t firstViewport + uint32_t viewportCount + const VkViewportSwizzleNV* pViewportSwizzles + + + void vkCmdSetCoverageToColorEnableNV + VkCommandBuffer commandBuffer + VkBool32 coverageToColorEnable + + + void vkCmdSetCoverageToColorLocationNV + VkCommandBuffer commandBuffer + uint32_t coverageToColorLocation + + + void vkCmdSetCoverageModulationModeNV + VkCommandBuffer commandBuffer + VkCoverageModulationModeNV coverageModulationMode + + + void vkCmdSetCoverageModulationTableEnableNV + VkCommandBuffer commandBuffer + VkBool32 coverageModulationTableEnable + + + void vkCmdSetCoverageModulationTableNV + VkCommandBuffer commandBuffer + uint32_t coverageModulationTableCount + const float* pCoverageModulationTable + + + void vkCmdSetShadingRateImageEnableNV + VkCommandBuffer commandBuffer + VkBool32 shadingRateImageEnable + + + void vkCmdSetCoverageReductionModeNV + VkCommandBuffer commandBuffer + VkCoverageReductionModeNV coverageReductionMode + + + void vkCmdSetRepresentativeFragmentTestEnableNV + VkCommandBuffer commandBuffer + VkBool32 representativeFragmentTestEnable + + + VkResult vkCreatePrivateDataSlot + VkDevice device + const VkPrivateDataSlotCreateInfo* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkPrivateDataSlot* pPrivateDataSlot + + + + void vkDestroyPrivateDataSlot + VkDevice device + VkPrivateDataSlot privateDataSlot + const VkAllocationCallbacks* pAllocator + + + + VkResult vkSetPrivateData + VkDevice device + VkObjectType objectType + uint64_t objectHandle + VkPrivateDataSlot privateDataSlot + uint64_t data + + + + void vkGetPrivateData + VkDevice device + VkObjectType objectType + uint64_t objectHandle + VkPrivateDataSlot privateDataSlot + uint64_t* pData + + + + void vkCmdCopyBuffer2 + VkCommandBuffer commandBuffer + const VkCopyBufferInfo2* pCopyBufferInfo + + + + void vkCmdCopyImage2 + VkCommandBuffer commandBuffer + const VkCopyImageInfo2* pCopyImageInfo + + + + void vkCmdBlitImage2 + VkCommandBuffer commandBuffer + const VkBlitImageInfo2* pBlitImageInfo + + + + void vkCmdCopyBufferToImage2 + VkCommandBuffer commandBuffer + const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo + + + + void vkCmdCopyImageToBuffer2 + VkCommandBuffer commandBuffer + const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo + + + + void vkCmdResolveImage2 + VkCommandBuffer commandBuffer + const VkResolveImageInfo2* pResolveImageInfo + + + + void vkCmdRefreshObjectsKHR + VkCommandBuffer commandBuffer + const VkRefreshObjectListKHR* pRefreshObjects + + + VkResult vkGetPhysicalDeviceRefreshableObjectTypesKHR + VkPhysicalDevice physicalDevice + uint32_t* pRefreshableObjectTypeCount + VkObjectType* pRefreshableObjectTypes + + + void vkCmdSetFragmentShadingRateKHR + VkCommandBuffer commandBuffer + const VkExtent2D* pFragmentSize + const VkFragmentShadingRateCombinerOpKHR combinerOps[2] + + + VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR + VkPhysicalDevice physicalDevice + uint32_t* pFragmentShadingRateCount + VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates + + + void vkCmdSetFragmentShadingRateEnumNV + VkCommandBuffer commandBuffer + VkFragmentShadingRateNV shadingRate + const VkFragmentShadingRateCombinerOpKHR combinerOps[2] + + + void vkGetAccelerationStructureBuildSizesKHR + VkDevice device + VkAccelerationStructureBuildTypeKHR buildType + const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo + const uint32_t* pMaxPrimitiveCounts + VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo + + + void vkCmdSetVertexInputEXT + VkCommandBuffer commandBuffer + uint32_t vertexBindingDescriptionCount + const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions + uint32_t vertexAttributeDescriptionCount + const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions + + + void vkCmdSetColorWriteEnableEXT + VkCommandBuffer commandBuffer + uint32_t attachmentCount + const VkBool32* pColorWriteEnables + + + void vkCmdSetEvent2 + VkCommandBuffer commandBuffer + VkEvent event + const VkDependencyInfo* pDependencyInfo + + + + void vkCmdResetEvent2 + VkCommandBuffer commandBuffer + VkEvent event + VkPipelineStageFlags2 stageMask + + + + void vkCmdWaitEvents2 + VkCommandBuffer commandBuffer + uint32_t eventCount + const VkEvent* pEvents + const VkDependencyInfo* pDependencyInfos + + + + void vkCmdPipelineBarrier2 + VkCommandBuffer commandBuffer + const VkDependencyInfo* pDependencyInfo + + + + VkResult vkQueueSubmit2 + VkQueue queue + uint32_t submitCount + const VkSubmitInfo2* pSubmits + VkFence fence + + + + void vkCmdWriteTimestamp2 + VkCommandBuffer commandBuffer + VkPipelineStageFlags2 stage + VkQueryPool queryPool + uint32_t query + + + + void vkCmdWriteBufferMarker2AMD + VkCommandBuffer commandBuffer + VkPipelineStageFlags2 stage + VkBuffer dstBuffer + VkDeviceSize dstOffset + uint32_t marker + + + void vkGetQueueCheckpointData2NV + VkQueue queue + uint32_t* pCheckpointDataCount + VkCheckpointData2NV* pCheckpointData + + + VkResult vkCopyMemoryToImageEXT + VkDevice device + const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo + + + VkResult vkCopyImageToMemoryEXT + VkDevice device + const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo + + + VkResult vkCopyImageToImageEXT + VkDevice device + const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo + + + VkResult vkTransitionImageLayoutEXT + VkDevice device + uint32_t transitionCount + const VkHostImageLayoutTransitionInfoEXT* pTransitions + + + void vkGetCommandPoolMemoryConsumption + VkDevice device + VkCommandPool commandPool + VkCommandBuffer commandBuffer + VkCommandPoolMemoryConsumption* pConsumption + + + VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR + VkPhysicalDevice physicalDevice + const VkVideoProfileInfoKHR* pVideoProfile + VkVideoCapabilitiesKHR* pCapabilities + + + VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR + VkPhysicalDevice physicalDevice + const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo + uint32_t* pVideoFormatPropertyCount + VkVideoFormatPropertiesKHR* pVideoFormatProperties + + + VkResult vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR + VkPhysicalDevice physicalDevice + const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo + VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties + + + VkResult vkCreateVideoSessionKHR + VkDevice device + const VkVideoSessionCreateInfoKHR* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkVideoSessionKHR* pVideoSession + + + void vkDestroyVideoSessionKHR + VkDevice device + VkVideoSessionKHR videoSession + const VkAllocationCallbacks* pAllocator + + + VkResult vkCreateVideoSessionParametersKHR + VkDevice device + const VkVideoSessionParametersCreateInfoKHR* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkVideoSessionParametersKHR* pVideoSessionParameters + + + VkResult vkUpdateVideoSessionParametersKHR + VkDevice device + VkVideoSessionParametersKHR videoSessionParameters + const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo + + + VkResult vkGetEncodedVideoSessionParametersKHR + VkDevice device + const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo + VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo + size_t* pDataSize + void* pData + + + void vkDestroyVideoSessionParametersKHR + VkDevice device + VkVideoSessionParametersKHR videoSessionParameters + const VkAllocationCallbacks* pAllocator + + + VkResult vkGetVideoSessionMemoryRequirementsKHR + VkDevice device + VkVideoSessionKHR videoSession + uint32_t* pMemoryRequirementsCount + VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements + + + VkResult vkBindVideoSessionMemoryKHR + VkDevice device + VkVideoSessionKHR videoSession + uint32_t bindSessionMemoryInfoCount + const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos + + + void vkCmdDecodeVideoKHR + VkCommandBuffer commandBuffer + const VkVideoDecodeInfoKHR* pDecodeInfo + + + void vkCmdBeginVideoCodingKHR + VkCommandBuffer commandBuffer + const VkVideoBeginCodingInfoKHR* pBeginInfo + + + void vkCmdControlVideoCodingKHR + VkCommandBuffer commandBuffer + const VkVideoCodingControlInfoKHR* pCodingControlInfo + + + void vkCmdEndVideoCodingKHR + VkCommandBuffer commandBuffer + const VkVideoEndCodingInfoKHR* pEndCodingInfo + + + void vkCmdEncodeVideoKHR + VkCommandBuffer commandBuffer + const VkVideoEncodeInfoKHR* pEncodeInfo + + + void vkCmdDecompressMemoryNV + VkCommandBuffer commandBuffer + uint32_t decompressRegionCount + const VkDecompressMemoryRegionNV* pDecompressMemoryRegions + + + void vkCmdDecompressMemoryIndirectCountNV + VkCommandBuffer commandBuffer + VkDeviceAddress indirectCommandsAddress + VkDeviceAddress indirectCommandsCountAddress + uint32_t stride + + + VkResult vkCreateCuModuleNVX + VkDevice device + const VkCuModuleCreateInfoNVX* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkCuModuleNVX* pModule + + + VkResult vkCreateCuFunctionNVX + VkDevice device + const VkCuFunctionCreateInfoNVX* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkCuFunctionNVX* pFunction + + + void vkDestroyCuModuleNVX + VkDevice device + VkCuModuleNVX module + const VkAllocationCallbacks* pAllocator + + + void vkDestroyCuFunctionNVX + VkDevice device + VkCuFunctionNVX function + const VkAllocationCallbacks* pAllocator + + + void vkCmdCuLaunchKernelNVX + VkCommandBuffer commandBuffer + const VkCuLaunchInfoNVX* pLaunchInfo + + + void vkGetDescriptorSetLayoutSizeEXT + VkDevice device + VkDescriptorSetLayout layout + VkDeviceSize* pLayoutSizeInBytes + + + void vkGetDescriptorSetLayoutBindingOffsetEXT + VkDevice device + VkDescriptorSetLayout layout + uint32_t binding + VkDeviceSize* pOffset + + + void vkGetDescriptorEXT + VkDevice device + const VkDescriptorGetInfoEXT* pDescriptorInfo + size_t dataSize + void* pDescriptor + + + void vkCmdBindDescriptorBuffersEXT + VkCommandBuffer commandBuffer + uint32_t bufferCount + const VkDescriptorBufferBindingInfoEXT* pBindingInfos + + + void vkCmdSetDescriptorBufferOffsetsEXT + VkCommandBuffer commandBuffer + VkPipelineBindPoint pipelineBindPoint + VkPipelineLayout layout + uint32_t firstSet + uint32_t setCount + const uint32_t* pBufferIndices + const VkDeviceSize* pOffsets + + + void vkCmdBindDescriptorBufferEmbeddedSamplersEXT + VkCommandBuffer commandBuffer + VkPipelineBindPoint pipelineBindPoint + VkPipelineLayout layout + uint32_t set + + + VkResult vkGetBufferOpaqueCaptureDescriptorDataEXT + VkDevice device + const VkBufferCaptureDescriptorDataInfoEXT* pInfo + void* pData + + + VkResult vkGetImageOpaqueCaptureDescriptorDataEXT + VkDevice device + const VkImageCaptureDescriptorDataInfoEXT* pInfo + void* pData + + + VkResult vkGetImageViewOpaqueCaptureDescriptorDataEXT + VkDevice device + const VkImageViewCaptureDescriptorDataInfoEXT* pInfo + void* pData + + + VkResult vkGetSamplerOpaqueCaptureDescriptorDataEXT + VkDevice device + const VkSamplerCaptureDescriptorDataInfoEXT* pInfo + void* pData + + + VkResult vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT + VkDevice device + const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo + void* pData + + + void vkSetDeviceMemoryPriorityEXT + VkDevice device + VkDeviceMemory memory + float priority + + + VkResult vkAcquireDrmDisplayEXT + VkPhysicalDevice physicalDevice + int32_t drmFd + VkDisplayKHR display + + + VkResult vkGetDrmDisplayEXT + VkPhysicalDevice physicalDevice + int32_t drmFd + uint32_t connectorId + VkDisplayKHR* display + + + VkResult vkWaitForPresentKHR + VkDevice device + VkSwapchainKHR swapchain + uint64_t presentId + uint64_t timeout + + + VkResult vkCreateBufferCollectionFUCHSIA + VkDevice device + const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkBufferCollectionFUCHSIA* pCollection + + + VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA + VkDevice device + VkBufferCollectionFUCHSIA collection + const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo + + + VkResult vkSetBufferCollectionImageConstraintsFUCHSIA + VkDevice device + VkBufferCollectionFUCHSIA collection + const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo + + + void vkDestroyBufferCollectionFUCHSIA + VkDevice device + VkBufferCollectionFUCHSIA collection + const VkAllocationCallbacks* pAllocator + + + VkResult vkGetBufferCollectionPropertiesFUCHSIA + VkDevice device + VkBufferCollectionFUCHSIA collection + VkBufferCollectionPropertiesFUCHSIA* pProperties + + + VkResult vkCreateCudaModuleNV + VkDevice device + const VkCudaModuleCreateInfoNV* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkCudaModuleNV* pModule + + + VkResult vkGetCudaModuleCacheNV + VkDevice device + VkCudaModuleNV module + size_t* pCacheSize + void* pCacheData + + + VkResult vkCreateCudaFunctionNV + VkDevice device + const VkCudaFunctionCreateInfoNV* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkCudaFunctionNV* pFunction + + + void vkDestroyCudaModuleNV + VkDevice device + VkCudaModuleNV module + const VkAllocationCallbacks* pAllocator + + + void vkDestroyCudaFunctionNV + VkDevice device + VkCudaFunctionNV function + const VkAllocationCallbacks* pAllocator + + + void vkCmdCudaLaunchKernelNV + VkCommandBuffer commandBuffer + const VkCudaLaunchInfoNV* pLaunchInfo + + + void vkCmdBeginRendering + VkCommandBuffer commandBuffer + const VkRenderingInfo* pRenderingInfo + + + + void vkCmdEndRendering + VkCommandBuffer commandBuffer + + + + + void vkGetDescriptorSetLayoutHostMappingInfoVALVE + VkDevice device + const VkDescriptorSetBindingReferenceVALVE* pBindingReference + VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping + + + void vkGetDescriptorSetHostMappingVALVE + VkDevice device + VkDescriptorSet descriptorSet + void** ppData + + + VkResult vkCreateMicromapEXT + VkDevice device + const VkMicromapCreateInfoEXT* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkMicromapEXT* pMicromap + + + void vkCmdBuildMicromapsEXT + VkCommandBuffer commandBuffer + uint32_t infoCount + const VkMicromapBuildInfoEXT* pInfos + + + VkResult vkBuildMicromapsEXT + VkDevice device + VkDeferredOperationKHR deferredOperation + uint32_t infoCount + const VkMicromapBuildInfoEXT* pInfos + + + void vkDestroyMicromapEXT + VkDevice device + VkMicromapEXT micromap + const VkAllocationCallbacks* pAllocator + + + void vkCmdCopyMicromapEXT + VkCommandBuffer commandBuffer + const VkCopyMicromapInfoEXT* pInfo + + + VkResult vkCopyMicromapEXT + VkDevice device + VkDeferredOperationKHR deferredOperation + const VkCopyMicromapInfoEXT* pInfo + + + void vkCmdCopyMicromapToMemoryEXT + VkCommandBuffer commandBuffer + const VkCopyMicromapToMemoryInfoEXT* pInfo + + + VkResult vkCopyMicromapToMemoryEXT + VkDevice device + VkDeferredOperationKHR deferredOperation + const VkCopyMicromapToMemoryInfoEXT* pInfo + + + void vkCmdCopyMemoryToMicromapEXT + VkCommandBuffer commandBuffer + const VkCopyMemoryToMicromapInfoEXT* pInfo + + + VkResult vkCopyMemoryToMicromapEXT + VkDevice device + VkDeferredOperationKHR deferredOperation + const VkCopyMemoryToMicromapInfoEXT* pInfo + + + void vkCmdWriteMicromapsPropertiesEXT + VkCommandBuffer commandBuffer + uint32_t micromapCount + const VkMicromapEXT* pMicromaps + VkQueryType queryType + VkQueryPool queryPool + uint32_t firstQuery + + + VkResult vkWriteMicromapsPropertiesEXT + VkDevice device + uint32_t micromapCount + const VkMicromapEXT* pMicromaps + VkQueryType queryType + size_t dataSize + void* pData + size_t stride + + + void vkGetDeviceMicromapCompatibilityEXT + VkDevice device + const VkMicromapVersionInfoEXT* pVersionInfo + VkAccelerationStructureCompatibilityKHR* pCompatibility + + + void vkGetMicromapBuildSizesEXT + VkDevice device + VkAccelerationStructureBuildTypeKHR buildType + const VkMicromapBuildInfoEXT* pBuildInfo + VkMicromapBuildSizesInfoEXT* pSizeInfo + + + void vkGetShaderModuleIdentifierEXT + VkDevice device + VkShaderModule shaderModule + VkShaderModuleIdentifierEXT* pIdentifier + + + void vkGetShaderModuleCreateInfoIdentifierEXT + VkDevice device + const VkShaderModuleCreateInfo* pCreateInfo + VkShaderModuleIdentifierEXT* pIdentifier + + + void vkGetImageSubresourceLayout2KHR + VkDevice device + VkImage image + const VkImageSubresource2KHR* pSubresource + VkSubresourceLayout2KHR* pLayout + + + + VkResult vkGetPipelinePropertiesEXT + VkDevice device + const VkPipelineInfoEXT* pPipelineInfo + VkBaseOutStructure* pPipelineProperties + + + void vkExportMetalObjectsEXT + VkDevice device + VkExportMetalObjectsInfoEXT* pMetalObjectsInfo + + + VkResult vkGetFramebufferTilePropertiesQCOM + VkDevice device + VkFramebuffer framebuffer + uint32_t* pPropertiesCount + VkTilePropertiesQCOM* pProperties + + + VkResult vkGetDynamicRenderingTilePropertiesQCOM + VkDevice device + const VkRenderingInfo* pRenderingInfo + VkTilePropertiesQCOM* pProperties + + + VkResult vkGetPhysicalDeviceOpticalFlowImageFormatsNV + VkPhysicalDevice physicalDevice + const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo + uint32_t* pFormatCount + VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties + + + VkResult vkCreateOpticalFlowSessionNV + VkDevice device + const VkOpticalFlowSessionCreateInfoNV* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkOpticalFlowSessionNV* pSession + + + void vkDestroyOpticalFlowSessionNV + VkDevice device + VkOpticalFlowSessionNV session + const VkAllocationCallbacks* pAllocator + + + VkResult vkBindOpticalFlowSessionImageNV + VkDevice device + VkOpticalFlowSessionNV session + VkOpticalFlowSessionBindingPointNV bindingPoint + VkImageView view + VkImageLayout layout + + + void vkCmdOpticalFlowExecuteNV + VkCommandBuffer commandBuffer + VkOpticalFlowSessionNV session + const VkOpticalFlowExecuteInfoNV* pExecuteInfo + + + VkResult vkGetDeviceFaultInfoEXT + VkDevice device + VkDeviceFaultCountsEXT* pFaultCounts + VkDeviceFaultInfoEXT* pFaultInfo + + + void vkCmdSetDepthBias2EXT + VkCommandBuffer commandBuffer + const VkDepthBiasInfoEXT* pDepthBiasInfo + + + VkResult vkReleaseSwapchainImagesEXT + VkDevice device + const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo + + + void vkGetDeviceImageSubresourceLayoutKHR + VkDevice device + const VkDeviceImageSubresourceInfoKHR* pInfo + VkSubresourceLayout2KHR* pLayout + + + VkResult vkMapMemory2KHR + VkDevice device + const VkMemoryMapInfoKHR* pMemoryMapInfo + void** ppData + + + VkResult vkUnmapMemory2KHR + VkDevice device + const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo + + + VkResult vkCreateShadersEXT + VkDevice device + uint32_t createInfoCount + const VkShaderCreateInfoEXT* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkShaderEXT* pShaders + + + void vkDestroyShaderEXT + VkDevice device + VkShaderEXT shader + const VkAllocationCallbacks* pAllocator + + + VkResult vkGetShaderBinaryDataEXT + VkDevice device + VkShaderEXT shader + size_t* pDataSize + void* pData + + + void vkCmdBindShadersEXT + VkCommandBuffer commandBuffer + uint32_t stageCount + const VkShaderStageFlagBits* pStages + const VkShaderEXT* pShaders + + + VkResult vkGetScreenBufferPropertiesQNX + VkDevice device + const struct _screen_buffer* buffer + VkScreenBufferPropertiesQNX* pProperties + + + VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR + VkPhysicalDevice physicalDevice + uint32_t* pPropertyCount + VkCooperativeMatrixPropertiesKHR* pProperties + + + VkResult vkGetExecutionGraphPipelineScratchSizeAMDX + VkDevice device + VkPipeline executionGraph + VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo + + + VkResult vkGetExecutionGraphPipelineNodeIndexAMDX + VkDevice device + VkPipeline executionGraph + const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo + uint32_t* pNodeIndex + + + VkResult vkCreateExecutionGraphPipelinesAMDX + VkDevice device + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + + + void vkCmdInitializeGraphScratchMemoryAMDX + VkCommandBuffer commandBuffer + VkDeviceAddress scratch + + + void vkCmdDispatchGraphAMDX + VkCommandBuffer commandBuffer + VkDeviceAddress scratch + const VkDispatchGraphCountInfoAMDX* pCountInfo + + + void vkCmdDispatchGraphIndirectAMDX + VkCommandBuffer commandBuffer + VkDeviceAddress scratch + const VkDispatchGraphCountInfoAMDX* pCountInfo + + + void vkCmdDispatchGraphIndirectCountAMDX + VkCommandBuffer commandBuffer + VkDeviceAddress scratch + VkDeviceAddress countInfo + + + void vkCmdBindDescriptorSets2KHR + VkCommandBuffer commandBuffer + const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo + + + void vkCmdPushConstants2KHR + VkCommandBuffer commandBuffer + const VkPushConstantsInfoKHR* pPushConstantsInfo + + + void vkCmdPushDescriptorSet2KHR + VkCommandBuffer commandBuffer + const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo + + + void vkCmdPushDescriptorSetWithTemplate2KHR + VkCommandBuffer commandBuffer + const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo + + + void vkCmdSetDescriptorBufferOffsets2EXT + VkCommandBuffer commandBuffer + const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo + + + void vkCmdBindDescriptorBufferEmbeddedSamplers2EXT + VkCommandBuffer commandBuffer + const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo + + + VkResult vkSetLatencySleepModeNV + VkDevice device + VkSwapchainKHR swapchain + const VkLatencySleepModeInfoNV* pSleepModeInfo + + + VkResult vkLatencySleepNV + VkDevice device + VkSwapchainKHR swapchain + const VkLatencySleepInfoNV* pSleepInfo + + + void vkSetLatencyMarkerNV + VkDevice device + VkSwapchainKHR swapchain + const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo + + + void vkGetLatencyTimingsNV + VkDevice device + VkSwapchainKHR swapchain + VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo + + + void vkQueueNotifyOutOfBandNV + VkQueue queue + const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo + + + void vkCmdSetRenderingAttachmentLocationsKHR + VkCommandBuffer commandBuffer + const VkRenderingAttachmentLocationInfoKHR* pLocationInfo + + + void vkCmdSetRenderingInputAttachmentIndicesKHR + VkCommandBuffer commandBuffer + const VkRenderingInputAttachmentIndexInfoKHR* pLocationInfo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + @@ -8102,17 +15575,38 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + @@ -8120,10 +15614,17 @@ typedef void CAMetalLayer; + + + + + + + @@ -8131,51 +15632,167 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8186,6 +15803,29 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + @@ -8193,11 +15833,28 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + @@ -8205,6 +15862,22 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + @@ -8241,29 +15914,17 @@ typedef void CAMetalLayer; - - - - - - - - - - - - - - - - - - - - + + + + + + + + - + @@ -8347,7 +16008,6 @@ typedef void CAMetalLayer; - @@ -8418,17 +16078,18 @@ typedef void CAMetalLayer; - + - + + @@ -8590,3363 +16251,10763 @@ typedef void CAMetalLayer; - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This duplicates definitions in VK_KHR_device_group below + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VK_ANDROID_native_buffer is used between the Android Vulkan loader and drivers to implement the WSI extensions. It is not exposed to applications and uses types that are not part of Android's stable public API, so it is left disabled to keep it out of the standard Vulkan headers. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This duplicates definitions in other extensions, below + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enum offset=0 was mistakenly used for the 1.1 core enum + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES + (value=1000094000). Fortunately, no conflict resulted. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + - + - - - - - - - - - - - - - + + - - This duplicates definitions in VK_KHR_device_group below - - - - - - - - - - - - - - - - - - - - + + + + + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - - - - - - + + + + + + + + - + - - - - - - - + + + - + - - - - - - - + + + + + + + + + + + + + - + - - - - - - - + + + - - + - - + + + + - + - - - - - - - + + + + + + + + + + + + + + - + - - - - - - - + + + + - + - VK_ANDROID_native_buffer is used between the Android Vulkan loader and drivers to implement the WSI extensions. It isn't exposed to applications and uses types that aren't part of Android's stable public API, so it is left disabled to keep it out of the standard Vulkan headers. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - This duplicates definitions in other extensions, below - - + + + + - + - - - + + + + - + - - + + + + + + + + - + - - - - + + + + + + - + - - - - + + + + - + - - + + - + - - + + + + + + + - + - - - - - + + + + + + + + + + + + + + + + + - - - - - + + - + - - + + - + - - + + + - + - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - + - - + + + + - + - - - - - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - + + + + + + - + - - - - - + + - + - - + + - + - - + + + + + + + + + + + - + - - - - + + - + - - + + + + - + - - + + + + - + - - + + - + - - + + + + - + - - + + + + + + - + - - + + + + - + - - + + + + - + - - - - + + + + + + + + + + + + - + - - - - - - + + + - + - - + + - + - - + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + + + + + + - + - - + + + + - + - - + + + + + + - + - - + + + + + - + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - + + + + + + + + + + + - + - - - - + + + + - + - - + + + + - + - - - - - - - - - + + + + - + - - - - - - - - - - + + + + + + + + + - + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - - - - - - + + + + + + - + - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - + - - - - + + + + + - + - - - - - - + + - + - - + + - + - - + + - + - - + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - + + This extension requires buffer_device_address functionality. + VK_EXT_buffer_device_address is also acceptable, but since it is deprecated the KHR version is preferred. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - + - - - - - - - - - - + + + + + + + - + - - - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - + + + + + + + + + + + - + - - - - + + + + - + - - - - - - - - - - - - - - - - - - - - + + + + + + - + - - - - - - - + + + + + + + + + + - + - - - - - - - - - - - - + + These enums are present only to inform downstream + consumers like KTX2. There is no actual Vulkan extension + corresponding to the enums. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - + + - + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - - - - + + - + - - - - - - + + + + + + + + - + - - - - + + - + - - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - - - - - - - + + + + + + + + + + - - - - - + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - + + + + + + + + - + - - - - - - - - - - - - - - - - - + + + - + - - - - - - - - - + + - + + + + + - + - - - - enum offset=0 was mistakenly used for the 1.1 core enum - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES - (value=1000094000). Fortunately, no conflict resulted. - + + - + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - + + + + + + + + + + + - + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - + + - + - - - - - - - + + VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT and + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT + were not promoted to Vulkan 1.3. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VkPhysicalDevice4444FormatsFeaturesEXT and + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT + were not promoted to Vulkan 1.3. + + + + + + + - + - - + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + - + - - - - - - + + - + + + + + + + + + - - + + + + - + - - + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - + + - + - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - + - - - - - - - + + + + + + - + - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - + + - + - - + + - + - - - - - - - - - - + + + + + + - + - - - - - - + + - + - - - - - - - - - - - - - - - - + + - + - - - - - - + + - + - - - - - - + + + + + + + + + + + - + - - + + + + + + + + + - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + + + + + - + - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - + + + + + + + + - + - - - - - - - - + + + + + - + - - + + - + - - + + - + - - + + - + - - + + + + + + + + + + + + + + + + + - + - - + + - + - - + + + + + + + - + - - + + - + - - - - - - - - - - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + + + + + - + - - + + - + - - + + - + - - - - - - - - - - - - - - - - - - - + + + + - + - - + + - + + + + + - + - - - - - - - - - - - - - - - + + - + - - - - + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + - - - - - + + - + - - - - - - - - + + - + - - + + + + + + - + - - - - - - + + + + + - + - - - + + + + + + + + + + + + + + - + - - - - - - + + - + - - + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - + + + + + + + + + + + + + - + - - - - - - - - - + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - - + + + + + + + + + + - + - - - - - - - - - - - - - - + + + + - + - - - - - - - - - - - - - - - + + + + + - + - - + + - + - - + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - + - - - - - - + + + + + + + + + + + - + - - + + + + + + + + + + + + + + + - + - - - - - - - + + + + - + - - - - + + + + + + + - + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - - - - - + + + - + - - - - + + - + - - + + + - + - - - - + + - + - - - - - - - - - - - - - + + - + - - - + + - + - - - - + + - + - - - - + + - + - - + + + + + + + + - + - - - - - - + + + + + + + - + - - - - - - - + + + + - + - - - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NV internal use only + + + + + + + + + + + + + + + + + + + + + + + + + + + NV internal use only + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - - - - + + - + - - - - - - - - - + + - + - - - - + + - + - - - - - - - + + - + - - + + - + - - + + + - + - - + + - + - - - - - - - - + + - + - - - - - + + + + + - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - + + + + + + + + + + + - + - - - + + + + + + - + - - - - + + - + - - - - - - - - - - - - - - + + - + - - - - + + + + - + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - + + + + + + + - + - - - - - - - - + + + - + - - - - - - - - - - - - - - - - - - - - + + + + + + - + - - + + - + - - - - + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - + - - - - + + + + + + - + - - - - + + + + + + - + - - - - - - - - + + + + - + - - - - - - + + + + + + + + + + - + - - + + - + - - + + - + - - - - - - + + - + - - - - - - - - - - - - - - - - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + + + + + + + + + - + - - - - + + + + + + + - + - - + + - + - - + + - + - - + + + + + + - + - - - - - - - - - - + + - + - - + + + + + + + + + + + + + + - + - - - - - - + + - + - - + + - + - - - - - - + + + + + + + + + - + - - + + + + + - + - - + + - + - - + + + + + + + + + - + - - + + + + + + + + + - + - - + + + + + + - + - - + + + + + - + - - + + - + - - - - + + - + - - - - - - + + + + + + - + - - - - + + + + + + + + + - + - - - - + + + + - + - - - - - - - - - - - - + + - + - - + + + + - + - - + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - + + + + + - + - - - - - - - + + - - + + + + + - - + + + + + + + + - - - + + + + + + + + + + + + + + - + - - - - + + - + - - - - + + - + - - + + - + - - - - - - - - - - - + + - + - - - - - - - - - - - + + - + - - - - + + - + - - - - + + - + - - - - + + - + - - + + + + + + + - + - - - - - - - - - - - + + + + - - - + + + + + + + + + + + + + + + + + - - + + + + + + + - - + + + + + + + + + - + - - - - - - + + + + + + - + - - - - - - - - - - - - - - - - - - - - + + - + - - + + - + - - - - - - - - - - - + + - + - - + + + + + - + - - - - - + + - + - - + + - + - - + + + + + + + + + + + + - + - - + + - + - - - - - + + + + - + - - + + - + - - + + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - + + - + - - + + - + - - + + - + - - + + - + - - + + + + - + - - + + + + - + - - + + - + - - - - + + - + - - + + - + - - + + + + - + - - + + - + - - + + - + - - - - - - + + - + - - - + + + + - + - - + + - + - - + + - + - - + + + + + + + + - + - - + + + - + - - + + - + - - + + + + - + - - + + - + - - - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + + - + - - - + + - + - - - - - - + + - + - - + + - + - - + + + - + - - + + - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Fragment shader stage is added by the VK_EXT_shader_tile_image extension + + + + + + + Fragment shader stage is added by the VK_EXT_shader_tile_image extension + + + + + + + + + + + + + + + + + + + TODO/Suggestion. Introduce 'synclist' (could be a different name) element + that specifies the list of stages, accesses, etc. This list can be used by + 'syncaccess' or 'syncstage' elements. For example, 'syncsupport' in addition to the + 'stage' attribute can support 'list' attribute to reference 'synclist'. + We can have the lists defined for ALL stages and it can be shared between MEMORY_READ + and MEMORY_WRITE accesses. Similarly, ALL shader stages list is often used. This proposal + is a way to fix duplication problem. When new stage is added multiple places needs to be + updated. It is potential source of bugs. The expectation such setup will produce more + robust system and also more simple structure to review and validate. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT + VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT + VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT + VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT + VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT + VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT + VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT + VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT + VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR + VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT + VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT + VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT + VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT + VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT + VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT + + + VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT + VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT + VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT + VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR + VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT + VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT + VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT + VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT + VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT + VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT + + + VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT + VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT + VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT + + + VK_PIPELINE_STAGE_2_TRANSFER_BIT + + + VK_PIPELINE_STAGE_2_HOST_BIT + + + VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI + + + VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV + + + VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR + + + VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR + + + VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT + + + VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT + VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR + + + VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR + + + VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR + + + VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV + + + diff --git a/vk.zig b/vk.zig index d0938c0..55d2d6d 100644 --- a/vk.zig +++ b/vk.zig @@ -52,6 +52,7 @@ fn FlagFormatMixin(comptime FlagsType: type) type { ) !void { try writer.writeAll(@typeName(FlagsType) ++ "{"); var first = true; + @setEvalBranchQuota(10_000); inline for (comptime std.meta.fieldNames(FlagsType)) |name| { if (name[0] == '_') continue; if (@field(self, name)) { @@ -83,6 +84,13 @@ pub fn apiVersionMinor(version: u32) u10 { pub fn apiVersionPatch(version: u32) u12 { return @truncate(version); } +pub const ApiInfo = struct { + name: [:0]const u8 = "custom", + version: u32 = makeApiVersion(0, 0, 0, 0), + base_commands: BaseCommandFlags = .{}, + instance_commands: InstanceCommandFlags = .{}, + device_commands: DeviceCommandFlags = .{}, +}; pub const MAX_PHYSICAL_DEVICE_NAME_SIZE = 256; pub const UUID_SIZE = 16; pub const LUID_SIZE = 8; @@ -94,21 +102,37 @@ pub const MAX_MEMORY_HEAPS = 16; pub const LOD_CLAMP_NONE = @as(f32, 1000.0); pub const REMAINING_MIP_LEVELS = ~@as(u32, 0); pub const REMAINING_ARRAY_LAYERS = ~@as(u32, 0); +pub const REMAINING_3D_SLICES_EXT = ~@as(u32, 0); pub const WHOLE_SIZE = ~@as(u64, 0); pub const ATTACHMENT_UNUSED = ~@as(u32, 0); pub const TRUE = 1; pub const FALSE = 0; pub const QUEUE_FAMILY_IGNORED = ~@as(u32, 0); -pub const QUEUE_FAMILY_EXTERNAL = ~@as(u32, 0) - 1; +pub const QUEUE_FAMILY_EXTERNAL = ~@as(u32, 1); pub const QUEUE_FAMILY_EXTERNAL_KHR = QUEUE_FAMILY_EXTERNAL; -pub const QUEUE_FAMILY_FOREIGN_EXT = ~@as(u32, 0) - 2; +pub const QUEUE_FAMILY_FOREIGN_EXT = ~@as(u32, 2); pub const SUBPASS_EXTERNAL = ~@as(u32, 0); pub const MAX_DEVICE_GROUP_SIZE = 32; pub const MAX_DEVICE_GROUP_SIZE_KHR = MAX_DEVICE_GROUP_SIZE; -pub const MAX_DRIVER_NAME_SIZE_KHR = 256; -pub const MAX_DRIVER_INFO_SIZE_KHR = 256; -pub const SHADER_UNUSED_NV = ~@as(u32, 0); -pub const HEADER_VERSION = 130; +pub const MAX_DRIVER_NAME_SIZE = 256; +pub const MAX_DRIVER_NAME_SIZE_KHR = MAX_DRIVER_NAME_SIZE; +pub const MAX_DRIVER_INFO_SIZE = 256; +pub const MAX_DRIVER_INFO_SIZE_KHR = MAX_DRIVER_INFO_SIZE; +pub const SHADER_UNUSED_KHR = ~@as(u32, 0); +pub const SHADER_UNUSED_NV = SHADER_UNUSED_KHR; +pub const MAX_GLOBAL_PRIORITY_SIZE_KHR = 16; +pub const MAX_GLOBAL_PRIORITY_SIZE_EXT = MAX_GLOBAL_PRIORITY_SIZE_KHR; +pub const MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT = 32; +pub const MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR = 7; +pub const SHADER_INDEX_UNUSED_AMDX = ~@as(u32, 0); +pub const VKSC_API_VARIANT = 1; +pub const API_VERSION_1_0 = makeApiVersion(0, 1, 0, 0); +pub const API_VERSION_1_1 = makeApiVersion(0, 1, 1, 0); +pub const API_VERSION_1_2 = makeApiVersion(0, 1, 2, 0); +pub const API_VERSION_1_3 = makeApiVersion(0, 1, 3, 0); +pub const VKSC_API_VERSION_1_0 = makeApiVersion(VKSC_API_VARIANT, 1, 0, 0); +pub const HEADER_VERSION = 286; +pub const HEADER_VERSION_COMPLETE = makeApiVersion(0, 1, 3, HEADER_VERSION); pub const Display = if (@hasDecl(root, "Display")) root.Display else opaque {}; pub const VisualID = if (@hasDecl(root, "VisualID")) root.VisualID else c_uint; pub const Window = if (@hasDecl(root, "Window")) root.Window else c_ulong; @@ -125,38 +149,42 @@ pub const LPCWSTR = if (@hasDecl(root, "LPCWSTR")) root.LPCWSTR else std.os.wind pub const xcb_connection_t = if (@hasDecl(root, "xcb_connection_t")) root.xcb_connection_t else opaque {}; pub const xcb_visualid_t = if (@hasDecl(root, "xcb_visualid_t")) root.xcb_visualid_t else u32; pub const xcb_window_t = if (@hasDecl(root, "xcb_window_t")) root.xcb_window_t else u32; +pub const IDirectFB = if (@hasDecl(root, "IDirectFB")) root.IDirectFB else opaque {}; +pub const IDirectFBSurface = if (@hasDecl(root, "IDirectFBSurface")) root.IDirectFBSurface else opaque {}; pub const zx_handle_t = if (@hasDecl(root, "zx_handle_t")) root.zx_handle_t else u32; -pub const GgpStreamDescriptor = if (@hasDecl(root, "GgpStreamDescriptor")) root.GgpStreamDescriptor else @compileError("Missing type definition of 'GgpStreamDescriptor'"); -pub const GgpFrameToken = if (@hasDecl(root, "GgpFrameToken")) root.GgpFrameToken else @compileError("Missing type definition of 'GgpFrameToken'"); +pub const GgpStreamDescriptor = if (@hasDecl(root, "GgpStreamDescriptor")) root.GgpStreamDescriptor else opaque {}; +pub const GgpFrameToken = if (@hasDecl(root, "GgpFrameToken")) root.GgpFrameToken else opaque {}; +pub const _screen_context = if (@hasDecl(root, "_screen_context")) root._screen_context else opaque {}; +pub const _screen_window = if (@hasDecl(root, "_screen_window")) root._screen_window else opaque {}; +pub const _screen_buffer = if (@hasDecl(root, "_screen_buffer")) root._screen_buffer else opaque {}; +pub const NvSciSyncAttrList = if (@hasDecl(root, "NvSciSyncAttrList")) root.NvSciSyncAttrList else opaque {}; +pub const NvSciSyncObj = if (@hasDecl(root, "NvSciSyncObj")) root.NvSciSyncObj else opaque {}; +pub const NvSciSyncFence = if (@hasDecl(root, "NvSciSyncFence")) root.NvSciSyncFence else opaque {}; +pub const NvSciBufAttrList = if (@hasDecl(root, "NvSciBufAttrList")) root.NvSciBufAttrList else opaque {}; +pub const NvSciBufObj = if (@hasDecl(root, "NvSciBufObj")) root.NvSciBufObj else opaque {}; +pub const ANativeWindow = if (@hasDecl(root, "ANativeWindow")) root.ANativeWindow else opaque {}; +pub const AHardwareBuffer = if (@hasDecl(root, "AHardwareBuffer")) root.AHardwareBuffer else opaque {}; +pub const CAMetalLayer = if (@hasDecl(root, "CAMetalLayer")) root.CAMetalLayer else opaque {}; +pub const MTLDevice_id = if (@hasDecl(root, "MTLDevice_id")) root.MTLDevice_id else opaque {}; +pub const MTLCommandQueue_id = if (@hasDecl(root, "MTLCommandQueue_id")) root.MTLCommandQueue_id else opaque {}; +pub const MTLBuffer_id = if (@hasDecl(root, "MTLBuffer_id")) root.MTLBuffer_id else opaque {}; +pub const MTLTexture_id = if (@hasDecl(root, "MTLTexture_id")) root.MTLTexture_id else opaque {}; +pub const MTLSharedEvent_id = if (@hasDecl(root, "MTLSharedEvent_id")) root.MTLSharedEvent_id else opaque {}; +pub const IOSurfaceRef = if (@hasDecl(root, "IOSurfaceRef")) root.IOSurfaceRef else opaque {}; pub const SampleMask = u32; pub const Bool32 = u32; pub const Flags = u32; +pub const Flags64 = u64; pub const DeviceSize = u64; pub const DeviceAddress = u64; pub const QueryPoolCreateFlags = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(QueryPoolCreateFlags); }; -pub const PipelineLayoutCreateFlags = packed struct { - _reserved_bits: Flags = 0, - pub usingnamespace FlagsMixin(PipelineLayoutCreateFlags); -}; -pub const PipelineCacheCreateFlags = packed struct { - _reserved_bits: Flags = 0, - pub usingnamespace FlagsMixin(PipelineCacheCreateFlags); -}; -pub const PipelineDepthStencilStateCreateFlags = packed struct { - _reserved_bits: Flags = 0, - pub usingnamespace FlagsMixin(PipelineDepthStencilStateCreateFlags); -}; pub const PipelineDynamicStateCreateFlags = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(PipelineDynamicStateCreateFlags); }; -pub const PipelineColorBlendStateCreateFlags = packed struct { - _reserved_bits: Flags = 0, - pub usingnamespace FlagsMixin(PipelineColorBlendStateCreateFlags); -}; pub const PipelineMultisampleStateCreateFlags = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(PipelineMultisampleStateCreateFlags); @@ -185,10 +213,6 @@ pub const BufferViewCreateFlags = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(BufferViewCreateFlags); }; -pub const InstanceCreateFlags = packed struct { - _reserved_bits: Flags = 0, - pub usingnamespace FlagsMixin(InstanceCreateFlags); -}; pub const DeviceCreateFlags = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(DeviceCreateFlags); @@ -197,23 +221,45 @@ pub const SemaphoreCreateFlags = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(SemaphoreCreateFlags); }; -pub const EventCreateFlags = packed struct { - _reserved_bits: Flags = 0, - pub usingnamespace FlagsMixin(EventCreateFlags); -}; -pub const MemoryMapFlags = packed struct { +pub const ShaderModuleCreateFlags = packed struct { _reserved_bits: Flags = 0, - pub usingnamespace FlagsMixin(MemoryMapFlags); + pub usingnamespace FlagsMixin(ShaderModuleCreateFlags); }; pub const DescriptorPoolResetFlags = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(DescriptorPoolResetFlags); }; +pub const GeometryFlagsNV = GeometryFlagsKHR; +pub const GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR; +pub const BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR; +pub const PrivateDataSlotCreateFlags = packed struct { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(PrivateDataSlotCreateFlags); +}; +pub const PrivateDataSlotCreateFlagsEXT = PrivateDataSlotCreateFlags; pub const DescriptorUpdateTemplateCreateFlags = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(DescriptorUpdateTemplateCreateFlags); }; pub const DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags; +pub const PipelineCreationFeedbackFlagsEXT = PipelineCreationFeedbackFlags; +pub const SemaphoreWaitFlagsKHR = SemaphoreWaitFlags; +pub const AccessFlags2KHR = AccessFlags2; +pub const PipelineStageFlags2KHR = PipelineStageFlags2; +pub const AccelerationStructureMotionInfoFlagsNV = packed struct { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(AccelerationStructureMotionInfoFlagsNV); +}; +pub const AccelerationStructureMotionInstanceFlagsNV = packed struct { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(AccelerationStructureMotionInstanceFlagsNV); +}; +pub const FormatFeatureFlags2KHR = FormatFeatureFlags2; +pub const RenderingFlagsKHR = RenderingFlags; +pub const DirectDriverLoadingFlagsLUNARG = packed struct { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(DirectDriverLoadingFlagsLUNARG); +}; pub const DisplayModeCreateFlagsKHR = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(DisplayModeCreateFlagsKHR); @@ -246,6 +292,10 @@ pub const XcbSurfaceCreateFlagsKHR = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(XcbSurfaceCreateFlagsKHR); }; +pub const DirectFBSurfaceCreateFlagsEXT = packed struct { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(DirectFBSurfaceCreateFlagsEXT); +}; pub const IOSSurfaceCreateFlagsMVK = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(IOSSurfaceCreateFlagsMVK); @@ -270,6 +320,10 @@ pub const HeadlessSurfaceCreateFlagsEXT = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(HeadlessSurfaceCreateFlagsEXT); }; +pub const ScreenSurfaceCreateFlagsQNX = packed struct { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(ScreenSurfaceCreateFlagsQNX); +}; pub const PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags; pub const MemoryAllocateFlagsKHR = MemoryAllocateFlags; pub const CommandPoolTrimFlags = packed struct { @@ -317,10 +371,16 @@ pub const DebugUtilsMessengerCallbackDataFlagsEXT = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(DebugUtilsMessengerCallbackDataFlagsEXT); }; +pub const DeviceMemoryReportFlagsEXT = packed struct { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(DeviceMemoryReportFlagsEXT); +}; pub const PipelineRasterizationConservativeStateCreateFlagsEXT = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(PipelineRasterizationConservativeStateCreateFlagsEXT); }; +pub const DescriptorBindingFlagsEXT = DescriptorBindingFlags; +pub const ResolveModeFlagsKHR = ResolveModeFlags; pub const PipelineRasterizationStateStreamCreateFlagsEXT = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(PipelineRasterizationStateStreamCreateFlagsEXT); @@ -329,6 +389,32 @@ pub const PipelineRasterizationDepthClipStateCreateFlagsEXT = packed struct { _reserved_bits: Flags = 0, pub usingnamespace FlagsMixin(PipelineRasterizationDepthClipStateCreateFlagsEXT); }; +pub const ToolPurposeFlagsEXT = ToolPurposeFlags; +pub const SubmitFlagsKHR = SubmitFlags; +pub const ImageFormatConstraintsFlagsFUCHSIA = packed struct { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(ImageFormatConstraintsFlagsFUCHSIA); +}; +pub const VideoSessionParametersCreateFlagsKHR = packed struct { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(VideoSessionParametersCreateFlagsKHR); +}; +pub const VideoBeginCodingFlagsKHR = packed struct { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(VideoBeginCodingFlagsKHR); +}; +pub const VideoEndCodingFlagsKHR = packed struct { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(VideoEndCodingFlagsKHR); +}; +pub const VideoDecodeFlagsKHR = packed struct { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(VideoDecodeFlagsKHR); +}; +pub const VideoEncodeRateControlFlagsKHR = packed struct { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(VideoEncodeRateControlFlagsKHR); +}; pub const Instance = enum(usize) { null_handle = 0, _ }; pub const PhysicalDevice = enum(usize) { null_handle = 0, _ }; pub const Device = enum(usize) { null_handle = 0, _ }; @@ -354,27 +440,52 @@ pub const QueryPool = enum(u64) { null_handle = 0, _ }; pub const Framebuffer = enum(u64) { null_handle = 0, _ }; pub const RenderPass = enum(u64) { null_handle = 0, _ }; pub const PipelineCache = enum(u64) { null_handle = 0, _ }; -pub const ObjectTableNVX = enum(u64) { null_handle = 0, _ }; -pub const IndirectCommandsLayoutNVX = enum(u64) { null_handle = 0, _ }; +pub const IndirectCommandsLayoutNV = enum(u64) { null_handle = 0, _ }; pub const DescriptorUpdateTemplate = enum(u64) { null_handle = 0, _ }; pub const DescriptorUpdateTemplateKHR = DescriptorUpdateTemplate; pub const SamplerYcbcrConversion = enum(u64) { null_handle = 0, _ }; pub const SamplerYcbcrConversionKHR = SamplerYcbcrConversion; pub const ValidationCacheEXT = enum(u64) { null_handle = 0, _ }; +pub const AccelerationStructureKHR = enum(u64) { null_handle = 0, _ }; pub const AccelerationStructureNV = enum(u64) { null_handle = 0, _ }; pub const PerformanceConfigurationINTEL = enum(u64) { null_handle = 0, _ }; +pub const BufferCollectionFUCHSIA = enum(u64) { null_handle = 0, _ }; +pub const DeferredOperationKHR = enum(u64) { null_handle = 0, _ }; +pub const PrivateDataSlot = enum(u64) { null_handle = 0, _ }; +pub const PrivateDataSlotEXT = PrivateDataSlot; +pub const CuModuleNVX = enum(u64) { null_handle = 0, _ }; +pub const CuFunctionNVX = enum(u64) { null_handle = 0, _ }; +pub const OpticalFlowSessionNV = enum(u64) { null_handle = 0, _ }; +pub const MicromapEXT = enum(u64) { null_handle = 0, _ }; +pub const ShaderEXT = enum(u64) { null_handle = 0, _ }; pub const DisplayKHR = enum(u64) { null_handle = 0, _ }; pub const DisplayModeKHR = enum(u64) { null_handle = 0, _ }; pub const SurfaceKHR = enum(u64) { null_handle = 0, _ }; pub const SwapchainKHR = enum(u64) { null_handle = 0, _ }; pub const DebugReportCallbackEXT = enum(u64) { null_handle = 0, _ }; pub const DebugUtilsMessengerEXT = enum(u64) { null_handle = 0, _ }; +pub const VideoSessionKHR = enum(u64) { null_handle = 0, _ }; +pub const VideoSessionParametersKHR = enum(u64) { null_handle = 0, _ }; +pub const SemaphoreSciSyncPoolNV = enum(u64) { null_handle = 0, _ }; pub const DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType; pub const PointClippingBehaviorKHR = PointClippingBehavior; +pub const QueueGlobalPriorityEXT = QueueGlobalPriorityKHR; +pub const TimeDomainEXT = TimeDomainKHR; +pub const SemaphoreTypeKHR = SemaphoreType; +pub const CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR; +pub const AccelerationStructureTypeNV = AccelerationStructureTypeKHR; +pub const GeometryTypeNV = GeometryTypeKHR; +pub const RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR; +pub const LineRasterizationModeEXT = LineRasterizationModeKHR; +pub const ScopeNV = ScopeKHR; +pub const ComponentTypeNV = ComponentTypeKHR; pub const TessellationDomainOriginKHR = TessellationDomainOrigin; pub const SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion; pub const SamplerYcbcrRangeKHR = SamplerYcbcrRange; pub const ChromaLocationKHR = ChromaLocation; +pub const SamplerReductionModeEXT = SamplerReductionMode; +pub const ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence; +pub const DriverIdKHR = DriverId; pub const PfnInternalAllocationNotification = ?*const fn ( p_user_data: ?*anyopaque, size: usize, @@ -421,6 +532,19 @@ pub const PfnDebugUtilsMessengerCallbackEXT = ?*const fn ( p_callback_data: ?*const DebugUtilsMessengerCallbackDataEXT, p_user_data: ?*anyopaque, ) callconv(vulkan_call_conv) Bool32; +pub const PfnFaultCallbackFunction = ?*const fn ( + unrecorded_faults: Bool32, + fault_count: u32, + p_faults: ?*const FaultData, +) callconv(vulkan_call_conv) void; +pub const PfnDeviceMemoryReportCallbackEXT = ?*const fn ( + p_callback_data: ?*const DeviceMemoryReportCallbackDataEXT, + p_user_data: ?*anyopaque, +) callconv(vulkan_call_conv) void; +pub const PfnGetInstanceProcAddrLUNARG = ?*const fn ( + instance: Instance, + p_name: ?*const u8, +) callconv(vulkan_call_conv) PfnVoidFunction; pub const BaseOutStructure = extern struct { s_type: StructureType, p_next: ?*BaseOutStructure = null, @@ -601,7 +725,7 @@ pub const ImageFormatProperties = extern struct { max_resource_size: DeviceSize, }; pub const DescriptorBufferInfo = extern struct { - buffer: Buffer, + buffer: Buffer = .null_handle, offset: DeviceSize, range: DeviceSize, }; @@ -633,6 +757,11 @@ pub const CopyDescriptorSet = extern struct { dst_array_element: u32, descriptor_count: u32, }; +pub const BufferUsageFlags2CreateInfoKHR = extern struct { + s_type: StructureType = .buffer_usage_flags_2_create_info_khr, + p_next: ?*const anyopaque = null, + usage: BufferUsageFlags2KHR, +}; pub const BufferCreateInfo = extern struct { s_type: StructureType = .buffer_create_info, p_next: ?*const anyopaque = null, @@ -803,6 +932,19 @@ pub const BufferImageCopy = extern struct { image_offset: Offset3D, image_extent: Extent3D, }; +pub const CopyMemoryIndirectCommandNV = extern struct { + src_address: DeviceAddress, + dst_address: DeviceAddress, + size: DeviceSize, +}; +pub const CopyMemoryToImageIndirectCommandNV = extern struct { + src_address: DeviceAddress, + buffer_row_length: u32, + buffer_image_height: u32, + image_subresource: ImageSubresourceLayers, + image_offset: Offset3D, + image_extent: Extent3D, +}; pub const ImageResolve = extern struct { src_subresource: ImageSubresourceLayers, src_offset: Offset3D, @@ -840,8 +982,8 @@ pub const DescriptorPoolCreateInfo = extern struct { p_next: ?*const anyopaque = null, flags: DescriptorPoolCreateFlags = .{}, max_sets: u32, - pool_size_count: u32, - p_pool_sizes: [*]const DescriptorPoolSize, + pool_size_count: u32 = 0, + p_pool_sizes: ?[*]const DescriptorPoolSize = null, }; pub const DescriptorSetAllocateInfo = extern struct { s_type: StructureType = .descriptor_set_allocate_info, @@ -866,7 +1008,7 @@ pub const PipelineShaderStageCreateInfo = extern struct { p_next: ?*const anyopaque = null, flags: PipelineShaderStageCreateFlags = .{}, stage: ShaderStageFlags, - module: ShaderModule, + module: ShaderModule = .null_handle, p_name: [*:0]const u8, p_specialization_info: ?*const SpecializationInfo = null, }; @@ -879,6 +1021,18 @@ pub const ComputePipelineCreateInfo = extern struct { base_pipeline_handle: Pipeline = .null_handle, base_pipeline_index: i32, }; +pub const ComputePipelineIndirectBufferInfoNV = extern struct { + s_type: StructureType = .compute_pipeline_indirect_buffer_info_nv, + p_next: ?*const anyopaque = null, + device_address: DeviceAddress, + size: DeviceSize, + pipeline_device_address_capture_replay: DeviceAddress, +}; +pub const PipelineCreateFlags2CreateInfoKHR = extern struct { + s_type: StructureType = .pipeline_create_flags_2_create_info_khr, + p_next: ?*const anyopaque = null, + flags: PipelineCreateFlags2KHR, +}; pub const VertexInputBindingDescription = extern struct { binding: u32, stride: u32, @@ -916,9 +1070,9 @@ pub const PipelineViewportStateCreateInfo = extern struct { s_type: StructureType = .pipeline_viewport_state_create_info, p_next: ?*const anyopaque = null, flags: PipelineViewportStateCreateFlags = .{}, - viewport_count: u32, + viewport_count: u32 = 0, p_viewports: ?[*]const Viewport = null, - scissor_count: u32, + scissor_count: u32 = 0, p_scissors: ?[*]const Rect2D = null, }; pub const PipelineRasterizationStateCreateInfo = extern struct { @@ -1001,19 +1155,19 @@ pub const GraphicsPipelineCreateInfo = extern struct { s_type: StructureType = .graphics_pipeline_create_info, p_next: ?*const anyopaque = null, flags: PipelineCreateFlags = .{}, - stage_count: u32, - p_stages: [*]const PipelineShaderStageCreateInfo, + stage_count: u32 = 0, + p_stages: ?[*]const PipelineShaderStageCreateInfo = null, p_vertex_input_state: ?*const PipelineVertexInputStateCreateInfo = null, p_input_assembly_state: ?*const PipelineInputAssemblyStateCreateInfo = null, p_tessellation_state: ?*const PipelineTessellationStateCreateInfo = null, p_viewport_state: ?*const PipelineViewportStateCreateInfo = null, - p_rasterization_state: *const PipelineRasterizationStateCreateInfo, + p_rasterization_state: ?*const PipelineRasterizationStateCreateInfo = null, p_multisample_state: ?*const PipelineMultisampleStateCreateInfo = null, p_depth_stencil_state: ?*const PipelineDepthStencilStateCreateInfo = null, p_color_blend_state: ?*const PipelineColorBlendStateCreateInfo = null, p_dynamic_state: ?*const PipelineDynamicStateCreateInfo = null, - layout: PipelineLayout, - render_pass: RenderPass, + layout: PipelineLayout = .null_handle, + render_pass: RenderPass = .null_handle, subpass: u32, base_pipeline_handle: Pipeline = .null_handle, base_pipeline_index: i32, @@ -1025,6 +1179,34 @@ pub const PipelineCacheCreateInfo = extern struct { initial_data_size: usize = 0, p_initial_data: ?*const anyopaque = null, }; +pub const PipelineCacheHeaderVersionOne = extern struct { + header_size: u32, + header_version: PipelineCacheHeaderVersion, + vendor_id: u32, + device_id: u32, + pipeline_cache_uuid: [UUID_SIZE]u8, +}; +pub const PipelineCacheStageValidationIndexEntry = extern struct { + code_size: u64, + code_offset: u64, +}; +pub const PipelineCacheSafetyCriticalIndexEntry = extern struct { + pipeline_identifier: [UUID_SIZE]u8, + pipeline_memory_size: u64, + json_size: u64, + json_offset: u64, + stage_index_count: u32, + stage_index_stride: u32, + stage_index_offset: u64, +}; +pub const PipelineCacheHeaderVersionSafetyCriticalOne = extern struct { + header_version_one: PipelineCacheHeaderVersionOne, + validation_version: PipelineCacheValidationVersion, + implementation_data: u32, + pipeline_index_count: u32, + pipeline_index_stride: u32, + pipeline_index_offset: u64, +}; pub const PushConstantRange = extern struct { stage_flags: ShaderStageFlags, offset: u32, @@ -1145,8 +1327,8 @@ pub const SubpassDescription = extern struct { pub const SubpassDependency = extern struct { src_subpass: u32, dst_subpass: u32, - src_stage_mask: PipelineStageFlags, - dst_stage_mask: PipelineStageFlags, + src_stage_mask: PipelineStageFlags = .{}, + dst_stage_mask: PipelineStageFlags = .{}, src_access_mask: AccessFlags = .{}, dst_access_mask: AccessFlags = .{}, dependency_flags: DependencyFlags = .{}, @@ -1386,6 +1568,15 @@ pub const DispatchIndirectCommand = extern struct { y: u32, z: u32, }; +pub const MultiDrawInfoEXT = extern struct { + first_vertex: u32, + vertex_count: u32, +}; +pub const MultiDrawIndexedInfoEXT = extern struct { + first_index: u32, + index_count: u32, + vertex_offset: i32, +}; pub const SubmitInfo = extern struct { s_type: StructureType = .submit_info, p_next: ?*const anyopaque = null, @@ -1461,10 +1652,10 @@ pub const SurfaceCapabilitiesKHR = extern struct { min_image_extent: Extent2D, max_image_extent: Extent2D, max_image_array_layers: u32, - supported_transforms: SurfaceTransformFlagsKHR = .{}, + supported_transforms: SurfaceTransformFlagsKHR, current_transform: SurfaceTransformFlagsKHR, - supported_composite_alpha: CompositeAlphaFlagsKHR = .{}, - supported_usage_flags: ImageUsageFlags = .{}, + supported_composite_alpha: CompositeAlphaFlagsKHR, + supported_usage_flags: ImageUsageFlags, }; pub const AndroidSurfaceCreateInfoKHR = extern struct { s_type: StructureType = .android_surface_create_info_khr, @@ -1506,6 +1697,13 @@ pub const XcbSurfaceCreateInfoKHR = extern struct { connection: *xcb_connection_t, window: xcb_window_t, }; +pub const DirectFBSurfaceCreateInfoEXT = extern struct { + s_type: StructureType = .directfb_surface_create_info_ext, + p_next: ?*const anyopaque = null, + flags: DirectFBSurfaceCreateFlagsEXT = .{}, + dfb: *IDirectFB, + surface: *IDirectFBSurface, +}; pub const ImagePipeSurfaceCreateInfoFUCHSIA = extern struct { s_type: StructureType = .imagepipe_surface_create_info_fuchsia, p_next: ?*const anyopaque = null, @@ -1518,6 +1716,13 @@ pub const StreamDescriptorSurfaceCreateInfoGGP = extern struct { flags: StreamDescriptorSurfaceCreateFlagsGGP = .{}, stream_descriptor: GgpStreamDescriptor, }; +pub const ScreenSurfaceCreateInfoQNX = extern struct { + s_type: StructureType = .screen_surface_create_info_qnx, + p_next: ?*const anyopaque = null, + flags: ScreenSurfaceCreateFlagsQNX = .{}, + context: *_screen_context, + window: *_screen_window, +}; pub const SurfaceFormatKHR = extern struct { format: Format, color_space: ColorSpaceKHR, @@ -1573,6 +1778,27 @@ pub const ValidationFeaturesEXT = extern struct { disabled_validation_feature_count: u32 = 0, p_disabled_validation_features: ?[*]const ValidationFeatureDisableEXT = null, }; +pub const LayerSettingsCreateInfoEXT = extern struct { + s_type: StructureType = .layer_settings_create_info_ext, + p_next: ?*const anyopaque = null, + setting_count: u32 = 0, + p_settings: ?[*]const LayerSettingEXT = null, +}; +pub const LayerSettingEXT = extern struct { + p_layer_name: [*:0]const u8, + p_setting_name: [*:0]const u8, + type: LayerSettingTypeEXT, + value_count: u32 = 0, + p_values: ?*const anyopaque = null, +}; +pub const ApplicationParametersEXT = extern struct { + s_type: StructureType = .application_parameters_ext, + p_next: ?*const anyopaque = null, + vendor_id: u32, + device_id: u32 = 0, + key: u32, + value: u64, +}; pub const PipelineRasterizationStateRasterizationOrderAMD = extern struct { s_type: StructureType = .pipeline_rasterization_state_rasterization_order_amd, p_next: ?*const anyopaque = null, @@ -1644,6 +1870,35 @@ pub const ExportMemoryWin32HandleInfoNV = extern struct { p_attributes: ?*const SECURITY_ATTRIBUTES = null, dw_access: DWORD, }; +pub const ExportMemorySciBufInfoNV = extern struct { + s_type: StructureType = .export_memory_sci_buf_info_nv, + p_next: ?*const anyopaque = null, + p_attributes: NvSciBufAttrList, +}; +pub const ImportMemorySciBufInfoNV = extern struct { + s_type: StructureType = .import_memory_sci_buf_info_nv, + p_next: ?*const anyopaque = null, + handle_type: ExternalMemoryHandleTypeFlags, + handle: NvSciBufObj, +}; +pub const MemoryGetSciBufInfoNV = extern struct { + s_type: StructureType = .memory_get_sci_buf_info_nv, + p_next: ?*const anyopaque = null, + memory: DeviceMemory, + handle_type: ExternalMemoryHandleTypeFlags, +}; +pub const MemorySciBufPropertiesNV = extern struct { + s_type: StructureType = .memory_sci_buf_properties_nv, + p_next: ?*const anyopaque = null, + memory_type_bits: u32, +}; +pub const PhysicalDeviceExternalMemorySciBufFeaturesNV = extern struct { + s_type: StructureType = .physical_device_external_memory_sci_buf_features_nv, + p_next: ?*anyopaque = null, + sci_buf_import: Bool32 = FALSE, + sci_buf_export: Bool32 = FALSE, +}; +pub const PhysicalDeviceExternalSciBufFeaturesNV = PhysicalDeviceExternalMemorySciBufFeaturesNV; pub const Win32KeyedMutexAcquireReleaseInfoNV = extern struct { s_type: StructureType = .win32_keyed_mutex_acquire_release_info_nv, p_next: ?*const anyopaque = null, @@ -1655,104 +1910,150 @@ pub const Win32KeyedMutexAcquireReleaseInfoNV = extern struct { p_release_syncs: ?[*]const DeviceMemory = null, p_release_keys: ?[*]const u64 = null, }; -pub const DeviceGeneratedCommandsFeaturesNVX = extern struct { - s_type: StructureType = .device_generated_commands_features_nvx, +pub const PhysicalDeviceDeviceGeneratedCommandsFeaturesNV = extern struct { + s_type: StructureType = .physical_device_device_generated_commands_features_nv, + p_next: ?*anyopaque = null, + device_generated_commands: Bool32 = FALSE, +}; +pub const PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV = extern struct { + s_type: StructureType = .physical_device_device_generated_commands_compute_features_nv, + p_next: ?*anyopaque = null, + device_generated_compute: Bool32 = FALSE, + device_generated_compute_pipelines: Bool32 = FALSE, + device_generated_compute_capture_replay: Bool32 = FALSE, +}; +pub const DevicePrivateDataCreateInfo = extern struct { + s_type: StructureType = .device_private_data_create_info, + p_next: ?*const anyopaque = null, + private_data_slot_request_count: u32, +}; +pub const DevicePrivateDataCreateInfoEXT = DevicePrivateDataCreateInfo; +pub const PrivateDataSlotCreateInfo = extern struct { + s_type: StructureType = .private_data_slot_create_info, + p_next: ?*const anyopaque = null, + flags: PrivateDataSlotCreateFlags, +}; +pub const PrivateDataSlotCreateInfoEXT = PrivateDataSlotCreateInfo; +pub const PhysicalDevicePrivateDataFeatures = extern struct { + s_type: StructureType = .physical_device_private_data_features, + p_next: ?*anyopaque = null, + private_data: Bool32 = FALSE, +}; +pub const PhysicalDevicePrivateDataFeaturesEXT = PhysicalDevicePrivateDataFeatures; +pub const PhysicalDeviceDeviceGeneratedCommandsPropertiesNV = extern struct { + s_type: StructureType = .physical_device_device_generated_commands_properties_nv, + p_next: ?*anyopaque = null, + max_graphics_shader_group_count: u32, + max_indirect_sequence_count: u32, + max_indirect_commands_token_count: u32, + max_indirect_commands_stream_count: u32, + max_indirect_commands_token_offset: u32, + max_indirect_commands_stream_stride: u32, + min_sequences_count_buffer_offset_alignment: u32, + min_sequences_index_buffer_offset_alignment: u32, + min_indirect_commands_buffer_offset_alignment: u32, +}; +pub const PhysicalDeviceMultiDrawPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_multi_draw_properties_ext, + p_next: ?*anyopaque = null, + max_multi_draw_count: u32, +}; +pub const GraphicsShaderGroupCreateInfoNV = extern struct { + s_type: StructureType = .graphics_shader_group_create_info_nv, p_next: ?*const anyopaque = null, - compute_binding_point_support: Bool32, + stage_count: u32, + p_stages: [*]const PipelineShaderStageCreateInfo, + p_vertex_input_state: ?*const PipelineVertexInputStateCreateInfo = null, + p_tessellation_state: ?*const PipelineTessellationStateCreateInfo = null, }; -pub const DeviceGeneratedCommandsLimitsNVX = extern struct { - s_type: StructureType = .device_generated_commands_limits_nvx, +pub const GraphicsPipelineShaderGroupsCreateInfoNV = extern struct { + s_type: StructureType = .graphics_pipeline_shader_groups_create_info_nv, p_next: ?*const anyopaque = null, - max_indirect_commands_layout_token_count: u32, - max_object_entry_counts: u32, - min_sequence_count_buffer_offset_alignment: u32, - min_sequence_index_buffer_offset_alignment: u32, - min_commands_token_buffer_offset_alignment: u32, + group_count: u32 = 0, + p_groups: ?[*]const GraphicsShaderGroupCreateInfoNV = null, + pipeline_count: u32 = 0, + p_pipelines: ?[*]const Pipeline = null, +}; +pub const BindShaderGroupIndirectCommandNV = extern struct { + group_index: u32, +}; +pub const BindIndexBufferIndirectCommandNV = extern struct { + buffer_address: DeviceAddress, + size: u32, + index_type: IndexType, +}; +pub const BindVertexBufferIndirectCommandNV = extern struct { + buffer_address: DeviceAddress, + size: u32, + stride: u32, +}; +pub const SetStateFlagsIndirectCommandNV = extern struct { + data: u32, }; -pub const IndirectCommandsTokenNVX = extern struct { - token_type: IndirectCommandsTokenTypeNVX, +pub const IndirectCommandsStreamNV = extern struct { buffer: Buffer, offset: DeviceSize, }; -pub const IndirectCommandsLayoutTokenNVX = extern struct { - token_type: IndirectCommandsTokenTypeNVX, - binding_unit: u32, - dynamic_count: u32, - divisor: u32, -}; -pub const IndirectCommandsLayoutCreateInfoNVX = extern struct { - s_type: StructureType = .indirect_commands_layout_create_info_nvx, +pub const IndirectCommandsLayoutTokenNV = extern struct { + s_type: StructureType = .indirect_commands_layout_token_nv, + p_next: ?*const anyopaque = null, + token_type: IndirectCommandsTokenTypeNV, + stream: u32, + offset: u32, + vertex_binding_unit: u32, + vertex_dynamic_stride: Bool32, + pushconstant_pipeline_layout: PipelineLayout = .null_handle, + pushconstant_shader_stage_flags: ShaderStageFlags = .{}, + pushconstant_offset: u32, + pushconstant_size: u32, + indirect_state_flags: IndirectStateFlagsNV = .{}, + index_type_count: u32 = 0, + p_index_types: ?[*]const IndexType = null, + p_index_type_values: ?[*]const u32 = null, +}; +pub const IndirectCommandsLayoutCreateInfoNV = extern struct { + s_type: StructureType = .indirect_commands_layout_create_info_nv, p_next: ?*const anyopaque = null, + flags: IndirectCommandsLayoutUsageFlagsNV = .{}, pipeline_bind_point: PipelineBindPoint, - flags: IndirectCommandsLayoutUsageFlagsNVX, token_count: u32, - p_tokens: [*]const IndirectCommandsLayoutTokenNVX, + p_tokens: [*]const IndirectCommandsLayoutTokenNV, + stream_count: u32, + p_stream_strides: [*]const u32, }; -pub const CmdProcessCommandsInfoNVX = extern struct { - s_type: StructureType = .cmd_process_commands_info_nvx, +pub const GeneratedCommandsInfoNV = extern struct { + s_type: StructureType = .generated_commands_info_nv, p_next: ?*const anyopaque = null, - object_table: ObjectTableNVX, - indirect_commands_layout: IndirectCommandsLayoutNVX, - indirect_commands_token_count: u32, - p_indirect_commands_tokens: [*]const IndirectCommandsTokenNVX, - max_sequences_count: u32, - target_command_buffer: CommandBuffer = .null_handle, + pipeline_bind_point: PipelineBindPoint, + pipeline: Pipeline = .null_handle, + indirect_commands_layout: IndirectCommandsLayoutNV, + stream_count: u32, + p_streams: [*]const IndirectCommandsStreamNV, + sequences_count: u32, + preprocess_buffer: Buffer, + preprocess_offset: DeviceSize, + preprocess_size: DeviceSize, sequences_count_buffer: Buffer = .null_handle, - sequences_count_offset: DeviceSize = 0, + sequences_count_offset: DeviceSize, sequences_index_buffer: Buffer = .null_handle, - sequences_index_offset: DeviceSize = 0, + sequences_index_offset: DeviceSize, }; -pub const CmdReserveSpaceForCommandsInfoNVX = extern struct { - s_type: StructureType = .cmd_reserve_space_for_commands_info_nvx, +pub const GeneratedCommandsMemoryRequirementsInfoNV = extern struct { + s_type: StructureType = .generated_commands_memory_requirements_info_nv, p_next: ?*const anyopaque = null, - object_table: ObjectTableNVX, - indirect_commands_layout: IndirectCommandsLayoutNVX, + pipeline_bind_point: PipelineBindPoint, + pipeline: Pipeline = .null_handle, + indirect_commands_layout: IndirectCommandsLayoutNV, max_sequences_count: u32, }; -pub const ObjectTableCreateInfoNVX = extern struct { - s_type: StructureType = .object_table_create_info_nvx, +pub const PipelineIndirectDeviceAddressInfoNV = extern struct { + s_type: StructureType = .pipeline_indirect_device_address_info_nv, p_next: ?*const anyopaque = null, - object_count: u32, - p_object_entry_types: [*]const ObjectEntryTypeNVX, - p_object_entry_counts: [*]const u32, - p_object_entry_usage_flags: [*]const ObjectEntryUsageFlagsNVX, - max_uniform_buffers_per_descriptor: u32, - max_storage_buffers_per_descriptor: u32, - max_storage_images_per_descriptor: u32, - max_sampled_images_per_descriptor: u32, - max_pipeline_layouts: u32, -}; -pub const ObjectTableEntryNVX = extern struct { - type: ObjectEntryTypeNVX, - flags: ObjectEntryUsageFlagsNVX, -}; -pub const ObjectTablePipelineEntryNVX = extern struct { - type: ObjectEntryTypeNVX, - flags: ObjectEntryUsageFlagsNVX, + pipeline_bind_point: PipelineBindPoint, pipeline: Pipeline, }; -pub const ObjectTableDescriptorSetEntryNVX = extern struct { - type: ObjectEntryTypeNVX, - flags: ObjectEntryUsageFlagsNVX, - pipeline_layout: PipelineLayout, - descriptor_set: DescriptorSet, -}; -pub const ObjectTableVertexBufferEntryNVX = extern struct { - type: ObjectEntryTypeNVX, - flags: ObjectEntryUsageFlagsNVX, - buffer: Buffer, -}; -pub const ObjectTableIndexBufferEntryNVX = extern struct { - type: ObjectEntryTypeNVX, - flags: ObjectEntryUsageFlagsNVX, - buffer: Buffer, - index_type: IndexType, -}; -pub const ObjectTablePushConstantEntryNVX = extern struct { - type: ObjectEntryTypeNVX, - flags: ObjectEntryUsageFlagsNVX, - pipeline_layout: PipelineLayout, - stage_flags: ShaderStageFlags, +pub const BindPipelineIndirectCommandNV = extern struct { + pipeline_address: DeviceAddress, }; pub const PhysicalDeviceFeatures2 = extern struct { s_type: StructureType = .physical_device_features_2, @@ -1821,20 +2122,22 @@ pub const PhysicalDevicePushDescriptorPropertiesKHR = extern struct { p_next: ?*anyopaque = null, max_push_descriptors: u32, }; -pub const ConformanceVersionKHR = extern struct { +pub const ConformanceVersion = extern struct { major: u8, minor: u8, subminor: u8, patch: u8, }; -pub const PhysicalDeviceDriverPropertiesKHR = extern struct { - s_type: StructureType = .physical_device_driver_properties_khr, +pub const ConformanceVersionKHR = ConformanceVersion; +pub const PhysicalDeviceDriverProperties = extern struct { + s_type: StructureType = .physical_device_driver_properties, p_next: ?*anyopaque = null, - driver_id: DriverIdKHR, - driver_name: [MAX_DRIVER_NAME_SIZE_KHR]u8, - driver_info: [MAX_DRIVER_INFO_SIZE_KHR]u8, - conformance_version: ConformanceVersionKHR, + driver_id: DriverId, + driver_name: [MAX_DRIVER_NAME_SIZE]u8, + driver_info: [MAX_DRIVER_INFO_SIZE]u8, + conformance_version: ConformanceVersion, }; +pub const PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties; pub const PresentRegionsKHR = extern struct { s_type: StructureType = .present_regions_khr, p_next: ?*const anyopaque = null, @@ -1881,7 +2184,7 @@ pub const PhysicalDeviceExternalBufferInfo = extern struct { s_type: StructureType = .physical_device_external_buffer_info, p_next: ?*const anyopaque = null, flags: BufferCreateFlags = .{}, - usage: BufferUsageFlags, + usage: BufferUsageFlags = .{}, handle_type: ExternalMemoryHandleTypeFlags, }; pub const PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo; @@ -1904,7 +2207,7 @@ pub const PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties; pub const ExternalMemoryImageCreateInfo = extern struct { s_type: StructureType = .external_memory_image_create_info, p_next: ?*const anyopaque = null, - handle_types: ExternalMemoryHandleTypeFlags, + handle_types: ExternalMemoryHandleTypeFlags = .{}, }; pub const ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo; pub const ExternalMemoryBufferCreateInfo = extern struct { @@ -1933,6 +2236,23 @@ pub const ExportMemoryWin32HandleInfoKHR = extern struct { dw_access: DWORD, name: LPCWSTR, }; +pub const ImportMemoryZirconHandleInfoFUCHSIA = extern struct { + s_type: StructureType = .import_memory_zircon_handle_info_fuchsia, + p_next: ?*const anyopaque = null, + handle_type: ExternalMemoryHandleTypeFlags, + handle: zx_handle_t, +}; +pub const MemoryZirconHandlePropertiesFUCHSIA = extern struct { + s_type: StructureType = .memory_zircon_handle_properties_fuchsia, + p_next: ?*anyopaque = null, + memory_type_bits: u32, +}; +pub const MemoryGetZirconHandleInfoFUCHSIA = extern struct { + s_type: StructureType = .memory_get_zircon_handle_info_fuchsia, + p_next: ?*const anyopaque = null, + memory: DeviceMemory, + handle_type: ExternalMemoryHandleTypeFlags, +}; pub const MemoryWin32HandlePropertiesKHR = extern struct { s_type: StructureType = .memory_win32_handle_properties_khr, p_next: ?*anyopaque = null, @@ -2036,6 +2356,20 @@ pub const SemaphoreGetFdInfoKHR = extern struct { semaphore: Semaphore, handle_type: ExternalSemaphoreHandleTypeFlags, }; +pub const ImportSemaphoreZirconHandleInfoFUCHSIA = extern struct { + s_type: StructureType = .import_semaphore_zircon_handle_info_fuchsia, + p_next: ?*const anyopaque = null, + semaphore: Semaphore, + flags: SemaphoreImportFlags = .{}, + handle_type: ExternalSemaphoreHandleTypeFlags, + zircon_handle: zx_handle_t, +}; +pub const SemaphoreGetZirconHandleInfoFUCHSIA = extern struct { + s_type: StructureType = .semaphore_get_zircon_handle_info_fuchsia, + p_next: ?*const anyopaque = null, + semaphore: Semaphore, + handle_type: ExternalSemaphoreHandleTypeFlags, +}; pub const PhysicalDeviceExternalFenceInfo = extern struct { s_type: StructureType = .physical_device_external_fence_info, p_next: ?*const anyopaque = null, @@ -2092,6 +2426,80 @@ pub const FenceGetFdInfoKHR = extern struct { fence: Fence, handle_type: ExternalFenceHandleTypeFlags, }; +pub const ExportFenceSciSyncInfoNV = extern struct { + s_type: StructureType = .export_fence_sci_sync_info_nv, + p_next: ?*const anyopaque = null, + p_attributes: NvSciSyncAttrList, +}; +pub const ImportFenceSciSyncInfoNV = extern struct { + s_type: StructureType = .import_fence_sci_sync_info_nv, + p_next: ?*const anyopaque = null, + fence: Fence, + handle_type: ExternalFenceHandleTypeFlags, + handle: *anyopaque, +}; +pub const FenceGetSciSyncInfoNV = extern struct { + s_type: StructureType = .fence_get_sci_sync_info_nv, + p_next: ?*const anyopaque = null, + fence: Fence, + handle_type: ExternalFenceHandleTypeFlags, +}; +pub const ExportSemaphoreSciSyncInfoNV = extern struct { + s_type: StructureType = .export_semaphore_sci_sync_info_nv, + p_next: ?*const anyopaque = null, + p_attributes: NvSciSyncAttrList, +}; +pub const ImportSemaphoreSciSyncInfoNV = extern struct { + s_type: StructureType = .import_semaphore_sci_sync_info_nv, + p_next: ?*const anyopaque = null, + semaphore: Semaphore, + handle_type: ExternalSemaphoreHandleTypeFlags, + handle: *anyopaque, +}; +pub const SemaphoreGetSciSyncInfoNV = extern struct { + s_type: StructureType = .semaphore_get_sci_sync_info_nv, + p_next: ?*const anyopaque = null, + semaphore: Semaphore, + handle_type: ExternalSemaphoreHandleTypeFlags, +}; +pub const SciSyncAttributesInfoNV = extern struct { + s_type: StructureType = .sci_sync_attributes_info_nv, + p_next: ?*const anyopaque = null, + client_type: SciSyncClientTypeNV, + primitive_type: SciSyncPrimitiveTypeNV, +}; +pub const PhysicalDeviceExternalSciSyncFeaturesNV = extern struct { + s_type: StructureType = .physical_device_external_sci_sync_features_nv, + p_next: ?*anyopaque = null, + sci_sync_fence: Bool32 = FALSE, + sci_sync_semaphore: Bool32 = FALSE, + sci_sync_import: Bool32 = FALSE, + sci_sync_export: Bool32 = FALSE, +}; +pub const PhysicalDeviceExternalSciSync2FeaturesNV = extern struct { + s_type: StructureType = .physical_device_external_sci_sync_2_features_nv, + p_next: ?*anyopaque = null, + sci_sync_fence: Bool32 = FALSE, + sci_sync_semaphore_2: Bool32 = FALSE, + sci_sync_import: Bool32 = FALSE, + sci_sync_export: Bool32 = FALSE, +}; +pub const SemaphoreSciSyncPoolCreateInfoNV = extern struct { + s_type: StructureType = .semaphore_sci_sync_pool_create_info_nv, + p_next: ?*const anyopaque = null, + handle: NvSciSyncObj, +}; +pub const SemaphoreSciSyncCreateInfoNV = extern struct { + s_type: StructureType = .semaphore_sci_sync_create_info_nv, + p_next: ?*const anyopaque = null, + semaphore_pool: SemaphoreSciSyncPoolNV, + p_fence: *const NvSciSyncFence, +}; +pub const DeviceSemaphoreSciSyncPoolReservationCreateInfoNV = extern struct { + s_type: StructureType, + p_next: ?*const anyopaque = null, + semaphore_sci_sync_pool_request_count: u32, +}; pub const PhysicalDeviceMultiviewFeatures = extern struct { s_type: StructureType = .physical_device_multiview_features, p_next: ?*anyopaque = null, @@ -2127,10 +2535,10 @@ pub const SurfaceCapabilities2EXT = extern struct { min_image_extent: Extent2D, max_image_extent: Extent2D, max_image_array_layers: u32, - supported_transforms: SurfaceTransformFlagsKHR = .{}, + supported_transforms: SurfaceTransformFlagsKHR, current_transform: SurfaceTransformFlagsKHR, - supported_composite_alpha: CompositeAlphaFlagsKHR = .{}, - supported_usage_flags: ImageUsageFlags = .{}, + supported_composite_alpha: CompositeAlphaFlagsKHR, + supported_usage_flags: ImageUsageFlags, supported_surface_counters: SurfaceCounterFlagsEXT = .{}, }; pub const DisplayPowerInfoEXT = extern struct { @@ -2234,7 +2642,7 @@ pub const DeviceGroupBindSparseInfo = extern struct { pub const DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo; pub const DeviceGroupPresentCapabilitiesKHR = extern struct { s_type: StructureType = .device_group_present_capabilities_khr, - p_next: ?*const anyopaque = null, + p_next: ?*anyopaque = null, present_mask: [MAX_DEVICE_GROUP_SIZE]u32, modes: DeviceGroupPresentModeFlagsKHR, }; @@ -2303,6 +2711,22 @@ pub const XYColorEXT = extern struct { x: f32, y: f32, }; +pub const PhysicalDevicePresentIdFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_present_id_features_khr, + p_next: ?*anyopaque = null, + present_id: Bool32 = FALSE, +}; +pub const PresentIdKHR = extern struct { + s_type: StructureType = .present_id_khr, + p_next: ?*const anyopaque = null, + swapchain_count: u32, + p_present_ids: ?[*]const u64 = null, +}; +pub const PhysicalDevicePresentWaitFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_present_wait_features_khr, + p_next: ?*anyopaque = null, + present_wait: Bool32 = FALSE, +}; pub const HdrMetadataEXT = extern struct { s_type: StructureType = .hdr_metadata_ext, p_next: ?*const anyopaque = null, @@ -2421,7 +2845,7 @@ pub const RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachme pub const PhysicalDeviceSurfaceInfo2KHR = extern struct { s_type: StructureType = .physical_device_surface_info_2_khr, p_next: ?*const anyopaque = null, - surface: SurfaceKHR, + surface: SurfaceKHR = .null_handle, }; pub const SurfaceCapabilities2KHR = extern struct { s_type: StructureType = .surface_capabilities_2_khr, @@ -2481,17 +2905,24 @@ pub const PhysicalDeviceSubgroupProperties = extern struct { supported_operations: SubgroupFeatureFlags, quad_operations_in_all_stages: Bool32, }; -pub const PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = extern struct { - s_type: StructureType = .physical_device_shader_subgroup_extended_types_features_khr, +pub const PhysicalDeviceShaderSubgroupExtendedTypesFeatures = extern struct { + s_type: StructureType = .physical_device_shader_subgroup_extended_types_features, p_next: ?*anyopaque = null, shader_subgroup_extended_types: Bool32 = FALSE, }; +pub const PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = PhysicalDeviceShaderSubgroupExtendedTypesFeatures; pub const BufferMemoryRequirementsInfo2 = extern struct { s_type: StructureType = .buffer_memory_requirements_info_2, p_next: ?*const anyopaque = null, buffer: Buffer, }; pub const BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2; +pub const DeviceBufferMemoryRequirements = extern struct { + s_type: StructureType = .device_buffer_memory_requirements, + p_next: ?*const anyopaque = null, + p_create_info: *const BufferCreateInfo, +}; +pub const DeviceBufferMemoryRequirementsKHR = DeviceBufferMemoryRequirements; pub const ImageMemoryRequirementsInfo2 = extern struct { s_type: StructureType = .image_memory_requirements_info_2, p_next: ?*const anyopaque = null, @@ -2504,6 +2935,13 @@ pub const ImageSparseMemoryRequirementsInfo2 = extern struct { image: Image, }; pub const ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2; +pub const DeviceImageMemoryRequirements = extern struct { + s_type: StructureType = .device_image_memory_requirements, + p_next: ?*const anyopaque = null, + p_create_info: *const ImageCreateInfo, + plane_aspect: ImageAspectFlags, +}; +pub const DeviceImageMemoryRequirementsKHR = DeviceImageMemoryRequirements; pub const MemoryRequirements2 = extern struct { s_type: StructureType = .memory_requirements_2, p_next: ?*anyopaque = null, @@ -2541,6 +2979,12 @@ pub const ImageViewUsageCreateInfo = extern struct { p_next: ?*const anyopaque = null, usage: ImageUsageFlags, }; +pub const ImageViewSlicedCreateInfoEXT = extern struct { + s_type: StructureType = .image_view_sliced_create_info_ext, + p_next: ?*const anyopaque = null, + slice_offset: u32, + slice_count: u32, +}; pub const ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo; pub const PipelineTessellationDomainOriginStateCreateInfo = extern struct { s_type: StructureType = .pipeline_tessellation_domain_origin_state_create_info, @@ -2632,12 +3076,13 @@ pub const PipelineCoverageToColorStateCreateInfoNV = extern struct { coverage_to_color_enable: Bool32, coverage_to_color_location: u32 = 0, }; -pub const PhysicalDeviceSamplerFilterMinmaxPropertiesEXT = extern struct { - s_type: StructureType = .physical_device_sampler_filter_minmax_properties_ext, +pub const PhysicalDeviceSamplerFilterMinmaxProperties = extern struct { + s_type: StructureType = .physical_device_sampler_filter_minmax_properties, p_next: ?*anyopaque = null, filter_minmax_single_component_formats: Bool32, filter_minmax_image_component_mapping: Bool32, }; +pub const PhysicalDeviceSamplerFilterMinmaxPropertiesEXT = PhysicalDeviceSamplerFilterMinmaxProperties; pub const SampleLocationEXT = extern struct { x: f32, y: f32, @@ -2686,16 +3131,22 @@ pub const MultisamplePropertiesEXT = extern struct { p_next: ?*anyopaque = null, max_sample_location_grid_size: Extent2D, }; -pub const SamplerReductionModeCreateInfoEXT = extern struct { - s_type: StructureType = .sampler_reduction_mode_create_info_ext, +pub const SamplerReductionModeCreateInfo = extern struct { + s_type: StructureType = .sampler_reduction_mode_create_info, p_next: ?*const anyopaque = null, - reduction_mode: SamplerReductionModeEXT, + reduction_mode: SamplerReductionMode, }; +pub const SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo; pub const PhysicalDeviceBlendOperationAdvancedFeaturesEXT = extern struct { s_type: StructureType = .physical_device_blend_operation_advanced_features_ext, p_next: ?*anyopaque = null, advanced_blend_coherent_operations: Bool32 = FALSE, }; +pub const PhysicalDeviceMultiDrawFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_multi_draw_features_ext, + p_next: ?*anyopaque = null, + multi_draw: Bool32 = FALSE, +}; pub const PhysicalDeviceBlendOperationAdvancedPropertiesEXT = extern struct { s_type: StructureType = .physical_device_blend_operation_advanced_properties_ext, p_next: ?*anyopaque = null, @@ -2713,14 +3164,15 @@ pub const PipelineColorBlendAdvancedStateCreateInfoEXT = extern struct { dst_premultiplied: Bool32, blend_overlap: BlendOverlapEXT, }; -pub const PhysicalDeviceInlineUniformBlockFeaturesEXT = extern struct { - s_type: StructureType = .physical_device_inline_uniform_block_features_ext, +pub const PhysicalDeviceInlineUniformBlockFeatures = extern struct { + s_type: StructureType = .physical_device_inline_uniform_block_features, p_next: ?*anyopaque = null, inline_uniform_block: Bool32 = FALSE, descriptor_binding_inline_uniform_block_update_after_bind: Bool32 = FALSE, }; -pub const PhysicalDeviceInlineUniformBlockPropertiesEXT = extern struct { - s_type: StructureType = .physical_device_inline_uniform_block_properties_ext, +pub const PhysicalDeviceInlineUniformBlockFeaturesEXT = PhysicalDeviceInlineUniformBlockFeatures; +pub const PhysicalDeviceInlineUniformBlockProperties = extern struct { + s_type: StructureType = .physical_device_inline_uniform_block_properties, p_next: ?*anyopaque = null, max_inline_uniform_block_size: u32, max_per_stage_descriptor_inline_uniform_blocks: u32, @@ -2728,17 +3180,20 @@ pub const PhysicalDeviceInlineUniformBlockPropertiesEXT = extern struct { max_descriptor_set_inline_uniform_blocks: u32, max_descriptor_set_update_after_bind_inline_uniform_blocks: u32, }; -pub const WriteDescriptorSetInlineUniformBlockEXT = extern struct { - s_type: StructureType = .write_descriptor_set_inline_uniform_block_ext, +pub const PhysicalDeviceInlineUniformBlockPropertiesEXT = PhysicalDeviceInlineUniformBlockProperties; +pub const WriteDescriptorSetInlineUniformBlock = extern struct { + s_type: StructureType = .write_descriptor_set_inline_uniform_block, p_next: ?*const anyopaque = null, data_size: u32, p_data: *const anyopaque, }; -pub const DescriptorPoolInlineUniformBlockCreateInfoEXT = extern struct { - s_type: StructureType = .descriptor_pool_inline_uniform_block_create_info_ext, +pub const WriteDescriptorSetInlineUniformBlockEXT = WriteDescriptorSetInlineUniformBlock; +pub const DescriptorPoolInlineUniformBlockCreateInfo = extern struct { + s_type: StructureType = .descriptor_pool_inline_uniform_block_create_info, p_next: ?*const anyopaque = null, max_inline_uniform_block_bindings: u32, }; +pub const DescriptorPoolInlineUniformBlockCreateInfoEXT = DescriptorPoolInlineUniformBlockCreateInfo; pub const PipelineCoverageModulationStateCreateInfoNV = extern struct { s_type: StructureType = .pipeline_coverage_modulation_state_create_info_nv, p_next: ?*const anyopaque = null, @@ -2748,12 +3203,13 @@ pub const PipelineCoverageModulationStateCreateInfoNV = extern struct { coverage_modulation_table_count: u32 = 0, p_coverage_modulation_table: ?[*]const f32 = null, }; -pub const ImageFormatListCreateInfoKHR = extern struct { - s_type: StructureType = .image_format_list_create_info_khr, +pub const ImageFormatListCreateInfo = extern struct { + s_type: StructureType = .image_format_list_create_info, p_next: ?*const anyopaque = null, view_format_count: u32 = 0, p_view_formats: ?[*]const Format = null, }; +pub const ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo; pub const ValidationCacheCreateInfoEXT = extern struct { s_type: StructureType = .validation_cache_create_info_ext, p_next: ?*const anyopaque = null, @@ -2773,6 +3229,54 @@ pub const PhysicalDeviceMaintenance3Properties = extern struct { max_memory_allocation_size: DeviceSize, }; pub const PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties; +pub const PhysicalDeviceMaintenance4Features = extern struct { + s_type: StructureType = .physical_device_maintenance_4_features, + p_next: ?*anyopaque = null, + maintenance_4: Bool32 = FALSE, +}; +pub const PhysicalDeviceMaintenance4FeaturesKHR = PhysicalDeviceMaintenance4Features; +pub const PhysicalDeviceMaintenance4Properties = extern struct { + s_type: StructureType = .physical_device_maintenance_4_properties, + p_next: ?*anyopaque = null, + max_buffer_size: DeviceSize, +}; +pub const PhysicalDeviceMaintenance4PropertiesKHR = PhysicalDeviceMaintenance4Properties; +pub const PhysicalDeviceMaintenance5FeaturesKHR = extern struct { + s_type: StructureType = .physical_device_maintenance_5_features_khr, + p_next: ?*anyopaque = null, + maintenance_5: Bool32 = FALSE, +}; +pub const PhysicalDeviceMaintenance5PropertiesKHR = extern struct { + s_type: StructureType = .physical_device_maintenance_5_properties_khr, + p_next: ?*anyopaque = null, + early_fragment_multisample_coverage_after_sample_counting: Bool32, + early_fragment_sample_mask_test_before_sample_counting: Bool32, + depth_stencil_swizzle_one_support: Bool32, + polygon_mode_point_size: Bool32, + non_strict_single_pixel_wide_lines_use_parallelogram: Bool32, + non_strict_wide_lines_use_parallelogram: Bool32, +}; +pub const PhysicalDeviceMaintenance6FeaturesKHR = extern struct { + s_type: StructureType = .physical_device_maintenance_6_features_khr, + p_next: ?*anyopaque = null, + maintenance_6: Bool32 = FALSE, +}; +pub const PhysicalDeviceMaintenance6PropertiesKHR = extern struct { + s_type: StructureType = .physical_device_maintenance_6_properties_khr, + p_next: ?*anyopaque = null, + block_texel_view_compatible_multiple_layers: Bool32, + max_combined_image_sampler_descriptor_count: u32, + fragment_shading_rate_clamp_combiner_inputs: Bool32, +}; +pub const RenderingAreaInfoKHR = extern struct { + s_type: StructureType = .rendering_area_info_khr, + p_next: ?*const anyopaque = null, + view_mask: u32, + color_attachment_count: u32 = 0, + p_color_attachment_formats: ?[*]const Format = null, + depth_attachment_format: Format, + stencil_attachment_format: Format, +}; pub const DescriptorSetLayoutSupport = extern struct { s_type: StructureType = .descriptor_set_layout_support, p_next: ?*anyopaque = null, @@ -2785,18 +3289,19 @@ pub const PhysicalDeviceShaderDrawParametersFeatures = extern struct { shader_draw_parameters: Bool32 = FALSE, }; pub const PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures; -pub const PhysicalDeviceShaderFloat16Int8FeaturesKHR = extern struct { - s_type: StructureType = .physical_device_shader_float16_int8_features_khr, +pub const PhysicalDeviceShaderFloat16Int8Features = extern struct { + s_type: StructureType = .physical_device_shader_float16_int8_features, p_next: ?*anyopaque = null, shader_float_16: Bool32 = FALSE, shader_int_8: Bool32 = FALSE, }; -pub const PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8FeaturesKHR; -pub const PhysicalDeviceFloatControlsPropertiesKHR = extern struct { - s_type: StructureType = .physical_device_float_controls_properties_khr, +pub const PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features; +pub const PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features; +pub const PhysicalDeviceFloatControlsProperties = extern struct { + s_type: StructureType = .physical_device_float_controls_properties, p_next: ?*anyopaque = null, - denorm_behavior_independence: ShaderFloatControlsIndependenceKHR, - rounding_mode_independence: ShaderFloatControlsIndependenceKHR, + denorm_behavior_independence: ShaderFloatControlsIndependence, + rounding_mode_independence: ShaderFloatControlsIndependence, shader_signed_zero_inf_nan_preserve_float_16: Bool32, shader_signed_zero_inf_nan_preserve_float_32: Bool32, shader_signed_zero_inf_nan_preserve_float_64: Bool32, @@ -2813,11 +3318,13 @@ pub const PhysicalDeviceFloatControlsPropertiesKHR = extern struct { shader_rounding_mode_rtz_float_32: Bool32, shader_rounding_mode_rtz_float_64: Bool32, }; -pub const PhysicalDeviceHostQueryResetFeaturesEXT = extern struct { - s_type: StructureType = .physical_device_host_query_reset_features_ext, +pub const PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties; +pub const PhysicalDeviceHostQueryResetFeatures = extern struct { + s_type: StructureType = .physical_device_host_query_reset_features, p_next: ?*anyopaque = null, host_query_reset: Bool32 = FALSE, }; +pub const PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures; pub const NativeBufferUsage2ANDROID = extern struct { consumer: u64, producer: u64, @@ -2857,14 +3364,28 @@ pub const ShaderStatisticsInfoAMD = extern struct { num_available_sgprs: u32, compute_work_group_size: [3]u32, }; -pub const DeviceQueueGlobalPriorityCreateInfoEXT = extern struct { - s_type: StructureType = .device_queue_global_priority_create_info_ext, +pub const DeviceQueueGlobalPriorityCreateInfoKHR = extern struct { + s_type: StructureType = .device_queue_global_priority_create_info_khr, p_next: ?*const anyopaque = null, - global_priority: QueueGlobalPriorityEXT, + global_priority: QueueGlobalPriorityKHR, }; -pub const DebugUtilsObjectNameInfoEXT = extern struct { - s_type: StructureType = .debug_utils_object_name_info_ext, - p_next: ?*const anyopaque = null, +pub const DeviceQueueGlobalPriorityCreateInfoEXT = DeviceQueueGlobalPriorityCreateInfoKHR; +pub const PhysicalDeviceGlobalPriorityQueryFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_global_priority_query_features_khr, + p_next: ?*anyopaque = null, + global_priority_query: Bool32 = FALSE, +}; +pub const PhysicalDeviceGlobalPriorityQueryFeaturesEXT = PhysicalDeviceGlobalPriorityQueryFeaturesKHR; +pub const QueueFamilyGlobalPriorityPropertiesKHR = extern struct { + s_type: StructureType = .queue_family_global_priority_properties_khr, + p_next: ?*anyopaque = null, + priority_count: u32, + priorities: [MAX_GLOBAL_PRIORITY_SIZE_KHR]QueueGlobalPriorityKHR, +}; +pub const QueueFamilyGlobalPriorityPropertiesEXT = QueueFamilyGlobalPriorityPropertiesKHR; +pub const DebugUtilsObjectNameInfoEXT = extern struct { + s_type: StructureType = .debug_utils_object_name_info_ext, + p_next: ?*const anyopaque = null, object_type: ObjectType, object_handle: u64, p_object_name: ?[*:0]const u8 = null, @@ -2898,8 +3419,8 @@ pub const DebugUtilsMessengerCallbackDataEXT = extern struct { p_next: ?*const anyopaque = null, flags: DebugUtilsMessengerCallbackDataFlagsEXT = .{}, p_message_id_name: ?[*:0]const u8 = null, - message_id_number: i32 = 0, - p_message: [*:0]const u8, + message_id_number: i32, + p_message: ?[*:0]const u8 = null, queue_label_count: u32 = 0, p_queue_labels: ?[*]const DebugUtilsLabelEXT = null, cmd_buf_label_count: u32 = 0, @@ -2907,6 +3428,29 @@ pub const DebugUtilsMessengerCallbackDataEXT = extern struct { object_count: u32 = 0, p_objects: ?[*]const DebugUtilsObjectNameInfoEXT = null, }; +pub const PhysicalDeviceDeviceMemoryReportFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_device_memory_report_features_ext, + p_next: ?*anyopaque = null, + device_memory_report: Bool32 = FALSE, +}; +pub const DeviceDeviceMemoryReportCreateInfoEXT = extern struct { + s_type: StructureType = .device_device_memory_report_create_info_ext, + p_next: ?*const anyopaque = null, + flags: DeviceMemoryReportFlagsEXT, + pfn_user_callback: PfnDeviceMemoryReportCallbackEXT, + p_user_data: *anyopaque, +}; +pub const DeviceMemoryReportCallbackDataEXT = extern struct { + s_type: StructureType = .device_memory_report_callback_data_ext, + p_next: ?*anyopaque = null, + flags: DeviceMemoryReportFlagsEXT, + type: DeviceMemoryReportEventTypeEXT, + memory_object_id: u64, + size: DeviceSize, + object_type: ObjectType, + object_handle: u64, + heap_index: u32, +}; pub const ImportMemoryHostPointerInfoEXT = extern struct { s_type: StructureType = .import_memory_host_pointer_info_ext, p_next: ?*const anyopaque = null, @@ -2936,11 +3480,12 @@ pub const PhysicalDeviceConservativeRasterizationPropertiesEXT = extern struct { fully_covered_fragment_shader_input_variable: Bool32, conservative_rasterization_post_depth_coverage: Bool32, }; -pub const CalibratedTimestampInfoEXT = extern struct { - s_type: StructureType = .calibrated_timestamp_info_ext, +pub const CalibratedTimestampInfoKHR = extern struct { + s_type: StructureType = .calibrated_timestamp_info_khr, p_next: ?*const anyopaque = null, - time_domain: TimeDomainEXT, + time_domain: TimeDomainKHR, }; +pub const CalibratedTimestampInfoEXT = CalibratedTimestampInfoKHR; pub const PhysicalDeviceShaderCorePropertiesAMD = extern struct { s_type: StructureType = .physical_device_shader_core_properties_amd, p_next: ?*anyopaque = null, @@ -2972,8 +3517,8 @@ pub const PipelineRasterizationConservativeStateCreateInfoEXT = extern struct { conservative_rasterization_mode: ConservativeRasterizationModeEXT, extra_primitive_overestimation_size: f32, }; -pub const PhysicalDeviceDescriptorIndexingFeaturesEXT = extern struct { - s_type: StructureType = .physical_device_descriptor_indexing_features_ext, +pub const PhysicalDeviceDescriptorIndexingFeatures = extern struct { + s_type: StructureType = .physical_device_descriptor_indexing_features, p_next: ?*anyopaque = null, shader_input_attachment_array_dynamic_indexing: Bool32 = FALSE, shader_uniform_texel_buffer_array_dynamic_indexing: Bool32 = FALSE, @@ -2996,8 +3541,9 @@ pub const PhysicalDeviceDescriptorIndexingFeaturesEXT = extern struct { descriptor_binding_variable_descriptor_count: Bool32 = FALSE, runtime_descriptor_array: Bool32 = FALSE, }; -pub const PhysicalDeviceDescriptorIndexingPropertiesEXT = extern struct { - s_type: StructureType = .physical_device_descriptor_indexing_properties_ext, +pub const PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures; +pub const PhysicalDeviceDescriptorIndexingProperties = extern struct { + s_type: StructureType = .physical_device_descriptor_indexing_properties, p_next: ?*anyopaque = null, max_update_after_bind_descriptors_in_all_pools: u32, shader_uniform_buffer_array_non_uniform_indexing_native: Bool32, @@ -3023,25 +3569,29 @@ pub const PhysicalDeviceDescriptorIndexingPropertiesEXT = extern struct { max_descriptor_set_update_after_bind_storage_images: u32, max_descriptor_set_update_after_bind_input_attachments: u32, }; -pub const DescriptorSetLayoutBindingFlagsCreateInfoEXT = extern struct { - s_type: StructureType = .descriptor_set_layout_binding_flags_create_info_ext, +pub const PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties; +pub const DescriptorSetLayoutBindingFlagsCreateInfo = extern struct { + s_type: StructureType = .descriptor_set_layout_binding_flags_create_info, p_next: ?*const anyopaque = null, binding_count: u32 = 0, - p_binding_flags: ?[*]const DescriptorBindingFlagsEXT = null, + p_binding_flags: ?[*]const DescriptorBindingFlags = null, }; -pub const DescriptorSetVariableDescriptorCountAllocateInfoEXT = extern struct { - s_type: StructureType = .descriptor_set_variable_descriptor_count_allocate_info_ext, +pub const DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo; +pub const DescriptorSetVariableDescriptorCountAllocateInfo = extern struct { + s_type: StructureType = .descriptor_set_variable_descriptor_count_allocate_info, p_next: ?*const anyopaque = null, descriptor_set_count: u32 = 0, p_descriptor_counts: ?[*]const u32 = null, }; -pub const DescriptorSetVariableDescriptorCountLayoutSupportEXT = extern struct { - s_type: StructureType = .descriptor_set_variable_descriptor_count_layout_support_ext, +pub const DescriptorSetVariableDescriptorCountAllocateInfoEXT = DescriptorSetVariableDescriptorCountAllocateInfo; +pub const DescriptorSetVariableDescriptorCountLayoutSupport = extern struct { + s_type: StructureType = .descriptor_set_variable_descriptor_count_layout_support, p_next: ?*anyopaque = null, max_variable_descriptor_count: u32, }; -pub const AttachmentDescription2KHR = extern struct { - s_type: StructureType = .attachment_description_2_khr, +pub const DescriptorSetVariableDescriptorCountLayoutSupportEXT = DescriptorSetVariableDescriptorCountLayoutSupport; +pub const AttachmentDescription2 = extern struct { + s_type: StructureType = .attachment_description_2, p_next: ?*const anyopaque = null, flags: AttachmentDescriptionFlags = .{}, format: Format, @@ -3053,115 +3603,136 @@ pub const AttachmentDescription2KHR = extern struct { initial_layout: ImageLayout, final_layout: ImageLayout, }; -pub const AttachmentReference2KHR = extern struct { - s_type: StructureType = .attachment_reference_2_khr, +pub const AttachmentDescription2KHR = AttachmentDescription2; +pub const AttachmentReference2 = extern struct { + s_type: StructureType = .attachment_reference_2, p_next: ?*const anyopaque = null, attachment: u32, layout: ImageLayout, aspect_mask: ImageAspectFlags, }; -pub const SubpassDescription2KHR = extern struct { - s_type: StructureType = .subpass_description_2_khr, +pub const AttachmentReference2KHR = AttachmentReference2; +pub const SubpassDescription2 = extern struct { + s_type: StructureType = .subpass_description_2, p_next: ?*const anyopaque = null, flags: SubpassDescriptionFlags = .{}, pipeline_bind_point: PipelineBindPoint, view_mask: u32, input_attachment_count: u32 = 0, - p_input_attachments: ?[*]const AttachmentReference2KHR = null, + p_input_attachments: ?[*]const AttachmentReference2 = null, color_attachment_count: u32 = 0, - p_color_attachments: ?[*]const AttachmentReference2KHR = null, - p_resolve_attachments: ?[*]const AttachmentReference2KHR = null, - p_depth_stencil_attachment: ?*const AttachmentReference2KHR = null, + p_color_attachments: ?[*]const AttachmentReference2 = null, + p_resolve_attachments: ?[*]const AttachmentReference2 = null, + p_depth_stencil_attachment: ?*const AttachmentReference2 = null, preserve_attachment_count: u32 = 0, p_preserve_attachments: ?[*]const u32 = null, }; -pub const SubpassDependency2KHR = extern struct { - s_type: StructureType = .subpass_dependency_2_khr, +pub const SubpassDescription2KHR = SubpassDescription2; +pub const SubpassDependency2 = extern struct { + s_type: StructureType = .subpass_dependency_2, p_next: ?*const anyopaque = null, src_subpass: u32, dst_subpass: u32, - src_stage_mask: PipelineStageFlags, - dst_stage_mask: PipelineStageFlags, + src_stage_mask: PipelineStageFlags = .{}, + dst_stage_mask: PipelineStageFlags = .{}, src_access_mask: AccessFlags = .{}, dst_access_mask: AccessFlags = .{}, dependency_flags: DependencyFlags = .{}, - view_offset: i32 = 0, + view_offset: i32, }; -pub const RenderPassCreateInfo2KHR = extern struct { - s_type: StructureType = .render_pass_create_info_2_khr, +pub const SubpassDependency2KHR = SubpassDependency2; +pub const RenderPassCreateInfo2 = extern struct { + s_type: StructureType = .render_pass_create_info_2, p_next: ?*const anyopaque = null, flags: RenderPassCreateFlags = .{}, attachment_count: u32 = 0, - p_attachments: ?[*]const AttachmentDescription2KHR = null, + p_attachments: ?[*]const AttachmentDescription2 = null, subpass_count: u32, - p_subpasses: [*]const SubpassDescription2KHR, + p_subpasses: [*]const SubpassDescription2, dependency_count: u32 = 0, - p_dependencies: ?[*]const SubpassDependency2KHR = null, + p_dependencies: ?[*]const SubpassDependency2 = null, correlated_view_mask_count: u32 = 0, p_correlated_view_masks: ?[*]const u32 = null, }; -pub const SubpassBeginInfoKHR = extern struct { - s_type: StructureType = .subpass_begin_info_khr, +pub const RenderPassCreateInfo2KHR = RenderPassCreateInfo2; +pub const SubpassBeginInfo = extern struct { + s_type: StructureType = .subpass_begin_info, p_next: ?*const anyopaque = null, contents: SubpassContents, }; -pub const SubpassEndInfoKHR = extern struct { - s_type: StructureType = .subpass_end_info_khr, +pub const SubpassBeginInfoKHR = SubpassBeginInfo; +pub const SubpassEndInfo = extern struct { + s_type: StructureType = .subpass_end_info, p_next: ?*const anyopaque = null, }; -pub const PhysicalDeviceTimelineSemaphoreFeaturesKHR = extern struct { - s_type: StructureType = .physical_device_timeline_semaphore_features_khr, +pub const SubpassEndInfoKHR = SubpassEndInfo; +pub const PhysicalDeviceTimelineSemaphoreFeatures = extern struct { + s_type: StructureType = .physical_device_timeline_semaphore_features, p_next: ?*anyopaque = null, timeline_semaphore: Bool32 = FALSE, }; -pub const PhysicalDeviceTimelineSemaphorePropertiesKHR = extern struct { - s_type: StructureType = .physical_device_timeline_semaphore_properties_khr, +pub const PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures; +pub const PhysicalDeviceTimelineSemaphoreProperties = extern struct { + s_type: StructureType = .physical_device_timeline_semaphore_properties, p_next: ?*anyopaque = null, max_timeline_semaphore_value_difference: u64, }; -pub const SemaphoreTypeCreateInfoKHR = extern struct { - s_type: StructureType = .semaphore_type_create_info_khr, +pub const PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties; +pub const SemaphoreTypeCreateInfo = extern struct { + s_type: StructureType = .semaphore_type_create_info, p_next: ?*const anyopaque = null, - semaphore_type: SemaphoreTypeKHR, + semaphore_type: SemaphoreType, initial_value: u64, }; -pub const TimelineSemaphoreSubmitInfoKHR = extern struct { - s_type: StructureType = .timeline_semaphore_submit_info_khr, +pub const SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo; +pub const TimelineSemaphoreSubmitInfo = extern struct { + s_type: StructureType = .timeline_semaphore_submit_info, p_next: ?*const anyopaque = null, wait_semaphore_value_count: u32 = 0, p_wait_semaphore_values: ?[*]const u64 = null, signal_semaphore_value_count: u32 = 0, p_signal_semaphore_values: ?[*]const u64 = null, }; -pub const SemaphoreWaitInfoKHR = extern struct { - s_type: StructureType = .semaphore_wait_info_khr, +pub const TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo; +pub const SemaphoreWaitInfo = extern struct { + s_type: StructureType = .semaphore_wait_info, p_next: ?*const anyopaque = null, - flags: SemaphoreWaitFlagsKHR = .{}, + flags: SemaphoreWaitFlags = .{}, semaphore_count: u32, p_semaphores: [*]const Semaphore, p_values: [*]const u64, }; -pub const SemaphoreSignalInfoKHR = extern struct { - s_type: StructureType = .semaphore_signal_info_khr, +pub const SemaphoreWaitInfoKHR = SemaphoreWaitInfo; +pub const SemaphoreSignalInfo = extern struct { + s_type: StructureType = .semaphore_signal_info, p_next: ?*const anyopaque = null, semaphore: Semaphore, value: u64, }; -pub const VertexInputBindingDivisorDescriptionEXT = extern struct { +pub const SemaphoreSignalInfoKHR = SemaphoreSignalInfo; +pub const VertexInputBindingDivisorDescriptionKHR = extern struct { binding: u32, divisor: u32, }; -pub const PipelineVertexInputDivisorStateCreateInfoEXT = extern struct { - s_type: StructureType = .pipeline_vertex_input_divisor_state_create_info_ext, +pub const VertexInputBindingDivisorDescriptionEXT = VertexInputBindingDivisorDescriptionKHR; +pub const PipelineVertexInputDivisorStateCreateInfoKHR = extern struct { + s_type: StructureType = .pipeline_vertex_input_divisor_state_create_info_khr, p_next: ?*const anyopaque = null, vertex_binding_divisor_count: u32, - p_vertex_binding_divisors: [*]const VertexInputBindingDivisorDescriptionEXT, + p_vertex_binding_divisors: [*]const VertexInputBindingDivisorDescriptionKHR, }; +pub const PipelineVertexInputDivisorStateCreateInfoEXT = PipelineVertexInputDivisorStateCreateInfoKHR; pub const PhysicalDeviceVertexAttributeDivisorPropertiesEXT = extern struct { s_type: StructureType = .physical_device_vertex_attribute_divisor_properties_ext, p_next: ?*anyopaque = null, max_vertex_attrib_divisor: u32, }; +pub const PhysicalDeviceVertexAttributeDivisorPropertiesKHR = extern struct { + s_type: StructureType = .physical_device_vertex_attribute_divisor_properties_khr, + p_next: ?*anyopaque = null, + max_vertex_attrib_divisor: u32, + supports_non_zero_first_instance: Bool32, +}; pub const PhysicalDevicePCIBusInfoPropertiesEXT = extern struct { s_type: StructureType = .physical_device_pci_bus_info_properties_ext, p_next: ?*anyopaque = null, @@ -3213,38 +3784,74 @@ pub const ExternalFormatANDROID = extern struct { p_next: ?*anyopaque = null, external_format: u64, }; -pub const PhysicalDevice8BitStorageFeaturesKHR = extern struct { - s_type: StructureType = .physical_device_8bit_storage_features_khr, +pub const PhysicalDevice8BitStorageFeatures = extern struct { + s_type: StructureType = .physical_device_8bit_storage_features, p_next: ?*anyopaque = null, storage_buffer_8_bit_access: Bool32 = FALSE, uniform_and_storage_buffer_8_bit_access: Bool32 = FALSE, storage_push_constant_8: Bool32 = FALSE, }; +pub const PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures; pub const PhysicalDeviceConditionalRenderingFeaturesEXT = extern struct { s_type: StructureType = .physical_device_conditional_rendering_features_ext, p_next: ?*anyopaque = null, conditional_rendering: Bool32 = FALSE, inherited_conditional_rendering: Bool32 = FALSE, }; -pub const PhysicalDeviceVulkanMemoryModelFeaturesKHR = extern struct { - s_type: StructureType = .physical_device_vulkan_memory_model_features_khr, +pub const PhysicalDeviceVulkanMemoryModelFeatures = extern struct { + s_type: StructureType = .physical_device_vulkan_memory_model_features, p_next: ?*anyopaque = null, vulkan_memory_model: Bool32 = FALSE, vulkan_memory_model_device_scope: Bool32 = FALSE, vulkan_memory_model_availability_visibility_chains: Bool32 = FALSE, }; -pub const PhysicalDeviceShaderAtomicInt64FeaturesKHR = extern struct { - s_type: StructureType = .physical_device_shader_atomic_int64_features_khr, +pub const PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures; +pub const PhysicalDeviceShaderAtomicInt64Features = extern struct { + s_type: StructureType = .physical_device_shader_atomic_int64_features, p_next: ?*anyopaque = null, shader_buffer_int_64_atomics: Bool32 = FALSE, shader_shared_int_64_atomics: Bool32 = FALSE, }; -pub const PhysicalDeviceVertexAttributeDivisorFeaturesEXT = extern struct { - s_type: StructureType = .physical_device_vertex_attribute_divisor_features_ext, +pub const PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features; +pub const PhysicalDeviceShaderAtomicFloatFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_shader_atomic_float_features_ext, + p_next: ?*anyopaque = null, + shader_buffer_float_32_atomics: Bool32 = FALSE, + shader_buffer_float_32_atomic_add: Bool32 = FALSE, + shader_buffer_float_64_atomics: Bool32 = FALSE, + shader_buffer_float_64_atomic_add: Bool32 = FALSE, + shader_shared_float_32_atomics: Bool32 = FALSE, + shader_shared_float_32_atomic_add: Bool32 = FALSE, + shader_shared_float_64_atomics: Bool32 = FALSE, + shader_shared_float_64_atomic_add: Bool32 = FALSE, + shader_image_float_32_atomics: Bool32 = FALSE, + shader_image_float_32_atomic_add: Bool32 = FALSE, + sparse_image_float_32_atomics: Bool32 = FALSE, + sparse_image_float_32_atomic_add: Bool32 = FALSE, +}; +pub const PhysicalDeviceShaderAtomicFloat2FeaturesEXT = extern struct { + s_type: StructureType = .physical_device_shader_atomic_float_2_features_ext, + p_next: ?*anyopaque = null, + shader_buffer_float_16_atomics: Bool32 = FALSE, + shader_buffer_float_16_atomic_add: Bool32 = FALSE, + shader_buffer_float_16_atomic_min_max: Bool32 = FALSE, + shader_buffer_float_32_atomic_min_max: Bool32 = FALSE, + shader_buffer_float_64_atomic_min_max: Bool32 = FALSE, + shader_shared_float_16_atomics: Bool32 = FALSE, + shader_shared_float_16_atomic_add: Bool32 = FALSE, + shader_shared_float_16_atomic_min_max: Bool32 = FALSE, + shader_shared_float_32_atomic_min_max: Bool32 = FALSE, + shader_shared_float_64_atomic_min_max: Bool32 = FALSE, + shader_image_float_32_atomic_min_max: Bool32 = FALSE, + sparse_image_float_32_atomic_min_max: Bool32 = FALSE, +}; +pub const PhysicalDeviceVertexAttributeDivisorFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_vertex_attribute_divisor_features_khr, p_next: ?*anyopaque = null, vertex_attribute_instance_rate_divisor: Bool32 = FALSE, vertex_attribute_instance_rate_zero_divisor: Bool32 = FALSE, }; +pub const PhysicalDeviceVertexAttributeDivisorFeaturesEXT = PhysicalDeviceVertexAttributeDivisorFeaturesKHR; pub const QueueFamilyCheckpointPropertiesNV = extern struct { s_type: StructureType = .queue_family_checkpoint_properties_nv, p_next: ?*anyopaque = null, @@ -3256,21 +3863,23 @@ pub const CheckpointDataNV = extern struct { stage: PipelineStageFlags, p_checkpoint_marker: *anyopaque, }; -pub const PhysicalDeviceDepthStencilResolvePropertiesKHR = extern struct { - s_type: StructureType = .physical_device_depth_stencil_resolve_properties_khr, +pub const PhysicalDeviceDepthStencilResolveProperties = extern struct { + s_type: StructureType = .physical_device_depth_stencil_resolve_properties, p_next: ?*anyopaque = null, - supported_depth_resolve_modes: ResolveModeFlagsKHR, - supported_stencil_resolve_modes: ResolveModeFlagsKHR, + supported_depth_resolve_modes: ResolveModeFlags, + supported_stencil_resolve_modes: ResolveModeFlags, independent_resolve_none: Bool32, independent_resolve: Bool32, }; -pub const SubpassDescriptionDepthStencilResolveKHR = extern struct { - s_type: StructureType = .subpass_description_depth_stencil_resolve_khr, +pub const PhysicalDeviceDepthStencilResolvePropertiesKHR = PhysicalDeviceDepthStencilResolveProperties; +pub const SubpassDescriptionDepthStencilResolve = extern struct { + s_type: StructureType = .subpass_description_depth_stencil_resolve, p_next: ?*const anyopaque = null, - depth_resolve_mode: ResolveModeFlagsKHR, - stencil_resolve_mode: ResolveModeFlagsKHR, - p_depth_stencil_resolve_attachment: ?*const AttachmentReference2KHR = null, + depth_resolve_mode: ResolveModeFlags, + stencil_resolve_mode: ResolveModeFlags, + p_depth_stencil_resolve_attachment: ?*const AttachmentReference2 = null, }; +pub const SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve; pub const ImageViewASTCDecodeModeEXT = extern struct { s_type: StructureType = .image_view_astc_decode_mode_ext, p_next: ?*const anyopaque = null, @@ -3339,11 +3948,7 @@ pub const PhysicalDeviceComputeShaderDerivativesFeaturesNV = extern struct { compute_derivative_group_quads: Bool32 = FALSE, compute_derivative_group_linear: Bool32 = FALSE, }; -pub const PhysicalDeviceFragmentShaderBarycentricFeaturesNV = extern struct { - s_type: StructureType = .physical_device_fragment_shader_barycentric_features_nv, - p_next: ?*anyopaque = null, - fragment_shader_barycentric: Bool32 = FALSE, -}; +pub const PhysicalDeviceFragmentShaderBarycentricFeaturesNV = PhysicalDeviceFragmentShaderBarycentricFeaturesKHR; pub const PhysicalDeviceShaderImageFootprintFeaturesNV = extern struct { s_type: StructureType = .physical_device_shader_image_footprint_features_nv, p_next: ?*anyopaque = null, @@ -3354,6 +3959,27 @@ pub const PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = extern stru p_next: ?*anyopaque = null, dedicated_allocation_image_aliasing: Bool32 = FALSE, }; +pub const PhysicalDeviceCopyMemoryIndirectFeaturesNV = extern struct { + s_type: StructureType = .physical_device_copy_memory_indirect_features_nv, + p_next: ?*anyopaque = null, + indirect_copy: Bool32 = FALSE, +}; +pub const PhysicalDeviceCopyMemoryIndirectPropertiesNV = extern struct { + s_type: StructureType = .physical_device_copy_memory_indirect_properties_nv, + p_next: ?*anyopaque = null, + supported_queues: QueueFlags, +}; +pub const PhysicalDeviceMemoryDecompressionFeaturesNV = extern struct { + s_type: StructureType = .physical_device_memory_decompression_features_nv, + p_next: ?*anyopaque = null, + memory_decompression: Bool32 = FALSE, +}; +pub const PhysicalDeviceMemoryDecompressionPropertiesNV = extern struct { + s_type: StructureType = .physical_device_memory_decompression_properties_nv, + p_next: ?*anyopaque = null, + decompression_methods: MemoryDecompressionMethodFlagsNV, + max_decompression_indirect_count: u64, +}; pub const ShadingRatePaletteNV = extern struct { shading_rate_palette_entry_count: u32, p_shading_rate_palette_entries: [*]const ShadingRatePaletteEntryNV, @@ -3378,6 +4004,11 @@ pub const PhysicalDeviceShadingRateImagePropertiesNV = extern struct { shading_rate_palette_size: u32, shading_rate_max_coarse_samples: u32, }; +pub const PhysicalDeviceInvocationMaskFeaturesHUAWEI = extern struct { + s_type: StructureType = .physical_device_invocation_mask_features_huawei, + p_next: ?*anyopaque = null, + invocation_mask: Bool32 = FALSE, +}; pub const CoarseSampleLocationNV = extern struct { pixel_x: u32, pixel_y: u32, @@ -3423,14 +4054,70 @@ pub const DrawMeshTasksIndirectCommandNV = extern struct { task_count: u32, first_task: u32, }; +pub const PhysicalDeviceMeshShaderFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_mesh_shader_features_ext, + p_next: ?*anyopaque = null, + task_shader: Bool32 = FALSE, + mesh_shader: Bool32 = FALSE, + multiview_mesh_shader: Bool32 = FALSE, + primitive_fragment_shading_rate_mesh_shader: Bool32 = FALSE, + mesh_shader_queries: Bool32 = FALSE, +}; +pub const PhysicalDeviceMeshShaderPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_mesh_shader_properties_ext, + p_next: ?*anyopaque = null, + max_task_work_group_total_count: u32, + max_task_work_group_count: [3]u32, + max_task_work_group_invocations: u32, + max_task_work_group_size: [3]u32, + max_task_payload_size: u32, + max_task_shared_memory_size: u32, + max_task_payload_and_shared_memory_size: u32, + max_mesh_work_group_total_count: u32, + max_mesh_work_group_count: [3]u32, + max_mesh_work_group_invocations: u32, + max_mesh_work_group_size: [3]u32, + max_mesh_shared_memory_size: u32, + max_mesh_payload_and_shared_memory_size: u32, + max_mesh_output_memory_size: u32, + max_mesh_payload_and_output_memory_size: u32, + max_mesh_output_components: u32, + max_mesh_output_vertices: u32, + max_mesh_output_primitives: u32, + max_mesh_output_layers: u32, + max_mesh_multiview_view_count: u32, + mesh_output_per_vertex_granularity: u32, + mesh_output_per_primitive_granularity: u32, + max_preferred_task_work_group_invocations: u32, + max_preferred_mesh_work_group_invocations: u32, + prefers_local_invocation_vertex_output: Bool32, + prefers_local_invocation_primitive_output: Bool32, + prefers_compact_vertex_output: Bool32, + prefers_compact_primitive_output: Bool32, +}; +pub const DrawMeshTasksIndirectCommandEXT = extern struct { + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, +}; pub const RayTracingShaderGroupCreateInfoNV = extern struct { s_type: StructureType = .ray_tracing_shader_group_create_info_nv, p_next: ?*const anyopaque = null, - type: RayTracingShaderGroupTypeNV, + type: RayTracingShaderGroupTypeKHR, + general_shader: u32, + closest_hit_shader: u32, + any_hit_shader: u32, + intersection_shader: u32, +}; +pub const RayTracingShaderGroupCreateInfoKHR = extern struct { + s_type: StructureType = .ray_tracing_shader_group_create_info_khr, + p_next: ?*const anyopaque = null, + type: RayTracingShaderGroupTypeKHR, general_shader: u32, closest_hit_shader: u32, any_hit_shader: u32, intersection_shader: u32, + p_shader_group_capture_replay_handle: ?*const anyopaque = null, }; pub const RayTracingPipelineCreateInfoNV = extern struct { s_type: StructureType = .ray_tracing_pipeline_create_info_nv, @@ -3445,6 +4132,22 @@ pub const RayTracingPipelineCreateInfoNV = extern struct { base_pipeline_handle: Pipeline = .null_handle, base_pipeline_index: i32, }; +pub const RayTracingPipelineCreateInfoKHR = extern struct { + s_type: StructureType = .ray_tracing_pipeline_create_info_khr, + p_next: ?*const anyopaque = null, + flags: PipelineCreateFlags = .{}, + stage_count: u32 = 0, + p_stages: ?[*]const PipelineShaderStageCreateInfo = null, + group_count: u32 = 0, + p_groups: ?[*]const RayTracingShaderGroupCreateInfoKHR = null, + max_pipeline_ray_recursion_depth: u32, + p_library_info: ?*const PipelineLibraryCreateInfoKHR = null, + p_library_interface: ?*const RayTracingPipelineInterfaceCreateInfoKHR = null, + p_dynamic_state: ?*const PipelineDynamicStateCreateInfo = null, + layout: PipelineLayout, + base_pipeline_handle: Pipeline = .null_handle, + base_pipeline_index: i32, +}; pub const GeometryTrianglesNV = extern struct { s_type: StructureType = .geometry_triangles_nv, p_next: ?*const anyopaque = null, @@ -3475,9 +4178,9 @@ pub const GeometryDataNV = extern struct { pub const GeometryNV = extern struct { s_type: StructureType = .geometry_nv, p_next: ?*const anyopaque = null, - geometry_type: GeometryTypeNV, + geometry_type: GeometryTypeKHR, geometry: GeometryDataNV, - flags: GeometryFlagsNV = .{}, + flags: GeometryFlagsKHR = .{}, }; pub const AccelerationStructureInfoNV = extern struct { s_type: StructureType = .acceleration_structure_info_nv, @@ -3503,6 +4206,12 @@ pub const BindAccelerationStructureMemoryInfoNV = extern struct { device_index_count: u32 = 0, p_device_indices: ?[*]const u32 = null, }; +pub const WriteDescriptorSetAccelerationStructureKHR = extern struct { + s_type: StructureType = .write_descriptor_set_acceleration_structure_khr, + p_next: ?*const anyopaque = null, + acceleration_structure_count: u32, + p_acceleration_structures: [*]const AccelerationStructureKHR, +}; pub const WriteDescriptorSetAccelerationStructureNV = extern struct { s_type: StructureType = .write_descriptor_set_acceleration_structure_nv, p_next: ?*const anyopaque = null, @@ -3515,6 +4224,53 @@ pub const AccelerationStructureMemoryRequirementsInfoNV = extern struct { type: AccelerationStructureMemoryRequirementsTypeNV, acceleration_structure: AccelerationStructureNV, }; +pub const PhysicalDeviceAccelerationStructureFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_acceleration_structure_features_khr, + p_next: ?*anyopaque = null, + acceleration_structure: Bool32 = FALSE, + acceleration_structure_capture_replay: Bool32 = FALSE, + acceleration_structure_indirect_build: Bool32 = FALSE, + acceleration_structure_host_commands: Bool32 = FALSE, + descriptor_binding_acceleration_structure_update_after_bind: Bool32 = FALSE, +}; +pub const PhysicalDeviceRayTracingPipelineFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_ray_tracing_pipeline_features_khr, + p_next: ?*anyopaque = null, + ray_tracing_pipeline: Bool32 = FALSE, + ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32 = FALSE, + ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32 = FALSE, + ray_tracing_pipeline_trace_rays_indirect: Bool32 = FALSE, + ray_traversal_primitive_culling: Bool32 = FALSE, +}; +pub const PhysicalDeviceRayQueryFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_ray_query_features_khr, + p_next: ?*anyopaque = null, + ray_query: Bool32 = FALSE, +}; +pub const PhysicalDeviceAccelerationStructurePropertiesKHR = extern struct { + s_type: StructureType = .physical_device_acceleration_structure_properties_khr, + p_next: ?*anyopaque = null, + max_geometry_count: u64, + max_instance_count: u64, + max_primitive_count: u64, + max_per_stage_descriptor_acceleration_structures: u32, + max_per_stage_descriptor_update_after_bind_acceleration_structures: u32, + max_descriptor_set_acceleration_structures: u32, + max_descriptor_set_update_after_bind_acceleration_structures: u32, + min_acceleration_structure_scratch_offset_alignment: u32, +}; +pub const PhysicalDeviceRayTracingPipelinePropertiesKHR = extern struct { + s_type: StructureType = .physical_device_ray_tracing_pipeline_properties_khr, + p_next: ?*anyopaque = null, + shader_group_handle_size: u32, + max_ray_recursion_depth: u32, + max_shader_group_stride: u32, + shader_group_base_alignment: u32, + shader_group_handle_capture_replay_size: u32, + max_ray_dispatch_invocation_count: u32, + shader_group_handle_alignment: u32, + max_ray_hit_attribute_size: u32, +}; pub const PhysicalDeviceRayTracingPropertiesNV = extern struct { s_type: StructureType = .physical_device_ray_tracing_properties_nv, p_next: ?*anyopaque = null, @@ -3527,6 +4283,38 @@ pub const PhysicalDeviceRayTracingPropertiesNV = extern struct { max_triangle_count: u64, max_descriptor_set_acceleration_structures: u32, }; +pub const StridedDeviceAddressRegionKHR = extern struct { + device_address: DeviceAddress = 0, + stride: DeviceSize, + size: DeviceSize, +}; +pub const TraceRaysIndirectCommandKHR = extern struct { + width: u32, + height: u32, + depth: u32, +}; +pub const TraceRaysIndirectCommand2KHR = extern struct { + raygen_shader_record_address: DeviceAddress, + raygen_shader_record_size: DeviceSize, + miss_shader_binding_table_address: DeviceAddress, + miss_shader_binding_table_size: DeviceSize, + miss_shader_binding_table_stride: DeviceSize, + hit_shader_binding_table_address: DeviceAddress, + hit_shader_binding_table_size: DeviceSize, + hit_shader_binding_table_stride: DeviceSize, + callable_shader_binding_table_address: DeviceAddress, + callable_shader_binding_table_size: DeviceSize, + callable_shader_binding_table_stride: DeviceSize, + width: u32, + height: u32, + depth: u32, +}; +pub const PhysicalDeviceRayTracingMaintenance1FeaturesKHR = extern struct { + s_type: StructureType = .physical_device_ray_tracing_maintenance_1_features_khr, + p_next: ?*anyopaque = null, + ray_tracing_maintenance_1: Bool32 = FALSE, + ray_tracing_pipeline_trace_rays_indirect_2: Bool32 = FALSE, +}; pub const DrmFormatModifierPropertiesListEXT = extern struct { s_type: StructureType = .drm_format_modifier_properties_list_ext, p_next: ?*anyopaque = null, @@ -3564,11 +4352,12 @@ pub const ImageDrmFormatModifierPropertiesEXT = extern struct { p_next: ?*anyopaque = null, drm_format_modifier: u64, }; -pub const ImageStencilUsageCreateInfoEXT = extern struct { - s_type: StructureType = .image_stencil_usage_create_info_ext, +pub const ImageStencilUsageCreateInfo = extern struct { + s_type: StructureType = .image_stencil_usage_create_info, p_next: ?*const anyopaque = null, stencil_usage: ImageUsageFlags, }; +pub const ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo; pub const DeviceMemoryOverallocationCreateInfoAMD = extern struct { s_type: StructureType = .device_memory_overallocation_create_info_amd, p_next: ?*const anyopaque = null, @@ -3581,6 +4370,16 @@ pub const PhysicalDeviceFragmentDensityMapFeaturesEXT = extern struct { fragment_density_map_dynamic: Bool32 = FALSE, fragment_density_map_non_subsampled_images: Bool32 = FALSE, }; +pub const PhysicalDeviceFragmentDensityMap2FeaturesEXT = extern struct { + s_type: StructureType = .physical_device_fragment_density_map_2_features_ext, + p_next: ?*anyopaque = null, + fragment_density_map_deferred: Bool32 = FALSE, +}; +pub const PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM = extern struct { + s_type: StructureType = .physical_device_fragment_density_map_offset_features_qcom, + p_next: ?*anyopaque = null, + fragment_density_map_offset: Bool32 = FALSE, +}; pub const PhysicalDeviceFragmentDensityMapPropertiesEXT = extern struct { s_type: StructureType = .physical_device_fragment_density_map_properties_ext, p_next: ?*anyopaque = null, @@ -3588,26 +4387,47 @@ pub const PhysicalDeviceFragmentDensityMapPropertiesEXT = extern struct { max_fragment_density_texel_size: Extent2D, fragment_density_invocations: Bool32, }; +pub const PhysicalDeviceFragmentDensityMap2PropertiesEXT = extern struct { + s_type: StructureType = .physical_device_fragment_density_map_2_properties_ext, + p_next: ?*anyopaque = null, + subsampled_loads: Bool32, + subsampled_coarse_reconstruction_early_access: Bool32, + max_subsampled_array_layers: u32, + max_descriptor_set_subsampled_samplers: u32, +}; +pub const PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM = extern struct { + s_type: StructureType = .physical_device_fragment_density_map_offset_properties_qcom, + p_next: ?*anyopaque = null, + fragment_density_offset_granularity: Extent2D, +}; pub const RenderPassFragmentDensityMapCreateInfoEXT = extern struct { s_type: StructureType = .render_pass_fragment_density_map_create_info_ext, p_next: ?*const anyopaque = null, fragment_density_map_attachment: AttachmentReference, }; -pub const PhysicalDeviceScalarBlockLayoutFeaturesEXT = extern struct { - s_type: StructureType = .physical_device_scalar_block_layout_features_ext, +pub const SubpassFragmentDensityMapOffsetEndInfoQCOM = extern struct { + s_type: StructureType = .subpass_fragment_density_map_offset_end_info_qcom, + p_next: ?*const anyopaque = null, + fragment_density_offset_count: u32 = 0, + p_fragment_density_offsets: ?[*]const Offset2D = null, +}; +pub const PhysicalDeviceScalarBlockLayoutFeatures = extern struct { + s_type: StructureType = .physical_device_scalar_block_layout_features, p_next: ?*anyopaque = null, scalar_block_layout: Bool32 = FALSE, }; +pub const PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures; pub const SurfaceProtectedCapabilitiesKHR = extern struct { s_type: StructureType = .surface_protected_capabilities_khr, p_next: ?*const anyopaque = null, supports_protected: Bool32, }; -pub const PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = extern struct { - s_type: StructureType = .physical_device_uniform_buffer_standard_layout_features_khr, +pub const PhysicalDeviceUniformBufferStandardLayoutFeatures = extern struct { + s_type: StructureType = .physical_device_uniform_buffer_standard_layout_features, p_next: ?*anyopaque = null, uniform_buffer_standard_layout: Bool32 = FALSE, }; +pub const PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = PhysicalDeviceUniformBufferStandardLayoutFeatures; pub const PhysicalDeviceDepthClipEnableFeaturesEXT = extern struct { s_type: StructureType = .physical_device_depth_clip_enable_features_ext, p_next: ?*anyopaque = null, @@ -3635,13 +4455,19 @@ pub const MemoryPriorityAllocateInfoEXT = extern struct { p_next: ?*const anyopaque = null, priority: f32, }; -pub const PhysicalDeviceBufferDeviceAddressFeaturesKHR = extern struct { - s_type: StructureType = .physical_device_buffer_device_address_features_khr, +pub const PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_pageable_device_local_memory_features_ext, + p_next: ?*anyopaque = null, + pageable_device_local_memory: Bool32 = FALSE, +}; +pub const PhysicalDeviceBufferDeviceAddressFeatures = extern struct { + s_type: StructureType = .physical_device_buffer_device_address_features, p_next: ?*anyopaque = null, buffer_device_address: Bool32 = FALSE, buffer_device_address_capture_replay: Bool32 = FALSE, buffer_device_address_multi_device: Bool32 = FALSE, }; +pub const PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures; pub const PhysicalDeviceBufferDeviceAddressFeaturesEXT = extern struct { s_type: StructureType = .physical_device_buffer_device_address_features_ext, p_next: ?*anyopaque = null, @@ -3650,17 +4476,19 @@ pub const PhysicalDeviceBufferDeviceAddressFeaturesEXT = extern struct { buffer_device_address_multi_device: Bool32 = FALSE, }; pub const PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT; -pub const BufferDeviceAddressInfoKHR = extern struct { - s_type: StructureType = .buffer_device_address_info_khr, +pub const BufferDeviceAddressInfo = extern struct { + s_type: StructureType = .buffer_device_address_info, p_next: ?*const anyopaque = null, buffer: Buffer, }; -pub const BufferDeviceAddressInfoEXT = BufferDeviceAddressInfoKHR; -pub const BufferOpaqueCaptureAddressCreateInfoKHR = extern struct { - s_type: StructureType = .buffer_opaque_capture_address_create_info_khr, +pub const BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo; +pub const BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo; +pub const BufferOpaqueCaptureAddressCreateInfo = extern struct { + s_type: StructureType = .buffer_opaque_capture_address_create_info, p_next: ?*const anyopaque = null, opaque_capture_address: u64, }; +pub const BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo; pub const BufferDeviceAddressCreateInfoEXT = extern struct { s_type: StructureType = .buffer_device_address_create_info_ext, p_next: ?*const anyopaque = null, @@ -3677,19 +4505,21 @@ pub const FilterCubicImageViewImageFormatPropertiesEXT = extern struct { filter_cubic: Bool32, filter_cubic_minmax: Bool32, }; -pub const PhysicalDeviceImagelessFramebufferFeaturesKHR = extern struct { - s_type: StructureType = .physical_device_imageless_framebuffer_features_khr, +pub const PhysicalDeviceImagelessFramebufferFeatures = extern struct { + s_type: StructureType = .physical_device_imageless_framebuffer_features, p_next: ?*anyopaque = null, imageless_framebuffer: Bool32 = FALSE, }; -pub const FramebufferAttachmentsCreateInfoKHR = extern struct { - s_type: StructureType = .framebuffer_attachments_create_info_khr, +pub const PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures; +pub const FramebufferAttachmentsCreateInfo = extern struct { + s_type: StructureType = .framebuffer_attachments_create_info, p_next: ?*const anyopaque = null, attachment_image_info_count: u32 = 0, - p_attachment_image_infos: ?[*]const FramebufferAttachmentImageInfoKHR = null, + p_attachment_image_infos: ?[*]const FramebufferAttachmentImageInfo = null, }; -pub const FramebufferAttachmentImageInfoKHR = extern struct { - s_type: StructureType = .framebuffer_attachment_image_info_khr, +pub const FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo; +pub const FramebufferAttachmentImageInfo = extern struct { + s_type: StructureType = .framebuffer_attachment_image_info, p_next: ?*const anyopaque = null, flags: ImageCreateFlags = .{}, usage: ImageUsageFlags, @@ -3699,17 +4529,20 @@ pub const FramebufferAttachmentImageInfoKHR = extern struct { view_format_count: u32 = 0, p_view_formats: ?[*]const Format = null, }; -pub const RenderPassAttachmentBeginInfoKHR = extern struct { - s_type: StructureType = .render_pass_attachment_begin_info_khr, +pub const FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo; +pub const RenderPassAttachmentBeginInfo = extern struct { + s_type: StructureType = .render_pass_attachment_begin_info, p_next: ?*const anyopaque = null, attachment_count: u32 = 0, p_attachments: ?[*]const ImageView = null, }; -pub const PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = extern struct { - s_type: StructureType = .physical_device_texture_compression_astc_hdr_features_ext, +pub const RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo; +pub const PhysicalDeviceTextureCompressionASTCHDRFeatures = extern struct { + s_type: StructureType = .physical_device_texture_compression_astc_hdr_features, p_next: ?*anyopaque = null, texture_compression_astc_hdr: Bool32 = FALSE, }; +pub const PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = PhysicalDeviceTextureCompressionASTCHDRFeatures; pub const PhysicalDeviceCooperativeMatrixFeaturesNV = extern struct { s_type: StructureType = .physical_device_cooperative_matrix_features_nv, p_next: ?*anyopaque = null, @@ -3745,22 +4578,30 @@ pub const ImageViewHandleInfoNVX = extern struct { descriptor_type: DescriptorType, sampler: Sampler = .null_handle, }; +pub const ImageViewAddressPropertiesNVX = extern struct { + s_type: StructureType = .image_view_address_properties_nvx, + p_next: ?*anyopaque = null, + device_address: DeviceAddress, + size: DeviceSize, +}; pub const PresentFrameTokenGGP = extern struct { s_type: StructureType = .present_frame_token_ggp, p_next: ?*const anyopaque = null, frame_token: GgpFrameToken, }; -pub const PipelineCreationFeedbackEXT = extern struct { - flags: PipelineCreationFeedbackFlagsEXT, +pub const PipelineCreationFeedback = extern struct { + flags: PipelineCreationFeedbackFlags, duration: u64, }; -pub const PipelineCreationFeedbackCreateInfoEXT = extern struct { - s_type: StructureType = .pipeline_creation_feedback_create_info_ext, +pub const PipelineCreationFeedbackEXT = PipelineCreationFeedback; +pub const PipelineCreationFeedbackCreateInfo = extern struct { + s_type: StructureType = .pipeline_creation_feedback_create_info, p_next: ?*const anyopaque = null, - p_pipeline_creation_feedback: *PipelineCreationFeedbackEXT, - pipeline_stage_creation_feedback_count: u32, - p_pipeline_stage_creation_feedbacks: [*]PipelineCreationFeedbackEXT, + p_pipeline_creation_feedback: *PipelineCreationFeedback, + pipeline_stage_creation_feedback_count: u32 = 0, + p_pipeline_stage_creation_feedbacks: ?[*]PipelineCreationFeedback = null, }; +pub const PipelineCreationFeedbackCreateInfoEXT = PipelineCreationFeedbackCreateInfo; pub const SurfaceFullScreenExclusiveInfoEXT = extern struct { s_type: StructureType = .surface_full_screen_exclusive_info_ext, p_next: ?*anyopaque = null, @@ -3776,6 +4617,21 @@ pub const SurfaceCapabilitiesFullScreenExclusiveEXT = extern struct { p_next: ?*anyopaque = null, full_screen_exclusive_supported: Bool32, }; +pub const PhysicalDevicePresentBarrierFeaturesNV = extern struct { + s_type: StructureType = .physical_device_present_barrier_features_nv, + p_next: ?*anyopaque = null, + present_barrier: Bool32 = FALSE, +}; +pub const SurfaceCapabilitiesPresentBarrierNV = extern struct { + s_type: StructureType = .surface_capabilities_present_barrier_nv, + p_next: ?*anyopaque = null, + present_barrier_supported: Bool32, +}; +pub const SwapchainPresentBarrierCreateInfoNV = extern struct { + s_type: StructureType = .swapchain_present_barrier_create_info_nv, + p_next: ?*anyopaque = null, + present_barrier_enable: Bool32, +}; pub const PhysicalDevicePerformanceQueryFeaturesKHR = extern struct { s_type: StructureType = .physical_device_performance_query_features_khr, p_next: ?*anyopaque = null, @@ -3789,7 +4645,7 @@ pub const PhysicalDevicePerformanceQueryPropertiesKHR = extern struct { }; pub const PerformanceCounterKHR = extern struct { s_type: StructureType = .performance_counter_khr, - p_next: ?*const anyopaque = null, + p_next: ?*anyopaque = null, unit: PerformanceCounterUnitKHR, scope: PerformanceCounterScopeKHR, storage: PerformanceCounterStorageKHR, @@ -3797,7 +4653,7 @@ pub const PerformanceCounterKHR = extern struct { }; pub const PerformanceCounterDescriptionKHR = extern struct { s_type: StructureType = .performance_counter_description_khr, - p_next: ?*const anyopaque = null, + p_next: ?*anyopaque = null, flags: PerformanceCounterDescriptionFlagsKHR = .{}, name: [MAX_DESCRIPTION_SIZE]u8, category: [MAX_DESCRIPTION_SIZE]u8, @@ -3829,6 +4685,11 @@ pub const PerformanceQuerySubmitInfoKHR = extern struct { p_next: ?*const anyopaque = null, counter_pass_index: u32, }; +pub const PerformanceQueryReservationInfoKHR = extern struct { + s_type: StructureType, + p_next: ?*const anyopaque = null, + max_performance_queries_per_pool: u32, +}; pub const HeadlessSurfaceCreateInfoEXT = extern struct { s_type: StructureType = .headless_surface_create_info_ext, p_next: ?*const anyopaque = null, @@ -3863,7 +4724,7 @@ pub const PerformanceValueDataINTEL = extern union { value_64: u64, value_float: f32, value_bool: Bool32, - value_string: *const u8, + value_string: [*:0]const u8, }; pub const PerformanceValueINTEL = extern struct { type: PerformanceValueTypeINTEL, @@ -3872,13 +4733,14 @@ pub const PerformanceValueINTEL = extern struct { pub const InitializePerformanceApiInfoINTEL = extern struct { s_type: StructureType = .initialize_performance_api_info_intel, p_next: ?*const anyopaque = null, - p_user_data: *anyopaque, + p_user_data: ?*anyopaque = null, }; -pub const QueryPoolCreateInfoINTEL = extern struct { - s_type: StructureType = .query_pool_create_info_intel, +pub const QueryPoolPerformanceQueryCreateInfoINTEL = extern struct { + s_type: StructureType = .query_pool_performance_query_create_info_intel, p_next: ?*const anyopaque = null, performance_counters_sampling: QueryPoolSamplingModeINTEL, }; +pub const QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL; pub const PerformanceMarkerInfoINTEL = extern struct { s_type: StructureType = .performance_marker_info_intel, p_next: ?*const anyopaque = null, @@ -3907,11 +4769,12 @@ pub const PhysicalDeviceShaderClockFeaturesKHR = extern struct { shader_subgroup_clock: Bool32 = FALSE, shader_device_clock: Bool32 = FALSE, }; -pub const PhysicalDeviceIndexTypeUint8FeaturesEXT = extern struct { - s_type: StructureType = .physical_device_index_type_uint8_features_ext, +pub const PhysicalDeviceIndexTypeUint8FeaturesKHR = extern struct { + s_type: StructureType = .physical_device_index_type_uint8_features_khr, p_next: ?*anyopaque = null, index_type_uint_8: Bool32 = FALSE, }; +pub const PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8FeaturesKHR; pub const PhysicalDeviceShaderSMBuiltinsPropertiesNV = extern struct { s_type: StructureType = .physical_device_shader_sm_builtins_properties_nv, p_next: ?*anyopaque = null, @@ -3930,22 +4793,31 @@ pub const PhysicalDeviceFragmentShaderInterlockFeaturesEXT = extern struct { fragment_shader_pixel_interlock: Bool32 = FALSE, fragment_shader_shading_rate_interlock: Bool32 = FALSE, }; -pub const PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = extern struct { - s_type: StructureType = .physical_device_separate_depth_stencil_layouts_features_khr, +pub const PhysicalDeviceSeparateDepthStencilLayoutsFeatures = extern struct { + s_type: StructureType = .physical_device_separate_depth_stencil_layouts_features, p_next: ?*anyopaque = null, separate_depth_stencil_layouts: Bool32 = FALSE, }; -pub const AttachmentReferenceStencilLayoutKHR = extern struct { - s_type: StructureType = .attachment_reference_stencil_layout_khr, +pub const PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = PhysicalDeviceSeparateDepthStencilLayoutsFeatures; +pub const AttachmentReferenceStencilLayout = extern struct { + s_type: StructureType = .attachment_reference_stencil_layout, p_next: ?*anyopaque = null, stencil_layout: ImageLayout, }; -pub const AttachmentDescriptionStencilLayoutKHR = extern struct { - s_type: StructureType = .attachment_description_stencil_layout_khr, +pub const PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_primitive_topology_list_restart_features_ext, + p_next: ?*anyopaque = null, + primitive_topology_list_restart: Bool32 = FALSE, + primitive_topology_patch_list_restart: Bool32 = FALSE, +}; +pub const AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout; +pub const AttachmentDescriptionStencilLayout = extern struct { + s_type: StructureType = .attachment_description_stencil_layout, p_next: ?*anyopaque = null, stencil_initial_layout: ImageLayout, stencil_final_layout: ImageLayout, }; +pub const AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout; pub const PhysicalDevicePipelineExecutablePropertiesFeaturesKHR = extern struct { s_type: StructureType = .physical_device_pipeline_executable_properties_features_khr, p_next: ?*anyopaque = null, @@ -3956,6 +4828,7 @@ pub const PipelineInfoKHR = extern struct { p_next: ?*const anyopaque = null, pipeline: Pipeline, }; +pub const PipelineInfoEXT = PipelineInfoKHR; pub const PipelineExecutablePropertiesKHR = extern struct { s_type: StructureType = .pipeline_executable_properties_khr, p_next: ?*anyopaque = null, @@ -3990,58 +4863,85 @@ pub const PipelineExecutableInternalRepresentationKHR = extern struct { name: [MAX_DESCRIPTION_SIZE]u8, description: [MAX_DESCRIPTION_SIZE]u8, is_text: Bool32, - data_size: usize = 0, + data_size: usize, p_data: ?*anyopaque = null, }; -pub const PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = extern struct { - s_type: StructureType = .physical_device_shader_demote_to_helper_invocation_features_ext, +pub const PhysicalDeviceShaderDemoteToHelperInvocationFeatures = extern struct { + s_type: StructureType = .physical_device_shader_demote_to_helper_invocation_features, p_next: ?*anyopaque = null, shader_demote_to_helper_invocation: Bool32 = FALSE, }; +pub const PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = PhysicalDeviceShaderDemoteToHelperInvocationFeatures; pub const PhysicalDeviceTexelBufferAlignmentFeaturesEXT = extern struct { s_type: StructureType = .physical_device_texel_buffer_alignment_features_ext, p_next: ?*anyopaque = null, texel_buffer_alignment: Bool32 = FALSE, }; -pub const PhysicalDeviceTexelBufferAlignmentPropertiesEXT = extern struct { - s_type: StructureType = .physical_device_texel_buffer_alignment_properties_ext, +pub const PhysicalDeviceTexelBufferAlignmentProperties = extern struct { + s_type: StructureType = .physical_device_texel_buffer_alignment_properties, p_next: ?*anyopaque = null, storage_texel_buffer_offset_alignment_bytes: DeviceSize, storage_texel_buffer_offset_single_texel_alignment: Bool32, uniform_texel_buffer_offset_alignment_bytes: DeviceSize, uniform_texel_buffer_offset_single_texel_alignment: Bool32, }; -pub const PhysicalDeviceSubgroupSizeControlFeaturesEXT = extern struct { - s_type: StructureType = .physical_device_subgroup_size_control_features_ext, +pub const PhysicalDeviceTexelBufferAlignmentPropertiesEXT = PhysicalDeviceTexelBufferAlignmentProperties; +pub const PhysicalDeviceSubgroupSizeControlFeatures = extern struct { + s_type: StructureType = .physical_device_subgroup_size_control_features, p_next: ?*anyopaque = null, subgroup_size_control: Bool32 = FALSE, compute_full_subgroups: Bool32 = FALSE, }; -pub const PhysicalDeviceSubgroupSizeControlPropertiesEXT = extern struct { - s_type: StructureType = .physical_device_subgroup_size_control_properties_ext, +pub const PhysicalDeviceSubgroupSizeControlFeaturesEXT = PhysicalDeviceSubgroupSizeControlFeatures; +pub const PhysicalDeviceSubgroupSizeControlProperties = extern struct { + s_type: StructureType = .physical_device_subgroup_size_control_properties, p_next: ?*anyopaque = null, min_subgroup_size: u32, max_subgroup_size: u32, max_compute_workgroup_subgroups: u32, required_subgroup_size_stages: ShaderStageFlags, }; -pub const PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = extern struct { - s_type: StructureType = .pipeline_shader_stage_required_subgroup_size_create_info_ext, +pub const PhysicalDeviceSubgroupSizeControlPropertiesEXT = PhysicalDeviceSubgroupSizeControlProperties; +pub const PipelineShaderStageRequiredSubgroupSizeCreateInfo = extern struct { + s_type: StructureType = .pipeline_shader_stage_required_subgroup_size_create_info, p_next: ?*anyopaque = null, required_subgroup_size: u32, }; -pub const MemoryOpaqueCaptureAddressAllocateInfoKHR = extern struct { - s_type: StructureType = .memory_opaque_capture_address_allocate_info_khr, +pub const PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = PipelineShaderStageRequiredSubgroupSizeCreateInfo; +pub const ShaderRequiredSubgroupSizeCreateInfoEXT = PipelineShaderStageRequiredSubgroupSizeCreateInfo; +pub const SubpassShadingPipelineCreateInfoHUAWEI = extern struct { + s_type: StructureType = .subpass_shading_pipeline_create_info_huawei, + p_next: ?*anyopaque = null, + render_pass: RenderPass, + subpass: u32, +}; +pub const PhysicalDeviceSubpassShadingPropertiesHUAWEI = extern struct { + s_type: StructureType = .physical_device_subpass_shading_properties_huawei, + p_next: ?*anyopaque = null, + max_subpass_shading_workgroup_size_aspect_ratio: u32, +}; +pub const PhysicalDeviceClusterCullingShaderPropertiesHUAWEI = extern struct { + s_type: StructureType = .physical_device_cluster_culling_shader_properties_huawei, + p_next: ?*anyopaque = null, + max_work_group_count: [3]u32, + max_work_group_size: [3]u32, + max_output_cluster_count: u32, + indirect_buffer_offset_alignment: DeviceSize, +}; +pub const MemoryOpaqueCaptureAddressAllocateInfo = extern struct { + s_type: StructureType = .memory_opaque_capture_address_allocate_info, p_next: ?*const anyopaque = null, opaque_capture_address: u64, }; -pub const DeviceMemoryOpaqueCaptureAddressInfoKHR = extern struct { - s_type: StructureType = .device_memory_opaque_capture_address_info_khr, +pub const MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo; +pub const DeviceMemoryOpaqueCaptureAddressInfo = extern struct { + s_type: StructureType = .device_memory_opaque_capture_address_info, p_next: ?*const anyopaque = null, memory: DeviceMemory, }; -pub const PhysicalDeviceLineRasterizationFeaturesEXT = extern struct { - s_type: StructureType = .physical_device_line_rasterization_features_ext, +pub const DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo; +pub const PhysicalDeviceLineRasterizationFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_line_rasterization_features_khr, p_next: ?*anyopaque = null, rectangular_lines: Bool32 = FALSE, bresenham_lines: Bool32 = FALSE, @@ -4050,784 +4950,4649 @@ pub const PhysicalDeviceLineRasterizationFeaturesEXT = extern struct { stippled_bresenham_lines: Bool32 = FALSE, stippled_smooth_lines: Bool32 = FALSE, }; -pub const PhysicalDeviceLineRasterizationPropertiesEXT = extern struct { - s_type: StructureType = .physical_device_line_rasterization_properties_ext, +pub const PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeaturesKHR; +pub const PhysicalDeviceLineRasterizationPropertiesKHR = extern struct { + s_type: StructureType = .physical_device_line_rasterization_properties_khr, p_next: ?*anyopaque = null, line_sub_pixel_precision_bits: u32, }; -pub const PipelineRasterizationLineStateCreateInfoEXT = extern struct { - s_type: StructureType = .pipeline_rasterization_line_state_create_info_ext, +pub const PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationPropertiesKHR; +pub const PipelineRasterizationLineStateCreateInfoKHR = extern struct { + s_type: StructureType = .pipeline_rasterization_line_state_create_info_khr, p_next: ?*const anyopaque = null, - line_rasterization_mode: LineRasterizationModeEXT, + line_rasterization_mode: LineRasterizationModeKHR, stippled_line_enable: Bool32, - line_stipple_factor: u32 = 0, - line_stipple_pattern: u16 = 0, -}; -pub const PipelineCompilerControlCreateInfoAMD = extern struct { - s_type: StructureType = .pipeline_compiler_control_create_info_amd, - p_next: ?*const anyopaque = null, - compiler_control_flags: PipelineCompilerControlFlagsAMD = .{}, + line_stipple_factor: u32, + line_stipple_pattern: u16, }; -pub const PhysicalDeviceCoherentMemoryFeaturesAMD = extern struct { - s_type: StructureType = .physical_device_coherent_memory_features_amd, +pub const PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfoKHR; +pub const PhysicalDevicePipelineCreationCacheControlFeatures = extern struct { + s_type: StructureType = .physical_device_pipeline_creation_cache_control_features, p_next: ?*anyopaque = null, - device_coherent_memory: Bool32 = FALSE, + pipeline_creation_cache_control: Bool32 = FALSE, }; -pub const PhysicalDeviceToolPropertiesEXT = extern struct { - s_type: StructureType = .physical_device_tool_properties_ext, +pub const PhysicalDevicePipelineCreationCacheControlFeaturesEXT = PhysicalDevicePipelineCreationCacheControlFeatures; +pub const PhysicalDeviceVulkan11Features = extern struct { + s_type: StructureType = .physical_device_vulkan_1_1_features, p_next: ?*anyopaque = null, - name: [MAX_EXTENSION_NAME_SIZE]u8, - version: [MAX_EXTENSION_NAME_SIZE]u8, - purposes: ToolPurposeFlagsEXT, - description: [MAX_DESCRIPTION_SIZE]u8, - layer: [MAX_EXTENSION_NAME_SIZE]u8, -}; -pub const ImageLayout = enum(i32) { - undefined = 0, - general = 1, - color_attachment_optimal = 2, - depth_stencil_attachment_optimal = 3, - depth_stencil_read_only_optimal = 4, - shader_read_only_optimal = 5, - transfer_src_optimal = 6, - transfer_dst_optimal = 7, - preinitialized = 8, - depth_read_only_stencil_attachment_optimal = 1000117000, - depth_attachment_stencil_read_only_optimal = 1000117001, - present_src_khr = 1000001002, - shared_present_khr = 1000111000, - shading_rate_optimal_nv = 1000164003, - fragment_density_map_optimal_ext = 1000218000, - depth_attachment_optimal_khr = 1000241000, - depth_read_only_optimal_khr = 1000241001, - stencil_attachment_optimal_khr = 1000241002, - stencil_read_only_optimal_khr = 1000241003, - _, - pub const depth_read_only_stencil_attachment_optimal_khr = ImageLayout.depth_read_only_stencil_attachment_optimal; - pub const depth_attachment_stencil_read_only_optimal_khr = ImageLayout.depth_attachment_stencil_read_only_optimal; + storage_buffer_16_bit_access: Bool32 = FALSE, + uniform_and_storage_buffer_16_bit_access: Bool32 = FALSE, + storage_push_constant_16: Bool32 = FALSE, + storage_input_output_16: Bool32 = FALSE, + multiview: Bool32 = FALSE, + multiview_geometry_shader: Bool32 = FALSE, + multiview_tessellation_shader: Bool32 = FALSE, + variable_pointers_storage_buffer: Bool32 = FALSE, + variable_pointers: Bool32 = FALSE, + protected_memory: Bool32 = FALSE, + sampler_ycbcr_conversion: Bool32 = FALSE, + shader_draw_parameters: Bool32 = FALSE, }; -pub const AttachmentLoadOp = enum(i32) { - load = 0, - clear = 1, - dont_care = 2, - _, +pub const PhysicalDeviceVulkan11Properties = extern struct { + s_type: StructureType = .physical_device_vulkan_1_1_properties, + p_next: ?*anyopaque = null, + device_uuid: [UUID_SIZE]u8, + driver_uuid: [UUID_SIZE]u8, + device_luid: [LUID_SIZE]u8, + device_node_mask: u32, + device_luid_valid: Bool32, + subgroup_size: u32, + subgroup_supported_stages: ShaderStageFlags, + subgroup_supported_operations: SubgroupFeatureFlags, + subgroup_quad_operations_in_all_stages: Bool32, + point_clipping_behavior: PointClippingBehavior, + max_multiview_view_count: u32, + max_multiview_instance_index: u32, + protected_no_fault: Bool32, + max_per_set_descriptors: u32, + max_memory_allocation_size: DeviceSize, }; -pub const AttachmentStoreOp = enum(i32) { - store = 0, - dont_care = 1, - _, +pub const PhysicalDeviceVulkan12Features = extern struct { + s_type: StructureType = .physical_device_vulkan_1_2_features, + p_next: ?*anyopaque = null, + sampler_mirror_clamp_to_edge: Bool32 = FALSE, + draw_indirect_count: Bool32 = FALSE, + storage_buffer_8_bit_access: Bool32 = FALSE, + uniform_and_storage_buffer_8_bit_access: Bool32 = FALSE, + storage_push_constant_8: Bool32 = FALSE, + shader_buffer_int_64_atomics: Bool32 = FALSE, + shader_shared_int_64_atomics: Bool32 = FALSE, + shader_float_16: Bool32 = FALSE, + shader_int_8: Bool32 = FALSE, + descriptor_indexing: Bool32 = FALSE, + shader_input_attachment_array_dynamic_indexing: Bool32 = FALSE, + shader_uniform_texel_buffer_array_dynamic_indexing: Bool32 = FALSE, + shader_storage_texel_buffer_array_dynamic_indexing: Bool32 = FALSE, + shader_uniform_buffer_array_non_uniform_indexing: Bool32 = FALSE, + shader_sampled_image_array_non_uniform_indexing: Bool32 = FALSE, + shader_storage_buffer_array_non_uniform_indexing: Bool32 = FALSE, + shader_storage_image_array_non_uniform_indexing: Bool32 = FALSE, + shader_input_attachment_array_non_uniform_indexing: Bool32 = FALSE, + shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32 = FALSE, + shader_storage_texel_buffer_array_non_uniform_indexing: Bool32 = FALSE, + descriptor_binding_uniform_buffer_update_after_bind: Bool32 = FALSE, + descriptor_binding_sampled_image_update_after_bind: Bool32 = FALSE, + descriptor_binding_storage_image_update_after_bind: Bool32 = FALSE, + descriptor_binding_storage_buffer_update_after_bind: Bool32 = FALSE, + descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32 = FALSE, + descriptor_binding_storage_texel_buffer_update_after_bind: Bool32 = FALSE, + descriptor_binding_update_unused_while_pending: Bool32 = FALSE, + descriptor_binding_partially_bound: Bool32 = FALSE, + descriptor_binding_variable_descriptor_count: Bool32 = FALSE, + runtime_descriptor_array: Bool32 = FALSE, + sampler_filter_minmax: Bool32 = FALSE, + scalar_block_layout: Bool32 = FALSE, + imageless_framebuffer: Bool32 = FALSE, + uniform_buffer_standard_layout: Bool32 = FALSE, + shader_subgroup_extended_types: Bool32 = FALSE, + separate_depth_stencil_layouts: Bool32 = FALSE, + host_query_reset: Bool32 = FALSE, + timeline_semaphore: Bool32 = FALSE, + buffer_device_address: Bool32 = FALSE, + buffer_device_address_capture_replay: Bool32 = FALSE, + buffer_device_address_multi_device: Bool32 = FALSE, + vulkan_memory_model: Bool32 = FALSE, + vulkan_memory_model_device_scope: Bool32 = FALSE, + vulkan_memory_model_availability_visibility_chains: Bool32 = FALSE, + shader_output_viewport_index: Bool32 = FALSE, + shader_output_layer: Bool32 = FALSE, + subgroup_broadcast_dynamic_id: Bool32 = FALSE, }; -pub const ImageType = enum(i32) { - @"1d" = 0, - @"2d" = 1, - @"3d" = 2, - _, +pub const PhysicalDeviceVulkan12Properties = extern struct { + s_type: StructureType = .physical_device_vulkan_1_2_properties, + p_next: ?*anyopaque = null, + driver_id: DriverId, + driver_name: [MAX_DRIVER_NAME_SIZE]u8, + driver_info: [MAX_DRIVER_INFO_SIZE]u8, + conformance_version: ConformanceVersion, + denorm_behavior_independence: ShaderFloatControlsIndependence, + rounding_mode_independence: ShaderFloatControlsIndependence, + shader_signed_zero_inf_nan_preserve_float_16: Bool32, + shader_signed_zero_inf_nan_preserve_float_32: Bool32, + shader_signed_zero_inf_nan_preserve_float_64: Bool32, + shader_denorm_preserve_float_16: Bool32, + shader_denorm_preserve_float_32: Bool32, + shader_denorm_preserve_float_64: Bool32, + shader_denorm_flush_to_zero_float_16: Bool32, + shader_denorm_flush_to_zero_float_32: Bool32, + shader_denorm_flush_to_zero_float_64: Bool32, + shader_rounding_mode_rte_float_16: Bool32, + shader_rounding_mode_rte_float_32: Bool32, + shader_rounding_mode_rte_float_64: Bool32, + shader_rounding_mode_rtz_float_16: Bool32, + shader_rounding_mode_rtz_float_32: Bool32, + shader_rounding_mode_rtz_float_64: Bool32, + max_update_after_bind_descriptors_in_all_pools: u32, + shader_uniform_buffer_array_non_uniform_indexing_native: Bool32, + shader_sampled_image_array_non_uniform_indexing_native: Bool32, + shader_storage_buffer_array_non_uniform_indexing_native: Bool32, + shader_storage_image_array_non_uniform_indexing_native: Bool32, + shader_input_attachment_array_non_uniform_indexing_native: Bool32, + robust_buffer_access_update_after_bind: Bool32, + quad_divergent_implicit_lod: Bool32, + max_per_stage_descriptor_update_after_bind_samplers: u32, + max_per_stage_descriptor_update_after_bind_uniform_buffers: u32, + max_per_stage_descriptor_update_after_bind_storage_buffers: u32, + max_per_stage_descriptor_update_after_bind_sampled_images: u32, + max_per_stage_descriptor_update_after_bind_storage_images: u32, + max_per_stage_descriptor_update_after_bind_input_attachments: u32, + max_per_stage_update_after_bind_resources: u32, + max_descriptor_set_update_after_bind_samplers: u32, + max_descriptor_set_update_after_bind_uniform_buffers: u32, + max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32, + max_descriptor_set_update_after_bind_storage_buffers: u32, + max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32, + max_descriptor_set_update_after_bind_sampled_images: u32, + max_descriptor_set_update_after_bind_storage_images: u32, + max_descriptor_set_update_after_bind_input_attachments: u32, + supported_depth_resolve_modes: ResolveModeFlags, + supported_stencil_resolve_modes: ResolveModeFlags, + independent_resolve_none: Bool32, + independent_resolve: Bool32, + filter_minmax_single_component_formats: Bool32, + filter_minmax_image_component_mapping: Bool32, + max_timeline_semaphore_value_difference: u64, + framebuffer_integer_color_sample_counts: SampleCountFlags = .{}, }; -pub const ImageTiling = enum(i32) { - optimal = 0, - linear = 1, - drm_format_modifier_ext = 1000158000, - _, +pub const PhysicalDeviceVulkan13Features = extern struct { + s_type: StructureType = .physical_device_vulkan_1_3_features, + p_next: ?*anyopaque = null, + robust_image_access: Bool32 = FALSE, + inline_uniform_block: Bool32 = FALSE, + descriptor_binding_inline_uniform_block_update_after_bind: Bool32 = FALSE, + pipeline_creation_cache_control: Bool32 = FALSE, + private_data: Bool32 = FALSE, + shader_demote_to_helper_invocation: Bool32 = FALSE, + shader_terminate_invocation: Bool32 = FALSE, + subgroup_size_control: Bool32 = FALSE, + compute_full_subgroups: Bool32 = FALSE, + synchronization_2: Bool32 = FALSE, + texture_compression_astc_hdr: Bool32 = FALSE, + shader_zero_initialize_workgroup_memory: Bool32 = FALSE, + dynamic_rendering: Bool32 = FALSE, + shader_integer_dot_product: Bool32 = FALSE, + maintenance_4: Bool32 = FALSE, }; -pub const ImageViewType = enum(i32) { - @"1d" = 0, - @"2d" = 1, - @"3d" = 2, - cube = 3, - @"1d_array" = 4, - @"2d_array" = 5, - cube_array = 6, - _, +pub const PhysicalDeviceVulkan13Properties = extern struct { + s_type: StructureType = .physical_device_vulkan_1_3_properties, + p_next: ?*anyopaque = null, + min_subgroup_size: u32, + max_subgroup_size: u32, + max_compute_workgroup_subgroups: u32, + required_subgroup_size_stages: ShaderStageFlags, + max_inline_uniform_block_size: u32, + max_per_stage_descriptor_inline_uniform_blocks: u32, + max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32, + max_descriptor_set_inline_uniform_blocks: u32, + max_descriptor_set_update_after_bind_inline_uniform_blocks: u32, + max_inline_uniform_total_size: u32, + integer_dot_product_8_bit_unsigned_accelerated: Bool32, + integer_dot_product_8_bit_signed_accelerated: Bool32, + integer_dot_product_8_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_4x_8_bit_packed_unsigned_accelerated: Bool32, + integer_dot_product_4x_8_bit_packed_signed_accelerated: Bool32, + integer_dot_product_4x_8_bit_packed_mixed_signedness_accelerated: Bool32, + integer_dot_product_16_bit_unsigned_accelerated: Bool32, + integer_dot_product_16_bit_signed_accelerated: Bool32, + integer_dot_product_16_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_32_bit_unsigned_accelerated: Bool32, + integer_dot_product_32_bit_signed_accelerated: Bool32, + integer_dot_product_32_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_64_bit_unsigned_accelerated: Bool32, + integer_dot_product_64_bit_signed_accelerated: Bool32, + integer_dot_product_64_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_accumulating_saturating_8_bit_unsigned_accelerated: Bool32, + integer_dot_product_accumulating_saturating_8_bit_signed_accelerated: Bool32, + integer_dot_product_accumulating_saturating_8_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_accumulating_saturating_4x_8_bit_packed_unsigned_accelerated: Bool32, + integer_dot_product_accumulating_saturating_4x_8_bit_packed_signed_accelerated: Bool32, + integer_dot_product_accumulating_saturating_4x_8_bit_packed_mixed_signedness_accelerated: Bool32, + integer_dot_product_accumulating_saturating_16_bit_unsigned_accelerated: Bool32, + integer_dot_product_accumulating_saturating_16_bit_signed_accelerated: Bool32, + integer_dot_product_accumulating_saturating_16_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_accumulating_saturating_32_bit_unsigned_accelerated: Bool32, + integer_dot_product_accumulating_saturating_32_bit_signed_accelerated: Bool32, + integer_dot_product_accumulating_saturating_32_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_accumulating_saturating_64_bit_unsigned_accelerated: Bool32, + integer_dot_product_accumulating_saturating_64_bit_signed_accelerated: Bool32, + integer_dot_product_accumulating_saturating_64_bit_mixed_signedness_accelerated: Bool32, + storage_texel_buffer_offset_alignment_bytes: DeviceSize, + storage_texel_buffer_offset_single_texel_alignment: Bool32, + uniform_texel_buffer_offset_alignment_bytes: DeviceSize, + uniform_texel_buffer_offset_single_texel_alignment: Bool32, + max_buffer_size: DeviceSize, }; -pub const CommandBufferLevel = enum(i32) { - primary = 0, - secondary = 1, - _, +pub const PipelineCompilerControlCreateInfoAMD = extern struct { + s_type: StructureType = .pipeline_compiler_control_create_info_amd, + p_next: ?*const anyopaque = null, + compiler_control_flags: PipelineCompilerControlFlagsAMD = .{}, }; -pub const ComponentSwizzle = enum(i32) { - identity = 0, - zero = 1, - one = 2, - r = 3, - g = 4, - b = 5, - a = 6, - _, +pub const PhysicalDeviceCoherentMemoryFeaturesAMD = extern struct { + s_type: StructureType = .physical_device_coherent_memory_features_amd, + p_next: ?*anyopaque = null, + device_coherent_memory: Bool32 = FALSE, }; -pub const DescriptorType = enum(i32) { - sampler = 0, - combined_image_sampler = 1, - sampled_image = 2, - storage_image = 3, - uniform_texel_buffer = 4, - storage_texel_buffer = 5, - uniform_buffer = 6, - storage_buffer = 7, - uniform_buffer_dynamic = 8, - storage_buffer_dynamic = 9, - input_attachment = 10, - inline_uniform_block_ext = 1000138000, - acceleration_structure_nv = 1000165000, - _, +pub const FaultData = extern struct { + s_type: StructureType, + p_next: ?*anyopaque = null, + fault_level: FaultLevel, + fault_type: FaultType, }; -pub const QueryType = enum(i32) { - occlusion = 0, - pipeline_statistics = 1, - timestamp = 2, - transform_feedback_stream_ext = 1000028004, - performance_query_khr = 1000116000, - acceleration_structure_compacted_size_nv = 1000165000, - performance_query_intel = 1000210000, - _, +pub const FaultCallbackInfo = extern struct { + s_type: StructureType, + p_next: ?*const anyopaque = null, + fault_count: u32 = 0, + p_faults: ?[*]FaultData = null, + pfn_fault_callback: PfnFaultCallbackFunction, }; -pub const BorderColor = enum(i32) { - float_transparent_black = 0, - int_transparent_black = 1, - float_opaque_black = 2, - int_opaque_black = 3, - float_opaque_white = 4, - int_opaque_white = 5, - _, +pub const PhysicalDeviceToolProperties = extern struct { + s_type: StructureType = .physical_device_tool_properties, + p_next: ?*anyopaque = null, + name: [MAX_EXTENSION_NAME_SIZE]u8, + version: [MAX_EXTENSION_NAME_SIZE]u8, + purposes: ToolPurposeFlags, + description: [MAX_DESCRIPTION_SIZE]u8, + layer: [MAX_EXTENSION_NAME_SIZE]u8, }; -pub const PipelineBindPoint = enum(i32) { - graphics = 0, - compute = 1, - ray_tracing_nv = 1000165000, - _, +pub const PhysicalDeviceToolPropertiesEXT = PhysicalDeviceToolProperties; +pub const SamplerCustomBorderColorCreateInfoEXT = extern struct { + s_type: StructureType = .sampler_custom_border_color_create_info_ext, + p_next: ?*const anyopaque = null, + custom_border_color: ClearColorValue, + format: Format, }; -pub const PipelineCacheHeaderVersion = enum(i32) { - one = 1, - _, +pub const PhysicalDeviceCustomBorderColorPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_custom_border_color_properties_ext, + p_next: ?*anyopaque = null, + max_custom_border_color_samplers: u32, }; -pub const PrimitiveTopology = enum(i32) { - point_list = 0, - line_list = 1, - line_strip = 2, - triangle_list = 3, - triangle_strip = 4, - triangle_fan = 5, - line_list_with_adjacency = 6, - line_strip_with_adjacency = 7, - triangle_list_with_adjacency = 8, - triangle_strip_with_adjacency = 9, - patch_list = 10, - _, +pub const PhysicalDeviceCustomBorderColorFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_custom_border_color_features_ext, + p_next: ?*anyopaque = null, + custom_border_colors: Bool32 = FALSE, + custom_border_color_without_format: Bool32 = FALSE, }; -pub const SharingMode = enum(i32) { - exclusive = 0, - concurrent = 1, - _, +pub const SamplerBorderColorComponentMappingCreateInfoEXT = extern struct { + s_type: StructureType = .sampler_border_color_component_mapping_create_info_ext, + p_next: ?*const anyopaque = null, + components: ComponentMapping, + srgb: Bool32, }; -pub const IndexType = enum(i32) { - uint16 = 0, - uint32 = 1, - none_nv = 1000165000, - uint8_ext = 1000265000, - _, +pub const PhysicalDeviceBorderColorSwizzleFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_border_color_swizzle_features_ext, + p_next: ?*anyopaque = null, + border_color_swizzle: Bool32 = FALSE, + border_color_swizzle_from_image: Bool32 = FALSE, }; -pub const Filter = enum(i32) { - nearest = 0, - linear = 1, - cubic_img = 1000015000, - _, - pub const cubic_ext = Filter.cubic_img; +pub const DeviceOrHostAddressKHR = extern union { + device_address: DeviceAddress, + host_address: *anyopaque, }; -pub const SamplerMipmapMode = enum(i32) { - nearest = 0, - linear = 1, - _, +pub const DeviceOrHostAddressConstKHR = extern union { + device_address: DeviceAddress, + host_address: *const anyopaque, }; -pub const SamplerAddressMode = enum(i32) { - repeat = 0, - mirrored_repeat = 1, - clamp_to_edge = 2, - clamp_to_border = 3, - mirror_clamp_to_edge = 4, - _, - pub const mirror_clamp_to_edge_khr = SamplerAddressMode.mirror_clamp_to_edge; +pub const DeviceOrHostAddressConstAMDX = extern union { + device_address: DeviceAddress, + host_address: *const anyopaque, }; -pub const CompareOp = enum(i32) { - never = 0, - less = 1, - equal = 2, - less_or_equal = 3, - greater = 4, - not_equal = 5, - greater_or_equal = 6, - always = 7, - _, +pub const AccelerationStructureGeometryTrianglesDataKHR = extern struct { + s_type: StructureType = .acceleration_structure_geometry_triangles_data_khr, + p_next: ?*const anyopaque = null, + vertex_format: Format, + vertex_data: DeviceOrHostAddressConstKHR, + vertex_stride: DeviceSize, + max_vertex: u32, + index_type: IndexType, + index_data: DeviceOrHostAddressConstKHR, + transform_data: DeviceOrHostAddressConstKHR, }; -pub const PolygonMode = enum(i32) { - fill = 0, - line = 1, - point = 2, - fill_rectangle_nv = 1000153000, - _, +pub const AccelerationStructureGeometryAabbsDataKHR = extern struct { + s_type: StructureType = .acceleration_structure_geometry_aabbs_data_khr, + p_next: ?*const anyopaque = null, + data: DeviceOrHostAddressConstKHR, + stride: DeviceSize, }; -pub const CullModeFlags = packed struct(Flags) { - front_bit: bool = false, - back_bit: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(CullModeFlags); +pub const AccelerationStructureGeometryInstancesDataKHR = extern struct { + s_type: StructureType = .acceleration_structure_geometry_instances_data_khr, + p_next: ?*const anyopaque = null, + array_of_pointers: Bool32, + data: DeviceOrHostAddressConstKHR, }; -pub const FrontFace = enum(i32) { - counter_clockwise = 0, - clockwise = 1, - _, +pub const AccelerationStructureGeometryDataKHR = extern union { + triangles: AccelerationStructureGeometryTrianglesDataKHR, + aabbs: AccelerationStructureGeometryAabbsDataKHR, + instances: AccelerationStructureGeometryInstancesDataKHR, }; -pub const BlendFactor = enum(i32) { - zero = 0, - one = 1, - src_color = 2, - one_minus_src_color = 3, - dst_color = 4, - one_minus_dst_color = 5, - src_alpha = 6, - one_minus_src_alpha = 7, - dst_alpha = 8, - one_minus_dst_alpha = 9, - constant_color = 10, - one_minus_constant_color = 11, - constant_alpha = 12, - one_minus_constant_alpha = 13, - src_alpha_saturate = 14, - src1_color = 15, - one_minus_src1_color = 16, - src1_alpha = 17, - one_minus_src1_alpha = 18, - _, +pub const AccelerationStructureGeometryKHR = extern struct { + s_type: StructureType = .acceleration_structure_geometry_khr, + p_next: ?*const anyopaque = null, + geometry_type: GeometryTypeKHR, + geometry: AccelerationStructureGeometryDataKHR, + flags: GeometryFlagsKHR = .{}, }; -pub const BlendOp = enum(i32) { - add = 0, - subtract = 1, - reverse_subtract = 2, - min = 3, - max = 4, - zero_ext = 1000148000, - src_ext = 1000148001, - dst_ext = 1000148002, - src_over_ext = 1000148003, - dst_over_ext = 1000148004, - src_in_ext = 1000148005, - dst_in_ext = 1000148006, - src_out_ext = 1000148007, - dst_out_ext = 1000148008, - src_atop_ext = 1000148009, - dst_atop_ext = 1000148010, - xor_ext = 1000148011, - multiply_ext = 1000148012, - screen_ext = 1000148013, - overlay_ext = 1000148014, - darken_ext = 1000148015, - lighten_ext = 1000148016, - colordodge_ext = 1000148017, - colorburn_ext = 1000148018, - hardlight_ext = 1000148019, - softlight_ext = 1000148020, - difference_ext = 1000148021, - exclusion_ext = 1000148022, - invert_ext = 1000148023, - invert_rgb_ext = 1000148024, - lineardodge_ext = 1000148025, - linearburn_ext = 1000148026, - vividlight_ext = 1000148027, - linearlight_ext = 1000148028, - pinlight_ext = 1000148029, - hardmix_ext = 1000148030, - hsl_hue_ext = 1000148031, - hsl_saturation_ext = 1000148032, - hsl_color_ext = 1000148033, - hsl_luminosity_ext = 1000148034, - plus_ext = 1000148035, - plus_clamped_ext = 1000148036, - plus_clamped_alpha_ext = 1000148037, - plus_darker_ext = 1000148038, - minus_ext = 1000148039, - minus_clamped_ext = 1000148040, - contrast_ext = 1000148041, - invert_ovg_ext = 1000148042, - red_ext = 1000148043, - green_ext = 1000148044, - blue_ext = 1000148045, - _, +pub const AccelerationStructureBuildGeometryInfoKHR = extern struct { + s_type: StructureType = .acceleration_structure_build_geometry_info_khr, + p_next: ?*const anyopaque = null, + type: AccelerationStructureTypeKHR, + flags: BuildAccelerationStructureFlagsKHR = .{}, + mode: BuildAccelerationStructureModeKHR, + src_acceleration_structure: AccelerationStructureKHR = .null_handle, + dst_acceleration_structure: AccelerationStructureKHR = .null_handle, + geometry_count: u32 = 0, + p_geometries: ?[*]const AccelerationStructureGeometryKHR = null, + pp_geometries: ?[*]const [*]const AccelerationStructureGeometryKHR = null, + scratch_data: DeviceOrHostAddressKHR, }; -pub const StencilOp = enum(i32) { - keep = 0, - zero = 1, - replace = 2, - increment_and_clamp = 3, - decrement_and_clamp = 4, - invert = 5, - increment_and_wrap = 6, - decrement_and_wrap = 7, - _, +pub const AccelerationStructureBuildRangeInfoKHR = extern struct { + primitive_count: u32, + primitive_offset: u32, + first_vertex: u32, + transform_offset: u32, }; -pub const LogicOp = enum(i32) { - clear = 0, - @"and" = 1, - and_reverse = 2, - copy = 3, - and_inverted = 4, - no_op = 5, - xor = 6, - @"or" = 7, - nor = 8, - equivalent = 9, - invert = 10, - or_reverse = 11, - copy_inverted = 12, - or_inverted = 13, - nand = 14, - set = 15, - _, +pub const AccelerationStructureCreateInfoKHR = extern struct { + s_type: StructureType = .acceleration_structure_create_info_khr, + p_next: ?*const anyopaque = null, + create_flags: AccelerationStructureCreateFlagsKHR = .{}, + buffer: Buffer, + offset: DeviceSize, + size: DeviceSize, + type: AccelerationStructureTypeKHR, + device_address: DeviceAddress = 0, +}; +pub const AabbPositionsKHR = extern struct { + min_x: f32, + min_y: f32, + min_z: f32, + max_x: f32, + max_y: f32, + max_z: f32, +}; +pub const AabbPositionsNV = AabbPositionsKHR; +pub const TransformMatrixKHR = extern struct { + matrix: [3][4]f32, +}; +pub const TransformMatrixNV = TransformMatrixKHR; +pub const AccelerationStructureInstanceKHR = extern struct { + transform: TransformMatrixKHR, + instance_custom_index_and_mask: packed struct(u32) { + instance_custom_index: u24, + mask: u8, + }, + instance_shader_binding_table_record_offset_and_flags: packed struct(u32) { + instance_shader_binding_table_record_offset: u24, + flags: u8, // GeometryInstanceFlagsKHR + }, + acceleration_structure_reference: u64, +}; +pub const AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR; +pub const AccelerationStructureDeviceAddressInfoKHR = extern struct { + s_type: StructureType = .acceleration_structure_device_address_info_khr, + p_next: ?*const anyopaque = null, + acceleration_structure: AccelerationStructureKHR, }; -pub const InternalAllocationType = enum(i32) { - executable = 0, - _, +pub const AccelerationStructureVersionInfoKHR = extern struct { + s_type: StructureType = .acceleration_structure_version_info_khr, + p_next: ?*const anyopaque = null, + p_version_data: [*]const u8, }; -pub const SystemAllocationScope = enum(i32) { - command = 0, - object = 1, - cache = 2, - device = 3, - instance = 4, - _, +pub const CopyAccelerationStructureInfoKHR = extern struct { + s_type: StructureType = .copy_acceleration_structure_info_khr, + p_next: ?*const anyopaque = null, + src: AccelerationStructureKHR, + dst: AccelerationStructureKHR, + mode: CopyAccelerationStructureModeKHR, }; -pub const PhysicalDeviceType = enum(i32) { - other = 0, - integrated_gpu = 1, - discrete_gpu = 2, - virtual_gpu = 3, - cpu = 4, - _, +pub const CopyAccelerationStructureToMemoryInfoKHR = extern struct { + s_type: StructureType = .copy_acceleration_structure_to_memory_info_khr, + p_next: ?*const anyopaque = null, + src: AccelerationStructureKHR, + dst: DeviceOrHostAddressKHR, + mode: CopyAccelerationStructureModeKHR, }; -pub const VertexInputRate = enum(i32) { - vertex = 0, - instance = 1, - _, +pub const CopyMemoryToAccelerationStructureInfoKHR = extern struct { + s_type: StructureType = .copy_memory_to_acceleration_structure_info_khr, + p_next: ?*const anyopaque = null, + src: DeviceOrHostAddressConstKHR, + dst: AccelerationStructureKHR, + mode: CopyAccelerationStructureModeKHR, }; -pub const Format = enum(i32) { - undefined = 0, - r4g4_unorm_pack8 = 1, - r4g4b4a4_unorm_pack16 = 2, - b4g4r4a4_unorm_pack16 = 3, - r5g6b5_unorm_pack16 = 4, - b5g6r5_unorm_pack16 = 5, - r5g5b5a1_unorm_pack16 = 6, - b5g5r5a1_unorm_pack16 = 7, - a1r5g5b5_unorm_pack16 = 8, - r8_unorm = 9, - r8_snorm = 10, - r8_uscaled = 11, - r8_sscaled = 12, - r8_uint = 13, - r8_sint = 14, - r8_srgb = 15, - r8g8_unorm = 16, - r8g8_snorm = 17, - r8g8_uscaled = 18, - r8g8_sscaled = 19, - r8g8_uint = 20, - r8g8_sint = 21, - r8g8_srgb = 22, - r8g8b8_unorm = 23, - r8g8b8_snorm = 24, - r8g8b8_uscaled = 25, - r8g8b8_sscaled = 26, - r8g8b8_uint = 27, - r8g8b8_sint = 28, - r8g8b8_srgb = 29, - b8g8r8_unorm = 30, - b8g8r8_snorm = 31, - b8g8r8_uscaled = 32, - b8g8r8_sscaled = 33, - b8g8r8_uint = 34, - b8g8r8_sint = 35, - b8g8r8_srgb = 36, - r8g8b8a8_unorm = 37, - r8g8b8a8_snorm = 38, - r8g8b8a8_uscaled = 39, - r8g8b8a8_sscaled = 40, - r8g8b8a8_uint = 41, - r8g8b8a8_sint = 42, - r8g8b8a8_srgb = 43, - b8g8r8a8_unorm = 44, - b8g8r8a8_snorm = 45, - b8g8r8a8_uscaled = 46, - b8g8r8a8_sscaled = 47, - b8g8r8a8_uint = 48, - b8g8r8a8_sint = 49, - b8g8r8a8_srgb = 50, - a8b8g8r8_unorm_pack32 = 51, - a8b8g8r8_snorm_pack32 = 52, - a8b8g8r8_uscaled_pack32 = 53, - a8b8g8r8_sscaled_pack32 = 54, - a8b8g8r8_uint_pack32 = 55, - a8b8g8r8_sint_pack32 = 56, - a8b8g8r8_srgb_pack32 = 57, - a2r10g10b10_unorm_pack32 = 58, - a2r10g10b10_snorm_pack32 = 59, - a2r10g10b10_uscaled_pack32 = 60, - a2r10g10b10_sscaled_pack32 = 61, - a2r10g10b10_uint_pack32 = 62, - a2r10g10b10_sint_pack32 = 63, - a2b10g10r10_unorm_pack32 = 64, - a2b10g10r10_snorm_pack32 = 65, - a2b10g10r10_uscaled_pack32 = 66, - a2b10g10r10_sscaled_pack32 = 67, - a2b10g10r10_uint_pack32 = 68, - a2b10g10r10_sint_pack32 = 69, - r16_unorm = 70, - r16_snorm = 71, - r16_uscaled = 72, - r16_sscaled = 73, - r16_uint = 74, - r16_sint = 75, - r16_sfloat = 76, - r16g16_unorm = 77, - r16g16_snorm = 78, - r16g16_uscaled = 79, - r16g16_sscaled = 80, - r16g16_uint = 81, - r16g16_sint = 82, - r16g16_sfloat = 83, - r16g16b16_unorm = 84, - r16g16b16_snorm = 85, - r16g16b16_uscaled = 86, - r16g16b16_sscaled = 87, - r16g16b16_uint = 88, - r16g16b16_sint = 89, - r16g16b16_sfloat = 90, - r16g16b16a16_unorm = 91, - r16g16b16a16_snorm = 92, - r16g16b16a16_uscaled = 93, - r16g16b16a16_sscaled = 94, - r16g16b16a16_uint = 95, - r16g16b16a16_sint = 96, - r16g16b16a16_sfloat = 97, - r32_uint = 98, - r32_sint = 99, - r32_sfloat = 100, - r32g32_uint = 101, - r32g32_sint = 102, - r32g32_sfloat = 103, - r32g32b32_uint = 104, - r32g32b32_sint = 105, - r32g32b32_sfloat = 106, - r32g32b32a32_uint = 107, - r32g32b32a32_sint = 108, - r32g32b32a32_sfloat = 109, - r64_uint = 110, - r64_sint = 111, - r64_sfloat = 112, - r64g64_uint = 113, - r64g64_sint = 114, - r64g64_sfloat = 115, - r64g64b64_uint = 116, - r64g64b64_sint = 117, - r64g64b64_sfloat = 118, - r64g64b64a64_uint = 119, - r64g64b64a64_sint = 120, - r64g64b64a64_sfloat = 121, - b10g11r11_ufloat_pack32 = 122, - e5b9g9r9_ufloat_pack32 = 123, - d16_unorm = 124, - x8_d24_unorm_pack32 = 125, - d32_sfloat = 126, - s8_uint = 127, - d16_unorm_s8_uint = 128, - d24_unorm_s8_uint = 129, - d32_sfloat_s8_uint = 130, - bc1_rgb_unorm_block = 131, - bc1_rgb_srgb_block = 132, - bc1_rgba_unorm_block = 133, - bc1_rgba_srgb_block = 134, - bc2_unorm_block = 135, - bc2_srgb_block = 136, - bc3_unorm_block = 137, - bc3_srgb_block = 138, - bc4_unorm_block = 139, - bc4_snorm_block = 140, - bc5_unorm_block = 141, - bc5_snorm_block = 142, - bc6h_ufloat_block = 143, - bc6h_sfloat_block = 144, - bc7_unorm_block = 145, - bc7_srgb_block = 146, - etc2_r8g8b8_unorm_block = 147, - etc2_r8g8b8_srgb_block = 148, - etc2_r8g8b8a1_unorm_block = 149, - etc2_r8g8b8a1_srgb_block = 150, - etc2_r8g8b8a8_unorm_block = 151, - etc2_r8g8b8a8_srgb_block = 152, - eac_r11_unorm_block = 153, - eac_r11_snorm_block = 154, - eac_r11g11_unorm_block = 155, - eac_r11g11_snorm_block = 156, - astc_4x_4_unorm_block = 157, - astc_4x_4_srgb_block = 158, - astc_5x_4_unorm_block = 159, - astc_5x_4_srgb_block = 160, - astc_5x_5_unorm_block = 161, - astc_5x_5_srgb_block = 162, - astc_6x_5_unorm_block = 163, - astc_6x_5_srgb_block = 164, - astc_6x_6_unorm_block = 165, - astc_6x_6_srgb_block = 166, - astc_8x_5_unorm_block = 167, - astc_8x_5_srgb_block = 168, - astc_8x_6_unorm_block = 169, - astc_8x_6_srgb_block = 170, - astc_8x_8_unorm_block = 171, - astc_8x_8_srgb_block = 172, - astc_1_0x_5_unorm_block = 173, - astc_1_0x_5_srgb_block = 174, - astc_1_0x_6_unorm_block = 175, - astc_1_0x_6_srgb_block = 176, - astc_1_0x_8_unorm_block = 177, - astc_1_0x_8_srgb_block = 178, - astc_1_0x_10_unorm_block = 179, - astc_1_0x_10_srgb_block = 180, - astc_1_2x_10_unorm_block = 181, - astc_1_2x_10_srgb_block = 182, - astc_1_2x_12_unorm_block = 183, - astc_1_2x_12_srgb_block = 184, - g8b8g8r8_422_unorm = 1000156000, - b8g8r8g8_422_unorm = 1000156001, - g8_b8_r8_3plane_420_unorm = 1000156002, - g8_b8r8_2plane_420_unorm = 1000156003, - g8_b8_r8_3plane_422_unorm = 1000156004, - g8_b8r8_2plane_422_unorm = 1000156005, - g8_b8_r8_3plane_444_unorm = 1000156006, - r10x6_unorm_pack16 = 1000156007, - r10x6g10x6_unorm_2pack16 = 1000156008, - r10x6g10x6b10x6a10x6_unorm_4pack16 = 1000156009, - g10x6b10x6g10x6r10x6_422_unorm_4pack16 = 1000156010, - b10x6g10x6r10x6g10x6_422_unorm_4pack16 = 1000156011, - g10x6_b10x6_r10x6_3plane_420_unorm_3pack16 = 1000156012, - g10x6_b10x6r10x6_2plane_420_unorm_3pack16 = 1000156013, - g10x6_b10x6_r10x6_3plane_422_unorm_3pack16 = 1000156014, - g10x6_b10x6r10x6_2plane_422_unorm_3pack16 = 1000156015, - g10x6_b10x6_r10x6_3plane_444_unorm_3pack16 = 1000156016, - r12x4_unorm_pack16 = 1000156017, - r12x4g12x4_unorm_2pack16 = 1000156018, - r12x4g12x4b12x4a12x4_unorm_4pack16 = 1000156019, - g12x4b12x4g12x4r12x4_422_unorm_4pack16 = 1000156020, - b12x4g12x4r12x4g12x4_422_unorm_4pack16 = 1000156021, - g12x4_b12x4_r12x4_3plane_420_unorm_3pack16 = 1000156022, - g12x4_b12x4r12x4_2plane_420_unorm_3pack16 = 1000156023, - g12x4_b12x4_r12x4_3plane_422_unorm_3pack16 = 1000156024, - g12x4_b12x4r12x4_2plane_422_unorm_3pack16 = 1000156025, - g12x4_b12x4_r12x4_3plane_444_unorm_3pack16 = 1000156026, - g16b16g16r16_422_unorm = 1000156027, - b16g16r16g16_422_unorm = 1000156028, - g16_b16_r16_3plane_420_unorm = 1000156029, - g16_b16r16_2plane_420_unorm = 1000156030, - g16_b16_r16_3plane_422_unorm = 1000156031, - g16_b16r16_2plane_422_unorm = 1000156032, - g16_b16_r16_3plane_444_unorm = 1000156033, - pvrtc1_2bpp_unorm_block_img = 1000054000, - pvrtc1_4bpp_unorm_block_img = 1000054001, - pvrtc2_2bpp_unorm_block_img = 1000054002, - pvrtc2_4bpp_unorm_block_img = 1000054003, - pvrtc1_2bpp_srgb_block_img = 1000054004, - pvrtc1_4bpp_srgb_block_img = 1000054005, - pvrtc2_2bpp_srgb_block_img = 1000054006, - pvrtc2_4bpp_srgb_block_img = 1000054007, - astc_4x_4_sfloat_block_ext = 1000066000, - astc_5x_4_sfloat_block_ext = 1000066001, - astc_5x_5_sfloat_block_ext = 1000066002, - astc_6x_5_sfloat_block_ext = 1000066003, - astc_6x_6_sfloat_block_ext = 1000066004, - astc_8x_5_sfloat_block_ext = 1000066005, - astc_8x_6_sfloat_block_ext = 1000066006, - astc_8x_8_sfloat_block_ext = 1000066007, - astc_1_0x_5_sfloat_block_ext = 1000066008, - astc_1_0x_6_sfloat_block_ext = 1000066009, - astc_1_0x_8_sfloat_block_ext = 1000066010, - astc_1_0x_10_sfloat_block_ext = 1000066011, - astc_1_2x_10_sfloat_block_ext = 1000066012, - astc_1_2x_12_sfloat_block_ext = 1000066013, - _, - pub const g8b8g8r8_422_unorm_khr = Format.g8b8g8r8_422_unorm; - pub const b8g8r8g8_422_unorm_khr = Format.b8g8r8g8_422_unorm; - pub const g8_b8_r8_3plane_420_unorm_khr = Format.g8_b8_r8_3plane_420_unorm; - pub const g8_b8r8_2plane_420_unorm_khr = Format.g8_b8r8_2plane_420_unorm; - pub const g8_b8_r8_3plane_422_unorm_khr = Format.g8_b8_r8_3plane_422_unorm; - pub const g8_b8r8_2plane_422_unorm_khr = Format.g8_b8r8_2plane_422_unorm; - pub const g8_b8_r8_3plane_444_unorm_khr = Format.g8_b8_r8_3plane_444_unorm; - pub const r10x6_unorm_pack16_khr = Format.r10x6_unorm_pack16; - pub const r10x6g10x6_unorm_2pack16_khr = Format.r10x6g10x6_unorm_2pack16; - pub const r10x6g10x6b10x6a10x6_unorm_4pack16_khr = Format.r10x6g10x6b10x6a10x6_unorm_4pack16; - pub const g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr = Format.g10x6b10x6g10x6r10x6_422_unorm_4pack16; - pub const b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr = Format.b10x6g10x6r10x6g10x6_422_unorm_4pack16; - pub const g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr = Format.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16; - pub const g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr = Format.g10x6_b10x6r10x6_2plane_420_unorm_3pack16; - pub const g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr = Format.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16; - pub const g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr = Format.g10x6_b10x6r10x6_2plane_422_unorm_3pack16; - pub const g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr = Format.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16; - pub const r12x4_unorm_pack16_khr = Format.r12x4_unorm_pack16; - pub const r12x4g12x4_unorm_2pack16_khr = Format.r12x4g12x4_unorm_2pack16; - pub const r12x4g12x4b12x4a12x4_unorm_4pack16_khr = Format.r12x4g12x4b12x4a12x4_unorm_4pack16; - pub const g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr = Format.g12x4b12x4g12x4r12x4_422_unorm_4pack16; - pub const b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr = Format.b12x4g12x4r12x4g12x4_422_unorm_4pack16; - pub const g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr = Format.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16; - pub const g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr = Format.g12x4_b12x4r12x4_2plane_420_unorm_3pack16; - pub const g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr = Format.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16; - pub const g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr = Format.g12x4_b12x4r12x4_2plane_422_unorm_3pack16; - pub const g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr = Format.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16; - pub const g16b16g16r16_422_unorm_khr = Format.g16b16g16r16_422_unorm; - pub const b16g16r16g16_422_unorm_khr = Format.b16g16r16g16_422_unorm; - pub const g16_b16_r16_3plane_420_unorm_khr = Format.g16_b16_r16_3plane_420_unorm; - pub const g16_b16r16_2plane_420_unorm_khr = Format.g16_b16r16_2plane_420_unorm; - pub const g16_b16_r16_3plane_422_unorm_khr = Format.g16_b16_r16_3plane_422_unorm; - pub const g16_b16r16_2plane_422_unorm_khr = Format.g16_b16r16_2plane_422_unorm; - pub const g16_b16_r16_3plane_444_unorm_khr = Format.g16_b16_r16_3plane_444_unorm; +pub const RayTracingPipelineInterfaceCreateInfoKHR = extern struct { + s_type: StructureType = .ray_tracing_pipeline_interface_create_info_khr, + p_next: ?*const anyopaque = null, + max_pipeline_ray_payload_size: u32, + max_pipeline_ray_hit_attribute_size: u32, }; -pub const StructureType = enum(i32) { - application_info = 0, - instance_create_info = 1, - device_queue_create_info = 2, - device_create_info = 3, - submit_info = 4, - memory_allocate_info = 5, - mapped_memory_range = 6, - bind_sparse_info = 7, - fence_create_info = 8, - semaphore_create_info = 9, - event_create_info = 10, - query_pool_create_info = 11, - buffer_create_info = 12, - buffer_view_create_info = 13, - image_create_info = 14, - image_view_create_info = 15, - shader_module_create_info = 16, - pipeline_cache_create_info = 17, - pipeline_shader_stage_create_info = 18, - pipeline_vertex_input_state_create_info = 19, - pipeline_input_assembly_state_create_info = 20, - pipeline_tessellation_state_create_info = 21, - pipeline_viewport_state_create_info = 22, - pipeline_rasterization_state_create_info = 23, - pipeline_multisample_state_create_info = 24, - pipeline_depth_stencil_state_create_info = 25, - pipeline_color_blend_state_create_info = 26, - pipeline_dynamic_state_create_info = 27, - graphics_pipeline_create_info = 28, - compute_pipeline_create_info = 29, - pipeline_layout_create_info = 30, - sampler_create_info = 31, - descriptor_set_layout_create_info = 32, - descriptor_pool_create_info = 33, - descriptor_set_allocate_info = 34, - write_descriptor_set = 35, - copy_descriptor_set = 36, - framebuffer_create_info = 37, - render_pass_create_info = 38, - command_pool_create_info = 39, - command_buffer_allocate_info = 40, - command_buffer_inheritance_info = 41, - command_buffer_begin_info = 42, - render_pass_begin_info = 43, - buffer_memory_barrier = 44, - image_memory_barrier = 45, - memory_barrier = 46, - loader_instance_create_info = 47, - loader_device_create_info = 48, - physical_device_subgroup_properties = 1000094000, - bind_buffer_memory_info = 1000157000, - bind_image_memory_info = 1000157001, - physical_device_16bit_storage_features = 1000083000, - memory_dedicated_requirements = 1000127000, - memory_dedicated_allocate_info = 1000127001, - memory_allocate_flags_info = 1000060000, - device_group_render_pass_begin_info = 1000060003, - device_group_command_buffer_begin_info = 1000060004, - device_group_submit_info = 1000060005, - device_group_bind_sparse_info = 1000060006, - bind_buffer_memory_device_group_info = 1000060013, - bind_image_memory_device_group_info = 1000060014, - physical_device_group_properties = 1000070000, - device_group_device_create_info = 1000070001, - buffer_memory_requirements_info_2 = 1000146000, - image_memory_requirements_info_2 = 1000146001, - image_sparse_memory_requirements_info_2 = 1000146002, - memory_requirements_2 = 1000146003, - sparse_image_memory_requirements_2 = 1000146004, - physical_device_features_2 = 1000059000, - physical_device_properties_2 = 1000059001, - format_properties_2 = 1000059002, - image_format_properties_2 = 1000059003, - physical_device_image_format_info_2 = 1000059004, - queue_family_properties_2 = 1000059005, - physical_device_memory_properties_2 = 1000059006, - sparse_image_format_properties_2 = 1000059007, - physical_device_sparse_image_format_info_2 = 1000059008, - physical_device_point_clipping_properties = 1000117000, - render_pass_input_attachment_aspect_create_info = 1000117001, - image_view_usage_create_info = 1000117002, - pipeline_tessellation_domain_origin_state_create_info = 1000117003, - render_pass_multiview_create_info = 1000053000, - physical_device_multiview_features = 1000053001, - physical_device_multiview_properties = 1000053002, - physical_device_variable_pointers_features = 1000120000, - protected_submit_info = 1000145000, - physical_device_protected_memory_features = 1000145001, - physical_device_protected_memory_properties = 1000145002, - device_queue_info_2 = 1000145003, - sampler_ycbcr_conversion_create_info = 1000156000, - sampler_ycbcr_conversion_info = 1000156001, - bind_image_plane_memory_info = 1000156002, - image_plane_memory_requirements_info = 1000156003, - physical_device_sampler_ycbcr_conversion_features = 1000156004, - sampler_ycbcr_conversion_image_format_properties = 1000156005, - descriptor_update_template_create_info = 1000085000, - physical_device_external_image_format_info = 1000071000, - external_image_format_properties = 1000071001, - physical_device_external_buffer_info = 1000071002, - external_buffer_properties = 1000071003, - physical_device_id_properties = 1000071004, - external_memory_buffer_create_info = 1000072000, - external_memory_image_create_info = 1000072001, - export_memory_allocate_info = 1000072002, - physical_device_external_fence_info = 1000112000, - external_fence_properties = 1000112001, - export_fence_create_info = 1000113000, - export_semaphore_create_info = 1000077000, - physical_device_external_semaphore_info = 1000076000, - external_semaphore_properties = 1000076001, +pub const PipelineLibraryCreateInfoKHR = extern struct { + s_type: StructureType = .pipeline_library_create_info_khr, + p_next: ?*const anyopaque = null, + library_count: u32 = 0, + p_libraries: ?[*]const Pipeline = null, +}; +pub const RefreshObjectKHR = extern struct { + object_type: ObjectType, + object_handle: u64, + flags: RefreshObjectFlagsKHR = .{}, +}; +pub const RefreshObjectListKHR = extern struct { + s_type: StructureType = .refresh_object_list_khr, + p_next: ?*const anyopaque = null, + object_count: u32, + p_objects: [*]const RefreshObjectKHR, +}; +pub const PhysicalDeviceExtendedDynamicStateFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_extended_dynamic_state_features_ext, + p_next: ?*anyopaque = null, + extended_dynamic_state: Bool32 = FALSE, +}; +pub const PhysicalDeviceExtendedDynamicState2FeaturesEXT = extern struct { + s_type: StructureType = .physical_device_extended_dynamic_state_2_features_ext, + p_next: ?*anyopaque = null, + extended_dynamic_state_2: Bool32 = FALSE, + extended_dynamic_state_2_logic_op: Bool32 = FALSE, + extended_dynamic_state_2_patch_control_points: Bool32 = FALSE, +}; +pub const PhysicalDeviceExtendedDynamicState3FeaturesEXT = extern struct { + s_type: StructureType = .physical_device_extended_dynamic_state_3_features_ext, + p_next: ?*anyopaque = null, + extended_dynamic_state_3_tessellation_domain_origin: Bool32 = FALSE, + extended_dynamic_state_3_depth_clamp_enable: Bool32 = FALSE, + extended_dynamic_state_3_polygon_mode: Bool32 = FALSE, + extended_dynamic_state_3_rasterization_samples: Bool32 = FALSE, + extended_dynamic_state_3_sample_mask: Bool32 = FALSE, + extended_dynamic_state_3_alpha_to_coverage_enable: Bool32 = FALSE, + extended_dynamic_state_3_alpha_to_one_enable: Bool32 = FALSE, + extended_dynamic_state_3_logic_op_enable: Bool32 = FALSE, + extended_dynamic_state_3_color_blend_enable: Bool32 = FALSE, + extended_dynamic_state_3_color_blend_equation: Bool32 = FALSE, + extended_dynamic_state_3_color_write_mask: Bool32 = FALSE, + extended_dynamic_state_3_rasterization_stream: Bool32 = FALSE, + extended_dynamic_state_3_conservative_rasterization_mode: Bool32 = FALSE, + extended_dynamic_state_3_extra_primitive_overestimation_size: Bool32 = FALSE, + extended_dynamic_state_3_depth_clip_enable: Bool32 = FALSE, + extended_dynamic_state_3_sample_locations_enable: Bool32 = FALSE, + extended_dynamic_state_3_color_blend_advanced: Bool32 = FALSE, + extended_dynamic_state_3_provoking_vertex_mode: Bool32 = FALSE, + extended_dynamic_state_3_line_rasterization_mode: Bool32 = FALSE, + extended_dynamic_state_3_line_stipple_enable: Bool32 = FALSE, + extended_dynamic_state_3_depth_clip_negative_one_to_one: Bool32 = FALSE, + extended_dynamic_state_3_viewport_w_scaling_enable: Bool32 = FALSE, + extended_dynamic_state_3_viewport_swizzle: Bool32 = FALSE, + extended_dynamic_state_3_coverage_to_color_enable: Bool32 = FALSE, + extended_dynamic_state_3_coverage_to_color_location: Bool32 = FALSE, + extended_dynamic_state_3_coverage_modulation_mode: Bool32 = FALSE, + extended_dynamic_state_3_coverage_modulation_table_enable: Bool32 = FALSE, + extended_dynamic_state_3_coverage_modulation_table: Bool32 = FALSE, + extended_dynamic_state_3_coverage_reduction_mode: Bool32 = FALSE, + extended_dynamic_state_3_representative_fragment_test_enable: Bool32 = FALSE, + extended_dynamic_state_3_shading_rate_image_enable: Bool32 = FALSE, +}; +pub const PhysicalDeviceExtendedDynamicState3PropertiesEXT = extern struct { + s_type: StructureType = .physical_device_extended_dynamic_state_3_properties_ext, + p_next: ?*anyopaque = null, + dynamic_primitive_topology_unrestricted: Bool32, +}; +pub const ColorBlendEquationEXT = extern struct { + src_color_blend_factor: BlendFactor, + dst_color_blend_factor: BlendFactor, + color_blend_op: BlendOp, + src_alpha_blend_factor: BlendFactor, + dst_alpha_blend_factor: BlendFactor, + alpha_blend_op: BlendOp, +}; +pub const ColorBlendAdvancedEXT = extern struct { + advanced_blend_op: BlendOp, + src_premultiplied: Bool32, + dst_premultiplied: Bool32, + blend_overlap: BlendOverlapEXT, + clamp_results: Bool32, +}; +pub const RenderPassTransformBeginInfoQCOM = extern struct { + s_type: StructureType = .render_pass_transform_begin_info_qcom, + p_next: ?*anyopaque = null, + transform: SurfaceTransformFlagsKHR, +}; +pub const CopyCommandTransformInfoQCOM = extern struct { + s_type: StructureType = .copy_command_transform_info_qcom, + p_next: ?*const anyopaque = null, + transform: SurfaceTransformFlagsKHR, +}; +pub const CommandBufferInheritanceRenderPassTransformInfoQCOM = extern struct { + s_type: StructureType = .command_buffer_inheritance_render_pass_transform_info_qcom, + p_next: ?*anyopaque = null, + transform: SurfaceTransformFlagsKHR, + render_area: Rect2D, +}; +pub const PhysicalDeviceDiagnosticsConfigFeaturesNV = extern struct { + s_type: StructureType = .physical_device_diagnostics_config_features_nv, + p_next: ?*anyopaque = null, + diagnostics_config: Bool32 = FALSE, +}; +pub const DeviceDiagnosticsConfigCreateInfoNV = extern struct { + s_type: StructureType = .device_diagnostics_config_create_info_nv, + p_next: ?*const anyopaque = null, + flags: DeviceDiagnosticsConfigFlagsNV = .{}, +}; +pub const PipelineOfflineCreateInfo = extern struct { + s_type: StructureType, + p_next: ?*const anyopaque = null, + pipeline_identifier: [UUID_SIZE]u8, + match_control: PipelineMatchControl, + pool_entry_size: DeviceSize, +}; +pub const PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures = extern struct { + s_type: StructureType = .physical_device_zero_initialize_workgroup_memory_features, + p_next: ?*anyopaque = null, + shader_zero_initialize_workgroup_memory: Bool32 = FALSE, +}; +pub const PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures; +pub const PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_shader_subgroup_uniform_control_flow_features_khr, + p_next: ?*anyopaque = null, + shader_subgroup_uniform_control_flow: Bool32 = FALSE, +}; +pub const PhysicalDeviceRobustness2FeaturesEXT = extern struct { + s_type: StructureType = .physical_device_robustness_2_features_ext, + p_next: ?*anyopaque = null, + robust_buffer_access_2: Bool32 = FALSE, + robust_image_access_2: Bool32 = FALSE, + null_descriptor: Bool32 = FALSE, +}; +pub const PhysicalDeviceRobustness2PropertiesEXT = extern struct { + s_type: StructureType = .physical_device_robustness_2_properties_ext, + p_next: ?*anyopaque = null, + robust_storage_buffer_access_size_alignment: DeviceSize, + robust_uniform_buffer_access_size_alignment: DeviceSize, +}; +pub const PhysicalDeviceImageRobustnessFeatures = extern struct { + s_type: StructureType = .physical_device_image_robustness_features, + p_next: ?*anyopaque = null, + robust_image_access: Bool32 = FALSE, +}; +pub const PhysicalDeviceImageRobustnessFeaturesEXT = PhysicalDeviceImageRobustnessFeatures; +pub const PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_workgroup_memory_explicit_layout_features_khr, + p_next: ?*anyopaque = null, + workgroup_memory_explicit_layout: Bool32 = FALSE, + workgroup_memory_explicit_layout_scalar_block_layout: Bool32 = FALSE, + workgroup_memory_explicit_layout_8_bit_access: Bool32 = FALSE, + workgroup_memory_explicit_layout_16_bit_access: Bool32 = FALSE, +}; +pub const PhysicalDevicePortabilitySubsetFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_portability_subset_features_khr, + p_next: ?*anyopaque = null, + constant_alpha_color_blend_factors: Bool32 = FALSE, + events: Bool32 = FALSE, + image_view_format_reinterpretation: Bool32 = FALSE, + image_view_format_swizzle: Bool32 = FALSE, + image_view_2d_on_3d_image: Bool32 = FALSE, + multisample_array_image: Bool32 = FALSE, + mutable_comparison_samplers: Bool32 = FALSE, + point_polygons: Bool32 = FALSE, + sampler_mip_lod_bias: Bool32 = FALSE, + separate_stencil_mask_ref: Bool32 = FALSE, + shader_sample_rate_interpolation_functions: Bool32 = FALSE, + tessellation_isolines: Bool32 = FALSE, + tessellation_point_mode: Bool32 = FALSE, + triangle_fans: Bool32 = FALSE, + vertex_attribute_access_beyond_stride: Bool32 = FALSE, +}; +pub const PhysicalDevicePortabilitySubsetPropertiesKHR = extern struct { + s_type: StructureType = .physical_device_portability_subset_properties_khr, + p_next: ?*anyopaque = null, + min_vertex_input_binding_stride_alignment: u32, +}; +pub const PhysicalDevice4444FormatsFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_4444_formats_features_ext, + p_next: ?*anyopaque = null, + format_a4r4g4b4: Bool32 = FALSE, + format_a4b4g4r4: Bool32 = FALSE, +}; +pub const PhysicalDeviceSubpassShadingFeaturesHUAWEI = extern struct { + s_type: StructureType = .physical_device_subpass_shading_features_huawei, + p_next: ?*anyopaque = null, + subpass_shading: Bool32 = FALSE, +}; +pub const PhysicalDeviceClusterCullingShaderFeaturesHUAWEI = extern struct { + s_type: StructureType = .physical_device_cluster_culling_shader_features_huawei, + p_next: ?*anyopaque = null, + clusterculling_shader: Bool32 = FALSE, + multiview_cluster_culling_shader: Bool32 = FALSE, +}; +pub const PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI = extern struct { + s_type: StructureType = .physical_device_cluster_culling_shader_vrs_features_huawei, + p_next: ?*anyopaque = null, + cluster_shading_rate: Bool32, +}; +pub const BufferCopy2 = extern struct { + s_type: StructureType = .buffer_copy_2, + p_next: ?*const anyopaque = null, + src_offset: DeviceSize, + dst_offset: DeviceSize, + size: DeviceSize, +}; +pub const BufferCopy2KHR = BufferCopy2; +pub const ImageCopy2 = extern struct { + s_type: StructureType = .image_copy_2, + p_next: ?*const anyopaque = null, + src_subresource: ImageSubresourceLayers, + src_offset: Offset3D, + dst_subresource: ImageSubresourceLayers, + dst_offset: Offset3D, + extent: Extent3D, +}; +pub const ImageCopy2KHR = ImageCopy2; +pub const ImageBlit2 = extern struct { + s_type: StructureType = .image_blit_2, + p_next: ?*const anyopaque = null, + src_subresource: ImageSubresourceLayers, + src_offsets: [2]Offset3D, + dst_subresource: ImageSubresourceLayers, + dst_offsets: [2]Offset3D, +}; +pub const ImageBlit2KHR = ImageBlit2; +pub const BufferImageCopy2 = extern struct { + s_type: StructureType = .buffer_image_copy_2, + p_next: ?*const anyopaque = null, + buffer_offset: DeviceSize, + buffer_row_length: u32, + buffer_image_height: u32, + image_subresource: ImageSubresourceLayers, + image_offset: Offset3D, + image_extent: Extent3D, +}; +pub const BufferImageCopy2KHR = BufferImageCopy2; +pub const ImageResolve2 = extern struct { + s_type: StructureType = .image_resolve_2, + p_next: ?*const anyopaque = null, + src_subresource: ImageSubresourceLayers, + src_offset: Offset3D, + dst_subresource: ImageSubresourceLayers, + dst_offset: Offset3D, + extent: Extent3D, +}; +pub const ImageResolve2KHR = ImageResolve2; +pub const CopyBufferInfo2 = extern struct { + s_type: StructureType = .copy_buffer_info_2, + p_next: ?*const anyopaque = null, + src_buffer: Buffer, + dst_buffer: Buffer, + region_count: u32, + p_regions: [*]const BufferCopy2, +}; +pub const CopyBufferInfo2KHR = CopyBufferInfo2; +pub const CopyImageInfo2 = extern struct { + s_type: StructureType = .copy_image_info_2, + p_next: ?*const anyopaque = null, + src_image: Image, + src_image_layout: ImageLayout, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageCopy2, +}; +pub const CopyImageInfo2KHR = CopyImageInfo2; +pub const BlitImageInfo2 = extern struct { + s_type: StructureType = .blit_image_info_2, + p_next: ?*const anyopaque = null, + src_image: Image, + src_image_layout: ImageLayout, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageBlit2, + filter: Filter, +}; +pub const BlitImageInfo2KHR = BlitImageInfo2; +pub const CopyBufferToImageInfo2 = extern struct { + s_type: StructureType = .copy_buffer_to_image_info_2, + p_next: ?*const anyopaque = null, + src_buffer: Buffer, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const BufferImageCopy2, +}; +pub const CopyBufferToImageInfo2KHR = CopyBufferToImageInfo2; +pub const CopyImageToBufferInfo2 = extern struct { + s_type: StructureType = .copy_image_to_buffer_info_2, + p_next: ?*const anyopaque = null, + src_image: Image, + src_image_layout: ImageLayout, + dst_buffer: Buffer, + region_count: u32, + p_regions: [*]const BufferImageCopy2, +}; +pub const CopyImageToBufferInfo2KHR = CopyImageToBufferInfo2; +pub const ResolveImageInfo2 = extern struct { + s_type: StructureType = .resolve_image_info_2, + p_next: ?*const anyopaque = null, + src_image: Image, + src_image_layout: ImageLayout, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageResolve2, +}; +pub const ResolveImageInfo2KHR = ResolveImageInfo2; +pub const PhysicalDeviceShaderImageAtomicInt64FeaturesEXT = extern struct { + s_type: StructureType = .physical_device_shader_image_atomic_int64_features_ext, + p_next: ?*anyopaque = null, + shader_image_int_64_atomics: Bool32 = FALSE, + sparse_image_int_64_atomics: Bool32 = FALSE, +}; +pub const FragmentShadingRateAttachmentInfoKHR = extern struct { + s_type: StructureType = .fragment_shading_rate_attachment_info_khr, + p_next: ?*const anyopaque = null, + p_fragment_shading_rate_attachment: ?*const AttachmentReference2 = null, + shading_rate_attachment_texel_size: Extent2D, +}; +pub const PipelineFragmentShadingRateStateCreateInfoKHR = extern struct { + s_type: StructureType = .pipeline_fragment_shading_rate_state_create_info_khr, + p_next: ?*const anyopaque = null, + fragment_size: Extent2D, + combiner_ops: [2]FragmentShadingRateCombinerOpKHR, +}; +pub const PhysicalDeviceFragmentShadingRateFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_fragment_shading_rate_features_khr, + p_next: ?*anyopaque = null, + pipeline_fragment_shading_rate: Bool32 = FALSE, + primitive_fragment_shading_rate: Bool32 = FALSE, + attachment_fragment_shading_rate: Bool32 = FALSE, +}; +pub const PhysicalDeviceFragmentShadingRatePropertiesKHR = extern struct { + s_type: StructureType = .physical_device_fragment_shading_rate_properties_khr, + p_next: ?*anyopaque = null, + min_fragment_shading_rate_attachment_texel_size: Extent2D, + max_fragment_shading_rate_attachment_texel_size: Extent2D, + max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32, + primitive_fragment_shading_rate_with_multiple_viewports: Bool32, + layered_shading_rate_attachments: Bool32, + fragment_shading_rate_non_trivial_combiner_ops: Bool32, + max_fragment_size: Extent2D, + max_fragment_size_aspect_ratio: u32, + max_fragment_shading_rate_coverage_samples: u32, + max_fragment_shading_rate_rasterization_samples: SampleCountFlags, + fragment_shading_rate_with_shader_depth_stencil_writes: Bool32, + fragment_shading_rate_with_sample_mask: Bool32, + fragment_shading_rate_with_shader_sample_mask: Bool32, + fragment_shading_rate_with_conservative_rasterization: Bool32, + fragment_shading_rate_with_fragment_shader_interlock: Bool32, + fragment_shading_rate_with_custom_sample_locations: Bool32, + fragment_shading_rate_strict_multiply_combiner: Bool32, +}; +pub const PhysicalDeviceFragmentShadingRateKHR = extern struct { + s_type: StructureType = .physical_device_fragment_shading_rate_khr, + p_next: ?*anyopaque = null, + sample_counts: SampleCountFlags, + fragment_size: Extent2D, +}; +pub const PhysicalDeviceShaderTerminateInvocationFeatures = extern struct { + s_type: StructureType = .physical_device_shader_terminate_invocation_features, + p_next: ?*anyopaque = null, + shader_terminate_invocation: Bool32 = FALSE, +}; +pub const PhysicalDeviceShaderTerminateInvocationFeaturesKHR = PhysicalDeviceShaderTerminateInvocationFeatures; +pub const PhysicalDeviceFragmentShadingRateEnumsFeaturesNV = extern struct { + s_type: StructureType = .physical_device_fragment_shading_rate_enums_features_nv, + p_next: ?*anyopaque = null, + fragment_shading_rate_enums: Bool32 = FALSE, + supersample_fragment_shading_rates: Bool32 = FALSE, + no_invocation_fragment_shading_rates: Bool32 = FALSE, +}; +pub const PhysicalDeviceFragmentShadingRateEnumsPropertiesNV = extern struct { + s_type: StructureType = .physical_device_fragment_shading_rate_enums_properties_nv, + p_next: ?*anyopaque = null, + max_fragment_shading_rate_invocation_count: SampleCountFlags, +}; +pub const PipelineFragmentShadingRateEnumStateCreateInfoNV = extern struct { + s_type: StructureType = .pipeline_fragment_shading_rate_enum_state_create_info_nv, + p_next: ?*const anyopaque = null, + shading_rate_type: FragmentShadingRateTypeNV, + shading_rate: FragmentShadingRateNV, + combiner_ops: [2]FragmentShadingRateCombinerOpKHR, +}; +pub const AccelerationStructureBuildSizesInfoKHR = extern struct { + s_type: StructureType = .acceleration_structure_build_sizes_info_khr, + p_next: ?*const anyopaque = null, + acceleration_structure_size: DeviceSize, + update_scratch_size: DeviceSize, + build_scratch_size: DeviceSize, +}; +pub const PhysicalDeviceImage2DViewOf3DFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_image_2d_view_of_3d_features_ext, + p_next: ?*anyopaque = null, + image_2d_view_of_3d: Bool32 = FALSE, + sampler_2d_view_of_3d: Bool32 = FALSE, +}; +pub const PhysicalDeviceImageSlicedViewOf3DFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_image_sliced_view_of_3d_features_ext, + p_next: ?*anyopaque = null, + image_sliced_view_of_3d: Bool32 = FALSE, +}; +pub const PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_attachment_feedback_loop_dynamic_state_features_ext, + p_next: ?*anyopaque = null, + attachment_feedback_loop_dynamic_state: Bool32 = FALSE, +}; +pub const PhysicalDeviceLegacyVertexAttributesFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_legacy_vertex_attributes_features_ext, + p_next: ?*anyopaque = null, + legacy_vertex_attributes: Bool32 = FALSE, +}; +pub const PhysicalDeviceLegacyVertexAttributesPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_legacy_vertex_attributes_properties_ext, + p_next: ?*anyopaque = null, + native_unaligned_performance: Bool32, +}; +pub const PhysicalDeviceMutableDescriptorTypeFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_mutable_descriptor_type_features_ext, + p_next: ?*anyopaque = null, + mutable_descriptor_type: Bool32 = FALSE, +}; +pub const PhysicalDeviceMutableDescriptorTypeFeaturesVALVE = PhysicalDeviceMutableDescriptorTypeFeaturesEXT; +pub const MutableDescriptorTypeListEXT = extern struct { + descriptor_type_count: u32 = 0, + p_descriptor_types: ?[*]const DescriptorType = null, +}; +pub const MutableDescriptorTypeListVALVE = MutableDescriptorTypeListEXT; +pub const MutableDescriptorTypeCreateInfoEXT = extern struct { + s_type: StructureType = .mutable_descriptor_type_create_info_ext, + p_next: ?*const anyopaque = null, + mutable_descriptor_type_list_count: u32 = 0, + p_mutable_descriptor_type_lists: ?[*]const MutableDescriptorTypeListEXT = null, +}; +pub const MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT; +pub const PhysicalDeviceDepthClipControlFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_depth_clip_control_features_ext, + p_next: ?*anyopaque = null, + depth_clip_control: Bool32 = FALSE, +}; +pub const PipelineViewportDepthClipControlCreateInfoEXT = extern struct { + s_type: StructureType = .pipeline_viewport_depth_clip_control_create_info_ext, + p_next: ?*const anyopaque = null, + negative_one_to_one: Bool32, +}; +pub const PhysicalDeviceVertexInputDynamicStateFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_vertex_input_dynamic_state_features_ext, + p_next: ?*anyopaque = null, + vertex_input_dynamic_state: Bool32 = FALSE, +}; +pub const PhysicalDeviceExternalMemoryRDMAFeaturesNV = extern struct { + s_type: StructureType = .physical_device_external_memory_rdma_features_nv, + p_next: ?*anyopaque = null, + external_memory_rdma: Bool32 = FALSE, +}; +pub const VertexInputBindingDescription2EXT = extern struct { + s_type: StructureType = .vertex_input_binding_description_2_ext, + p_next: ?*anyopaque = null, + binding: u32, + stride: u32, + input_rate: VertexInputRate, + divisor: u32, +}; +pub const VertexInputAttributeDescription2EXT = extern struct { + s_type: StructureType = .vertex_input_attribute_description_2_ext, + p_next: ?*anyopaque = null, + location: u32, + binding: u32, + format: Format, + offset: u32, +}; +pub const PhysicalDeviceColorWriteEnableFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_color_write_enable_features_ext, + p_next: ?*anyopaque = null, + color_write_enable: Bool32 = FALSE, +}; +pub const PipelineColorWriteCreateInfoEXT = extern struct { + s_type: StructureType = .pipeline_color_write_create_info_ext, + p_next: ?*const anyopaque = null, + attachment_count: u32 = 0, + p_color_write_enables: ?[*]const Bool32 = null, +}; +pub const MemoryBarrier2 = extern struct { + s_type: StructureType = .memory_barrier_2, + p_next: ?*const anyopaque = null, + src_stage_mask: PipelineStageFlags2 = .{}, + src_access_mask: AccessFlags2 = .{}, + dst_stage_mask: PipelineStageFlags2 = .{}, + dst_access_mask: AccessFlags2 = .{}, +}; +pub const MemoryBarrier2KHR = MemoryBarrier2; +pub const ImageMemoryBarrier2 = extern struct { + s_type: StructureType = .image_memory_barrier_2, + p_next: ?*const anyopaque = null, + src_stage_mask: PipelineStageFlags2 = .{}, + src_access_mask: AccessFlags2 = .{}, + dst_stage_mask: PipelineStageFlags2 = .{}, + dst_access_mask: AccessFlags2 = .{}, + old_layout: ImageLayout, + new_layout: ImageLayout, + src_queue_family_index: u32, + dst_queue_family_index: u32, + image: Image, + subresource_range: ImageSubresourceRange, +}; +pub const ImageMemoryBarrier2KHR = ImageMemoryBarrier2; +pub const BufferMemoryBarrier2 = extern struct { + s_type: StructureType = .buffer_memory_barrier_2, + p_next: ?*const anyopaque = null, + src_stage_mask: PipelineStageFlags2 = .{}, + src_access_mask: AccessFlags2 = .{}, + dst_stage_mask: PipelineStageFlags2 = .{}, + dst_access_mask: AccessFlags2 = .{}, + src_queue_family_index: u32, + dst_queue_family_index: u32, + buffer: Buffer, + offset: DeviceSize, + size: DeviceSize, +}; +pub const BufferMemoryBarrier2KHR = BufferMemoryBarrier2; +pub const DependencyInfo = extern struct { + s_type: StructureType = .dependency_info, + p_next: ?*const anyopaque = null, + dependency_flags: DependencyFlags = .{}, + memory_barrier_count: u32 = 0, + p_memory_barriers: ?[*]const MemoryBarrier2 = null, + buffer_memory_barrier_count: u32 = 0, + p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier2 = null, + image_memory_barrier_count: u32 = 0, + p_image_memory_barriers: ?[*]const ImageMemoryBarrier2 = null, +}; +pub const DependencyInfoKHR = DependencyInfo; +pub const SemaphoreSubmitInfo = extern struct { + s_type: StructureType = .semaphore_submit_info, + p_next: ?*const anyopaque = null, + semaphore: Semaphore, + value: u64, + stage_mask: PipelineStageFlags2 = .{}, + device_index: u32, +}; +pub const SemaphoreSubmitInfoKHR = SemaphoreSubmitInfo; +pub const CommandBufferSubmitInfo = extern struct { + s_type: StructureType = .command_buffer_submit_info, + p_next: ?*const anyopaque = null, + command_buffer: CommandBuffer, + device_mask: u32, +}; +pub const CommandBufferSubmitInfoKHR = CommandBufferSubmitInfo; +pub const SubmitInfo2 = extern struct { + s_type: StructureType = .submit_info_2, + p_next: ?*const anyopaque = null, + flags: SubmitFlags = .{}, + wait_semaphore_info_count: u32 = 0, + p_wait_semaphore_infos: ?[*]const SemaphoreSubmitInfo = null, + command_buffer_info_count: u32 = 0, + p_command_buffer_infos: ?[*]const CommandBufferSubmitInfo = null, + signal_semaphore_info_count: u32 = 0, + p_signal_semaphore_infos: ?[*]const SemaphoreSubmitInfo = null, +}; +pub const SubmitInfo2KHR = SubmitInfo2; +pub const QueueFamilyCheckpointProperties2NV = extern struct { + s_type: StructureType = .queue_family_checkpoint_properties_2_nv, + p_next: ?*anyopaque = null, + checkpoint_execution_stage_mask: PipelineStageFlags2, +}; +pub const CheckpointData2NV = extern struct { + s_type: StructureType = .checkpoint_data_2_nv, + p_next: ?*anyopaque = null, + stage: PipelineStageFlags2, + p_checkpoint_marker: *anyopaque, +}; +pub const PhysicalDeviceSynchronization2Features = extern struct { + s_type: StructureType = .physical_device_synchronization_2_features, + p_next: ?*anyopaque = null, + synchronization_2: Bool32 = FALSE, +}; +pub const PhysicalDeviceSynchronization2FeaturesKHR = PhysicalDeviceSynchronization2Features; +pub const PhysicalDeviceHostImageCopyFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_host_image_copy_features_ext, + p_next: ?*anyopaque = null, + host_image_copy: Bool32 = FALSE, +}; +pub const PhysicalDeviceHostImageCopyPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_host_image_copy_properties_ext, + p_next: ?*anyopaque = null, + copy_src_layout_count: u32 = 0, + p_copy_src_layouts: ?[*]ImageLayout = null, + copy_dst_layout_count: u32 = 0, + p_copy_dst_layouts: ?[*]ImageLayout = null, + optimal_tiling_layout_uuid: [UUID_SIZE]u8, + identical_memory_type_requirements: Bool32, +}; +pub const MemoryToImageCopyEXT = extern struct { + s_type: StructureType = .memory_to_image_copy_ext, + p_next: ?*const anyopaque = null, + p_host_pointer: *const anyopaque, + memory_row_length: u32, + memory_image_height: u32, + image_subresource: ImageSubresourceLayers, + image_offset: Offset3D, + image_extent: Extent3D, +}; +pub const ImageToMemoryCopyEXT = extern struct { + s_type: StructureType = .image_to_memory_copy_ext, + p_next: ?*const anyopaque = null, + p_host_pointer: *anyopaque, + memory_row_length: u32, + memory_image_height: u32, + image_subresource: ImageSubresourceLayers, + image_offset: Offset3D, + image_extent: Extent3D, +}; +pub const CopyMemoryToImageInfoEXT = extern struct { + s_type: StructureType = .copy_memory_to_image_info_ext, + p_next: ?*const anyopaque = null, + flags: HostImageCopyFlagsEXT = .{}, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const MemoryToImageCopyEXT, +}; +pub const CopyImageToMemoryInfoEXT = extern struct { + s_type: StructureType = .copy_image_to_memory_info_ext, + p_next: ?*const anyopaque = null, + flags: HostImageCopyFlagsEXT = .{}, + src_image: Image, + src_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageToMemoryCopyEXT, +}; +pub const CopyImageToImageInfoEXT = extern struct { + s_type: StructureType = .copy_image_to_image_info_ext, + p_next: ?*const anyopaque = null, + flags: HostImageCopyFlagsEXT = .{}, + src_image: Image, + src_image_layout: ImageLayout, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageCopy2, +}; +pub const HostImageLayoutTransitionInfoEXT = extern struct { + s_type: StructureType = .host_image_layout_transition_info_ext, + p_next: ?*const anyopaque = null, + image: Image, + old_layout: ImageLayout, + new_layout: ImageLayout, + subresource_range: ImageSubresourceRange, +}; +pub const SubresourceHostMemcpySizeEXT = extern struct { + s_type: StructureType = .subresource_host_memcpy_size_ext, + p_next: ?*anyopaque = null, + size: DeviceSize, +}; +pub const HostImageCopyDevicePerformanceQueryEXT = extern struct { + s_type: StructureType = .host_image_copy_device_performance_query_ext, + p_next: ?*anyopaque = null, + optimal_device_access: Bool32, + identical_memory_layout: Bool32, +}; +pub const PhysicalDeviceVulkanSC10Properties = extern struct { + s_type: StructureType, + p_next: ?*anyopaque = null, + device_no_dynamic_host_allocations: Bool32, + device_destroy_frees_memory: Bool32, + command_pool_multiple_command_buffers_recording: Bool32, + command_pool_reset_command_buffer: Bool32, + command_buffer_simultaneous_use: Bool32, + secondary_command_buffer_null_or_imageless_framebuffer: Bool32, + recycle_descriptor_set_memory: Bool32, + recycle_pipeline_memory: Bool32, + max_render_pass_subpasses: u32, + max_render_pass_dependencies: u32, + max_subpass_input_attachments: u32, + max_subpass_preserve_attachments: u32, + max_framebuffer_attachments: u32, + max_descriptor_set_layout_bindings: u32, + max_query_fault_count: u32, + max_callback_fault_count: u32, + max_command_pool_command_buffers: u32, + max_command_buffer_size: DeviceSize, +}; +pub const PipelinePoolSize = extern struct { + s_type: StructureType, + p_next: ?*const anyopaque = null, + pool_entry_size: DeviceSize, + pool_entry_count: u32, +}; +pub const DeviceObjectReservationCreateInfo = extern struct { + s_type: StructureType, + p_next: ?*const anyopaque = null, + pipeline_cache_create_info_count: u32 = 0, + p_pipeline_cache_create_infos: ?[*]const PipelineCacheCreateInfo = null, + pipeline_pool_size_count: u32 = 0, + p_pipeline_pool_sizes: ?[*]const PipelinePoolSize = null, + semaphore_request_count: u32 = 0, + command_buffer_request_count: u32 = 0, + fence_request_count: u32 = 0, + device_memory_request_count: u32 = 0, + buffer_request_count: u32 = 0, + image_request_count: u32 = 0, + event_request_count: u32 = 0, + query_pool_request_count: u32 = 0, + buffer_view_request_count: u32 = 0, + image_view_request_count: u32 = 0, + layered_image_view_request_count: u32 = 0, + pipeline_cache_request_count: u32 = 0, + pipeline_layout_request_count: u32 = 0, + render_pass_request_count: u32 = 0, + graphics_pipeline_request_count: u32 = 0, + compute_pipeline_request_count: u32 = 0, + descriptor_set_layout_request_count: u32 = 0, + sampler_request_count: u32 = 0, + descriptor_pool_request_count: u32 = 0, + descriptor_set_request_count: u32 = 0, + framebuffer_request_count: u32 = 0, + command_pool_request_count: u32 = 0, + sampler_ycbcr_conversion_request_count: u32 = 0, + surface_request_count: u32 = 0, + swapchain_request_count: u32 = 0, + display_mode_request_count: u32 = 0, + subpass_description_request_count: u32 = 0, + attachment_description_request_count: u32 = 0, + descriptor_set_layout_binding_request_count: u32 = 0, + descriptor_set_layout_binding_limit: u32, + max_image_view_mip_levels: u32, + max_image_view_array_layers: u32, + max_layered_image_view_mip_levels: u32, + max_occlusion_queries_per_pool: u32, + max_pipeline_statistics_queries_per_pool: u32, + max_timestamp_queries_per_pool: u32, + max_immutable_samplers_per_descriptor_set_layout: u32, +}; +pub const CommandPoolMemoryReservationCreateInfo = extern struct { + s_type: StructureType, + p_next: ?*const anyopaque = null, + command_pool_reserved_size: DeviceSize, + command_pool_max_command_buffers: u32, +}; +pub const CommandPoolMemoryConsumption = extern struct { + s_type: StructureType, + p_next: ?*anyopaque = null, + command_pool_allocated: DeviceSize, + command_pool_reserved_size: DeviceSize, + command_buffer_allocated: DeviceSize, +}; +pub const PhysicalDeviceVulkanSC10Features = extern struct { + s_type: StructureType, + p_next: ?*anyopaque = null, + shader_atomic_instructions: Bool32 = FALSE, +}; +pub const PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_primitives_generated_query_features_ext, + p_next: ?*anyopaque = null, + primitives_generated_query: Bool32 = FALSE, + primitives_generated_query_with_rasterizer_discard: Bool32 = FALSE, + primitives_generated_query_with_non_zero_streams: Bool32 = FALSE, +}; +pub const PhysicalDeviceLegacyDitheringFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_legacy_dithering_features_ext, + p_next: ?*anyopaque = null, + legacy_dithering: Bool32 = FALSE, +}; +pub const PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_multisampled_render_to_single_sampled_features_ext, + p_next: ?*anyopaque = null, + multisampled_render_to_single_sampled: Bool32 = FALSE, +}; +pub const SubpassResolvePerformanceQueryEXT = extern struct { + s_type: StructureType = .subpass_resolve_performance_query_ext, + p_next: ?*anyopaque = null, + optimal: Bool32, +}; +pub const MultisampledRenderToSingleSampledInfoEXT = extern struct { + s_type: StructureType = .multisampled_render_to_single_sampled_info_ext, + p_next: ?*const anyopaque = null, + multisampled_render_to_single_sampled_enable: Bool32, + rasterization_samples: SampleCountFlags, +}; +pub const PhysicalDevicePipelineProtectedAccessFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_pipeline_protected_access_features_ext, + p_next: ?*anyopaque = null, + pipeline_protected_access: Bool32 = FALSE, +}; +pub const QueueFamilyVideoPropertiesKHR = extern struct { + s_type: StructureType = .queue_family_video_properties_khr, + p_next: ?*anyopaque = null, + video_codec_operations: VideoCodecOperationFlagsKHR, +}; +pub const QueueFamilyQueryResultStatusPropertiesKHR = extern struct { + s_type: StructureType = .queue_family_query_result_status_properties_khr, + p_next: ?*anyopaque = null, + query_result_status_support: Bool32, +}; +pub const VideoProfileListInfoKHR = extern struct { + s_type: StructureType = .video_profile_list_info_khr, + p_next: ?*const anyopaque = null, + profile_count: u32 = 0, + p_profiles: ?[*]const VideoProfileInfoKHR = null, +}; +pub const PhysicalDeviceVideoFormatInfoKHR = extern struct { + s_type: StructureType = .physical_device_video_format_info_khr, + p_next: ?*const anyopaque = null, + image_usage: ImageUsageFlags, +}; +pub const VideoFormatPropertiesKHR = extern struct { + s_type: StructureType = .video_format_properties_khr, + p_next: ?*anyopaque = null, + format: Format, + component_mapping: ComponentMapping, + image_create_flags: ImageCreateFlags, + image_type: ImageType, + image_tiling: ImageTiling, + image_usage_flags: ImageUsageFlags, +}; +pub const VideoProfileInfoKHR = extern struct { + s_type: StructureType = .video_profile_info_khr, + p_next: ?*const anyopaque = null, + video_codec_operation: VideoCodecOperationFlagsKHR, + chroma_subsampling: VideoChromaSubsamplingFlagsKHR, + luma_bit_depth: VideoComponentBitDepthFlagsKHR, + chroma_bit_depth: VideoComponentBitDepthFlagsKHR = .{}, +}; +pub const VideoCapabilitiesKHR = extern struct { + s_type: StructureType = .video_capabilities_khr, + p_next: ?*anyopaque = null, + flags: VideoCapabilityFlagsKHR, + min_bitstream_buffer_offset_alignment: DeviceSize, + min_bitstream_buffer_size_alignment: DeviceSize, + picture_access_granularity: Extent2D, + min_coded_extent: Extent2D, + max_coded_extent: Extent2D, + max_dpb_slots: u32, + max_active_reference_pictures: u32, + std_header_version: ExtensionProperties, +}; +pub const VideoSessionMemoryRequirementsKHR = extern struct { + s_type: StructureType = .video_session_memory_requirements_khr, + p_next: ?*anyopaque = null, + memory_bind_index: u32, + memory_requirements: MemoryRequirements, +}; +pub const BindVideoSessionMemoryInfoKHR = extern struct { + s_type: StructureType = .bind_video_session_memory_info_khr, + p_next: ?*const anyopaque = null, + memory_bind_index: u32, + memory: DeviceMemory, + memory_offset: DeviceSize, + memory_size: DeviceSize, +}; +pub const VideoPictureResourceInfoKHR = extern struct { + s_type: StructureType = .video_picture_resource_info_khr, + p_next: ?*const anyopaque = null, + coded_offset: Offset2D, + coded_extent: Extent2D, + base_array_layer: u32, + image_view_binding: ImageView, +}; +pub const VideoReferenceSlotInfoKHR = extern struct { + s_type: StructureType = .video_reference_slot_info_khr, + p_next: ?*const anyopaque = null, + slot_index: i32, + p_picture_resource: ?*const VideoPictureResourceInfoKHR = null, +}; +pub const VideoDecodeCapabilitiesKHR = extern struct { + s_type: StructureType = .video_decode_capabilities_khr, + p_next: ?*anyopaque = null, + flags: VideoDecodeCapabilityFlagsKHR, +}; +pub const VideoDecodeUsageInfoKHR = extern struct { + s_type: StructureType = .video_decode_usage_info_khr, + p_next: ?*const anyopaque = null, + video_usage_hints: VideoDecodeUsageFlagsKHR = .{}, +}; +pub const VideoDecodeInfoKHR = extern struct { + s_type: StructureType = .video_decode_info_khr, + p_next: ?*const anyopaque = null, + flags: VideoDecodeFlagsKHR = .{}, + src_buffer: Buffer, + src_buffer_offset: DeviceSize, + src_buffer_range: DeviceSize, + dst_picture_resource: VideoPictureResourceInfoKHR, + p_setup_reference_slot: ?*const VideoReferenceSlotInfoKHR = null, + reference_slot_count: u32 = 0, + p_reference_slots: ?[*]const VideoReferenceSlotInfoKHR = null, +}; +pub const PhysicalDeviceVideoMaintenance1FeaturesKHR = extern struct { + s_type: StructureType = .physical_device_video_maintenance_1_features_khr, + p_next: ?*anyopaque = null, + video_maintenance_1: Bool32 = FALSE, +}; +pub const VideoInlineQueryInfoKHR = extern struct { + s_type: StructureType = .video_inline_query_info_khr, + p_next: ?*const anyopaque = null, + query_pool: QueryPool = .null_handle, + first_query: u32, + query_count: u32, +}; +pub const StdVideoH264ProfileIdc = if (@hasDecl(root, "StdVideoH264ProfileIdc")) root.StdVideoH264ProfileIdc else opaque {}; +pub const StdVideoH264LevelIdc = if (@hasDecl(root, "StdVideoH264LevelIdc")) root.StdVideoH264LevelIdc else opaque {}; +pub const StdVideoH264ChromaFormatIdc = if (@hasDecl(root, "StdVideoH264ChromaFormatIdc")) root.StdVideoH264ChromaFormatIdc else opaque {}; +pub const StdVideoH264PocType = if (@hasDecl(root, "StdVideoH264PocType")) root.StdVideoH264PocType else opaque {}; +pub const StdVideoH264SpsFlags = if (@hasDecl(root, "StdVideoH264SpsFlags")) root.StdVideoH264SpsFlags else opaque {}; +pub const StdVideoH264ScalingLists = if (@hasDecl(root, "StdVideoH264ScalingLists")) root.StdVideoH264ScalingLists else opaque {}; +pub const StdVideoH264SequenceParameterSetVui = if (@hasDecl(root, "StdVideoH264SequenceParameterSetVui")) root.StdVideoH264SequenceParameterSetVui else opaque {}; +pub const StdVideoH264AspectRatioIdc = if (@hasDecl(root, "StdVideoH264AspectRatioIdc")) root.StdVideoH264AspectRatioIdc else opaque {}; +pub const StdVideoH264HrdParameters = if (@hasDecl(root, "StdVideoH264HrdParameters")) root.StdVideoH264HrdParameters else opaque {}; +pub const StdVideoH264SpsVuiFlags = if (@hasDecl(root, "StdVideoH264SpsVuiFlags")) root.StdVideoH264SpsVuiFlags else opaque {}; +pub const StdVideoH264WeightedBipredIdc = if (@hasDecl(root, "StdVideoH264WeightedBipredIdc")) root.StdVideoH264WeightedBipredIdc else opaque {}; +pub const StdVideoH264PpsFlags = if (@hasDecl(root, "StdVideoH264PpsFlags")) root.StdVideoH264PpsFlags else opaque {}; +pub const StdVideoH264SliceType = if (@hasDecl(root, "StdVideoH264SliceType")) root.StdVideoH264SliceType else opaque {}; +pub const StdVideoH264CabacInitIdc = if (@hasDecl(root, "StdVideoH264CabacInitIdc")) root.StdVideoH264CabacInitIdc else opaque {}; +pub const StdVideoH264DisableDeblockingFilterIdc = if (@hasDecl(root, "StdVideoH264DisableDeblockingFilterIdc")) root.StdVideoH264DisableDeblockingFilterIdc else opaque {}; +pub const StdVideoH264PictureType = if (@hasDecl(root, "StdVideoH264PictureType")) root.StdVideoH264PictureType else opaque {}; +pub const StdVideoH264ModificationOfPicNumsIdc = if (@hasDecl(root, "StdVideoH264ModificationOfPicNumsIdc")) root.StdVideoH264ModificationOfPicNumsIdc else opaque {}; +pub const StdVideoH264MemMgmtControlOp = if (@hasDecl(root, "StdVideoH264MemMgmtControlOp")) root.StdVideoH264MemMgmtControlOp else opaque {}; +pub const StdVideoDecodeH264PictureInfo = if (@hasDecl(root, "StdVideoDecodeH264PictureInfo")) root.StdVideoDecodeH264PictureInfo else opaque {}; +pub const StdVideoDecodeH264ReferenceInfo = if (@hasDecl(root, "StdVideoDecodeH264ReferenceInfo")) root.StdVideoDecodeH264ReferenceInfo else opaque {}; +pub const StdVideoDecodeH264PictureInfoFlags = if (@hasDecl(root, "StdVideoDecodeH264PictureInfoFlags")) root.StdVideoDecodeH264PictureInfoFlags else opaque {}; +pub const StdVideoDecodeH264ReferenceInfoFlags = if (@hasDecl(root, "StdVideoDecodeH264ReferenceInfoFlags")) root.StdVideoDecodeH264ReferenceInfoFlags else opaque {}; +pub const VideoDecodeH264ProfileInfoKHR = extern struct { + s_type: StructureType = .video_decode_h264_profile_info_khr, + p_next: ?*const anyopaque = null, + std_profile_idc: StdVideoH264ProfileIdc, + picture_layout: VideoDecodeH264PictureLayoutFlagsKHR, +}; +pub const VideoDecodeH264CapabilitiesKHR = extern struct { + s_type: StructureType = .video_decode_h264_capabilities_khr, + p_next: ?*anyopaque = null, + max_level_idc: StdVideoH264LevelIdc, + field_offset_granularity: Offset2D, +}; +pub const StdVideoH264SequenceParameterSet = if (@hasDecl(root, "StdVideoH264SequenceParameterSet")) root.StdVideoH264SequenceParameterSet else opaque {}; +pub const StdVideoH264PictureParameterSet = if (@hasDecl(root, "StdVideoH264PictureParameterSet")) root.StdVideoH264PictureParameterSet else opaque {}; +pub const VideoDecodeH264SessionParametersAddInfoKHR = extern struct { + s_type: StructureType = .video_decode_h264_session_parameters_add_info_khr, + p_next: ?*const anyopaque = null, + std_sps_count: u32 = 0, + p_std_sp_ss: ?[*]const StdVideoH264SequenceParameterSet = null, + std_pps_count: u32 = 0, + p_std_pp_ss: ?[*]const StdVideoH264PictureParameterSet = null, +}; +pub const VideoDecodeH264SessionParametersCreateInfoKHR = extern struct { + s_type: StructureType = .video_decode_h264_session_parameters_create_info_khr, + p_next: ?*const anyopaque = null, + max_std_sps_count: u32, + max_std_pps_count: u32, + p_parameters_add_info: ?*const VideoDecodeH264SessionParametersAddInfoKHR = null, +}; +pub const VideoDecodeH264PictureInfoKHR = extern struct { + s_type: StructureType = .video_decode_h264_picture_info_khr, + p_next: ?*const anyopaque = null, + p_std_picture_info: *const StdVideoDecodeH264PictureInfo, + slice_count: u32, + p_slice_offsets: [*]const u32, +}; +pub const VideoDecodeH264DpbSlotInfoKHR = extern struct { + s_type: StructureType = .video_decode_h264_dpb_slot_info_khr, + p_next: ?*const anyopaque = null, + p_std_reference_info: *const StdVideoDecodeH264ReferenceInfo, +}; +pub const StdVideoH265ProfileIdc = if (@hasDecl(root, "StdVideoH265ProfileIdc")) root.StdVideoH265ProfileIdc else opaque {}; +pub const StdVideoH265VideoParameterSet = if (@hasDecl(root, "StdVideoH265VideoParameterSet")) root.StdVideoH265VideoParameterSet else opaque {}; +pub const StdVideoH265SequenceParameterSet = if (@hasDecl(root, "StdVideoH265SequenceParameterSet")) root.StdVideoH265SequenceParameterSet else opaque {}; +pub const StdVideoH265PictureParameterSet = if (@hasDecl(root, "StdVideoH265PictureParameterSet")) root.StdVideoH265PictureParameterSet else opaque {}; +pub const StdVideoH265DecPicBufMgr = if (@hasDecl(root, "StdVideoH265DecPicBufMgr")) root.StdVideoH265DecPicBufMgr else opaque {}; +pub const StdVideoH265HrdParameters = if (@hasDecl(root, "StdVideoH265HrdParameters")) root.StdVideoH265HrdParameters else opaque {}; +pub const StdVideoH265VpsFlags = if (@hasDecl(root, "StdVideoH265VpsFlags")) root.StdVideoH265VpsFlags else opaque {}; +pub const StdVideoH265LevelIdc = if (@hasDecl(root, "StdVideoH265LevelIdc")) root.StdVideoH265LevelIdc else opaque {}; +pub const StdVideoH265SpsFlags = if (@hasDecl(root, "StdVideoH265SpsFlags")) root.StdVideoH265SpsFlags else opaque {}; +pub const StdVideoH265ScalingLists = if (@hasDecl(root, "StdVideoH265ScalingLists")) root.StdVideoH265ScalingLists else opaque {}; +pub const StdVideoH265SequenceParameterSetVui = if (@hasDecl(root, "StdVideoH265SequenceParameterSetVui")) root.StdVideoH265SequenceParameterSetVui else opaque {}; +pub const StdVideoH265PredictorPaletteEntries = if (@hasDecl(root, "StdVideoH265PredictorPaletteEntries")) root.StdVideoH265PredictorPaletteEntries else opaque {}; +pub const StdVideoH265PpsFlags = if (@hasDecl(root, "StdVideoH265PpsFlags")) root.StdVideoH265PpsFlags else opaque {}; +pub const StdVideoH265SubLayerHrdParameters = if (@hasDecl(root, "StdVideoH265SubLayerHrdParameters")) root.StdVideoH265SubLayerHrdParameters else opaque {}; +pub const StdVideoH265HrdFlags = if (@hasDecl(root, "StdVideoH265HrdFlags")) root.StdVideoH265HrdFlags else opaque {}; +pub const StdVideoH265SpsVuiFlags = if (@hasDecl(root, "StdVideoH265SpsVuiFlags")) root.StdVideoH265SpsVuiFlags else opaque {}; +pub const StdVideoH265SliceType = if (@hasDecl(root, "StdVideoH265SliceType")) root.StdVideoH265SliceType else opaque {}; +pub const StdVideoH265PictureType = if (@hasDecl(root, "StdVideoH265PictureType")) root.StdVideoH265PictureType else opaque {}; +pub const StdVideoDecodeH265PictureInfo = if (@hasDecl(root, "StdVideoDecodeH265PictureInfo")) root.StdVideoDecodeH265PictureInfo else opaque {}; +pub const StdVideoDecodeH265ReferenceInfo = if (@hasDecl(root, "StdVideoDecodeH265ReferenceInfo")) root.StdVideoDecodeH265ReferenceInfo else opaque {}; +pub const StdVideoDecodeH265PictureInfoFlags = if (@hasDecl(root, "StdVideoDecodeH265PictureInfoFlags")) root.StdVideoDecodeH265PictureInfoFlags else opaque {}; +pub const StdVideoDecodeH265ReferenceInfoFlags = if (@hasDecl(root, "StdVideoDecodeH265ReferenceInfoFlags")) root.StdVideoDecodeH265ReferenceInfoFlags else opaque {}; +pub const VideoDecodeH265ProfileInfoKHR = extern struct { + s_type: StructureType = .video_decode_h265_profile_info_khr, + p_next: ?*const anyopaque = null, + std_profile_idc: StdVideoH265ProfileIdc, +}; +pub const VideoDecodeH265CapabilitiesKHR = extern struct { + s_type: StructureType = .video_decode_h265_capabilities_khr, + p_next: ?*anyopaque = null, + max_level_idc: StdVideoH265LevelIdc, +}; +pub const VideoDecodeH265SessionParametersAddInfoKHR = extern struct { + s_type: StructureType = .video_decode_h265_session_parameters_add_info_khr, + p_next: ?*const anyopaque = null, + std_vps_count: u32 = 0, + p_std_vp_ss: ?[*]const StdVideoH265VideoParameterSet = null, + std_sps_count: u32 = 0, + p_std_sp_ss: ?[*]const StdVideoH265SequenceParameterSet = null, + std_pps_count: u32 = 0, + p_std_pp_ss: ?[*]const StdVideoH265PictureParameterSet = null, +}; +pub const VideoDecodeH265SessionParametersCreateInfoKHR = extern struct { + s_type: StructureType = .video_decode_h265_session_parameters_create_info_khr, + p_next: ?*const anyopaque = null, + max_std_vps_count: u32, + max_std_sps_count: u32, + max_std_pps_count: u32, + p_parameters_add_info: ?*const VideoDecodeH265SessionParametersAddInfoKHR = null, +}; +pub const VideoDecodeH265PictureInfoKHR = extern struct { + s_type: StructureType = .video_decode_h265_picture_info_khr, + p_next: ?*const anyopaque = null, + p_std_picture_info: *const StdVideoDecodeH265PictureInfo, + slice_segment_count: u32, + p_slice_segment_offsets: [*]const u32, +}; +pub const VideoDecodeH265DpbSlotInfoKHR = extern struct { + s_type: StructureType = .video_decode_h265_dpb_slot_info_khr, + p_next: ?*const anyopaque = null, + p_std_reference_info: *const StdVideoDecodeH265ReferenceInfo, +}; +pub const StdVideoAV1Profile = if (@hasDecl(root, "StdVideoAV1Profile")) root.StdVideoAV1Profile else opaque {}; +pub const StdVideoAV1Level = if (@hasDecl(root, "StdVideoAV1Level")) root.StdVideoAV1Level else opaque {}; +pub const StdVideoAV1SequenceHeader = if (@hasDecl(root, "StdVideoAV1SequenceHeader")) root.StdVideoAV1SequenceHeader else opaque {}; +pub const StdVideoDecodeAV1PictureInfo = if (@hasDecl(root, "StdVideoDecodeAV1PictureInfo")) root.StdVideoDecodeAV1PictureInfo else opaque {}; +pub const StdVideoDecodeAV1ReferenceInfo = if (@hasDecl(root, "StdVideoDecodeAV1ReferenceInfo")) root.StdVideoDecodeAV1ReferenceInfo else opaque {}; +pub const VideoDecodeAV1ProfileInfoKHR = extern struct { + s_type: StructureType = .video_decode_av1_profile_info_khr, + p_next: ?*const anyopaque = null, + std_profile: StdVideoAV1Profile, + film_grain_support: Bool32, +}; +pub const VideoDecodeAV1CapabilitiesKHR = extern struct { + s_type: StructureType = .video_decode_av1_capabilities_khr, + p_next: ?*anyopaque = null, + max_level: StdVideoAV1Level, +}; +pub const VideoDecodeAV1SessionParametersCreateInfoKHR = extern struct { + s_type: StructureType = .video_decode_av1_session_parameters_create_info_khr, + p_next: ?*const anyopaque = null, + p_std_sequence_header: *const StdVideoAV1SequenceHeader, +}; +pub const VideoDecodeAV1PictureInfoKHR = extern struct { + s_type: StructureType = .video_decode_av1_picture_info_khr, + p_next: ?*const anyopaque = null, + p_std_picture_info: *const StdVideoDecodeAV1PictureInfo, + reference_name_slot_indices: [MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR]i32, + frame_header_offset: u32, + tile_count: u32, + p_tile_offsets: [*]const u32, + p_tile_sizes: [*]const u32, +}; +pub const VideoDecodeAV1DpbSlotInfoKHR = extern struct { + s_type: StructureType = .video_decode_av1_dpb_slot_info_khr, + p_next: ?*const anyopaque = null, + p_std_reference_info: *const StdVideoDecodeAV1ReferenceInfo, +}; +pub const VideoSessionCreateInfoKHR = extern struct { + s_type: StructureType = .video_session_create_info_khr, + p_next: ?*const anyopaque = null, + queue_family_index: u32, + flags: VideoSessionCreateFlagsKHR = .{}, + p_video_profile: *const VideoProfileInfoKHR, + picture_format: Format, + max_coded_extent: Extent2D, + reference_picture_format: Format, + max_dpb_slots: u32, + max_active_reference_pictures: u32, + p_std_header_version: *const ExtensionProperties, +}; +pub const VideoSessionParametersCreateInfoKHR = extern struct { + s_type: StructureType = .video_session_parameters_create_info_khr, + p_next: ?*const anyopaque = null, + flags: VideoSessionParametersCreateFlagsKHR = .{}, + video_session_parameters_template: VideoSessionParametersKHR = .null_handle, + video_session: VideoSessionKHR, +}; +pub const VideoSessionParametersUpdateInfoKHR = extern struct { + s_type: StructureType = .video_session_parameters_update_info_khr, + p_next: ?*const anyopaque = null, + update_sequence_count: u32, +}; +pub const VideoEncodeSessionParametersGetInfoKHR = extern struct { + s_type: StructureType = .video_encode_session_parameters_get_info_khr, + p_next: ?*const anyopaque = null, + video_session_parameters: VideoSessionParametersKHR, +}; +pub const VideoEncodeSessionParametersFeedbackInfoKHR = extern struct { + s_type: StructureType = .video_encode_session_parameters_feedback_info_khr, + p_next: ?*anyopaque = null, + has_overrides: Bool32, +}; +pub const VideoBeginCodingInfoKHR = extern struct { + s_type: StructureType = .video_begin_coding_info_khr, + p_next: ?*const anyopaque = null, + flags: VideoBeginCodingFlagsKHR = .{}, + video_session: VideoSessionKHR, + video_session_parameters: VideoSessionParametersKHR = .null_handle, + reference_slot_count: u32 = 0, + p_reference_slots: ?[*]const VideoReferenceSlotInfoKHR = null, +}; +pub const VideoEndCodingInfoKHR = extern struct { + s_type: StructureType = .video_end_coding_info_khr, + p_next: ?*const anyopaque = null, + flags: VideoEndCodingFlagsKHR = .{}, +}; +pub const VideoCodingControlInfoKHR = extern struct { + s_type: StructureType = .video_coding_control_info_khr, + p_next: ?*const anyopaque = null, + flags: VideoCodingControlFlagsKHR, +}; +pub const VideoEncodeUsageInfoKHR = extern struct { + s_type: StructureType = .video_encode_usage_info_khr, + p_next: ?*const anyopaque = null, + video_usage_hints: VideoEncodeUsageFlagsKHR = .{}, + video_content_hints: VideoEncodeContentFlagsKHR = .{}, + tuning_mode: VideoEncodeTuningModeKHR, +}; +pub const VideoEncodeInfoKHR = extern struct { + s_type: StructureType = .video_encode_info_khr, + p_next: ?*const anyopaque = null, + flags: VideoEncodeFlagsKHR = .{}, + dst_buffer: Buffer, + dst_buffer_offset: DeviceSize, + dst_buffer_range: DeviceSize, + src_picture_resource: VideoPictureResourceInfoKHR, + p_setup_reference_slot: ?*const VideoReferenceSlotInfoKHR = null, + reference_slot_count: u32 = 0, + p_reference_slots: ?[*]const VideoReferenceSlotInfoKHR = null, + preceding_externally_encoded_bytes: u32, +}; +pub const QueryPoolVideoEncodeFeedbackCreateInfoKHR = extern struct { + s_type: StructureType = .query_pool_video_encode_feedback_create_info_khr, + p_next: ?*const anyopaque = null, + encode_feedback_flags: VideoEncodeFeedbackFlagsKHR, +}; +pub const VideoEncodeQualityLevelInfoKHR = extern struct { + s_type: StructureType = .video_encode_quality_level_info_khr, + p_next: ?*const anyopaque = null, + quality_level: u32, +}; +pub const PhysicalDeviceVideoEncodeQualityLevelInfoKHR = extern struct { + s_type: StructureType = .physical_device_video_encode_quality_level_info_khr, + p_next: ?*const anyopaque = null, + p_video_profile: *const VideoProfileInfoKHR, + quality_level: u32, +}; +pub const VideoEncodeQualityLevelPropertiesKHR = extern struct { + s_type: StructureType = .video_encode_quality_level_properties_khr, + p_next: ?*anyopaque = null, + preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR, + preferred_rate_control_layer_count: u32, +}; +pub const VideoEncodeRateControlInfoKHR = extern struct { + s_type: StructureType = .video_encode_rate_control_info_khr, + p_next: ?*const anyopaque = null, + flags: VideoEncodeRateControlFlagsKHR = .{}, + rate_control_mode: VideoEncodeRateControlModeFlagsKHR, + layer_count: u32 = 0, + p_layers: ?[*]const VideoEncodeRateControlLayerInfoKHR = null, + virtual_buffer_size_in_ms: u32, + initial_virtual_buffer_size_in_ms: u32, +}; +pub const VideoEncodeRateControlLayerInfoKHR = extern struct { + s_type: StructureType = .video_encode_rate_control_layer_info_khr, + p_next: ?*const anyopaque = null, + average_bitrate: u64, + max_bitrate: u64, + frame_rate_numerator: u32, + frame_rate_denominator: u32, +}; +pub const VideoEncodeCapabilitiesKHR = extern struct { + s_type: StructureType = .video_encode_capabilities_khr, + p_next: ?*anyopaque = null, + flags: VideoEncodeCapabilityFlagsKHR, + rate_control_modes: VideoEncodeRateControlModeFlagsKHR, + max_rate_control_layers: u32, + max_bitrate: u64, + max_quality_levels: u32, + encode_input_picture_granularity: Extent2D, + supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR, +}; +pub const VideoEncodeH264CapabilitiesKHR = extern struct { + s_type: StructureType = .video_encode_h264_capabilities_khr, + p_next: ?*anyopaque = null, + flags: VideoEncodeH264CapabilityFlagsKHR, + max_level_idc: StdVideoH264LevelIdc, + max_slice_count: u32, + max_p_picture_l0_reference_count: u32, + max_b_picture_l0_reference_count: u32, + max_l1_reference_count: u32, + max_temporal_layer_count: u32, + expect_dyadic_temporal_layer_pattern: Bool32, + min_qp: i32, + max_qp: i32, + prefers_gop_remaining_frames: Bool32, + requires_gop_remaining_frames: Bool32, + std_syntax_flags: VideoEncodeH264StdFlagsKHR, +}; +pub const VideoEncodeH264QualityLevelPropertiesKHR = extern struct { + s_type: StructureType = .video_encode_h264_quality_level_properties_khr, + p_next: ?*anyopaque = null, + preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR, + preferred_gop_frame_count: u32, + preferred_idr_period: u32, + preferred_consecutive_b_frame_count: u32, + preferred_temporal_layer_count: u32, + preferred_constant_qp: VideoEncodeH264QpKHR, + preferred_max_l0_reference_count: u32, + preferred_max_l1_reference_count: u32, + preferred_std_entropy_coding_mode_flag: Bool32, +}; +pub const StdVideoEncodeH264SliceHeader = if (@hasDecl(root, "StdVideoEncodeH264SliceHeader")) root.StdVideoEncodeH264SliceHeader else opaque {}; +pub const StdVideoEncodeH264PictureInfo = if (@hasDecl(root, "StdVideoEncodeH264PictureInfo")) root.StdVideoEncodeH264PictureInfo else opaque {}; +pub const StdVideoEncodeH264ReferenceInfo = if (@hasDecl(root, "StdVideoEncodeH264ReferenceInfo")) root.StdVideoEncodeH264ReferenceInfo else opaque {}; +pub const StdVideoEncodeH264SliceHeaderFlags = if (@hasDecl(root, "StdVideoEncodeH264SliceHeaderFlags")) root.StdVideoEncodeH264SliceHeaderFlags else opaque {}; +pub const StdVideoEncodeH264ReferenceListsInfo = if (@hasDecl(root, "StdVideoEncodeH264ReferenceListsInfo")) root.StdVideoEncodeH264ReferenceListsInfo else opaque {}; +pub const StdVideoEncodeH264PictureInfoFlags = if (@hasDecl(root, "StdVideoEncodeH264PictureInfoFlags")) root.StdVideoEncodeH264PictureInfoFlags else opaque {}; +pub const StdVideoEncodeH264ReferenceInfoFlags = if (@hasDecl(root, "StdVideoEncodeH264ReferenceInfoFlags")) root.StdVideoEncodeH264ReferenceInfoFlags else opaque {}; +pub const StdVideoEncodeH264RefMgmtFlags = if (@hasDecl(root, "StdVideoEncodeH264RefMgmtFlags")) root.StdVideoEncodeH264RefMgmtFlags else opaque {}; +pub const StdVideoEncodeH264RefListModEntry = if (@hasDecl(root, "StdVideoEncodeH264RefListModEntry")) root.StdVideoEncodeH264RefListModEntry else opaque {}; +pub const StdVideoEncodeH264RefPicMarkingEntry = if (@hasDecl(root, "StdVideoEncodeH264RefPicMarkingEntry")) root.StdVideoEncodeH264RefPicMarkingEntry else opaque {}; +pub const VideoEncodeH264SessionCreateInfoKHR = extern struct { + s_type: StructureType = .video_encode_h264_session_create_info_khr, + p_next: ?*const anyopaque = null, + use_max_level_idc: Bool32, + max_level_idc: StdVideoH264LevelIdc, +}; +pub const VideoEncodeH264SessionParametersAddInfoKHR = extern struct { + s_type: StructureType = .video_encode_h264_session_parameters_add_info_khr, + p_next: ?*const anyopaque = null, + std_sps_count: u32 = 0, + p_std_sp_ss: ?[*]const StdVideoH264SequenceParameterSet = null, + std_pps_count: u32 = 0, + p_std_pp_ss: ?[*]const StdVideoH264PictureParameterSet = null, +}; +pub const VideoEncodeH264SessionParametersCreateInfoKHR = extern struct { + s_type: StructureType = .video_encode_h264_session_parameters_create_info_khr, + p_next: ?*const anyopaque = null, + max_std_sps_count: u32, + max_std_pps_count: u32, + p_parameters_add_info: ?*const VideoEncodeH264SessionParametersAddInfoKHR = null, +}; +pub const VideoEncodeH264SessionParametersGetInfoKHR = extern struct { + s_type: StructureType = .video_encode_h264_session_parameters_get_info_khr, + p_next: ?*const anyopaque = null, + write_std_sps: Bool32, + write_std_pps: Bool32, + std_sps_id: u32, + std_pps_id: u32, +}; +pub const VideoEncodeH264SessionParametersFeedbackInfoKHR = extern struct { + s_type: StructureType = .video_encode_h264_session_parameters_feedback_info_khr, + p_next: ?*anyopaque = null, + has_std_sps_overrides: Bool32, + has_std_pps_overrides: Bool32, +}; +pub const VideoEncodeH264DpbSlotInfoKHR = extern struct { + s_type: StructureType = .video_encode_h264_dpb_slot_info_khr, + p_next: ?*const anyopaque = null, + p_std_reference_info: *const StdVideoEncodeH264ReferenceInfo, +}; +pub const VideoEncodeH264PictureInfoKHR = extern struct { + s_type: StructureType = .video_encode_h264_picture_info_khr, + p_next: ?*const anyopaque = null, + nalu_slice_entry_count: u32, + p_nalu_slice_entries: [*]const VideoEncodeH264NaluSliceInfoKHR, + p_std_picture_info: *const StdVideoEncodeH264PictureInfo, + generate_prefix_nalu: Bool32, +}; +pub const VideoEncodeH264ProfileInfoKHR = extern struct { + s_type: StructureType = .video_encode_h264_profile_info_khr, + p_next: ?*const anyopaque = null, + std_profile_idc: StdVideoH264ProfileIdc, +}; +pub const VideoEncodeH264NaluSliceInfoKHR = extern struct { + s_type: StructureType = .video_encode_h264_nalu_slice_info_khr, + p_next: ?*const anyopaque = null, + constant_qp: i32, + p_std_slice_header: *const StdVideoEncodeH264SliceHeader, +}; +pub const VideoEncodeH264RateControlInfoKHR = extern struct { + s_type: StructureType = .video_encode_h264_rate_control_info_khr, + p_next: ?*const anyopaque = null, + flags: VideoEncodeH264RateControlFlagsKHR = .{}, + gop_frame_count: u32, + idr_period: u32, + consecutive_b_frame_count: u32, + temporal_layer_count: u32, +}; +pub const VideoEncodeH264QpKHR = extern struct { + qp_i: i32, + qp_p: i32, + qp_b: i32, +}; +pub const VideoEncodeH264FrameSizeKHR = extern struct { + frame_i_size: u32, + frame_p_size: u32, + frame_b_size: u32, +}; +pub const VideoEncodeH264GopRemainingFrameInfoKHR = extern struct { + s_type: StructureType = .video_encode_h264_gop_remaining_frame_info_khr, + p_next: ?*const anyopaque = null, + use_gop_remaining_frames: Bool32, + gop_remaining_i: u32, + gop_remaining_p: u32, + gop_remaining_b: u32, +}; +pub const VideoEncodeH264RateControlLayerInfoKHR = extern struct { + s_type: StructureType = .video_encode_h264_rate_control_layer_info_khr, + p_next: ?*const anyopaque = null, + use_min_qp: Bool32, + min_qp: VideoEncodeH264QpKHR, + use_max_qp: Bool32, + max_qp: VideoEncodeH264QpKHR, + use_max_frame_size: Bool32, + max_frame_size: VideoEncodeH264FrameSizeKHR, +}; +pub const VideoEncodeH265CapabilitiesKHR = extern struct { + s_type: StructureType = .video_encode_h265_capabilities_khr, + p_next: ?*anyopaque = null, + flags: VideoEncodeH265CapabilityFlagsKHR, + max_level_idc: StdVideoH265LevelIdc, + max_slice_segment_count: u32, + max_tiles: Extent2D, + ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR, + transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR, + max_p_picture_l0_reference_count: u32, + max_b_picture_l0_reference_count: u32, + max_l1_reference_count: u32, + max_sub_layer_count: u32, + expect_dyadic_temporal_sub_layer_pattern: Bool32, + min_qp: i32, + max_qp: i32, + prefers_gop_remaining_frames: Bool32, + requires_gop_remaining_frames: Bool32, + std_syntax_flags: VideoEncodeH265StdFlagsKHR, +}; +pub const VideoEncodeH265QualityLevelPropertiesKHR = extern struct { + s_type: StructureType = .video_encode_h265_quality_level_properties_khr, + p_next: ?*anyopaque = null, + preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR, + preferred_gop_frame_count: u32, + preferred_idr_period: u32, + preferred_consecutive_b_frame_count: u32, + preferred_sub_layer_count: u32, + preferred_constant_qp: VideoEncodeH265QpKHR, + preferred_max_l0_reference_count: u32, + preferred_max_l1_reference_count: u32, +}; +pub const StdVideoEncodeH265PictureInfoFlags = if (@hasDecl(root, "StdVideoEncodeH265PictureInfoFlags")) root.StdVideoEncodeH265PictureInfoFlags else opaque {}; +pub const StdVideoEncodeH265PictureInfo = if (@hasDecl(root, "StdVideoEncodeH265PictureInfo")) root.StdVideoEncodeH265PictureInfo else opaque {}; +pub const StdVideoEncodeH265SliceSegmentHeader = if (@hasDecl(root, "StdVideoEncodeH265SliceSegmentHeader")) root.StdVideoEncodeH265SliceSegmentHeader else opaque {}; +pub const StdVideoEncodeH265ReferenceInfo = if (@hasDecl(root, "StdVideoEncodeH265ReferenceInfo")) root.StdVideoEncodeH265ReferenceInfo else opaque {}; +pub const StdVideoEncodeH265ReferenceListsInfo = if (@hasDecl(root, "StdVideoEncodeH265ReferenceListsInfo")) root.StdVideoEncodeH265ReferenceListsInfo else opaque {}; +pub const StdVideoEncodeH265SliceSegmentHeaderFlags = if (@hasDecl(root, "StdVideoEncodeH265SliceSegmentHeaderFlags")) root.StdVideoEncodeH265SliceSegmentHeaderFlags else opaque {}; +pub const StdVideoEncodeH265ReferenceInfoFlags = if (@hasDecl(root, "StdVideoEncodeH265ReferenceInfoFlags")) root.StdVideoEncodeH265ReferenceInfoFlags else opaque {}; +pub const StdVideoEncodeH265ReferenceModificationFlags = if (@hasDecl(root, "StdVideoEncodeH265ReferenceModificationFlags")) root.StdVideoEncodeH265ReferenceModificationFlags else opaque {}; +pub const VideoEncodeH265SessionCreateInfoKHR = extern struct { + s_type: StructureType = .video_encode_h265_session_create_info_khr, + p_next: ?*const anyopaque = null, + use_max_level_idc: Bool32, + max_level_idc: StdVideoH265LevelIdc, +}; +pub const VideoEncodeH265SessionParametersAddInfoKHR = extern struct { + s_type: StructureType = .video_encode_h265_session_parameters_add_info_khr, + p_next: ?*const anyopaque = null, + std_vps_count: u32 = 0, + p_std_vp_ss: ?[*]const StdVideoH265VideoParameterSet = null, + std_sps_count: u32 = 0, + p_std_sp_ss: ?[*]const StdVideoH265SequenceParameterSet = null, + std_pps_count: u32 = 0, + p_std_pp_ss: ?[*]const StdVideoH265PictureParameterSet = null, +}; +pub const VideoEncodeH265SessionParametersCreateInfoKHR = extern struct { + s_type: StructureType = .video_encode_h265_session_parameters_create_info_khr, + p_next: ?*const anyopaque = null, + max_std_vps_count: u32, + max_std_sps_count: u32, + max_std_pps_count: u32, + p_parameters_add_info: ?*const VideoEncodeH265SessionParametersAddInfoKHR = null, +}; +pub const VideoEncodeH265SessionParametersGetInfoKHR = extern struct { + s_type: StructureType = .video_encode_h265_session_parameters_get_info_khr, + p_next: ?*const anyopaque = null, + write_std_vps: Bool32, + write_std_sps: Bool32, + write_std_pps: Bool32, + std_vps_id: u32, + std_sps_id: u32, + std_pps_id: u32, +}; +pub const VideoEncodeH265SessionParametersFeedbackInfoKHR = extern struct { + s_type: StructureType = .video_encode_h265_session_parameters_feedback_info_khr, + p_next: ?*anyopaque = null, + has_std_vps_overrides: Bool32, + has_std_sps_overrides: Bool32, + has_std_pps_overrides: Bool32, +}; +pub const VideoEncodeH265PictureInfoKHR = extern struct { + s_type: StructureType = .video_encode_h265_picture_info_khr, + p_next: ?*const anyopaque = null, + nalu_slice_segment_entry_count: u32, + p_nalu_slice_segment_entries: [*]const VideoEncodeH265NaluSliceSegmentInfoKHR, + p_std_picture_info: *const StdVideoEncodeH265PictureInfo, +}; +pub const VideoEncodeH265NaluSliceSegmentInfoKHR = extern struct { + s_type: StructureType = .video_encode_h265_nalu_slice_segment_info_khr, + p_next: ?*const anyopaque = null, + constant_qp: i32, + p_std_slice_segment_header: *const StdVideoEncodeH265SliceSegmentHeader, +}; +pub const VideoEncodeH265RateControlInfoKHR = extern struct { + s_type: StructureType = .video_encode_h265_rate_control_info_khr, + p_next: ?*const anyopaque = null, + flags: VideoEncodeH265RateControlFlagsKHR = .{}, + gop_frame_count: u32, + idr_period: u32, + consecutive_b_frame_count: u32, + sub_layer_count: u32, +}; +pub const VideoEncodeH265QpKHR = extern struct { + qp_i: i32, + qp_p: i32, + qp_b: i32, +}; +pub const VideoEncodeH265FrameSizeKHR = extern struct { + frame_i_size: u32, + frame_p_size: u32, + frame_b_size: u32, +}; +pub const VideoEncodeH265GopRemainingFrameInfoKHR = extern struct { + s_type: StructureType = .video_encode_h265_gop_remaining_frame_info_khr, + p_next: ?*const anyopaque = null, + use_gop_remaining_frames: Bool32, + gop_remaining_i: u32, + gop_remaining_p: u32, + gop_remaining_b: u32, +}; +pub const VideoEncodeH265RateControlLayerInfoKHR = extern struct { + s_type: StructureType = .video_encode_h265_rate_control_layer_info_khr, + p_next: ?*const anyopaque = null, + use_min_qp: Bool32, + min_qp: VideoEncodeH265QpKHR, + use_max_qp: Bool32, + max_qp: VideoEncodeH265QpKHR, + use_max_frame_size: Bool32, + max_frame_size: VideoEncodeH265FrameSizeKHR, +}; +pub const VideoEncodeH265ProfileInfoKHR = extern struct { + s_type: StructureType = .video_encode_h265_profile_info_khr, + p_next: ?*const anyopaque = null, + std_profile_idc: StdVideoH265ProfileIdc, +}; +pub const VideoEncodeH265DpbSlotInfoKHR = extern struct { + s_type: StructureType = .video_encode_h265_dpb_slot_info_khr, + p_next: ?*const anyopaque = null, + p_std_reference_info: *const StdVideoEncodeH265ReferenceInfo, +}; +pub const PhysicalDeviceInheritedViewportScissorFeaturesNV = extern struct { + s_type: StructureType = .physical_device_inherited_viewport_scissor_features_nv, + p_next: ?*anyopaque = null, + inherited_viewport_scissor_2d: Bool32 = FALSE, +}; +pub const CommandBufferInheritanceViewportScissorInfoNV = extern struct { + s_type: StructureType = .command_buffer_inheritance_viewport_scissor_info_nv, + p_next: ?*const anyopaque = null, + viewport_scissor_2d: Bool32, + viewport_depth_count: u32, + p_viewport_depths: *const Viewport, +}; +pub const PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_ycbcr_2_plane_444_formats_features_ext, + p_next: ?*anyopaque = null, + ycbcr_2plane_444_formats: Bool32 = FALSE, +}; +pub const PhysicalDeviceProvokingVertexFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_provoking_vertex_features_ext, + p_next: ?*anyopaque = null, + provoking_vertex_last: Bool32 = FALSE, + transform_feedback_preserves_provoking_vertex: Bool32 = FALSE, +}; +pub const PhysicalDeviceProvokingVertexPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_provoking_vertex_properties_ext, + p_next: ?*anyopaque = null, + provoking_vertex_mode_per_pipeline: Bool32, + transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32, +}; +pub const PipelineRasterizationProvokingVertexStateCreateInfoEXT = extern struct { + s_type: StructureType = .pipeline_rasterization_provoking_vertex_state_create_info_ext, + p_next: ?*const anyopaque = null, + provoking_vertex_mode: ProvokingVertexModeEXT, +}; +pub const CuModuleCreateInfoNVX = extern struct { + s_type: StructureType = .cu_module_create_info_nvx, + p_next: ?*const anyopaque = null, + data_size: usize = 0, + p_data: ?*const anyopaque = null, +}; +pub const CuFunctionCreateInfoNVX = extern struct { + s_type: StructureType = .cu_function_create_info_nvx, + p_next: ?*const anyopaque = null, + module: CuModuleNVX, + p_name: [*:0]const u8, +}; +pub const CuLaunchInfoNVX = extern struct { + s_type: StructureType = .cu_launch_info_nvx, + p_next: ?*const anyopaque = null, + function: CuFunctionNVX, + grid_dim_x: u32, + grid_dim_y: u32, + grid_dim_z: u32, + block_dim_x: u32, + block_dim_y: u32, + block_dim_z: u32, + shared_mem_bytes: u32, + param_count: usize = 0, + p_params: ?[*]const *const anyopaque = null, + extra_count: usize = 0, + p_extras: ?[*]const *const anyopaque = null, +}; +pub const PhysicalDeviceDescriptorBufferFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_descriptor_buffer_features_ext, + p_next: ?*anyopaque = null, + descriptor_buffer: Bool32 = FALSE, + descriptor_buffer_capture_replay: Bool32 = FALSE, + descriptor_buffer_image_layout_ignored: Bool32 = FALSE, + descriptor_buffer_push_descriptors: Bool32 = FALSE, +}; +pub const PhysicalDeviceDescriptorBufferPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_descriptor_buffer_properties_ext, + p_next: ?*anyopaque = null, + combined_image_sampler_descriptor_single_array: Bool32, + bufferless_push_descriptors: Bool32, + allow_sampler_image_view_post_submit_creation: Bool32, + descriptor_buffer_offset_alignment: DeviceSize, + max_descriptor_buffer_bindings: u32, + max_resource_descriptor_buffer_bindings: u32, + max_sampler_descriptor_buffer_bindings: u32, + max_embedded_immutable_sampler_bindings: u32, + max_embedded_immutable_samplers: u32, + buffer_capture_replay_descriptor_data_size: usize, + image_capture_replay_descriptor_data_size: usize, + image_view_capture_replay_descriptor_data_size: usize, + sampler_capture_replay_descriptor_data_size: usize, + acceleration_structure_capture_replay_descriptor_data_size: usize, + sampler_descriptor_size: usize, + combined_image_sampler_descriptor_size: usize, + sampled_image_descriptor_size: usize, + storage_image_descriptor_size: usize, + uniform_texel_buffer_descriptor_size: usize, + robust_uniform_texel_buffer_descriptor_size: usize, + storage_texel_buffer_descriptor_size: usize, + robust_storage_texel_buffer_descriptor_size: usize, + uniform_buffer_descriptor_size: usize, + robust_uniform_buffer_descriptor_size: usize, + storage_buffer_descriptor_size: usize, + robust_storage_buffer_descriptor_size: usize, + input_attachment_descriptor_size: usize, + acceleration_structure_descriptor_size: usize, + max_sampler_descriptor_buffer_range: DeviceSize, + max_resource_descriptor_buffer_range: DeviceSize, + sampler_descriptor_buffer_address_space_size: DeviceSize, + resource_descriptor_buffer_address_space_size: DeviceSize, + descriptor_buffer_address_space_size: DeviceSize, +}; +pub const PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_descriptor_buffer_density_map_properties_ext, + p_next: ?*anyopaque = null, + combined_image_sampler_density_map_descriptor_size: usize, +}; +pub const DescriptorAddressInfoEXT = extern struct { + s_type: StructureType = .descriptor_address_info_ext, + p_next: ?*anyopaque = null, + address: DeviceAddress, + range: DeviceSize, + format: Format, +}; +pub const DescriptorBufferBindingInfoEXT = extern struct { + s_type: StructureType = .descriptor_buffer_binding_info_ext, + p_next: ?*anyopaque = null, + address: DeviceAddress, + usage: BufferUsageFlags = .{}, +}; +pub const DescriptorBufferBindingPushDescriptorBufferHandleEXT = extern struct { + s_type: StructureType = .descriptor_buffer_binding_push_descriptor_buffer_handle_ext, + p_next: ?*anyopaque = null, + buffer: Buffer, +}; +pub const DescriptorDataEXT = extern union { + p_sampler: *const Sampler, + p_combined_image_sampler: *const DescriptorImageInfo, + p_input_attachment_image: *const DescriptorImageInfo, + p_sampled_image: ?*const DescriptorImageInfo, + p_storage_image: ?*const DescriptorImageInfo, + p_uniform_texel_buffer: ?*const DescriptorAddressInfoEXT, + p_storage_texel_buffer: ?*const DescriptorAddressInfoEXT, + p_uniform_buffer: ?*const DescriptorAddressInfoEXT, + p_storage_buffer: ?*const DescriptorAddressInfoEXT, + acceleration_structure: DeviceAddress, +}; +pub const DescriptorGetInfoEXT = extern struct { + s_type: StructureType = .descriptor_get_info_ext, + p_next: ?*const anyopaque = null, + type: DescriptorType, + data: DescriptorDataEXT, +}; +pub const BufferCaptureDescriptorDataInfoEXT = extern struct { + s_type: StructureType = .buffer_capture_descriptor_data_info_ext, + p_next: ?*const anyopaque = null, + buffer: Buffer, +}; +pub const ImageCaptureDescriptorDataInfoEXT = extern struct { + s_type: StructureType = .image_capture_descriptor_data_info_ext, + p_next: ?*const anyopaque = null, + image: Image, +}; +pub const ImageViewCaptureDescriptorDataInfoEXT = extern struct { + s_type: StructureType = .image_view_capture_descriptor_data_info_ext, + p_next: ?*const anyopaque = null, + image_view: ImageView, +}; +pub const SamplerCaptureDescriptorDataInfoEXT = extern struct { + s_type: StructureType = .sampler_capture_descriptor_data_info_ext, + p_next: ?*const anyopaque = null, + sampler: Sampler, +}; +pub const AccelerationStructureCaptureDescriptorDataInfoEXT = extern struct { + s_type: StructureType = .acceleration_structure_capture_descriptor_data_info_ext, + p_next: ?*const anyopaque = null, + acceleration_structure: AccelerationStructureKHR = .null_handle, + acceleration_structure_nv: AccelerationStructureNV = .null_handle, +}; +pub const OpaqueCaptureDescriptorDataCreateInfoEXT = extern struct { + s_type: StructureType = .opaque_capture_descriptor_data_create_info_ext, + p_next: ?*const anyopaque = null, + opaque_capture_descriptor_data: *const anyopaque, +}; +pub const PhysicalDeviceShaderIntegerDotProductFeatures = extern struct { + s_type: StructureType = .physical_device_shader_integer_dot_product_features, + p_next: ?*anyopaque = null, + shader_integer_dot_product: Bool32 = FALSE, +}; +pub const PhysicalDeviceShaderIntegerDotProductFeaturesKHR = PhysicalDeviceShaderIntegerDotProductFeatures; +pub const PhysicalDeviceShaderIntegerDotProductProperties = extern struct { + s_type: StructureType = .physical_device_shader_integer_dot_product_properties, + p_next: ?*anyopaque = null, + integer_dot_product_8_bit_unsigned_accelerated: Bool32, + integer_dot_product_8_bit_signed_accelerated: Bool32, + integer_dot_product_8_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_4x_8_bit_packed_unsigned_accelerated: Bool32, + integer_dot_product_4x_8_bit_packed_signed_accelerated: Bool32, + integer_dot_product_4x_8_bit_packed_mixed_signedness_accelerated: Bool32, + integer_dot_product_16_bit_unsigned_accelerated: Bool32, + integer_dot_product_16_bit_signed_accelerated: Bool32, + integer_dot_product_16_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_32_bit_unsigned_accelerated: Bool32, + integer_dot_product_32_bit_signed_accelerated: Bool32, + integer_dot_product_32_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_64_bit_unsigned_accelerated: Bool32, + integer_dot_product_64_bit_signed_accelerated: Bool32, + integer_dot_product_64_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_accumulating_saturating_8_bit_unsigned_accelerated: Bool32, + integer_dot_product_accumulating_saturating_8_bit_signed_accelerated: Bool32, + integer_dot_product_accumulating_saturating_8_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_accumulating_saturating_4x_8_bit_packed_unsigned_accelerated: Bool32, + integer_dot_product_accumulating_saturating_4x_8_bit_packed_signed_accelerated: Bool32, + integer_dot_product_accumulating_saturating_4x_8_bit_packed_mixed_signedness_accelerated: Bool32, + integer_dot_product_accumulating_saturating_16_bit_unsigned_accelerated: Bool32, + integer_dot_product_accumulating_saturating_16_bit_signed_accelerated: Bool32, + integer_dot_product_accumulating_saturating_16_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_accumulating_saturating_32_bit_unsigned_accelerated: Bool32, + integer_dot_product_accumulating_saturating_32_bit_signed_accelerated: Bool32, + integer_dot_product_accumulating_saturating_32_bit_mixed_signedness_accelerated: Bool32, + integer_dot_product_accumulating_saturating_64_bit_unsigned_accelerated: Bool32, + integer_dot_product_accumulating_saturating_64_bit_signed_accelerated: Bool32, + integer_dot_product_accumulating_saturating_64_bit_mixed_signedness_accelerated: Bool32, +}; +pub const PhysicalDeviceShaderIntegerDotProductPropertiesKHR = PhysicalDeviceShaderIntegerDotProductProperties; +pub const PhysicalDeviceDrmPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_drm_properties_ext, + p_next: ?*anyopaque = null, + has_primary: Bool32, + has_render: Bool32, + primary_major: i64, + primary_minor: i64, + render_major: i64, + render_minor: i64, +}; +pub const PhysicalDeviceFragmentShaderBarycentricFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_fragment_shader_barycentric_features_khr, + p_next: ?*anyopaque = null, + fragment_shader_barycentric: Bool32 = FALSE, +}; +pub const PhysicalDeviceFragmentShaderBarycentricPropertiesKHR = extern struct { + s_type: StructureType = .physical_device_fragment_shader_barycentric_properties_khr, + p_next: ?*anyopaque = null, + tri_strip_vertex_order_independent_of_provoking_vertex: Bool32, +}; +pub const PhysicalDeviceRayTracingMotionBlurFeaturesNV = extern struct { + s_type: StructureType = .physical_device_ray_tracing_motion_blur_features_nv, + p_next: ?*anyopaque = null, + ray_tracing_motion_blur: Bool32 = FALSE, + ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32 = FALSE, +}; +pub const PhysicalDeviceRayTracingValidationFeaturesNV = extern struct { + s_type: StructureType = .physical_device_ray_tracing_validation_features_nv, + p_next: ?*anyopaque = null, + ray_tracing_validation: Bool32 = FALSE, +}; +pub const AccelerationStructureGeometryMotionTrianglesDataNV = extern struct { + s_type: StructureType = .acceleration_structure_geometry_motion_triangles_data_nv, + p_next: ?*const anyopaque = null, + vertex_data: DeviceOrHostAddressConstKHR, +}; +pub const AccelerationStructureMotionInfoNV = extern struct { + s_type: StructureType = .acceleration_structure_motion_info_nv, + p_next: ?*const anyopaque = null, + max_instances: u32, + flags: AccelerationStructureMotionInfoFlagsNV = .{}, +}; +pub const SRTDataNV = extern struct { + sx: f32, + a: f32, + b: f32, + pvx: f32, + sy: f32, + c: f32, + pvy: f32, + sz: f32, + pvz: f32, + qx: f32, + qy: f32, + qz: f32, + qw: f32, + tx: f32, + ty: f32, + tz: f32, +}; +pub const AccelerationStructureSRTMotionInstanceNV = extern struct { + transform_t0: SRTDataNV, + transform_t1: SRTDataNV, + instance_custom_index_and_mask: packed struct(u32) { + instance_custom_index: u24, + mask: u8, + }, + instance_shader_binding_table_record_offset_and_flags: packed struct(u32) { + instance_shader_binding_table_record_offset: u24, + flags: u8, // GeometryInstanceFlagsKHR + }, + acceleration_structure_reference: u64, +}; +pub const AccelerationStructureMatrixMotionInstanceNV = extern struct { + transform_t0: TransformMatrixNV, + transform_t1: TransformMatrixNV, + instance_custom_index_and_mask: packed struct(u32) { + instance_custom_index: u24, + mask: u8, + }, + instance_shader_binding_table_record_offset_and_flags: packed struct(u32) { + instance_shader_binding_table_record_offset: u24, + flags: u8, // GeometryInstanceFlagsKHR + }, + acceleration_structure_reference: u64, +}; +pub const AccelerationStructureMotionInstanceDataNV = extern union { + static_instance: AccelerationStructureInstanceKHR, + matrix_motion_instance: AccelerationStructureMatrixMotionInstanceNV, + srt_motion_instance: AccelerationStructureSRTMotionInstanceNV, +}; +pub const AccelerationStructureMotionInstanceNV = extern struct { + type: AccelerationStructureMotionInstanceTypeNV, + flags: AccelerationStructureMotionInstanceFlagsNV = .{}, + data: AccelerationStructureMotionInstanceDataNV, +}; +pub const RemoteAddressNV = *anyopaque; +pub const MemoryGetRemoteAddressInfoNV = extern struct { + s_type: StructureType = .memory_get_remote_address_info_nv, + p_next: ?*const anyopaque = null, + memory: DeviceMemory, + handle_type: ExternalMemoryHandleTypeFlags, +}; +pub const ImportMemoryBufferCollectionFUCHSIA = extern struct { + s_type: StructureType = .import_memory_buffer_collection_fuchsia, + p_next: ?*const anyopaque = null, + collection: BufferCollectionFUCHSIA, + index: u32, +}; +pub const BufferCollectionImageCreateInfoFUCHSIA = extern struct { + s_type: StructureType = .buffer_collection_image_create_info_fuchsia, + p_next: ?*const anyopaque = null, + collection: BufferCollectionFUCHSIA, + index: u32, +}; +pub const BufferCollectionBufferCreateInfoFUCHSIA = extern struct { + s_type: StructureType = .buffer_collection_buffer_create_info_fuchsia, + p_next: ?*const anyopaque = null, + collection: BufferCollectionFUCHSIA, + index: u32, +}; +pub const BufferCollectionCreateInfoFUCHSIA = extern struct { + s_type: StructureType = .buffer_collection_create_info_fuchsia, + p_next: ?*const anyopaque = null, + collection_token: zx_handle_t, +}; +pub const BufferCollectionPropertiesFUCHSIA = extern struct { + s_type: StructureType = .buffer_collection_properties_fuchsia, + p_next: ?*anyopaque = null, + memory_type_bits: u32, + buffer_count: u32, + create_info_index: u32, + sysmem_pixel_format: u64, + format_features: FormatFeatureFlags, + sysmem_color_space_index: SysmemColorSpaceFUCHSIA, + sampler_ycbcr_conversion_components: ComponentMapping, + suggested_ycbcr_model: SamplerYcbcrModelConversion, + suggested_ycbcr_range: SamplerYcbcrRange, + suggested_x_chroma_offset: ChromaLocation, + suggested_y_chroma_offset: ChromaLocation, +}; +pub const BufferConstraintsInfoFUCHSIA = extern struct { + s_type: StructureType = .buffer_constraints_info_fuchsia, + p_next: ?*const anyopaque = null, + create_info: BufferCreateInfo, + required_format_features: FormatFeatureFlags = .{}, + buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA, +}; +pub const SysmemColorSpaceFUCHSIA = extern struct { + s_type: StructureType = .sysmem_color_space_fuchsia, + p_next: ?*const anyopaque = null, + color_space: u32, +}; +pub const ImageFormatConstraintsInfoFUCHSIA = extern struct { + s_type: StructureType = .image_format_constraints_info_fuchsia, + p_next: ?*const anyopaque = null, + image_create_info: ImageCreateInfo, + required_format_features: FormatFeatureFlags, + flags: ImageFormatConstraintsFlagsFUCHSIA = .{}, + sysmem_pixel_format: u64 = 0, + color_space_count: u32, + p_color_spaces: [*]const SysmemColorSpaceFUCHSIA, +}; +pub const ImageConstraintsInfoFUCHSIA = extern struct { + s_type: StructureType = .image_constraints_info_fuchsia, + p_next: ?*const anyopaque = null, + format_constraints_count: u32, + p_format_constraints: [*]const ImageFormatConstraintsInfoFUCHSIA, + buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA, + flags: ImageConstraintsInfoFlagsFUCHSIA = .{}, +}; +pub const BufferCollectionConstraintsInfoFUCHSIA = extern struct { + s_type: StructureType = .buffer_collection_constraints_info_fuchsia, + p_next: ?*const anyopaque = null, + min_buffer_count: u32, + max_buffer_count: u32, + min_buffer_count_for_camping: u32, + min_buffer_count_for_dedicated_slack: u32, + min_buffer_count_for_shared_slack: u32, +}; +pub const CudaModuleNV = enum(u64) { null_handle = 0, _ }; +pub const CudaFunctionNV = enum(u64) { null_handle = 0, _ }; +pub const CudaModuleCreateInfoNV = extern struct { + s_type: StructureType = .cuda_module_create_info_nv, + p_next: ?*const anyopaque = null, + data_size: usize, + p_data: *const anyopaque, +}; +pub const CudaFunctionCreateInfoNV = extern struct { + s_type: StructureType = .cuda_function_create_info_nv, + p_next: ?*const anyopaque = null, + module: CudaModuleNV, + p_name: [*:0]const u8, +}; +pub const CudaLaunchInfoNV = extern struct { + s_type: StructureType = .cuda_launch_info_nv, + p_next: ?*const anyopaque = null, + function: CudaFunctionNV, + grid_dim_x: u32, + grid_dim_y: u32, + grid_dim_z: u32, + block_dim_x: u32, + block_dim_y: u32, + block_dim_z: u32, + shared_mem_bytes: u32, + param_count: usize = 0, + p_params: ?[*]const *const anyopaque = null, + extra_count: usize = 0, + p_extras: ?[*]const *const anyopaque = null, +}; +pub const PhysicalDeviceRGBA10X6FormatsFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_rgba10x6_formats_features_ext, + p_next: ?*anyopaque = null, + format_rgba_1_0x_6_without_y_cb_cr_sampler: Bool32 = FALSE, +}; +pub const FormatProperties3 = extern struct { + s_type: StructureType = .format_properties_3, + p_next: ?*anyopaque = null, + linear_tiling_features: FormatFeatureFlags2 = .{}, + optimal_tiling_features: FormatFeatureFlags2 = .{}, + buffer_features: FormatFeatureFlags2 = .{}, +}; +pub const FormatProperties3KHR = FormatProperties3; +pub const DrmFormatModifierPropertiesList2EXT = extern struct { + s_type: StructureType = .drm_format_modifier_properties_list_2_ext, + p_next: ?*anyopaque = null, + drm_format_modifier_count: u32 = 0, + p_drm_format_modifier_properties: ?[*]DrmFormatModifierProperties2EXT = null, +}; +pub const DrmFormatModifierProperties2EXT = extern struct { + drm_format_modifier: u64, + drm_format_modifier_plane_count: u32, + drm_format_modifier_tiling_features: FormatFeatureFlags2, +}; +pub const AndroidHardwareBufferFormatProperties2ANDROID = extern struct { + s_type: StructureType = .android_hardware_buffer_format_properties_2_android, + p_next: ?*anyopaque = null, + format: Format, + external_format: u64, + format_features: FormatFeatureFlags2, + sampler_ycbcr_conversion_components: ComponentMapping, + suggested_ycbcr_model: SamplerYcbcrModelConversion, + suggested_ycbcr_range: SamplerYcbcrRange, + suggested_x_chroma_offset: ChromaLocation, + suggested_y_chroma_offset: ChromaLocation, +}; +pub const PipelineRenderingCreateInfo = extern struct { + s_type: StructureType = .pipeline_rendering_create_info, + p_next: ?*const anyopaque = null, + view_mask: u32, + color_attachment_count: u32 = 0, + p_color_attachment_formats: ?[*]const Format = null, + depth_attachment_format: Format, + stencil_attachment_format: Format, +}; +pub const PipelineRenderingCreateInfoKHR = PipelineRenderingCreateInfo; +pub const RenderingInfo = extern struct { + s_type: StructureType = .rendering_info, + p_next: ?*const anyopaque = null, + flags: RenderingFlags = .{}, + render_area: Rect2D, + layer_count: u32, + view_mask: u32, + color_attachment_count: u32 = 0, + p_color_attachments: ?[*]const RenderingAttachmentInfo = null, + p_depth_attachment: ?*const RenderingAttachmentInfo = null, + p_stencil_attachment: ?*const RenderingAttachmentInfo = null, +}; +pub const RenderingInfoKHR = RenderingInfo; +pub const RenderingAttachmentInfo = extern struct { + s_type: StructureType = .rendering_attachment_info, + p_next: ?*const anyopaque = null, + image_view: ImageView = .null_handle, + image_layout: ImageLayout, + resolve_mode: ResolveModeFlags, + resolve_image_view: ImageView = .null_handle, + resolve_image_layout: ImageLayout, + load_op: AttachmentLoadOp, + store_op: AttachmentStoreOp, + clear_value: ClearValue, +}; +pub const RenderingAttachmentInfoKHR = RenderingAttachmentInfo; +pub const RenderingFragmentShadingRateAttachmentInfoKHR = extern struct { + s_type: StructureType = .rendering_fragment_shading_rate_attachment_info_khr, + p_next: ?*const anyopaque = null, + image_view: ImageView = .null_handle, + image_layout: ImageLayout, + shading_rate_attachment_texel_size: Extent2D, +}; +pub const RenderingFragmentDensityMapAttachmentInfoEXT = extern struct { + s_type: StructureType = .rendering_fragment_density_map_attachment_info_ext, + p_next: ?*const anyopaque = null, + image_view: ImageView, + image_layout: ImageLayout, +}; +pub const PhysicalDeviceDynamicRenderingFeatures = extern struct { + s_type: StructureType = .physical_device_dynamic_rendering_features, + p_next: ?*anyopaque = null, + dynamic_rendering: Bool32 = FALSE, +}; +pub const PhysicalDeviceDynamicRenderingFeaturesKHR = PhysicalDeviceDynamicRenderingFeatures; +pub const CommandBufferInheritanceRenderingInfo = extern struct { + s_type: StructureType = .command_buffer_inheritance_rendering_info, + p_next: ?*const anyopaque = null, + flags: RenderingFlags = .{}, + view_mask: u32, + color_attachment_count: u32 = 0, + p_color_attachment_formats: ?[*]const Format = null, + depth_attachment_format: Format, + stencil_attachment_format: Format, + rasterization_samples: SampleCountFlags, +}; +pub const CommandBufferInheritanceRenderingInfoKHR = CommandBufferInheritanceRenderingInfo; +pub const AttachmentSampleCountInfoAMD = extern struct { + s_type: StructureType = .attachment_sample_count_info_amd, + p_next: ?*const anyopaque = null, + color_attachment_count: u32 = 0, + p_color_attachment_samples: ?[*]const SampleCountFlags = null, + depth_stencil_attachment_samples: SampleCountFlags, +}; +pub const AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD; +pub const MultiviewPerViewAttributesInfoNVX = extern struct { + s_type: StructureType = .multiview_per_view_attributes_info_nvx, + p_next: ?*const anyopaque = null, + per_view_attributes: Bool32, + per_view_attributes_position_x_only: Bool32, +}; +pub const PhysicalDeviceImageViewMinLodFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_image_view_min_lod_features_ext, + p_next: ?*anyopaque = null, + min_lod: Bool32 = FALSE, +}; +pub const ImageViewMinLodCreateInfoEXT = extern struct { + s_type: StructureType = .image_view_min_lod_create_info_ext, + p_next: ?*const anyopaque = null, + min_lod: f32, +}; +pub const PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_rasterization_order_attachment_access_features_ext, + p_next: ?*anyopaque = null, + rasterization_order_color_attachment_access: Bool32 = FALSE, + rasterization_order_depth_attachment_access: Bool32 = FALSE, + rasterization_order_stencil_attachment_access: Bool32 = FALSE, +}; +pub const PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM = PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT; +pub const PhysicalDeviceLinearColorAttachmentFeaturesNV = extern struct { + s_type: StructureType = .physical_device_linear_color_attachment_features_nv, + p_next: ?*anyopaque = null, + linear_color_attachment: Bool32 = FALSE, +}; +pub const PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_graphics_pipeline_library_features_ext, + p_next: ?*anyopaque = null, + graphics_pipeline_library: Bool32 = FALSE, +}; +pub const PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_graphics_pipeline_library_properties_ext, + p_next: ?*anyopaque = null, + graphics_pipeline_library_fast_linking: Bool32, + graphics_pipeline_library_independent_interpolation_decoration: Bool32, +}; +pub const GraphicsPipelineLibraryCreateInfoEXT = extern struct { + s_type: StructureType = .graphics_pipeline_library_create_info_ext, + p_next: ?*const anyopaque = null, + flags: GraphicsPipelineLibraryFlagsEXT, +}; +pub const PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE = extern struct { + s_type: StructureType = .physical_device_descriptor_set_host_mapping_features_valve, + p_next: ?*anyopaque = null, + descriptor_set_host_mapping: Bool32 = FALSE, +}; +pub const DescriptorSetBindingReferenceVALVE = extern struct { + s_type: StructureType = .descriptor_set_binding_reference_valve, + p_next: ?*const anyopaque = null, + descriptor_set_layout: DescriptorSetLayout, + binding: u32, +}; +pub const DescriptorSetLayoutHostMappingInfoVALVE = extern struct { + s_type: StructureType = .descriptor_set_layout_host_mapping_info_valve, + p_next: ?*anyopaque = null, + descriptor_offset: usize, + descriptor_size: u32, +}; +pub const PhysicalDeviceNestedCommandBufferFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_nested_command_buffer_features_ext, + p_next: ?*anyopaque = null, + nested_command_buffer: Bool32 = FALSE, + nested_command_buffer_rendering: Bool32 = FALSE, + nested_command_buffer_simultaneous_use: Bool32 = FALSE, +}; +pub const PhysicalDeviceNestedCommandBufferPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_nested_command_buffer_properties_ext, + p_next: ?*anyopaque = null, + max_command_buffer_nesting_level: u32, +}; +pub const PhysicalDeviceShaderModuleIdentifierFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_shader_module_identifier_features_ext, + p_next: ?*anyopaque = null, + shader_module_identifier: Bool32 = FALSE, +}; +pub const PhysicalDeviceShaderModuleIdentifierPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_shader_module_identifier_properties_ext, + p_next: ?*anyopaque = null, + shader_module_identifier_algorithm_uuid: [UUID_SIZE]u8, +}; +pub const PipelineShaderStageModuleIdentifierCreateInfoEXT = extern struct { + s_type: StructureType = .pipeline_shader_stage_module_identifier_create_info_ext, + p_next: ?*const anyopaque = null, + identifier_size: u32 = 0, + p_identifier: ?[*]const u8 = null, +}; +pub const ShaderModuleIdentifierEXT = extern struct { + s_type: StructureType = .shader_module_identifier_ext, + p_next: ?*anyopaque = null, + identifier_size: u32, + identifier: [MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]u8, +}; +pub const ImageCompressionControlEXT = extern struct { + s_type: StructureType = .image_compression_control_ext, + p_next: ?*const anyopaque = null, + flags: ImageCompressionFlagsEXT, + compression_control_plane_count: u32 = 0, + p_fixed_rate_flags: ?[*]ImageCompressionFixedRateFlagsEXT = null, +}; +pub const PhysicalDeviceImageCompressionControlFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_image_compression_control_features_ext, + p_next: ?*anyopaque = null, + image_compression_control: Bool32 = FALSE, +}; +pub const ImageCompressionPropertiesEXT = extern struct { + s_type: StructureType = .image_compression_properties_ext, + p_next: ?*anyopaque = null, + image_compression_flags: ImageCompressionFlagsEXT, + image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT, +}; +pub const PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_image_compression_control_swapchain_features_ext, + p_next: ?*anyopaque = null, + image_compression_control_swapchain: Bool32 = FALSE, +}; +pub const ImageSubresource2KHR = extern struct { + s_type: StructureType = .image_subresource_2_khr, + p_next: ?*anyopaque = null, + image_subresource: ImageSubresource, +}; +pub const ImageSubresource2EXT = ImageSubresource2KHR; +pub const SubresourceLayout2KHR = extern struct { + s_type: StructureType = .subresource_layout_2_khr, + p_next: ?*anyopaque = null, + subresource_layout: SubresourceLayout, +}; +pub const SubresourceLayout2EXT = SubresourceLayout2KHR; +pub const RenderPassCreationControlEXT = extern struct { + s_type: StructureType = .render_pass_creation_control_ext, + p_next: ?*const anyopaque = null, + disallow_merging: Bool32, +}; +pub const RenderPassCreationFeedbackInfoEXT = extern struct { + post_merge_subpass_count: u32, +}; +pub const RenderPassCreationFeedbackCreateInfoEXT = extern struct { + s_type: StructureType = .render_pass_creation_feedback_create_info_ext, + p_next: ?*const anyopaque = null, + p_render_pass_feedback: *RenderPassCreationFeedbackInfoEXT, +}; +pub const RenderPassSubpassFeedbackInfoEXT = extern struct { + subpass_merge_status: SubpassMergeStatusEXT, + description: [MAX_DESCRIPTION_SIZE]u8, + post_merge_index: u32, +}; +pub const RenderPassSubpassFeedbackCreateInfoEXT = extern struct { + s_type: StructureType = .render_pass_subpass_feedback_create_info_ext, + p_next: ?*const anyopaque = null, + p_subpass_feedback: *RenderPassSubpassFeedbackInfoEXT, +}; +pub const PhysicalDeviceSubpassMergeFeedbackFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_subpass_merge_feedback_features_ext, + p_next: ?*anyopaque = null, + subpass_merge_feedback: Bool32 = FALSE, +}; +pub const MicromapBuildInfoEXT = extern struct { + s_type: StructureType = .micromap_build_info_ext, + p_next: ?*const anyopaque = null, + type: MicromapTypeEXT, + flags: BuildMicromapFlagsEXT = .{}, + mode: BuildMicromapModeEXT, + dst_micromap: MicromapEXT = .null_handle, + usage_counts_count: u32 = 0, + p_usage_counts: ?[*]const MicromapUsageEXT = null, + pp_usage_counts: ?[*]const [*]const MicromapUsageEXT = null, + data: DeviceOrHostAddressConstKHR, + scratch_data: DeviceOrHostAddressKHR, + triangle_array: DeviceOrHostAddressConstKHR, + triangle_array_stride: DeviceSize, +}; +pub const MicromapCreateInfoEXT = extern struct { + s_type: StructureType = .micromap_create_info_ext, + p_next: ?*const anyopaque = null, + create_flags: MicromapCreateFlagsEXT = .{}, + buffer: Buffer, + offset: DeviceSize, + size: DeviceSize, + type: MicromapTypeEXT, + device_address: DeviceAddress = 0, +}; +pub const MicromapVersionInfoEXT = extern struct { + s_type: StructureType = .micromap_version_info_ext, + p_next: ?*const anyopaque = null, + p_version_data: [*]const u8, +}; +pub const CopyMicromapInfoEXT = extern struct { + s_type: StructureType = .copy_micromap_info_ext, + p_next: ?*const anyopaque = null, + src: MicromapEXT, + dst: MicromapEXT, + mode: CopyMicromapModeEXT, +}; +pub const CopyMicromapToMemoryInfoEXT = extern struct { + s_type: StructureType = .copy_micromap_to_memory_info_ext, + p_next: ?*const anyopaque = null, + src: MicromapEXT, + dst: DeviceOrHostAddressKHR, + mode: CopyMicromapModeEXT, +}; +pub const CopyMemoryToMicromapInfoEXT = extern struct { + s_type: StructureType = .copy_memory_to_micromap_info_ext, + p_next: ?*const anyopaque = null, + src: DeviceOrHostAddressConstKHR, + dst: MicromapEXT, + mode: CopyMicromapModeEXT, +}; +pub const MicromapBuildSizesInfoEXT = extern struct { + s_type: StructureType = .micromap_build_sizes_info_ext, + p_next: ?*const anyopaque = null, + micromap_size: DeviceSize, + build_scratch_size: DeviceSize, + discardable: Bool32, +}; +pub const MicromapUsageEXT = extern struct { + count: u32, + subdivision_level: u32, + format: u32, +}; +pub const MicromapTriangleEXT = extern struct { + data_offset: u32, + subdivision_level: u16, + format: u16, +}; +pub const PhysicalDeviceOpacityMicromapFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_opacity_micromap_features_ext, + p_next: ?*anyopaque = null, + micromap: Bool32 = FALSE, + micromap_capture_replay: Bool32 = FALSE, + micromap_host_commands: Bool32 = FALSE, +}; +pub const PhysicalDeviceOpacityMicromapPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_opacity_micromap_properties_ext, + p_next: ?*anyopaque = null, + max_opacity_2_state_subdivision_level: u32, + max_opacity_4_state_subdivision_level: u32, +}; +pub const AccelerationStructureTrianglesOpacityMicromapEXT = extern struct { + s_type: StructureType = .acceleration_structure_triangles_opacity_micromap_ext, + p_next: ?*anyopaque = null, + index_type: IndexType, + index_buffer: DeviceOrHostAddressConstKHR, + index_stride: DeviceSize, + base_triangle: u32, + usage_counts_count: u32 = 0, + p_usage_counts: ?[*]const MicromapUsageEXT = null, + pp_usage_counts: ?[*]const [*]const MicromapUsageEXT = null, + micromap: MicromapEXT = .null_handle, +}; +pub const PhysicalDeviceDisplacementMicromapFeaturesNV = extern struct { + s_type: StructureType = .physical_device_displacement_micromap_features_nv, + p_next: ?*anyopaque = null, + displacement_micromap: Bool32 = FALSE, +}; +pub const PhysicalDeviceDisplacementMicromapPropertiesNV = extern struct { + s_type: StructureType = .physical_device_displacement_micromap_properties_nv, + p_next: ?*anyopaque = null, + max_displacement_micromap_subdivision_level: u32, +}; +pub const AccelerationStructureTrianglesDisplacementMicromapNV = extern struct { + s_type: StructureType = .acceleration_structure_triangles_displacement_micromap_nv, + p_next: ?*anyopaque = null, + displacement_bias_and_scale_format: Format, + displacement_vector_format: Format, + displacement_bias_and_scale_buffer: DeviceOrHostAddressConstKHR, + displacement_bias_and_scale_stride: DeviceSize, + displacement_vector_buffer: DeviceOrHostAddressConstKHR, + displacement_vector_stride: DeviceSize, + displaced_micromap_primitive_flags: DeviceOrHostAddressConstKHR, + displaced_micromap_primitive_flags_stride: DeviceSize, + index_type: IndexType, + index_buffer: DeviceOrHostAddressConstKHR, + index_stride: DeviceSize, + base_triangle: u32, + usage_counts_count: u32 = 0, + p_usage_counts: ?[*]const MicromapUsageEXT = null, + pp_usage_counts: ?[*]const [*]const MicromapUsageEXT = null, + micromap: MicromapEXT = .null_handle, +}; +pub const PipelinePropertiesIdentifierEXT = extern struct { + s_type: StructureType = .pipeline_properties_identifier_ext, + p_next: ?*anyopaque = null, + pipeline_identifier: [UUID_SIZE]u8, +}; +pub const PhysicalDevicePipelinePropertiesFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_pipeline_properties_features_ext, + p_next: ?*anyopaque = null, + pipeline_properties_identifier: Bool32 = FALSE, +}; +pub const PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD = extern struct { + s_type: StructureType = .physical_device_shader_early_and_late_fragment_tests_features_amd, + p_next: ?*anyopaque = null, + shader_early_and_late_fragment_tests: Bool32 = FALSE, +}; +pub const ExternalMemoryAcquireUnmodifiedEXT = extern struct { + s_type: StructureType = .external_memory_acquire_unmodified_ext, + p_next: ?*const anyopaque = null, + acquire_unmodified_memory: Bool32, +}; +pub const ExportMetalObjectCreateInfoEXT = extern struct { + s_type: StructureType = .export_metal_object_create_info_ext, + p_next: ?*const anyopaque = null, + export_object_type: ExportMetalObjectTypeFlagsEXT, +}; +pub const ExportMetalObjectsInfoEXT = extern struct { + s_type: StructureType = .export_metal_objects_info_ext, + p_next: ?*const anyopaque = null, +}; +pub const ExportMetalDeviceInfoEXT = extern struct { + s_type: StructureType = .export_metal_device_info_ext, + p_next: ?*const anyopaque = null, + mtl_device: MTLDevice_id, +}; +pub const ExportMetalCommandQueueInfoEXT = extern struct { + s_type: StructureType = .export_metal_command_queue_info_ext, + p_next: ?*const anyopaque = null, + queue: Queue, + mtl_command_queue: MTLCommandQueue_id, +}; +pub const ExportMetalBufferInfoEXT = extern struct { + s_type: StructureType = .export_metal_buffer_info_ext, + p_next: ?*const anyopaque = null, + memory: DeviceMemory, + mtl_buffer: MTLBuffer_id, +}; +pub const ImportMetalBufferInfoEXT = extern struct { + s_type: StructureType = .import_metal_buffer_info_ext, + p_next: ?*const anyopaque = null, + mtl_buffer: MTLBuffer_id, +}; +pub const ExportMetalTextureInfoEXT = extern struct { + s_type: StructureType = .export_metal_texture_info_ext, + p_next: ?*const anyopaque = null, + image: Image = .null_handle, + image_view: ImageView = .null_handle, + buffer_view: BufferView = .null_handle, + plane: ImageAspectFlags, + mtl_texture: MTLTexture_id, +}; +pub const ImportMetalTextureInfoEXT = extern struct { + s_type: StructureType = .import_metal_texture_info_ext, + p_next: ?*const anyopaque = null, + plane: ImageAspectFlags, + mtl_texture: MTLTexture_id, +}; +pub const ExportMetalIOSurfaceInfoEXT = extern struct { + s_type: StructureType = .export_metal_io_surface_info_ext, + p_next: ?*const anyopaque = null, + image: Image, + io_surface: IOSurfaceRef, +}; +pub const ImportMetalIOSurfaceInfoEXT = extern struct { + s_type: StructureType = .import_metal_io_surface_info_ext, + p_next: ?*const anyopaque = null, + io_surface: IOSurfaceRef, +}; +pub const ExportMetalSharedEventInfoEXT = extern struct { + s_type: StructureType = .export_metal_shared_event_info_ext, + p_next: ?*const anyopaque = null, + semaphore: Semaphore = .null_handle, + event: Event = .null_handle, + mtl_shared_event: MTLSharedEvent_id, +}; +pub const ImportMetalSharedEventInfoEXT = extern struct { + s_type: StructureType = .import_metal_shared_event_info_ext, + p_next: ?*const anyopaque = null, + mtl_shared_event: MTLSharedEvent_id, +}; +pub const PhysicalDeviceNonSeamlessCubeMapFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_non_seamless_cube_map_features_ext, + p_next: ?*anyopaque = null, + non_seamless_cube_map: Bool32 = FALSE, +}; +pub const PhysicalDevicePipelineRobustnessFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_pipeline_robustness_features_ext, + p_next: ?*anyopaque = null, + pipeline_robustness: Bool32 = FALSE, +}; +pub const PipelineRobustnessCreateInfoEXT = extern struct { + s_type: StructureType = .pipeline_robustness_create_info_ext, + p_next: ?*const anyopaque = null, + storage_buffers: PipelineRobustnessBufferBehaviorEXT, + uniform_buffers: PipelineRobustnessBufferBehaviorEXT, + vertex_inputs: PipelineRobustnessBufferBehaviorEXT, + images: PipelineRobustnessImageBehaviorEXT, +}; +pub const PhysicalDevicePipelineRobustnessPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_pipeline_robustness_properties_ext, + p_next: ?*anyopaque = null, + default_robustness_storage_buffers: PipelineRobustnessBufferBehaviorEXT, + default_robustness_uniform_buffers: PipelineRobustnessBufferBehaviorEXT, + default_robustness_vertex_inputs: PipelineRobustnessBufferBehaviorEXT, + default_robustness_images: PipelineRobustnessImageBehaviorEXT, +}; +pub const ImageViewSampleWeightCreateInfoQCOM = extern struct { + s_type: StructureType = .image_view_sample_weight_create_info_qcom, + p_next: ?*const anyopaque = null, + filter_center: Offset2D, + filter_size: Extent2D, + num_phases: u32, +}; +pub const PhysicalDeviceImageProcessingFeaturesQCOM = extern struct { + s_type: StructureType = .physical_device_image_processing_features_qcom, + p_next: ?*anyopaque = null, + texture_sample_weighted: Bool32 = FALSE, + texture_box_filter: Bool32 = FALSE, + texture_block_match: Bool32 = FALSE, +}; +pub const PhysicalDeviceImageProcessingPropertiesQCOM = extern struct { + s_type: StructureType = .physical_device_image_processing_properties_qcom, + p_next: ?*anyopaque = null, + max_weight_filter_phases: u32 = 0, + max_weight_filter_dimension: Extent2D, + max_block_match_region: Extent2D, + max_box_filter_block_size: Extent2D, +}; +pub const PhysicalDeviceTilePropertiesFeaturesQCOM = extern struct { + s_type: StructureType = .physical_device_tile_properties_features_qcom, + p_next: ?*anyopaque = null, + tile_properties: Bool32 = FALSE, +}; +pub const TilePropertiesQCOM = extern struct { + s_type: StructureType = .tile_properties_qcom, + p_next: ?*anyopaque = null, + tile_size: Extent3D, + apron_size: Extent2D, + origin: Offset2D, +}; +pub const PhysicalDeviceAmigoProfilingFeaturesSEC = extern struct { + s_type: StructureType = .physical_device_amigo_profiling_features_sec, + p_next: ?*anyopaque = null, + amigo_profiling: Bool32 = FALSE, +}; +pub const AmigoProfilingSubmitInfoSEC = extern struct { + s_type: StructureType = .amigo_profiling_submit_info_sec, + p_next: ?*const anyopaque = null, + first_draw_timestamp: u64, + swap_buffer_timestamp: u64, +}; +pub const PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_attachment_feedback_loop_layout_features_ext, + p_next: ?*anyopaque = null, + attachment_feedback_loop_layout: Bool32 = FALSE, +}; +pub const PhysicalDeviceDepthClampZeroOneFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_depth_clamp_zero_one_features_ext, + p_next: ?*anyopaque = null, + depth_clamp_zero_one: Bool32 = FALSE, +}; +pub const PhysicalDeviceAddressBindingReportFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_address_binding_report_features_ext, + p_next: ?*anyopaque = null, + report_address_binding: Bool32 = FALSE, +}; +pub const DeviceAddressBindingCallbackDataEXT = extern struct { + s_type: StructureType = .device_address_binding_callback_data_ext, + p_next: ?*anyopaque = null, + flags: DeviceAddressBindingFlagsEXT = .{}, + base_address: DeviceAddress, + size: DeviceSize, + binding_type: DeviceAddressBindingTypeEXT, +}; +pub const PhysicalDeviceOpticalFlowFeaturesNV = extern struct { + s_type: StructureType = .physical_device_optical_flow_features_nv, + p_next: ?*anyopaque = null, + optical_flow: Bool32 = FALSE, +}; +pub const PhysicalDeviceOpticalFlowPropertiesNV = extern struct { + s_type: StructureType = .physical_device_optical_flow_properties_nv, + p_next: ?*anyopaque = null, + supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV, + supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV, + hint_supported: Bool32, + cost_supported: Bool32, + bidirectional_flow_supported: Bool32, + global_flow_supported: Bool32, + min_width: u32, + min_height: u32, + max_width: u32, + max_height: u32, + max_num_regions_of_interest: u32, +}; +pub const OpticalFlowImageFormatInfoNV = extern struct { + s_type: StructureType = .optical_flow_image_format_info_nv, + p_next: ?*const anyopaque = null, + usage: OpticalFlowUsageFlagsNV, +}; +pub const OpticalFlowImageFormatPropertiesNV = extern struct { + s_type: StructureType = .optical_flow_image_format_properties_nv, + p_next: ?*const anyopaque = null, + format: Format, +}; +pub const OpticalFlowSessionCreateInfoNV = extern struct { + s_type: StructureType = .optical_flow_session_create_info_nv, + p_next: ?*anyopaque = null, + width: u32, + height: u32, + image_format: Format, + flow_vector_format: Format, + cost_format: Format, + output_grid_size: OpticalFlowGridSizeFlagsNV, + hint_grid_size: OpticalFlowGridSizeFlagsNV = .{}, + performance_level: OpticalFlowPerformanceLevelNV, + flags: OpticalFlowSessionCreateFlagsNV = .{}, +}; +pub const OpticalFlowSessionCreatePrivateDataInfoNV = extern struct { + s_type: StructureType = .optical_flow_session_create_private_data_info_nv, + p_next: ?*anyopaque = null, + id: u32, + size: u32, + p_private_data: *const anyopaque, +}; +pub const OpticalFlowExecuteInfoNV = extern struct { + s_type: StructureType = .optical_flow_execute_info_nv, + p_next: ?*anyopaque = null, + flags: OpticalFlowExecuteFlagsNV = .{}, + region_count: u32 = 0, + p_regions: ?[*]const Rect2D = null, +}; +pub const PhysicalDeviceFaultFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_fault_features_ext, + p_next: ?*anyopaque = null, + device_fault: Bool32 = FALSE, + device_fault_vendor_binary: Bool32 = FALSE, +}; +pub const DeviceFaultAddressInfoEXT = extern struct { + address_type: DeviceFaultAddressTypeEXT, + reported_address: DeviceAddress, + address_precision: DeviceSize, +}; +pub const DeviceFaultVendorInfoEXT = extern struct { + description: [MAX_DESCRIPTION_SIZE]u8, + vendor_fault_code: u64, + vendor_fault_data: u64, +}; +pub const DeviceFaultCountsEXT = extern struct { + s_type: StructureType = .device_fault_counts_ext, + p_next: ?*anyopaque = null, + address_info_count: u32 = 0, + vendor_info_count: u32 = 0, + vendor_binary_size: DeviceSize = 0, +}; +pub const DeviceFaultInfoEXT = extern struct { + s_type: StructureType = .device_fault_info_ext, + p_next: ?*anyopaque = null, + description: [MAX_DESCRIPTION_SIZE]u8, + p_address_infos: ?*DeviceFaultAddressInfoEXT = null, + p_vendor_infos: ?*DeviceFaultVendorInfoEXT = null, + p_vendor_binary_data: ?*anyopaque = null, +}; +pub const DeviceFaultVendorBinaryHeaderVersionOneEXT = extern struct { + header_size: u32, + header_version: DeviceFaultVendorBinaryHeaderVersionEXT, + vendor_id: u32, + device_id: u32, + driver_version: u32, + pipeline_cache_uuid: [UUID_SIZE]u8, + application_name_offset: u32, + application_version: u32, + engine_name_offset: u32, + engine_version: u32, + api_version: u32, +}; +pub const PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_pipeline_library_group_handles_features_ext, + p_next: ?*anyopaque = null, + pipeline_library_group_handles: Bool32 = FALSE, +}; +pub const DepthBiasInfoEXT = extern struct { + s_type: StructureType = .depth_bias_info_ext, + p_next: ?*const anyopaque = null, + depth_bias_constant_factor: f32, + depth_bias_clamp: f32, + depth_bias_slope_factor: f32, +}; +pub const DepthBiasRepresentationInfoEXT = extern struct { + s_type: StructureType = .depth_bias_representation_info_ext, + p_next: ?*const anyopaque = null, + depth_bias_representation: DepthBiasRepresentationEXT, + depth_bias_exact: Bool32, +}; +pub const DecompressMemoryRegionNV = extern struct { + src_address: DeviceAddress, + dst_address: DeviceAddress, + compressed_size: DeviceSize, + decompressed_size: DeviceSize, + decompression_method: MemoryDecompressionMethodFlagsNV, +}; +pub const PhysicalDeviceShaderCoreBuiltinsPropertiesARM = extern struct { + s_type: StructureType = .physical_device_shader_core_builtins_properties_arm, + p_next: ?*anyopaque = null, + shader_core_mask: u64, + shader_core_count: u32, + shader_warps_per_core: u32, +}; +pub const PhysicalDeviceShaderCoreBuiltinsFeaturesARM = extern struct { + s_type: StructureType = .physical_device_shader_core_builtins_features_arm, + p_next: ?*anyopaque = null, + shader_core_builtins: Bool32 = FALSE, +}; +pub const FrameBoundaryEXT = extern struct { + s_type: StructureType = .frame_boundary_ext, + p_next: ?*const anyopaque = null, + flags: FrameBoundaryFlagsEXT = .{}, + frame_id: u64, + image_count: u32 = 0, + p_images: ?[*]const Image = null, + buffer_count: u32 = 0, + p_buffers: ?[*]const Buffer = null, + tag_name: u64 = 0, + tag_size: usize = 0, + p_tag: ?*const anyopaque = null, +}; +pub const PhysicalDeviceFrameBoundaryFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_frame_boundary_features_ext, + p_next: ?*anyopaque = null, + frame_boundary: Bool32 = FALSE, +}; +pub const PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_dynamic_rendering_unused_attachments_features_ext, + p_next: ?*anyopaque = null, + dynamic_rendering_unused_attachments: Bool32 = FALSE, +}; +pub const SurfacePresentModeEXT = extern struct { + s_type: StructureType = .surface_present_mode_ext, + p_next: ?*anyopaque = null, + present_mode: PresentModeKHR, +}; +pub const SurfacePresentScalingCapabilitiesEXT = extern struct { + s_type: StructureType = .surface_present_scaling_capabilities_ext, + p_next: ?*anyopaque = null, + supported_present_scaling: PresentScalingFlagsEXT = .{}, + supported_present_gravity_x: PresentGravityFlagsEXT = .{}, + supported_present_gravity_y: PresentGravityFlagsEXT = .{}, + min_scaled_image_extent: Extent2D, + max_scaled_image_extent: Extent2D, +}; +pub const SurfacePresentModeCompatibilityEXT = extern struct { + s_type: StructureType = .surface_present_mode_compatibility_ext, + p_next: ?*anyopaque = null, + present_mode_count: u32 = 0, + p_present_modes: ?[*]PresentModeKHR = null, +}; +pub const PhysicalDeviceSwapchainMaintenance1FeaturesEXT = extern struct { + s_type: StructureType = .physical_device_swapchain_maintenance_1_features_ext, + p_next: ?*anyopaque = null, + swapchain_maintenance_1: Bool32 = FALSE, +}; +pub const SwapchainPresentFenceInfoEXT = extern struct { + s_type: StructureType = .swapchain_present_fence_info_ext, + p_next: ?*const anyopaque = null, + swapchain_count: u32, + p_fences: [*]const Fence, +}; +pub const SwapchainPresentModesCreateInfoEXT = extern struct { + s_type: StructureType = .swapchain_present_modes_create_info_ext, + p_next: ?*const anyopaque = null, + present_mode_count: u32, + p_present_modes: [*]const PresentModeKHR, +}; +pub const SwapchainPresentModeInfoEXT = extern struct { + s_type: StructureType = .swapchain_present_mode_info_ext, + p_next: ?*const anyopaque = null, + swapchain_count: u32, + p_present_modes: [*]const PresentModeKHR, +}; +pub const SwapchainPresentScalingCreateInfoEXT = extern struct { + s_type: StructureType = .swapchain_present_scaling_create_info_ext, + p_next: ?*const anyopaque = null, + scaling_behavior: PresentScalingFlagsEXT = .{}, + present_gravity_x: PresentGravityFlagsEXT = .{}, + present_gravity_y: PresentGravityFlagsEXT = .{}, +}; +pub const ReleaseSwapchainImagesInfoEXT = extern struct { + s_type: StructureType = .release_swapchain_images_info_ext, + p_next: ?*const anyopaque = null, + swapchain: SwapchainKHR, + image_index_count: u32, + p_image_indices: [*]const u32, +}; +pub const PhysicalDeviceDepthBiasControlFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_depth_bias_control_features_ext, + p_next: ?*anyopaque = null, + depth_bias_control: Bool32 = FALSE, + least_representable_value_force_unorm_representation: Bool32 = FALSE, + float_representation: Bool32 = FALSE, + depth_bias_exact: Bool32 = FALSE, +}; +pub const PhysicalDeviceRayTracingInvocationReorderFeaturesNV = extern struct { + s_type: StructureType = .physical_device_ray_tracing_invocation_reorder_features_nv, + p_next: ?*anyopaque = null, + ray_tracing_invocation_reorder: Bool32 = FALSE, +}; +pub const PhysicalDeviceRayTracingInvocationReorderPropertiesNV = extern struct { + s_type: StructureType = .physical_device_ray_tracing_invocation_reorder_properties_nv, + p_next: ?*anyopaque = null, + ray_tracing_invocation_reorder_reordering_hint: RayTracingInvocationReorderModeNV, +}; +pub const PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV = extern struct { + s_type: StructureType = .physical_device_extended_sparse_address_space_features_nv, + p_next: ?*anyopaque = null, + extended_sparse_address_space: Bool32 = FALSE, +}; +pub const PhysicalDeviceExtendedSparseAddressSpacePropertiesNV = extern struct { + s_type: StructureType = .physical_device_extended_sparse_address_space_properties_nv, + p_next: ?*anyopaque = null, + extended_sparse_address_space_size: DeviceSize, + extended_sparse_image_usage_flags: ImageUsageFlags, + extended_sparse_buffer_usage_flags: BufferUsageFlags, +}; +pub const DirectDriverLoadingInfoLUNARG = extern struct { + s_type: StructureType = .direct_driver_loading_info_lunarg, + p_next: ?*anyopaque = null, + flags: DirectDriverLoadingFlagsLUNARG, + pfn_get_instance_proc_addr: PfnGetInstanceProcAddrLUNARG, +}; +pub const DirectDriverLoadingListLUNARG = extern struct { + s_type: StructureType = .direct_driver_loading_list_lunarg, + p_next: ?*const anyopaque = null, + mode: DirectDriverLoadingModeLUNARG, + driver_count: u32, + p_drivers: [*]const DirectDriverLoadingInfoLUNARG, +}; +pub const PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = extern struct { + s_type: StructureType = .physical_device_multiview_per_view_viewports_features_qcom, + p_next: ?*anyopaque = null, + multiview_per_view_viewports: Bool32 = FALSE, +}; +pub const PhysicalDeviceRayTracingPositionFetchFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_ray_tracing_position_fetch_features_khr, + p_next: ?*anyopaque = null, + ray_tracing_position_fetch: Bool32 = FALSE, +}; +pub const DeviceImageSubresourceInfoKHR = extern struct { + s_type: StructureType = .device_image_subresource_info_khr, + p_next: ?*const anyopaque = null, + p_create_info: *const ImageCreateInfo, + p_subresource: *const ImageSubresource2KHR, +}; +pub const PhysicalDeviceShaderCorePropertiesARM = extern struct { + s_type: StructureType = .physical_device_shader_core_properties_arm, + p_next: ?*anyopaque = null, + pixel_rate: u32, + texel_rate: u32, + fma_rate: u32, +}; +pub const PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM = extern struct { + s_type: StructureType = .physical_device_multiview_per_view_render_areas_features_qcom, + p_next: ?*anyopaque = null, + multiview_per_view_render_areas: Bool32 = FALSE, +}; +pub const MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM = extern struct { + s_type: StructureType = .multiview_per_view_render_areas_render_pass_begin_info_qcom, + p_next: ?*const anyopaque = null, + per_view_render_area_count: u32 = 0, + p_per_view_render_areas: ?[*]const Rect2D = null, +}; +pub const QueryLowLatencySupportNV = extern struct { + s_type: StructureType = .query_low_latency_support_nv, + p_next: ?*const anyopaque = null, + p_queried_low_latency_data: *anyopaque, +}; +pub const MemoryMapInfoKHR = extern struct { + s_type: StructureType = .memory_map_info_khr, + p_next: ?*const anyopaque = null, + flags: MemoryMapFlags = .{}, + memory: DeviceMemory, + offset: DeviceSize, + size: DeviceSize, +}; +pub const MemoryUnmapInfoKHR = extern struct { + s_type: StructureType = .memory_unmap_info_khr, + p_next: ?*const anyopaque = null, + flags: MemoryUnmapFlagsKHR = .{}, + memory: DeviceMemory, +}; +pub const PhysicalDeviceShaderObjectFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_shader_object_features_ext, + p_next: ?*anyopaque = null, + shader_object: Bool32 = FALSE, +}; +pub const PhysicalDeviceShaderObjectPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_shader_object_properties_ext, + p_next: ?*anyopaque = null, + shader_binary_uuid: [UUID_SIZE]u8, + shader_binary_version: u32, +}; +pub const ShaderCreateInfoEXT = extern struct { + s_type: StructureType = .shader_create_info_ext, + p_next: ?*const anyopaque = null, + flags: ShaderCreateFlagsEXT = .{}, + stage: ShaderStageFlags, + next_stage: ShaderStageFlags = .{}, + code_type: ShaderCodeTypeEXT, + code_size: usize, + p_code: *const anyopaque, + p_name: ?[*:0]const u8 = null, + set_layout_count: u32 = 0, + p_set_layouts: ?[*]const DescriptorSetLayout = null, + push_constant_range_count: u32 = 0, + p_push_constant_ranges: ?[*]const PushConstantRange = null, + p_specialization_info: ?*const SpecializationInfo = null, +}; +pub const PhysicalDeviceShaderTileImageFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_shader_tile_image_features_ext, + p_next: ?*anyopaque = null, + shader_tile_image_color_read_access: Bool32 = FALSE, + shader_tile_image_depth_read_access: Bool32 = FALSE, + shader_tile_image_stencil_read_access: Bool32 = FALSE, +}; +pub const PhysicalDeviceShaderTileImagePropertiesEXT = extern struct { + s_type: StructureType = .physical_device_shader_tile_image_properties_ext, + p_next: ?*anyopaque = null, + shader_tile_image_coherent_read_accelerated: Bool32, + shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32, + shader_tile_image_read_from_helper_invocation: Bool32, +}; +pub const ImportScreenBufferInfoQNX = extern struct { + s_type: StructureType = .import_screen_buffer_info_qnx, + p_next: ?*const anyopaque = null, + buffer: *_screen_buffer, +}; +pub const ScreenBufferPropertiesQNX = extern struct { + s_type: StructureType = .screen_buffer_properties_qnx, + p_next: ?*anyopaque = null, + allocation_size: DeviceSize, + memory_type_bits: u32, +}; +pub const ScreenBufferFormatPropertiesQNX = extern struct { + s_type: StructureType = .screen_buffer_format_properties_qnx, + p_next: ?*anyopaque = null, + format: Format, + external_format: u64, + screen_usage: u64, + format_features: FormatFeatureFlags, + sampler_ycbcr_conversion_components: ComponentMapping, + suggested_ycbcr_model: SamplerYcbcrModelConversion, + suggested_ycbcr_range: SamplerYcbcrRange, + suggested_x_chroma_offset: ChromaLocation, + suggested_y_chroma_offset: ChromaLocation, +}; +pub const ExternalFormatQNX = extern struct { + s_type: StructureType = .external_format_qnx, + p_next: ?*anyopaque = null, + external_format: u64, +}; +pub const PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX = extern struct { + s_type: StructureType = .physical_device_external_memory_screen_buffer_features_qnx, + p_next: ?*anyopaque = null, + screen_buffer_import: Bool32 = FALSE, +}; +pub const PhysicalDeviceCooperativeMatrixFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_cooperative_matrix_features_khr, + p_next: ?*anyopaque = null, + cooperative_matrix: Bool32 = FALSE, + cooperative_matrix_robust_buffer_access: Bool32 = FALSE, +}; +pub const CooperativeMatrixPropertiesKHR = extern struct { + s_type: StructureType = .cooperative_matrix_properties_khr, + p_next: ?*anyopaque = null, + m_size: u32, + n_size: u32, + k_size: u32, + a_type: ComponentTypeKHR, + b_type: ComponentTypeKHR, + c_type: ComponentTypeKHR, + result_type: ComponentTypeKHR, + saturating_accumulation: Bool32, + scope: ScopeKHR, +}; +pub const PhysicalDeviceCooperativeMatrixPropertiesKHR = extern struct { + s_type: StructureType = .physical_device_cooperative_matrix_properties_khr, + p_next: ?*anyopaque = null, + cooperative_matrix_supported_stages: ShaderStageFlags, +}; +pub const PhysicalDeviceShaderEnqueuePropertiesAMDX = extern struct { + s_type: StructureType = .physical_device_shader_enqueue_properties_amdx, + p_next: ?*anyopaque = null, + max_execution_graph_depth: u32, + max_execution_graph_shader_output_nodes: u32, + max_execution_graph_shader_payload_size: u32, + max_execution_graph_shader_payload_count: u32, + execution_graph_dispatch_address_alignment: u32, +}; +pub const PhysicalDeviceShaderEnqueueFeaturesAMDX = extern struct { + s_type: StructureType = .physical_device_shader_enqueue_features_amdx, + p_next: ?*anyopaque = null, + shader_enqueue: Bool32 = FALSE, +}; +pub const ExecutionGraphPipelineCreateInfoAMDX = extern struct { + s_type: StructureType = .execution_graph_pipeline_create_info_amdx, + p_next: ?*const anyopaque = null, + flags: PipelineCreateFlags = .{}, + stage_count: u32 = 0, + p_stages: ?[*]const PipelineShaderStageCreateInfo = null, + p_library_info: ?*const PipelineLibraryCreateInfoKHR = null, + layout: PipelineLayout, + base_pipeline_handle: Pipeline = .null_handle, + base_pipeline_index: i32, +}; +pub const PipelineShaderStageNodeCreateInfoAMDX = extern struct { + s_type: StructureType = .pipeline_shader_stage_node_create_info_amdx, + p_next: ?*const anyopaque = null, + p_name: ?[*:0]const u8 = null, + index: u32, +}; +pub const ExecutionGraphPipelineScratchSizeAMDX = extern struct { + s_type: StructureType = .execution_graph_pipeline_scratch_size_amdx, + p_next: ?*anyopaque = null, + size: DeviceSize, +}; +pub const DispatchGraphInfoAMDX = extern struct { + node_index: u32, + payload_count: u32 = 0, + payloads: DeviceOrHostAddressConstAMDX, + payload_stride: u64, +}; +pub const DispatchGraphCountInfoAMDX = extern struct { + count: u32 = 0, + infos: DeviceOrHostAddressConstAMDX, + stride: u64, +}; +pub const BindMemoryStatusKHR = extern struct { + s_type: StructureType = .bind_memory_status_khr, + p_next: ?*const anyopaque = null, + p_result: *Result, +}; +pub const BindDescriptorSetsInfoKHR = extern struct { + s_type: StructureType = .bind_descriptor_sets_info_khr, + p_next: ?*const anyopaque = null, + stage_flags: ShaderStageFlags, + layout: PipelineLayout = .null_handle, + first_set: u32 = 0, + descriptor_set_count: u32, + p_descriptor_sets: [*]const DescriptorSet, + dynamic_offset_count: u32 = 0, + p_dynamic_offsets: ?[*]const u32 = null, +}; +pub const PushConstantsInfoKHR = extern struct { + s_type: StructureType = .push_constants_info_khr, + p_next: ?*const anyopaque = null, + layout: PipelineLayout = .null_handle, + stage_flags: ShaderStageFlags, + offset: u32 = 0, + size: u32, + p_values: *const anyopaque, +}; +pub const PushDescriptorSetInfoKHR = extern struct { + s_type: StructureType = .push_descriptor_set_info_khr, + p_next: ?*const anyopaque = null, + stage_flags: ShaderStageFlags, + layout: PipelineLayout = .null_handle, + set: u32 = 0, + descriptor_write_count: u32, + p_descriptor_writes: [*]const WriteDescriptorSet, +}; +pub const PushDescriptorSetWithTemplateInfoKHR = extern struct { + s_type: StructureType = .push_descriptor_set_with_template_info_khr, + p_next: ?*const anyopaque = null, + descriptor_update_template: DescriptorUpdateTemplate, + layout: PipelineLayout = .null_handle, + set: u32 = 0, + p_data: *const anyopaque, +}; +pub const SetDescriptorBufferOffsetsInfoEXT = extern struct { + s_type: StructureType = .set_descriptor_buffer_offsets_info_ext, + p_next: ?*const anyopaque = null, + stage_flags: ShaderStageFlags, + layout: PipelineLayout = .null_handle, + first_set: u32 = 0, + set_count: u32, + p_buffer_indices: [*]const u32, + p_offsets: [*]const DeviceSize, +}; +pub const BindDescriptorBufferEmbeddedSamplersInfoEXT = extern struct { + s_type: StructureType = .bind_descriptor_buffer_embedded_samplers_info_ext, + p_next: ?*const anyopaque = null, + stage_flags: ShaderStageFlags, + layout: PipelineLayout = .null_handle, + set: u32 = 0, +}; +pub const PhysicalDeviceCubicClampFeaturesQCOM = extern struct { + s_type: StructureType = .physical_device_cubic_clamp_features_qcom, + p_next: ?*anyopaque = null, + cubic_range_clamp: Bool32 = FALSE, +}; +pub const PhysicalDeviceYcbcrDegammaFeaturesQCOM = extern struct { + s_type: StructureType = .physical_device_ycbcr_degamma_features_qcom, + p_next: ?*anyopaque = null, + ycbcr_degamma: Bool32 = FALSE, +}; +pub const SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM = extern struct { + s_type: StructureType = .sampler_ycbcr_conversion_ycbcr_degamma_create_info_qcom, + p_next: ?*anyopaque = null, + enable_y_degamma: Bool32, + enable_cb_cr_degamma: Bool32, +}; +pub const PhysicalDeviceCubicWeightsFeaturesQCOM = extern struct { + s_type: StructureType = .physical_device_cubic_weights_features_qcom, + p_next: ?*anyopaque = null, + selectable_cubic_weights: Bool32 = FALSE, +}; +pub const SamplerCubicWeightsCreateInfoQCOM = extern struct { + s_type: StructureType = .sampler_cubic_weights_create_info_qcom, + p_next: ?*const anyopaque = null, + cubic_weights: CubicFilterWeightsQCOM, +}; +pub const BlitImageCubicWeightsInfoQCOM = extern struct { + s_type: StructureType = .blit_image_cubic_weights_info_qcom, + p_next: ?*const anyopaque = null, + cubic_weights: CubicFilterWeightsQCOM, +}; +pub const PhysicalDeviceImageProcessing2FeaturesQCOM = extern struct { + s_type: StructureType = .physical_device_image_processing_2_features_qcom, + p_next: ?*anyopaque = null, + texture_block_match_2: Bool32 = FALSE, +}; +pub const PhysicalDeviceImageProcessing2PropertiesQCOM = extern struct { + s_type: StructureType = .physical_device_image_processing_2_properties_qcom, + p_next: ?*anyopaque = null, + max_block_match_window: Extent2D, +}; +pub const SamplerBlockMatchWindowCreateInfoQCOM = extern struct { + s_type: StructureType = .sampler_block_match_window_create_info_qcom, + p_next: ?*const anyopaque = null, + window_extent: Extent2D, + window_compare_mode: BlockMatchWindowCompareModeQCOM, +}; +pub const PhysicalDeviceDescriptorPoolOverallocationFeaturesNV = extern struct { + s_type: StructureType = .physical_device_descriptor_pool_overallocation_features_nv, + p_next: ?*anyopaque = null, + descriptor_pool_overallocation: Bool32 = FALSE, +}; +pub const PhysicalDeviceLayeredDriverPropertiesMSFT = extern struct { + s_type: StructureType = .physical_device_layered_driver_properties_msft, + p_next: ?*anyopaque = null, + underlying_api: LayeredDriverUnderlyingApiMSFT, +}; +pub const PhysicalDevicePerStageDescriptorSetFeaturesNV = extern struct { + s_type: StructureType = .physical_device_per_stage_descriptor_set_features_nv, + p_next: ?*anyopaque = null, + per_stage_descriptor_set: Bool32 = FALSE, + dynamic_pipeline_layout: Bool32 = FALSE, +}; +pub const PhysicalDeviceExternalFormatResolveFeaturesANDROID = extern struct { + s_type: StructureType = .physical_device_external_format_resolve_features_android, + p_next: ?*anyopaque = null, + external_format_resolve: Bool32 = FALSE, +}; +pub const PhysicalDeviceExternalFormatResolvePropertiesANDROID = extern struct { + s_type: StructureType = .physical_device_external_format_resolve_properties_android, + p_next: ?*anyopaque = null, + null_color_attachment_with_external_format_resolve: Bool32, + external_format_resolve_chroma_offset_x: ChromaLocation, + external_format_resolve_chroma_offset_y: ChromaLocation, +}; +pub const AndroidHardwareBufferFormatResolvePropertiesANDROID = extern struct { + s_type: StructureType = .android_hardware_buffer_format_resolve_properties_android, + p_next: ?*anyopaque = null, + color_attachment_format: Format, +}; +pub const LatencySleepModeInfoNV = extern struct { + s_type: StructureType = .latency_sleep_mode_info_nv, + p_next: ?*const anyopaque = null, + low_latency_mode: Bool32, + low_latency_boost: Bool32, + minimum_interval_us: u32, +}; +pub const LatencySleepInfoNV = extern struct { + s_type: StructureType = .latency_sleep_info_nv, + p_next: ?*const anyopaque = null, + signal_semaphore: Semaphore, + value: u64, +}; +pub const SetLatencyMarkerInfoNV = extern struct { + s_type: StructureType = .set_latency_marker_info_nv, + p_next: ?*const anyopaque = null, + present_id: u64, + marker: LatencyMarkerNV, +}; +pub const GetLatencyMarkerInfoNV = extern struct { + s_type: StructureType = .get_latency_marker_info_nv, + p_next: ?*const anyopaque = null, + timing_count: u32 = 0, + p_timings: ?[*]LatencyTimingsFrameReportNV = null, +}; +pub const LatencyTimingsFrameReportNV = extern struct { + s_type: StructureType = .latency_timings_frame_report_nv, + p_next: ?*const anyopaque = null, + present_id: u64, + input_sample_time_us: u64, + sim_start_time_us: u64, + sim_end_time_us: u64, + render_submit_start_time_us: u64, + render_submit_end_time_us: u64, + present_start_time_us: u64, + present_end_time_us: u64, + driver_start_time_us: u64, + driver_end_time_us: u64, + os_render_queue_start_time_us: u64, + os_render_queue_end_time_us: u64, + gpu_render_start_time_us: u64, + gpu_render_end_time_us: u64, +}; +pub const OutOfBandQueueTypeInfoNV = extern struct { + s_type: StructureType = .out_of_band_queue_type_info_nv, + p_next: ?*const anyopaque = null, + queue_type: OutOfBandQueueTypeNV, +}; +pub const LatencySubmissionPresentIdNV = extern struct { + s_type: StructureType = .latency_submission_present_id_nv, + p_next: ?*const anyopaque = null, + present_id: u64, +}; +pub const SwapchainLatencyCreateInfoNV = extern struct { + s_type: StructureType = .swapchain_latency_create_info_nv, + p_next: ?*const anyopaque = null, + latency_mode_enable: Bool32 = 0, +}; +pub const LatencySurfaceCapabilitiesNV = extern struct { + s_type: StructureType = .latency_surface_capabilities_nv, + p_next: ?*const anyopaque = null, + present_mode_count: u32 = 0, + p_present_modes: ?[*]PresentModeKHR = null, +}; +pub const PhysicalDeviceCudaKernelLaunchFeaturesNV = extern struct { + s_type: StructureType = .physical_device_cuda_kernel_launch_features_nv, + p_next: ?*anyopaque = null, + cuda_kernel_launch_features: Bool32 = FALSE, +}; +pub const PhysicalDeviceCudaKernelLaunchPropertiesNV = extern struct { + s_type: StructureType = .physical_device_cuda_kernel_launch_properties_nv, + p_next: ?*anyopaque = null, + compute_capability_minor: u32, + compute_capability_major: u32, +}; +pub const DeviceQueueShaderCoreControlCreateInfoARM = extern struct { + s_type: StructureType = .device_queue_shader_core_control_create_info_arm, + p_next: ?*anyopaque = null, + shader_core_count: u32, +}; +pub const PhysicalDeviceSchedulingControlsFeaturesARM = extern struct { + s_type: StructureType = .physical_device_scheduling_controls_features_arm, + p_next: ?*anyopaque = null, + scheduling_controls: Bool32 = FALSE, +}; +pub const PhysicalDeviceSchedulingControlsPropertiesARM = extern struct { + s_type: StructureType = .physical_device_scheduling_controls_properties_arm, + p_next: ?*anyopaque = null, + scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM, +}; +pub const PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = extern struct { + s_type: StructureType = .physical_device_relaxed_line_rasterization_features_img, + p_next: ?*anyopaque = null, + relaxed_line_rasterization: Bool32 = FALSE, +}; +pub const PhysicalDeviceRenderPassStripedFeaturesARM = extern struct { + s_type: StructureType = .physical_device_render_pass_striped_features_arm, + p_next: ?*anyopaque = null, + render_pass_striped: Bool32 = FALSE, +}; +pub const PhysicalDeviceRenderPassStripedPropertiesARM = extern struct { + s_type: StructureType = .physical_device_render_pass_striped_properties_arm, + p_next: ?*anyopaque = null, + render_pass_stripe_granularity: Extent2D, + max_render_pass_stripes: u32, +}; +pub const RenderPassStripeInfoARM = extern struct { + s_type: StructureType = .render_pass_stripe_info_arm, + p_next: ?*const anyopaque = null, + stripe_area: Rect2D, +}; +pub const RenderPassStripeBeginInfoARM = extern struct { + s_type: StructureType = .render_pass_stripe_begin_info_arm, + p_next: ?*const anyopaque = null, + stripe_info_count: u32, + p_stripe_infos: [*]const RenderPassStripeInfoARM, +}; +pub const RenderPassStripeSubmitInfoARM = extern struct { + s_type: StructureType = .render_pass_stripe_submit_info_arm, + p_next: ?*const anyopaque = null, + stripe_semaphore_info_count: u32, + p_stripe_semaphore_infos: [*]const SemaphoreSubmitInfo, +}; +pub const PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_shader_maximal_reconvergence_features_khr, + p_next: ?*anyopaque = null, + shader_maximal_reconvergence: Bool32 = FALSE, +}; +pub const PhysicalDeviceShaderSubgroupRotateFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_shader_subgroup_rotate_features_khr, + p_next: ?*anyopaque = null, + shader_subgroup_rotate: Bool32 = FALSE, + shader_subgroup_rotate_clustered: Bool32 = FALSE, +}; +pub const PhysicalDeviceShaderExpectAssumeFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_shader_expect_assume_features_khr, + p_next: ?*anyopaque = null, + shader_expect_assume: Bool32 = FALSE, +}; +pub const PhysicalDeviceShaderFloatControls2FeaturesKHR = extern struct { + s_type: StructureType = .physical_device_shader_float_controls_2_features_khr, + p_next: ?*anyopaque = null, + shader_float_controls_2: Bool32 = FALSE, +}; +pub const PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_dynamic_rendering_local_read_features_khr, + p_next: ?*anyopaque = null, + dynamic_rendering_local_read: Bool32 = FALSE, +}; +pub const RenderingAttachmentLocationInfoKHR = extern struct { + s_type: StructureType = .rendering_attachment_location_info_khr, + p_next: ?*const anyopaque = null, + color_attachment_count: u32 = 0, + p_color_attachment_locations: ?[*]const u32 = null, +}; +pub const RenderingInputAttachmentIndexInfoKHR = extern struct { + s_type: StructureType = .rendering_input_attachment_index_info_khr, + p_next: ?*const anyopaque = null, + color_attachment_count: u32 = 0, + p_color_attachment_input_indices: ?[*]const u32 = null, + p_depth_input_attachment_index: ?*const u32 = null, + p_stencil_input_attachment_index: ?*const u32 = null, +}; +pub const PhysicalDeviceShaderQuadControlFeaturesKHR = extern struct { + s_type: StructureType = .physical_device_shader_quad_control_features_khr, + p_next: ?*anyopaque = null, + shader_quad_control: Bool32 = FALSE, +}; +pub const PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV = extern struct { + s_type: StructureType = .physical_device_shader_atomic_float16_vector_features_nv, + p_next: ?*anyopaque = null, + shader_float_16_vector_atomics: Bool32 = FALSE, +}; +pub const PhysicalDeviceMapMemoryPlacedFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_map_memory_placed_features_ext, + p_next: ?*anyopaque = null, + memory_map_placed: Bool32 = FALSE, + memory_map_range_placed: Bool32 = FALSE, + memory_unmap_reserve: Bool32 = FALSE, +}; +pub const PhysicalDeviceMapMemoryPlacedPropertiesEXT = extern struct { + s_type: StructureType = .physical_device_map_memory_placed_properties_ext, + p_next: ?*anyopaque = null, + min_placed_memory_map_alignment: DeviceSize, +}; +pub const MemoryMapPlacedInfoEXT = extern struct { + s_type: StructureType = .memory_map_placed_info_ext, + p_next: ?*const anyopaque = null, + p_placed_address: *anyopaque, +}; +pub const PhysicalDeviceRawAccessChainsFeaturesNV = extern struct { + s_type: StructureType = .physical_device_raw_access_chains_features_nv, + p_next: ?*anyopaque = null, + shader_raw_access_chains: Bool32 = FALSE, +}; +pub const PhysicalDeviceImageAlignmentControlFeaturesMESA = extern struct { + s_type: StructureType = .physical_device_image_alignment_control_features_mesa, + p_next: ?*anyopaque = null, + image_alignment_control: Bool32 = FALSE, +}; +pub const PhysicalDeviceImageAlignmentControlPropertiesMESA = extern struct { + s_type: StructureType = .physical_device_image_alignment_control_properties_mesa, + p_next: ?*anyopaque = null, + supported_image_alignment_mask: u32, +}; +pub const ImageAlignmentControlCreateInfoMESA = extern struct { + s_type: StructureType = .image_alignment_control_create_info_mesa, + p_next: ?*const anyopaque = null, + maximum_requested_alignment: u32, +}; +pub const PhysicalDeviceShaderReplicatedCompositesFeaturesEXT = extern struct { + s_type: StructureType = .physical_device_shader_replicated_composites_features_ext, + p_next: ?*anyopaque = null, + shader_replicated_composites: Bool32 = FALSE, +}; +pub const ImageLayout = enum(i32) { + undefined = 0, + general = 1, + color_attachment_optimal = 2, + depth_stencil_attachment_optimal = 3, + depth_stencil_read_only_optimal = 4, + shader_read_only_optimal = 5, + transfer_src_optimal = 6, + transfer_dst_optimal = 7, + preinitialized = 8, + depth_read_only_stencil_attachment_optimal = 1000117000, + depth_attachment_stencil_read_only_optimal = 1000117001, + depth_attachment_optimal = 1000241000, + depth_read_only_optimal = 1000241001, + stencil_attachment_optimal = 1000241002, + stencil_read_only_optimal = 1000241003, + read_only_optimal = 1000314000, + attachment_optimal = 1000314001, + present_src_khr = 1000001002, + video_decode_dst_khr = 1000024000, + video_decode_src_khr = 1000024001, + video_decode_dpb_khr = 1000024002, + shared_present_khr = 1000111000, + fragment_density_map_optimal_ext = 1000218000, + fragment_shading_rate_attachment_optimal_khr = 1000164003, + rendering_local_read_khr = 1000232000, + video_encode_dst_khr = 1000299000, + video_encode_src_khr = 1000299001, + video_encode_dpb_khr = 1000299002, + attachment_feedback_loop_optimal_ext = 1000339000, + _, + pub const depth_read_only_stencil_attachment_optimal_khr = ImageLayout.depth_read_only_stencil_attachment_optimal; + pub const depth_attachment_stencil_read_only_optimal_khr = ImageLayout.depth_attachment_stencil_read_only_optimal; + pub const shading_rate_optimal_nv = ImageLayout.fragment_shading_rate_attachment_optimal_khr; + pub const depth_attachment_optimal_khr = ImageLayout.depth_attachment_optimal; + pub const depth_read_only_optimal_khr = ImageLayout.depth_read_only_optimal; + pub const stencil_attachment_optimal_khr = ImageLayout.stencil_attachment_optimal; + pub const stencil_read_only_optimal_khr = ImageLayout.stencil_read_only_optimal; + pub const read_only_optimal_khr = ImageLayout.read_only_optimal; + pub const attachment_optimal_khr = ImageLayout.attachment_optimal; +}; +pub const AttachmentLoadOp = enum(i32) { + load = 0, + clear = 1, + dont_care = 2, + none_khr = 1000400000, + _, + pub const none_ext = AttachmentLoadOp.none_khr; +}; +pub const AttachmentStoreOp = enum(i32) { + store = 0, + dont_care = 1, + none = 1000301000, + _, + pub const none_khr = AttachmentStoreOp.none; + pub const none_qcom = AttachmentStoreOp.none; + pub const none_ext = AttachmentStoreOp.none; +}; +pub const ImageType = enum(i32) { + @"1d" = 0, + @"2d" = 1, + @"3d" = 2, + _, +}; +pub const ImageTiling = enum(i32) { + optimal = 0, + linear = 1, + drm_format_modifier_ext = 1000158000, + _, +}; +pub const ImageViewType = enum(i32) { + @"1d" = 0, + @"2d" = 1, + @"3d" = 2, + cube = 3, + @"1d_array" = 4, + @"2d_array" = 5, + cube_array = 6, + _, +}; +pub const CommandBufferLevel = enum(i32) { + primary = 0, + secondary = 1, + _, +}; +pub const ComponentSwizzle = enum(i32) { + identity = 0, + zero = 1, + one = 2, + r = 3, + g = 4, + b = 5, + a = 6, + _, +}; +pub const DescriptorType = enum(i32) { + sampler = 0, + combined_image_sampler = 1, + sampled_image = 2, + storage_image = 3, + uniform_texel_buffer = 4, + storage_texel_buffer = 5, + uniform_buffer = 6, + storage_buffer = 7, + uniform_buffer_dynamic = 8, + storage_buffer_dynamic = 9, + input_attachment = 10, + inline_uniform_block = 1000138000, + acceleration_structure_khr = 1000150000, + acceleration_structure_nv = 1000165000, + sample_weight_image_qcom = 1000440000, + block_match_image_qcom = 1000440001, + mutable_ext = 1000351000, + _, + pub const inline_uniform_block_ext = DescriptorType.inline_uniform_block; + pub const mutable_valve = DescriptorType.mutable_ext; +}; +pub const QueryType = enum(i32) { + occlusion = 0, + pipeline_statistics = 1, + timestamp = 2, + result_status_only_khr = 1000023000, + transform_feedback_stream_ext = 1000028004, + performance_query_khr = 1000116000, + acceleration_structure_compacted_size_khr = 1000150000, + acceleration_structure_serialization_size_khr = 1000150001, + acceleration_structure_compacted_size_nv = 1000165000, + performance_query_intel = 1000210000, + video_encode_feedback_khr = 1000299000, + mesh_primitives_generated_ext = 1000328000, + primitives_generated_ext = 1000382000, + acceleration_structure_serialization_bottom_level_pointers_khr = 1000386000, + acceleration_structure_size_khr = 1000386001, + micromap_serialization_size_ext = 1000396000, + micromap_compacted_size_ext = 1000396001, + _, +}; +pub const BorderColor = enum(i32) { + float_transparent_black = 0, + int_transparent_black = 1, + float_opaque_black = 2, + int_opaque_black = 3, + float_opaque_white = 4, + int_opaque_white = 5, + float_custom_ext = 1000287003, + int_custom_ext = 1000287004, + _, +}; +pub const PipelineBindPoint = enum(i32) { + graphics = 0, + compute = 1, + execution_graph_amdx = 1000134000, + ray_tracing_khr = 1000165000, + subpass_shading_huawei = 1000369003, + _, + pub const ray_tracing_nv = PipelineBindPoint.ray_tracing_khr; +}; +pub const PipelineCacheHeaderVersion = enum(i32) { + one = 1, + _, +}; +pub const PipelineCacheCreateFlags = packed struct(Flags) { + externally_synchronized_bit: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(PipelineCacheCreateFlags); +}; +pub const PrimitiveTopology = enum(i32) { + point_list = 0, + line_list = 1, + line_strip = 2, + triangle_list = 3, + triangle_strip = 4, + triangle_fan = 5, + line_list_with_adjacency = 6, + line_strip_with_adjacency = 7, + triangle_list_with_adjacency = 8, + triangle_strip_with_adjacency = 9, + patch_list = 10, + _, +}; +pub const SharingMode = enum(i32) { + exclusive = 0, + concurrent = 1, + _, +}; +pub const IndexType = enum(i32) { + uint16 = 0, + uint32 = 1, + none_khr = 1000165000, + uint8_khr = 1000265000, + _, + pub const none_nv = IndexType.none_khr; + pub const uint8_ext = IndexType.uint8_khr; +}; +pub const Filter = enum(i32) { + nearest = 0, + linear = 1, + cubic_ext = 1000015000, + _, + pub const cubic_img = Filter.cubic_ext; +}; +pub const SamplerMipmapMode = enum(i32) { + nearest = 0, + linear = 1, + _, +}; +pub const SamplerAddressMode = enum(i32) { + repeat = 0, + mirrored_repeat = 1, + clamp_to_edge = 2, + clamp_to_border = 3, + mirror_clamp_to_edge = 4, + _, + pub const mirror_clamp_to_edge_khr = SamplerAddressMode.mirror_clamp_to_edge; +}; +pub const CompareOp = enum(i32) { + never = 0, + less = 1, + equal = 2, + less_or_equal = 3, + greater = 4, + not_equal = 5, + greater_or_equal = 6, + always = 7, + _, +}; +pub const PolygonMode = enum(i32) { + fill = 0, + line = 1, + point = 2, + fill_rectangle_nv = 1000153000, + _, +}; +pub const FrontFace = enum(i32) { + counter_clockwise = 0, + clockwise = 1, + _, +}; +pub const BlendFactor = enum(i32) { + zero = 0, + one = 1, + src_color = 2, + one_minus_src_color = 3, + dst_color = 4, + one_minus_dst_color = 5, + src_alpha = 6, + one_minus_src_alpha = 7, + dst_alpha = 8, + one_minus_dst_alpha = 9, + constant_color = 10, + one_minus_constant_color = 11, + constant_alpha = 12, + one_minus_constant_alpha = 13, + src_alpha_saturate = 14, + src1_color = 15, + one_minus_src1_color = 16, + src1_alpha = 17, + one_minus_src1_alpha = 18, + _, +}; +pub const BlendOp = enum(i32) { + add = 0, + subtract = 1, + reverse_subtract = 2, + min = 3, + max = 4, + zero_ext = 1000148000, + src_ext = 1000148001, + dst_ext = 1000148002, + src_over_ext = 1000148003, + dst_over_ext = 1000148004, + src_in_ext = 1000148005, + dst_in_ext = 1000148006, + src_out_ext = 1000148007, + dst_out_ext = 1000148008, + src_atop_ext = 1000148009, + dst_atop_ext = 1000148010, + xor_ext = 1000148011, + multiply_ext = 1000148012, + screen_ext = 1000148013, + overlay_ext = 1000148014, + darken_ext = 1000148015, + lighten_ext = 1000148016, + colordodge_ext = 1000148017, + colorburn_ext = 1000148018, + hardlight_ext = 1000148019, + softlight_ext = 1000148020, + difference_ext = 1000148021, + exclusion_ext = 1000148022, + invert_ext = 1000148023, + invert_rgb_ext = 1000148024, + lineardodge_ext = 1000148025, + linearburn_ext = 1000148026, + vividlight_ext = 1000148027, + linearlight_ext = 1000148028, + pinlight_ext = 1000148029, + hardmix_ext = 1000148030, + hsl_hue_ext = 1000148031, + hsl_saturation_ext = 1000148032, + hsl_color_ext = 1000148033, + hsl_luminosity_ext = 1000148034, + plus_ext = 1000148035, + plus_clamped_ext = 1000148036, + plus_clamped_alpha_ext = 1000148037, + plus_darker_ext = 1000148038, + minus_ext = 1000148039, + minus_clamped_ext = 1000148040, + contrast_ext = 1000148041, + invert_ovg_ext = 1000148042, + red_ext = 1000148043, + green_ext = 1000148044, + blue_ext = 1000148045, + _, +}; +pub const StencilOp = enum(i32) { + keep = 0, + zero = 1, + replace = 2, + increment_and_clamp = 3, + decrement_and_clamp = 4, + invert = 5, + increment_and_wrap = 6, + decrement_and_wrap = 7, + _, +}; +pub const LogicOp = enum(i32) { + clear = 0, + @"and" = 1, + and_reverse = 2, + copy = 3, + and_inverted = 4, + no_op = 5, + xor = 6, + @"or" = 7, + nor = 8, + equivalent = 9, + invert = 10, + or_reverse = 11, + copy_inverted = 12, + or_inverted = 13, + nand = 14, + set = 15, + _, +}; +pub const InternalAllocationType = enum(i32) { + executable = 0, + _, +}; +pub const SystemAllocationScope = enum(i32) { + command = 0, + object = 1, + cache = 2, + device = 3, + instance = 4, + _, +}; +pub const PhysicalDeviceType = enum(i32) { + other = 0, + integrated_gpu = 1, + discrete_gpu = 2, + virtual_gpu = 3, + cpu = 4, + _, +}; +pub const VertexInputRate = enum(i32) { + vertex = 0, + instance = 1, + _, +}; +pub const Format = enum(i32) { + undefined = 0, + r4g4_unorm_pack8 = 1, + r4g4b4a4_unorm_pack16 = 2, + b4g4r4a4_unorm_pack16 = 3, + r5g6b5_unorm_pack16 = 4, + b5g6r5_unorm_pack16 = 5, + r5g5b5a1_unorm_pack16 = 6, + b5g5r5a1_unorm_pack16 = 7, + a1r5g5b5_unorm_pack16 = 8, + r8_unorm = 9, + r8_snorm = 10, + r8_uscaled = 11, + r8_sscaled = 12, + r8_uint = 13, + r8_sint = 14, + r8_srgb = 15, + r8g8_unorm = 16, + r8g8_snorm = 17, + r8g8_uscaled = 18, + r8g8_sscaled = 19, + r8g8_uint = 20, + r8g8_sint = 21, + r8g8_srgb = 22, + r8g8b8_unorm = 23, + r8g8b8_snorm = 24, + r8g8b8_uscaled = 25, + r8g8b8_sscaled = 26, + r8g8b8_uint = 27, + r8g8b8_sint = 28, + r8g8b8_srgb = 29, + b8g8r8_unorm = 30, + b8g8r8_snorm = 31, + b8g8r8_uscaled = 32, + b8g8r8_sscaled = 33, + b8g8r8_uint = 34, + b8g8r8_sint = 35, + b8g8r8_srgb = 36, + r8g8b8a8_unorm = 37, + r8g8b8a8_snorm = 38, + r8g8b8a8_uscaled = 39, + r8g8b8a8_sscaled = 40, + r8g8b8a8_uint = 41, + r8g8b8a8_sint = 42, + r8g8b8a8_srgb = 43, + b8g8r8a8_unorm = 44, + b8g8r8a8_snorm = 45, + b8g8r8a8_uscaled = 46, + b8g8r8a8_sscaled = 47, + b8g8r8a8_uint = 48, + b8g8r8a8_sint = 49, + b8g8r8a8_srgb = 50, + a8b8g8r8_unorm_pack32 = 51, + a8b8g8r8_snorm_pack32 = 52, + a8b8g8r8_uscaled_pack32 = 53, + a8b8g8r8_sscaled_pack32 = 54, + a8b8g8r8_uint_pack32 = 55, + a8b8g8r8_sint_pack32 = 56, + a8b8g8r8_srgb_pack32 = 57, + a2r10g10b10_unorm_pack32 = 58, + a2r10g10b10_snorm_pack32 = 59, + a2r10g10b10_uscaled_pack32 = 60, + a2r10g10b10_sscaled_pack32 = 61, + a2r10g10b10_uint_pack32 = 62, + a2r10g10b10_sint_pack32 = 63, + a2b10g10r10_unorm_pack32 = 64, + a2b10g10r10_snorm_pack32 = 65, + a2b10g10r10_uscaled_pack32 = 66, + a2b10g10r10_sscaled_pack32 = 67, + a2b10g10r10_uint_pack32 = 68, + a2b10g10r10_sint_pack32 = 69, + r16_unorm = 70, + r16_snorm = 71, + r16_uscaled = 72, + r16_sscaled = 73, + r16_uint = 74, + r16_sint = 75, + r16_sfloat = 76, + r16g16_unorm = 77, + r16g16_snorm = 78, + r16g16_uscaled = 79, + r16g16_sscaled = 80, + r16g16_uint = 81, + r16g16_sint = 82, + r16g16_sfloat = 83, + r16g16b16_unorm = 84, + r16g16b16_snorm = 85, + r16g16b16_uscaled = 86, + r16g16b16_sscaled = 87, + r16g16b16_uint = 88, + r16g16b16_sint = 89, + r16g16b16_sfloat = 90, + r16g16b16a16_unorm = 91, + r16g16b16a16_snorm = 92, + r16g16b16a16_uscaled = 93, + r16g16b16a16_sscaled = 94, + r16g16b16a16_uint = 95, + r16g16b16a16_sint = 96, + r16g16b16a16_sfloat = 97, + r32_uint = 98, + r32_sint = 99, + r32_sfloat = 100, + r32g32_uint = 101, + r32g32_sint = 102, + r32g32_sfloat = 103, + r32g32b32_uint = 104, + r32g32b32_sint = 105, + r32g32b32_sfloat = 106, + r32g32b32a32_uint = 107, + r32g32b32a32_sint = 108, + r32g32b32a32_sfloat = 109, + r64_uint = 110, + r64_sint = 111, + r64_sfloat = 112, + r64g64_uint = 113, + r64g64_sint = 114, + r64g64_sfloat = 115, + r64g64b64_uint = 116, + r64g64b64_sint = 117, + r64g64b64_sfloat = 118, + r64g64b64a64_uint = 119, + r64g64b64a64_sint = 120, + r64g64b64a64_sfloat = 121, + b10g11r11_ufloat_pack32 = 122, + e5b9g9r9_ufloat_pack32 = 123, + d16_unorm = 124, + x8_d24_unorm_pack32 = 125, + d32_sfloat = 126, + s8_uint = 127, + d16_unorm_s8_uint = 128, + d24_unorm_s8_uint = 129, + d32_sfloat_s8_uint = 130, + bc1_rgb_unorm_block = 131, + bc1_rgb_srgb_block = 132, + bc1_rgba_unorm_block = 133, + bc1_rgba_srgb_block = 134, + bc2_unorm_block = 135, + bc2_srgb_block = 136, + bc3_unorm_block = 137, + bc3_srgb_block = 138, + bc4_unorm_block = 139, + bc4_snorm_block = 140, + bc5_unorm_block = 141, + bc5_snorm_block = 142, + bc6h_ufloat_block = 143, + bc6h_sfloat_block = 144, + bc7_unorm_block = 145, + bc7_srgb_block = 146, + etc2_r8g8b8_unorm_block = 147, + etc2_r8g8b8_srgb_block = 148, + etc2_r8g8b8a1_unorm_block = 149, + etc2_r8g8b8a1_srgb_block = 150, + etc2_r8g8b8a8_unorm_block = 151, + etc2_r8g8b8a8_srgb_block = 152, + eac_r11_unorm_block = 153, + eac_r11_snorm_block = 154, + eac_r11g11_unorm_block = 155, + eac_r11g11_snorm_block = 156, + astc_4x_4_unorm_block = 157, + astc_4x_4_srgb_block = 158, + astc_5x_4_unorm_block = 159, + astc_5x_4_srgb_block = 160, + astc_5x_5_unorm_block = 161, + astc_5x_5_srgb_block = 162, + astc_6x_5_unorm_block = 163, + astc_6x_5_srgb_block = 164, + astc_6x_6_unorm_block = 165, + astc_6x_6_srgb_block = 166, + astc_8x_5_unorm_block = 167, + astc_8x_5_srgb_block = 168, + astc_8x_6_unorm_block = 169, + astc_8x_6_srgb_block = 170, + astc_8x_8_unorm_block = 171, + astc_8x_8_srgb_block = 172, + astc_1_0x_5_unorm_block = 173, + astc_1_0x_5_srgb_block = 174, + astc_1_0x_6_unorm_block = 175, + astc_1_0x_6_srgb_block = 176, + astc_1_0x_8_unorm_block = 177, + astc_1_0x_8_srgb_block = 178, + astc_1_0x_10_unorm_block = 179, + astc_1_0x_10_srgb_block = 180, + astc_1_2x_10_unorm_block = 181, + astc_1_2x_10_srgb_block = 182, + astc_1_2x_12_unorm_block = 183, + astc_1_2x_12_srgb_block = 184, + g8b8g8r8_422_unorm = 1000156000, + b8g8r8g8_422_unorm = 1000156001, + g8_b8_r8_3plane_420_unorm = 1000156002, + g8_b8r8_2plane_420_unorm = 1000156003, + g8_b8_r8_3plane_422_unorm = 1000156004, + g8_b8r8_2plane_422_unorm = 1000156005, + g8_b8_r8_3plane_444_unorm = 1000156006, + r10x6_unorm_pack16 = 1000156007, + r10x6g10x6_unorm_2pack16 = 1000156008, + r10x6g10x6b10x6a10x6_unorm_4pack16 = 1000156009, + g10x6b10x6g10x6r10x6_422_unorm_4pack16 = 1000156010, + b10x6g10x6r10x6g10x6_422_unorm_4pack16 = 1000156011, + g10x6_b10x6_r10x6_3plane_420_unorm_3pack16 = 1000156012, + g10x6_b10x6r10x6_2plane_420_unorm_3pack16 = 1000156013, + g10x6_b10x6_r10x6_3plane_422_unorm_3pack16 = 1000156014, + g10x6_b10x6r10x6_2plane_422_unorm_3pack16 = 1000156015, + g10x6_b10x6_r10x6_3plane_444_unorm_3pack16 = 1000156016, + r12x4_unorm_pack16 = 1000156017, + r12x4g12x4_unorm_2pack16 = 1000156018, + r12x4g12x4b12x4a12x4_unorm_4pack16 = 1000156019, + g12x4b12x4g12x4r12x4_422_unorm_4pack16 = 1000156020, + b12x4g12x4r12x4g12x4_422_unorm_4pack16 = 1000156021, + g12x4_b12x4_r12x4_3plane_420_unorm_3pack16 = 1000156022, + g12x4_b12x4r12x4_2plane_420_unorm_3pack16 = 1000156023, + g12x4_b12x4_r12x4_3plane_422_unorm_3pack16 = 1000156024, + g12x4_b12x4r12x4_2plane_422_unorm_3pack16 = 1000156025, + g12x4_b12x4_r12x4_3plane_444_unorm_3pack16 = 1000156026, + g16b16g16r16_422_unorm = 1000156027, + b16g16r16g16_422_unorm = 1000156028, + g16_b16_r16_3plane_420_unorm = 1000156029, + g16_b16r16_2plane_420_unorm = 1000156030, + g16_b16_r16_3plane_422_unorm = 1000156031, + g16_b16r16_2plane_422_unorm = 1000156032, + g16_b16_r16_3plane_444_unorm = 1000156033, + g8_b8r8_2plane_444_unorm = 1000330000, + g10x6_b10x6r10x6_2plane_444_unorm_3pack16 = 1000330001, + g12x4_b12x4r12x4_2plane_444_unorm_3pack16 = 1000330002, + g16_b16r16_2plane_444_unorm = 1000330003, + a4r4g4b4_unorm_pack16 = 1000340000, + a4b4g4r4_unorm_pack16 = 1000340001, + astc_4x_4_sfloat_block = 1000066000, + astc_5x_4_sfloat_block = 1000066001, + astc_5x_5_sfloat_block = 1000066002, + astc_6x_5_sfloat_block = 1000066003, + astc_6x_6_sfloat_block = 1000066004, + astc_8x_5_sfloat_block = 1000066005, + astc_8x_6_sfloat_block = 1000066006, + astc_8x_8_sfloat_block = 1000066007, + astc_1_0x_5_sfloat_block = 1000066008, + astc_1_0x_6_sfloat_block = 1000066009, + astc_1_0x_8_sfloat_block = 1000066010, + astc_1_0x_10_sfloat_block = 1000066011, + astc_1_2x_10_sfloat_block = 1000066012, + astc_1_2x_12_sfloat_block = 1000066013, + pvrtc1_2bpp_unorm_block_img = 1000054000, + pvrtc1_4bpp_unorm_block_img = 1000054001, + pvrtc2_2bpp_unorm_block_img = 1000054002, + pvrtc2_4bpp_unorm_block_img = 1000054003, + pvrtc1_2bpp_srgb_block_img = 1000054004, + pvrtc1_4bpp_srgb_block_img = 1000054005, + pvrtc2_2bpp_srgb_block_img = 1000054006, + pvrtc2_4bpp_srgb_block_img = 1000054007, + r16g16_sfixed5_nv = 1000464000, + a1b5g5r5_unorm_pack16_khr = 1000470000, + a8_unorm_khr = 1000470001, + _, + pub const astc_4x_4_sfloat_block_ext = Format.astc_4x_4_sfloat_block; + pub const astc_5x_4_sfloat_block_ext = Format.astc_5x_4_sfloat_block; + pub const astc_5x_5_sfloat_block_ext = Format.astc_5x_5_sfloat_block; + pub const astc_6x_5_sfloat_block_ext = Format.astc_6x_5_sfloat_block; + pub const astc_6x_6_sfloat_block_ext = Format.astc_6x_6_sfloat_block; + pub const astc_8x_5_sfloat_block_ext = Format.astc_8x_5_sfloat_block; + pub const astc_8x_6_sfloat_block_ext = Format.astc_8x_6_sfloat_block; + pub const astc_8x_8_sfloat_block_ext = Format.astc_8x_8_sfloat_block; + pub const astc_1_0x_5_sfloat_block_ext = Format.astc_1_0x_5_sfloat_block; + pub const astc_1_0x_6_sfloat_block_ext = Format.astc_1_0x_6_sfloat_block; + pub const astc_1_0x_8_sfloat_block_ext = Format.astc_1_0x_8_sfloat_block; + pub const astc_1_0x_10_sfloat_block_ext = Format.astc_1_0x_10_sfloat_block; + pub const astc_1_2x_10_sfloat_block_ext = Format.astc_1_2x_10_sfloat_block; + pub const astc_1_2x_12_sfloat_block_ext = Format.astc_1_2x_12_sfloat_block; + pub const g8b8g8r8_422_unorm_khr = Format.g8b8g8r8_422_unorm; + pub const b8g8r8g8_422_unorm_khr = Format.b8g8r8g8_422_unorm; + pub const g8_b8_r8_3plane_420_unorm_khr = Format.g8_b8_r8_3plane_420_unorm; + pub const g8_b8r8_2plane_420_unorm_khr = Format.g8_b8r8_2plane_420_unorm; + pub const g8_b8_r8_3plane_422_unorm_khr = Format.g8_b8_r8_3plane_422_unorm; + pub const g8_b8r8_2plane_422_unorm_khr = Format.g8_b8r8_2plane_422_unorm; + pub const g8_b8_r8_3plane_444_unorm_khr = Format.g8_b8_r8_3plane_444_unorm; + pub const r10x6_unorm_pack16_khr = Format.r10x6_unorm_pack16; + pub const r10x6g10x6_unorm_2pack16_khr = Format.r10x6g10x6_unorm_2pack16; + pub const r10x6g10x6b10x6a10x6_unorm_4pack16_khr = Format.r10x6g10x6b10x6a10x6_unorm_4pack16; + pub const g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr = Format.g10x6b10x6g10x6r10x6_422_unorm_4pack16; + pub const b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr = Format.b10x6g10x6r10x6g10x6_422_unorm_4pack16; + pub const g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr = Format.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16; + pub const g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr = Format.g10x6_b10x6r10x6_2plane_420_unorm_3pack16; + pub const g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr = Format.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16; + pub const g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr = Format.g10x6_b10x6r10x6_2plane_422_unorm_3pack16; + pub const g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr = Format.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16; + pub const r12x4_unorm_pack16_khr = Format.r12x4_unorm_pack16; + pub const r12x4g12x4_unorm_2pack16_khr = Format.r12x4g12x4_unorm_2pack16; + pub const r12x4g12x4b12x4a12x4_unorm_4pack16_khr = Format.r12x4g12x4b12x4a12x4_unorm_4pack16; + pub const g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr = Format.g12x4b12x4g12x4r12x4_422_unorm_4pack16; + pub const b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr = Format.b12x4g12x4r12x4g12x4_422_unorm_4pack16; + pub const g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr = Format.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16; + pub const g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr = Format.g12x4_b12x4r12x4_2plane_420_unorm_3pack16; + pub const g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr = Format.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16; + pub const g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr = Format.g12x4_b12x4r12x4_2plane_422_unorm_3pack16; + pub const g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr = Format.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16; + pub const g16b16g16r16_422_unorm_khr = Format.g16b16g16r16_422_unorm; + pub const b16g16r16g16_422_unorm_khr = Format.b16g16r16g16_422_unorm; + pub const g16_b16_r16_3plane_420_unorm_khr = Format.g16_b16_r16_3plane_420_unorm; + pub const g16_b16r16_2plane_420_unorm_khr = Format.g16_b16r16_2plane_420_unorm; + pub const g16_b16_r16_3plane_422_unorm_khr = Format.g16_b16_r16_3plane_422_unorm; + pub const g16_b16r16_2plane_422_unorm_khr = Format.g16_b16r16_2plane_422_unorm; + pub const g16_b16_r16_3plane_444_unorm_khr = Format.g16_b16_r16_3plane_444_unorm; + pub const g8_b8r8_2plane_444_unorm_ext = Format.g8_b8r8_2plane_444_unorm; + pub const g10x6_b10x6r10x6_2plane_444_unorm_3pack16_ext = Format.g10x6_b10x6r10x6_2plane_444_unorm_3pack16; + pub const g12x4_b12x4r12x4_2plane_444_unorm_3pack16_ext = Format.g12x4_b12x4r12x4_2plane_444_unorm_3pack16; + pub const g16_b16r16_2plane_444_unorm_ext = Format.g16_b16r16_2plane_444_unorm; + pub const a4r4g4b4_unorm_pack16_ext = Format.a4r4g4b4_unorm_pack16; + pub const a4b4g4r4_unorm_pack16_ext = Format.a4b4g4r4_unorm_pack16; + pub const r16g16_s10_5_nv = Format.r16g16_sfixed5_nv; +}; +pub const StructureType = enum(i32) { + application_info = 0, + instance_create_info = 1, + device_queue_create_info = 2, + device_create_info = 3, + submit_info = 4, + memory_allocate_info = 5, + mapped_memory_range = 6, + bind_sparse_info = 7, + fence_create_info = 8, + semaphore_create_info = 9, + event_create_info = 10, + query_pool_create_info = 11, + buffer_create_info = 12, + buffer_view_create_info = 13, + image_create_info = 14, + image_view_create_info = 15, + shader_module_create_info = 16, + pipeline_cache_create_info = 17, + pipeline_shader_stage_create_info = 18, + pipeline_vertex_input_state_create_info = 19, + pipeline_input_assembly_state_create_info = 20, + pipeline_tessellation_state_create_info = 21, + pipeline_viewport_state_create_info = 22, + pipeline_rasterization_state_create_info = 23, + pipeline_multisample_state_create_info = 24, + pipeline_depth_stencil_state_create_info = 25, + pipeline_color_blend_state_create_info = 26, + pipeline_dynamic_state_create_info = 27, + graphics_pipeline_create_info = 28, + compute_pipeline_create_info = 29, + pipeline_layout_create_info = 30, + sampler_create_info = 31, + descriptor_set_layout_create_info = 32, + descriptor_pool_create_info = 33, + descriptor_set_allocate_info = 34, + write_descriptor_set = 35, + copy_descriptor_set = 36, + framebuffer_create_info = 37, + render_pass_create_info = 38, + command_pool_create_info = 39, + command_buffer_allocate_info = 40, + command_buffer_inheritance_info = 41, + command_buffer_begin_info = 42, + render_pass_begin_info = 43, + buffer_memory_barrier = 44, + image_memory_barrier = 45, + memory_barrier = 46, + loader_instance_create_info = 47, + loader_device_create_info = 48, + physical_device_subgroup_properties = 1000094000, + bind_buffer_memory_info = 1000157000, + bind_image_memory_info = 1000157001, + physical_device_16bit_storage_features = 1000083000, + memory_dedicated_requirements = 1000127000, + memory_dedicated_allocate_info = 1000127001, + memory_allocate_flags_info = 1000060000, + device_group_render_pass_begin_info = 1000060003, + device_group_command_buffer_begin_info = 1000060004, + device_group_submit_info = 1000060005, + device_group_bind_sparse_info = 1000060006, + bind_buffer_memory_device_group_info = 1000060013, + bind_image_memory_device_group_info = 1000060014, + physical_device_group_properties = 1000070000, + device_group_device_create_info = 1000070001, + buffer_memory_requirements_info_2 = 1000146000, + image_memory_requirements_info_2 = 1000146001, + image_sparse_memory_requirements_info_2 = 1000146002, + memory_requirements_2 = 1000146003, + sparse_image_memory_requirements_2 = 1000146004, + physical_device_features_2 = 1000059000, + physical_device_properties_2 = 1000059001, + format_properties_2 = 1000059002, + image_format_properties_2 = 1000059003, + physical_device_image_format_info_2 = 1000059004, + queue_family_properties_2 = 1000059005, + physical_device_memory_properties_2 = 1000059006, + sparse_image_format_properties_2 = 1000059007, + physical_device_sparse_image_format_info_2 = 1000059008, + physical_device_point_clipping_properties = 1000117000, + render_pass_input_attachment_aspect_create_info = 1000117001, + image_view_usage_create_info = 1000117002, + pipeline_tessellation_domain_origin_state_create_info = 1000117003, + render_pass_multiview_create_info = 1000053000, + physical_device_multiview_features = 1000053001, + physical_device_multiview_properties = 1000053002, + physical_device_variable_pointers_features = 1000120000, + protected_submit_info = 1000145000, + physical_device_protected_memory_features = 1000145001, + physical_device_protected_memory_properties = 1000145002, + device_queue_info_2 = 1000145003, + sampler_ycbcr_conversion_create_info = 1000156000, + sampler_ycbcr_conversion_info = 1000156001, + bind_image_plane_memory_info = 1000156002, + image_plane_memory_requirements_info = 1000156003, + physical_device_sampler_ycbcr_conversion_features = 1000156004, + sampler_ycbcr_conversion_image_format_properties = 1000156005, + descriptor_update_template_create_info = 1000085000, + physical_device_external_image_format_info = 1000071000, + external_image_format_properties = 1000071001, + physical_device_external_buffer_info = 1000071002, + external_buffer_properties = 1000071003, + physical_device_id_properties = 1000071004, + external_memory_buffer_create_info = 1000072000, + external_memory_image_create_info = 1000072001, + export_memory_allocate_info = 1000072002, + physical_device_external_fence_info = 1000112000, + external_fence_properties = 1000112001, + export_fence_create_info = 1000113000, + export_semaphore_create_info = 1000077000, + physical_device_external_semaphore_info = 1000076000, + external_semaphore_properties = 1000076001, physical_device_maintenance_3_properties = 1000168000, descriptor_set_layout_support = 1000168001, physical_device_shader_draw_parameters_features = 1000063000, + physical_device_vulkan_1_1_features = 49, + physical_device_vulkan_1_1_properties = 50, + physical_device_vulkan_1_2_features = 51, + physical_device_vulkan_1_2_properties = 52, + image_format_list_create_info = 1000147000, + attachment_description_2 = 1000109000, + attachment_reference_2 = 1000109001, + subpass_description_2 = 1000109002, + subpass_dependency_2 = 1000109003, + render_pass_create_info_2 = 1000109004, + subpass_begin_info = 1000109005, + subpass_end_info = 1000109006, + physical_device_8bit_storage_features = 1000177000, + physical_device_driver_properties = 1000196000, + physical_device_shader_atomic_int64_features = 1000180000, + physical_device_shader_float16_int8_features = 1000082000, + physical_device_float_controls_properties = 1000197000, + descriptor_set_layout_binding_flags_create_info = 1000161000, + physical_device_descriptor_indexing_features = 1000161001, + physical_device_descriptor_indexing_properties = 1000161002, + descriptor_set_variable_descriptor_count_allocate_info = 1000161003, + descriptor_set_variable_descriptor_count_layout_support = 1000161004, + physical_device_depth_stencil_resolve_properties = 1000199000, + subpass_description_depth_stencil_resolve = 1000199001, + physical_device_scalar_block_layout_features = 1000221000, + image_stencil_usage_create_info = 1000246000, + physical_device_sampler_filter_minmax_properties = 1000130000, + sampler_reduction_mode_create_info = 1000130001, + physical_device_vulkan_memory_model_features = 1000211000, + physical_device_imageless_framebuffer_features = 1000108000, + framebuffer_attachments_create_info = 1000108001, + framebuffer_attachment_image_info = 1000108002, + render_pass_attachment_begin_info = 1000108003, + physical_device_uniform_buffer_standard_layout_features = 1000253000, + physical_device_shader_subgroup_extended_types_features = 1000175000, + physical_device_separate_depth_stencil_layouts_features = 1000241000, + attachment_reference_stencil_layout = 1000241001, + attachment_description_stencil_layout = 1000241002, + physical_device_host_query_reset_features = 1000261000, + physical_device_timeline_semaphore_features = 1000207000, + physical_device_timeline_semaphore_properties = 1000207001, + semaphore_type_create_info = 1000207002, + timeline_semaphore_submit_info = 1000207003, + semaphore_wait_info = 1000207004, + semaphore_signal_info = 1000207005, + physical_device_buffer_device_address_features = 1000257000, + buffer_device_address_info = 1000244001, + buffer_opaque_capture_address_create_info = 1000257002, + memory_opaque_capture_address_allocate_info = 1000257003, + device_memory_opaque_capture_address_info = 1000257004, + physical_device_vulkan_1_3_features = 53, + physical_device_vulkan_1_3_properties = 54, + pipeline_creation_feedback_create_info = 1000192000, + physical_device_shader_terminate_invocation_features = 1000215000, + physical_device_tool_properties = 1000245000, + physical_device_shader_demote_to_helper_invocation_features = 1000276000, + physical_device_private_data_features = 1000295000, + device_private_data_create_info = 1000295001, + private_data_slot_create_info = 1000295002, + physical_device_pipeline_creation_cache_control_features = 1000297000, + memory_barrier_2 = 1000314000, + buffer_memory_barrier_2 = 1000314001, + image_memory_barrier_2 = 1000314002, + dependency_info = 1000314003, + submit_info_2 = 1000314004, + semaphore_submit_info = 1000314005, + command_buffer_submit_info = 1000314006, + physical_device_synchronization_2_features = 1000314007, + physical_device_zero_initialize_workgroup_memory_features = 1000325000, + physical_device_image_robustness_features = 1000335000, + copy_buffer_info_2 = 1000337000, + copy_image_info_2 = 1000337001, + copy_buffer_to_image_info_2 = 1000337002, + copy_image_to_buffer_info_2 = 1000337003, + blit_image_info_2 = 1000337004, + resolve_image_info_2 = 1000337005, + buffer_copy_2 = 1000337006, + image_copy_2 = 1000337007, + image_blit_2 = 1000337008, + buffer_image_copy_2 = 1000337009, + image_resolve_2 = 1000337010, + physical_device_subgroup_size_control_properties = 1000225000, + pipeline_shader_stage_required_subgroup_size_create_info = 1000225001, + physical_device_subgroup_size_control_features = 1000225002, + physical_device_inline_uniform_block_features = 1000138000, + physical_device_inline_uniform_block_properties = 1000138001, + write_descriptor_set_inline_uniform_block = 1000138002, + descriptor_pool_inline_uniform_block_create_info = 1000138003, + physical_device_texture_compression_astc_hdr_features = 1000066000, + rendering_info = 1000044000, + rendering_attachment_info = 1000044001, + pipeline_rendering_create_info = 1000044002, + physical_device_dynamic_rendering_features = 1000044003, + command_buffer_inheritance_rendering_info = 1000044004, + physical_device_shader_integer_dot_product_features = 1000280000, + physical_device_shader_integer_dot_product_properties = 1000280001, + physical_device_texel_buffer_alignment_properties = 1000281001, + format_properties_3 = 1000360000, + physical_device_maintenance_4_features = 1000413000, + physical_device_maintenance_4_properties = 1000413001, + device_buffer_memory_requirements = 1000413002, + device_image_memory_requirements = 1000413003, swapchain_create_info_khr = 1000001000, present_info_khr = 1000001001, device_group_present_capabilities_khr = 1000060007, @@ -4849,16 +9614,79 @@ pub const StructureType = enum(i32) { debug_marker_object_name_info_ext = 1000022000, debug_marker_object_tag_info_ext = 1000022001, debug_marker_marker_info_ext = 1000022002, + video_profile_info_khr = 1000023000, + video_capabilities_khr = 1000023001, + video_picture_resource_info_khr = 1000023002, + video_session_memory_requirements_khr = 1000023003, + bind_video_session_memory_info_khr = 1000023004, + video_session_create_info_khr = 1000023005, + video_session_parameters_create_info_khr = 1000023006, + video_session_parameters_update_info_khr = 1000023007, + video_begin_coding_info_khr = 1000023008, + video_end_coding_info_khr = 1000023009, + video_coding_control_info_khr = 1000023010, + video_reference_slot_info_khr = 1000023011, + queue_family_video_properties_khr = 1000023012, + video_profile_list_info_khr = 1000023013, + physical_device_video_format_info_khr = 1000023014, + video_format_properties_khr = 1000023015, + queue_family_query_result_status_properties_khr = 1000023016, + video_decode_info_khr = 1000024000, + video_decode_capabilities_khr = 1000024001, + video_decode_usage_info_khr = 1000024002, dedicated_allocation_image_create_info_nv = 1000026000, dedicated_allocation_buffer_create_info_nv = 1000026001, dedicated_allocation_memory_allocate_info_nv = 1000026002, physical_device_transform_feedback_features_ext = 1000028000, physical_device_transform_feedback_properties_ext = 1000028001, pipeline_rasterization_state_stream_create_info_ext = 1000028002, + cu_module_create_info_nvx = 1000029000, + cu_function_create_info_nvx = 1000029001, + cu_launch_info_nvx = 1000029002, image_view_handle_info_nvx = 1000030000, + image_view_address_properties_nvx = 1000030001, + video_encode_h264_capabilities_khr = 1000038000, + video_encode_h264_session_parameters_create_info_khr = 1000038001, + video_encode_h264_session_parameters_add_info_khr = 1000038002, + video_encode_h264_picture_info_khr = 1000038003, + video_encode_h264_dpb_slot_info_khr = 1000038004, + video_encode_h264_nalu_slice_info_khr = 1000038005, + video_encode_h264_gop_remaining_frame_info_khr = 1000038006, + video_encode_h264_profile_info_khr = 1000038007, + video_encode_h264_rate_control_info_khr = 1000038008, + video_encode_h264_rate_control_layer_info_khr = 1000038009, + video_encode_h264_session_create_info_khr = 1000038010, + video_encode_h264_quality_level_properties_khr = 1000038011, + video_encode_h264_session_parameters_get_info_khr = 1000038012, + video_encode_h264_session_parameters_feedback_info_khr = 1000038013, + video_encode_h265_capabilities_khr = 1000039000, + video_encode_h265_session_parameters_create_info_khr = 1000039001, + video_encode_h265_session_parameters_add_info_khr = 1000039002, + video_encode_h265_picture_info_khr = 1000039003, + video_encode_h265_dpb_slot_info_khr = 1000039004, + video_encode_h265_nalu_slice_segment_info_khr = 1000039005, + video_encode_h265_gop_remaining_frame_info_khr = 1000039006, + video_encode_h265_profile_info_khr = 1000039007, + video_encode_h265_rate_control_info_khr = 1000039009, + video_encode_h265_rate_control_layer_info_khr = 1000039010, + video_encode_h265_session_create_info_khr = 1000039011, + video_encode_h265_quality_level_properties_khr = 1000039012, + video_encode_h265_session_parameters_get_info_khr = 1000039013, + video_encode_h265_session_parameters_feedback_info_khr = 1000039014, + video_decode_h264_capabilities_khr = 1000040000, + video_decode_h264_picture_info_khr = 1000040001, + video_decode_h264_profile_info_khr = 1000040003, + video_decode_h264_session_parameters_create_info_khr = 1000040004, + video_decode_h264_session_parameters_add_info_khr = 1000040005, + video_decode_h264_dpb_slot_info_khr = 1000040006, texture_lod_gather_format_properties_amd = 1000041000, + rendering_fragment_shading_rate_attachment_info_khr = 1000044006, + rendering_fragment_density_map_attachment_info_ext = 1000044007, + attachment_sample_count_info_amd = 1000044008, + multiview_per_view_attributes_info_nvx = 1000044009, stream_descriptor_surface_create_info_ggp = 1000049000, physical_device_corner_sampled_image_features_nv = 1000050000, + private_vendor_info_placeholder_offset_0_nv = 1000051000, external_memory_image_create_info_nv = 1000056000, export_memory_allocate_info_nv = 1000056001, import_memory_win32_handle_info_nv = 1000057000, @@ -4866,9 +9694,11 @@ pub const StructureType = enum(i32) { win32_keyed_mutex_acquire_release_info_nv = 1000058000, validation_flags_ext = 1000061000, vi_surface_create_info_nn = 1000062000, - physical_device_texture_compression_astc_hdr_features_ext = 1000066000, image_view_astc_decode_mode_ext = 1000067000, physical_device_astc_decode_features_ext = 1000067001, + pipeline_robustness_create_info_ext = 1000068000, + physical_device_pipeline_robustness_features_ext = 1000068001, + physical_device_pipeline_robustness_properties_ext = 1000068002, import_memory_win32_handle_info_khr = 1000073000, export_memory_win32_handle_info_khr = 1000073001, memory_win32_handle_properties_khr = 1000073002, @@ -4887,14 +9717,7 @@ pub const StructureType = enum(i32) { command_buffer_inheritance_conditional_rendering_info_ext = 1000081000, physical_device_conditional_rendering_features_ext = 1000081001, conditional_rendering_begin_info_ext = 1000081002, - physical_device_shader_float16_int8_features_khr = 1000082000, present_regions_khr = 1000084000, - object_table_create_info_nvx = 1000086000, - indirect_commands_layout_create_info_nvx = 1000086001, - cmd_process_commands_info_nvx = 1000086002, - cmd_reserve_space_for_commands_info_nvx = 1000086003, - device_generated_commands_limits_nvx = 1000086004, - device_generated_commands_features_nvx = 1000086005, pipeline_viewport_w_scaling_state_create_info_nv = 1000087000, surface_capabilities_2_ext = 1000090000, display_power_info_ext = 1000091000, @@ -4911,17 +9734,7 @@ pub const StructureType = enum(i32) { physical_device_depth_clip_enable_features_ext = 1000102000, pipeline_rasterization_depth_clip_state_create_info_ext = 1000102001, hdr_metadata_ext = 1000105000, - physical_device_imageless_framebuffer_features_khr = 1000108000, - framebuffer_attachments_create_info_khr = 1000108001, - framebuffer_attachment_image_info_khr = 1000108002, - render_pass_attachment_begin_info_khr = 1000108003, - attachment_description_2_khr = 1000109000, - attachment_reference_2_khr = 1000109001, - subpass_description_2_khr = 1000109002, - subpass_dependency_2_khr = 1000109003, - render_pass_create_info_2_khr = 1000109004, - subpass_begin_info_khr = 1000109005, - subpass_end_info_khr = 1000109006, + physical_device_relaxed_line_rasterization_features_img = 1000110000, shared_present_surface_capabilities_khr = 1000111000, import_fence_win32_handle_info_khr = 1000114000, export_fence_win32_handle_info_khr = 1000114001, @@ -4956,38 +9769,55 @@ pub const StructureType = enum(i32) { import_android_hardware_buffer_info_android = 1000129003, memory_get_android_hardware_buffer_info_android = 1000129004, external_format_android = 1000129005, - physical_device_sampler_filter_minmax_properties_ext = 1000130000, - sampler_reduction_mode_create_info_ext = 1000130001, - physical_device_inline_uniform_block_features_ext = 1000138000, - physical_device_inline_uniform_block_properties_ext = 1000138001, - write_descriptor_set_inline_uniform_block_ext = 1000138002, - descriptor_pool_inline_uniform_block_create_info_ext = 1000138003, + android_hardware_buffer_format_properties_2_android = 1000129006, + physical_device_shader_enqueue_features_amdx = 1000134000, + physical_device_shader_enqueue_properties_amdx = 1000134001, + execution_graph_pipeline_scratch_size_amdx = 1000134002, + execution_graph_pipeline_create_info_amdx = 1000134003, + pipeline_shader_stage_node_create_info_amdx = 1000134004, sample_locations_info_ext = 1000143000, render_pass_sample_locations_begin_info_ext = 1000143001, pipeline_sample_locations_state_create_info_ext = 1000143002, physical_device_sample_locations_properties_ext = 1000143003, multisample_properties_ext = 1000143004, - image_format_list_create_info_khr = 1000147000, physical_device_blend_operation_advanced_features_ext = 1000148000, physical_device_blend_operation_advanced_properties_ext = 1000148001, pipeline_color_blend_advanced_state_create_info_ext = 1000148002, pipeline_coverage_to_color_state_create_info_nv = 1000149000, + write_descriptor_set_acceleration_structure_khr = 1000150007, + acceleration_structure_build_geometry_info_khr = 1000150000, + acceleration_structure_device_address_info_khr = 1000150002, + acceleration_structure_geometry_aabbs_data_khr = 1000150003, + acceleration_structure_geometry_instances_data_khr = 1000150004, + acceleration_structure_geometry_triangles_data_khr = 1000150005, + acceleration_structure_geometry_khr = 1000150006, + acceleration_structure_version_info_khr = 1000150009, + copy_acceleration_structure_info_khr = 1000150010, + copy_acceleration_structure_to_memory_info_khr = 1000150011, + copy_memory_to_acceleration_structure_info_khr = 1000150012, + physical_device_acceleration_structure_features_khr = 1000150013, + physical_device_acceleration_structure_properties_khr = 1000150014, + acceleration_structure_create_info_khr = 1000150017, + acceleration_structure_build_sizes_info_khr = 1000150020, + physical_device_ray_tracing_pipeline_features_khr = 1000347000, + physical_device_ray_tracing_pipeline_properties_khr = 1000347001, + ray_tracing_pipeline_create_info_khr = 1000150015, + ray_tracing_shader_group_create_info_khr = 1000150016, + ray_tracing_pipeline_interface_create_info_khr = 1000150018, + physical_device_ray_query_features_khr = 1000348013, pipeline_coverage_modulation_state_create_info_nv = 1000152000, physical_device_shader_sm_builtins_features_nv = 1000154000, physical_device_shader_sm_builtins_properties_nv = 1000154001, drm_format_modifier_properties_list_ext = 1000158000, - drm_format_modifier_properties_ext = 1000158001, physical_device_image_drm_format_modifier_info_ext = 1000158002, image_drm_format_modifier_list_create_info_ext = 1000158003, image_drm_format_modifier_explicit_create_info_ext = 1000158004, image_drm_format_modifier_properties_ext = 1000158005, + drm_format_modifier_properties_list_2_ext = 1000158006, validation_cache_create_info_ext = 1000160000, shader_module_validation_cache_create_info_ext = 1000160001, - descriptor_set_layout_binding_flags_create_info_ext = 1000161000, - physical_device_descriptor_indexing_features_ext = 1000161001, - physical_device_descriptor_indexing_properties_ext = 1000161002, - descriptor_set_variable_descriptor_count_allocate_info_ext = 1000161003, - descriptor_set_variable_descriptor_count_layout_support_ext = 1000161004, + physical_device_portability_subset_features_khr = 1000163000, + physical_device_portability_subset_properties_khr = 1000163001, pipeline_viewport_shading_rate_image_state_create_info_nv = 1000164000, physical_device_shading_rate_image_features_nv = 1000164001, physical_device_shading_rate_image_properties_nv = 1000164002, @@ -5007,50 +9837,39 @@ pub const StructureType = enum(i32) { pipeline_representative_fragment_test_state_create_info_nv = 1000166001, physical_device_image_view_image_format_info_ext = 1000170000, filter_cubic_image_view_image_format_properties_ext = 1000170001, - device_queue_global_priority_create_info_ext = 1000174000, - physical_device_shader_subgroup_extended_types_features_khr = 1000175000, - physical_device_8bit_storage_features_khr = 1000177000, import_memory_host_pointer_info_ext = 1000178000, memory_host_pointer_properties_ext = 1000178001, physical_device_external_memory_host_properties_ext = 1000178002, - physical_device_shader_atomic_int64_features_khr = 1000180000, physical_device_shader_clock_features_khr = 1000181000, pipeline_compiler_control_create_info_amd = 1000183000, - calibrated_timestamp_info_ext = 1000184000, physical_device_shader_core_properties_amd = 1000185000, + video_decode_h265_capabilities_khr = 1000187000, + video_decode_h265_session_parameters_create_info_khr = 1000187001, + video_decode_h265_session_parameters_add_info_khr = 1000187002, + video_decode_h265_profile_info_khr = 1000187003, + video_decode_h265_picture_info_khr = 1000187004, + video_decode_h265_dpb_slot_info_khr = 1000187005, + device_queue_global_priority_create_info_khr = 1000174000, + physical_device_global_priority_query_features_khr = 1000388000, + queue_family_global_priority_properties_khr = 1000388001, device_memory_overallocation_create_info_amd = 1000189000, physical_device_vertex_attribute_divisor_properties_ext = 1000190000, - pipeline_vertex_input_divisor_state_create_info_ext = 1000190001, - physical_device_vertex_attribute_divisor_features_ext = 1000190002, present_frame_token_ggp = 1000191000, - pipeline_creation_feedback_create_info_ext = 1000192000, - physical_device_driver_properties_khr = 1000196000, - physical_device_float_controls_properties_khr = 1000197000, - physical_device_depth_stencil_resolve_properties_khr = 1000199000, - subpass_description_depth_stencil_resolve_khr = 1000199001, physical_device_compute_shader_derivatives_features_nv = 1000201000, physical_device_mesh_shader_features_nv = 1000202000, physical_device_mesh_shader_properties_nv = 1000202001, - physical_device_fragment_shader_barycentric_features_nv = 1000203000, physical_device_shader_image_footprint_features_nv = 1000204000, pipeline_viewport_exclusive_scissor_state_create_info_nv = 1000205000, physical_device_exclusive_scissor_features_nv = 1000205002, checkpoint_data_nv = 1000206000, queue_family_checkpoint_properties_nv = 1000206001, - physical_device_timeline_semaphore_features_khr = 1000207000, - physical_device_timeline_semaphore_properties_khr = 1000207001, - semaphore_type_create_info_khr = 1000207002, - timeline_semaphore_submit_info_khr = 1000207003, - semaphore_wait_info_khr = 1000207004, - semaphore_signal_info_khr = 1000207005, physical_device_shader_integer_functions_2_features_intel = 1000209000, - query_pool_create_info_intel = 1000210000, + query_pool_performance_query_create_info_intel = 1000210000, initialize_performance_api_info_intel = 1000210001, performance_marker_info_intel = 1000210002, performance_stream_marker_info_intel = 1000210003, performance_override_info_intel = 1000210004, performance_configuration_acquire_info_intel = 1000210005, - physical_device_vulkan_memory_model_features_khr = 1000211000, physical_device_pci_bus_info_properties_ext = 1000212000, display_native_hdr_surface_capabilities_amd = 1000213000, swapchain_display_native_hdr_create_info_amd = 1000213001, @@ -5059,25 +9878,27 @@ pub const StructureType = enum(i32) { physical_device_fragment_density_map_features_ext = 1000218000, physical_device_fragment_density_map_properties_ext = 1000218001, render_pass_fragment_density_map_create_info_ext = 1000218002, - physical_device_scalar_block_layout_features_ext = 1000221000, - physical_device_subgroup_size_control_properties_ext = 1000225000, - pipeline_shader_stage_required_subgroup_size_create_info_ext = 1000225001, - physical_device_subgroup_size_control_features_ext = 1000225002, + fragment_shading_rate_attachment_info_khr = 1000226000, + pipeline_fragment_shading_rate_state_create_info_khr = 1000226001, + physical_device_fragment_shading_rate_properties_khr = 1000226002, + physical_device_fragment_shading_rate_features_khr = 1000226003, + physical_device_fragment_shading_rate_khr = 1000226004, physical_device_shader_core_properties_2_amd = 1000227000, physical_device_coherent_memory_features_amd = 1000229000, + physical_device_dynamic_rendering_local_read_features_khr = 1000232000, + rendering_attachment_location_info_khr = 1000232001, + rendering_input_attachment_index_info_khr = 1000232002, + physical_device_shader_image_atomic_int64_features_ext = 1000234000, + physical_device_shader_quad_control_features_khr = 1000235000, physical_device_memory_budget_properties_ext = 1000237000, physical_device_memory_priority_features_ext = 1000238000, memory_priority_allocate_info_ext = 1000238001, surface_protected_capabilities_khr = 1000239000, physical_device_dedicated_allocation_image_aliasing_features_nv = 1000240000, - physical_device_separate_depth_stencil_layouts_features_khr = 1000241000, - attachment_reference_stencil_layout_khr = 1000241001, - attachment_description_stencil_layout_khr = 1000241002, physical_device_buffer_device_address_features_ext = 1000244000, buffer_device_address_create_info_ext = 1000244002, - physical_device_tool_properties_ext = 1000245000, - image_stencil_usage_create_info_ext = 1000246000, validation_features_ext = 1000247000, + physical_device_present_wait_features_khr = 1000248000, physical_device_cooperative_matrix_features_nv = 1000249000, cooperative_matrix_properties_nv = 1000249001, physical_device_cooperative_matrix_properties_nv = 1000249002, @@ -5086,215 +9907,2824 @@ pub const StructureType = enum(i32) { framebuffer_mixed_samples_combination_nv = 1000250002, physical_device_fragment_shader_interlock_features_ext = 1000251000, physical_device_ycbcr_image_arrays_features_ext = 1000252000, - physical_device_uniform_buffer_standard_layout_features_khr = 1000253000, + physical_device_provoking_vertex_features_ext = 1000254000, + pipeline_rasterization_provoking_vertex_state_create_info_ext = 1000254001, + physical_device_provoking_vertex_properties_ext = 1000254002, surface_full_screen_exclusive_info_ext = 1000255000, surface_capabilities_full_screen_exclusive_ext = 1000255002, surface_full_screen_exclusive_win32_info_ext = 1000255001, headless_surface_create_info_ext = 1000256000, - physical_device_buffer_device_address_features_khr = 1000257000, - buffer_device_address_info_khr = 1000244001, - buffer_opaque_capture_address_create_info_khr = 1000257002, - memory_opaque_capture_address_allocate_info_khr = 1000257003, - device_memory_opaque_capture_address_info_khr = 1000257004, - physical_device_line_rasterization_features_ext = 1000259000, - pipeline_rasterization_line_state_create_info_ext = 1000259001, - physical_device_line_rasterization_properties_ext = 1000259002, - physical_device_host_query_reset_features_ext = 1000261000, - physical_device_index_type_uint8_features_ext = 1000265000, + physical_device_shader_atomic_float_features_ext = 1000260000, + physical_device_extended_dynamic_state_features_ext = 1000267000, physical_device_pipeline_executable_properties_features_khr = 1000269000, pipeline_info_khr = 1000269001, pipeline_executable_properties_khr = 1000269002, pipeline_executable_info_khr = 1000269003, pipeline_executable_statistic_khr = 1000269004, pipeline_executable_internal_representation_khr = 1000269005, - physical_device_shader_demote_to_helper_invocation_features_ext = 1000276000, + physical_device_host_image_copy_features_ext = 1000270000, + physical_device_host_image_copy_properties_ext = 1000270001, + memory_to_image_copy_ext = 1000270002, + image_to_memory_copy_ext = 1000270003, + copy_image_to_memory_info_ext = 1000270004, + copy_memory_to_image_info_ext = 1000270005, + host_image_layout_transition_info_ext = 1000270006, + copy_image_to_image_info_ext = 1000270007, + subresource_host_memcpy_size_ext = 1000270008, + host_image_copy_device_performance_query_ext = 1000270009, + memory_map_info_khr = 1000271000, + memory_unmap_info_khr = 1000271001, + physical_device_map_memory_placed_features_ext = 1000272000, + physical_device_map_memory_placed_properties_ext = 1000272001, + memory_map_placed_info_ext = 1000272002, + physical_device_shader_atomic_float_2_features_ext = 1000273000, + surface_present_mode_ext = 1000274000, + surface_present_scaling_capabilities_ext = 1000274001, + surface_present_mode_compatibility_ext = 1000274002, + physical_device_swapchain_maintenance_1_features_ext = 1000275000, + swapchain_present_fence_info_ext = 1000275001, + swapchain_present_modes_create_info_ext = 1000275002, + swapchain_present_mode_info_ext = 1000275003, + swapchain_present_scaling_create_info_ext = 1000275004, + release_swapchain_images_info_ext = 1000275005, + physical_device_device_generated_commands_properties_nv = 1000277000, + graphics_shader_group_create_info_nv = 1000277001, + graphics_pipeline_shader_groups_create_info_nv = 1000277002, + indirect_commands_layout_token_nv = 1000277003, + indirect_commands_layout_create_info_nv = 1000277004, + generated_commands_info_nv = 1000277005, + generated_commands_memory_requirements_info_nv = 1000277006, + physical_device_device_generated_commands_features_nv = 1000277007, + physical_device_inherited_viewport_scissor_features_nv = 1000278000, + command_buffer_inheritance_viewport_scissor_info_nv = 1000278001, physical_device_texel_buffer_alignment_features_ext = 1000281000, - physical_device_texel_buffer_alignment_properties_ext = 1000281001, + command_buffer_inheritance_render_pass_transform_info_qcom = 1000282000, + render_pass_transform_begin_info_qcom = 1000282001, + physical_device_depth_bias_control_features_ext = 1000283000, + depth_bias_info_ext = 1000283001, + depth_bias_representation_info_ext = 1000283002, + physical_device_device_memory_report_features_ext = 1000284000, + device_device_memory_report_create_info_ext = 1000284001, + device_memory_report_callback_data_ext = 1000284002, + physical_device_robustness_2_features_ext = 1000286000, + physical_device_robustness_2_properties_ext = 1000286001, + sampler_custom_border_color_create_info_ext = 1000287000, + physical_device_custom_border_color_properties_ext = 1000287001, + physical_device_custom_border_color_features_ext = 1000287002, + pipeline_library_create_info_khr = 1000290000, + physical_device_present_barrier_features_nv = 1000292000, + surface_capabilities_present_barrier_nv = 1000292001, + swapchain_present_barrier_create_info_nv = 1000292002, + present_id_khr = 1000294000, + physical_device_present_id_features_khr = 1000294001, + video_encode_info_khr = 1000299000, + video_encode_rate_control_info_khr = 1000299001, + video_encode_rate_control_layer_info_khr = 1000299002, + video_encode_capabilities_khr = 1000299003, + video_encode_usage_info_khr = 1000299004, + query_pool_video_encode_feedback_create_info_khr = 1000299005, + physical_device_video_encode_quality_level_info_khr = 1000299006, + video_encode_quality_level_properties_khr = 1000299007, + video_encode_quality_level_info_khr = 1000299008, + video_encode_session_parameters_get_info_khr = 1000299009, + video_encode_session_parameters_feedback_info_khr = 1000299010, + physical_device_diagnostics_config_features_nv = 1000300000, + device_diagnostics_config_create_info_nv = 1000300001, + cuda_module_create_info_nv = 1000307000, + cuda_function_create_info_nv = 1000307001, + cuda_launch_info_nv = 1000307002, + physical_device_cuda_kernel_launch_features_nv = 1000307003, + physical_device_cuda_kernel_launch_properties_nv = 1000307004, + refresh_object_list_khr = 1000308000, + query_low_latency_support_nv = 1000310000, + export_metal_object_create_info_ext = 1000311000, + export_metal_objects_info_ext = 1000311001, + export_metal_device_info_ext = 1000311002, + export_metal_command_queue_info_ext = 1000311003, + export_metal_buffer_info_ext = 1000311004, + import_metal_buffer_info_ext = 1000311005, + export_metal_texture_info_ext = 1000311006, + import_metal_texture_info_ext = 1000311007, + export_metal_io_surface_info_ext = 1000311008, + import_metal_io_surface_info_ext = 1000311009, + export_metal_shared_event_info_ext = 1000311010, + import_metal_shared_event_info_ext = 1000311011, + queue_family_checkpoint_properties_2_nv = 1000314008, + checkpoint_data_2_nv = 1000314009, + physical_device_descriptor_buffer_properties_ext = 1000316000, + physical_device_descriptor_buffer_density_map_properties_ext = 1000316001, + physical_device_descriptor_buffer_features_ext = 1000316002, + descriptor_address_info_ext = 1000316003, + descriptor_get_info_ext = 1000316004, + buffer_capture_descriptor_data_info_ext = 1000316005, + image_capture_descriptor_data_info_ext = 1000316006, + image_view_capture_descriptor_data_info_ext = 1000316007, + sampler_capture_descriptor_data_info_ext = 1000316008, + opaque_capture_descriptor_data_create_info_ext = 1000316010, + descriptor_buffer_binding_info_ext = 1000316011, + descriptor_buffer_binding_push_descriptor_buffer_handle_ext = 1000316012, + acceleration_structure_capture_descriptor_data_info_ext = 1000316009, + physical_device_graphics_pipeline_library_features_ext = 1000320000, + physical_device_graphics_pipeline_library_properties_ext = 1000320001, + graphics_pipeline_library_create_info_ext = 1000320002, + physical_device_shader_early_and_late_fragment_tests_features_amd = 1000321000, + physical_device_fragment_shader_barycentric_features_khr = 1000203000, + physical_device_fragment_shader_barycentric_properties_khr = 1000322000, + physical_device_shader_subgroup_uniform_control_flow_features_khr = 1000323000, + physical_device_fragment_shading_rate_enums_properties_nv = 1000326000, + physical_device_fragment_shading_rate_enums_features_nv = 1000326001, + pipeline_fragment_shading_rate_enum_state_create_info_nv = 1000326002, + acceleration_structure_geometry_motion_triangles_data_nv = 1000327000, + physical_device_ray_tracing_motion_blur_features_nv = 1000327001, + acceleration_structure_motion_info_nv = 1000327002, + physical_device_mesh_shader_features_ext = 1000328000, + physical_device_mesh_shader_properties_ext = 1000328001, + physical_device_ycbcr_2_plane_444_formats_features_ext = 1000330000, + physical_device_fragment_density_map_2_features_ext = 1000332000, + physical_device_fragment_density_map_2_properties_ext = 1000332001, + copy_command_transform_info_qcom = 1000333000, + physical_device_workgroup_memory_explicit_layout_features_khr = 1000336000, + physical_device_image_compression_control_features_ext = 1000338000, + image_compression_control_ext = 1000338001, + image_compression_properties_ext = 1000338004, + physical_device_attachment_feedback_loop_layout_features_ext = 1000339000, + physical_device_4444_formats_features_ext = 1000340000, + physical_device_fault_features_ext = 1000341000, + device_fault_counts_ext = 1000341001, + device_fault_info_ext = 1000341002, + physical_device_rgba10x6_formats_features_ext = 1000344000, + directfb_surface_create_info_ext = 1000346000, + physical_device_vertex_input_dynamic_state_features_ext = 1000352000, + vertex_input_binding_description_2_ext = 1000352001, + vertex_input_attribute_description_2_ext = 1000352002, + physical_device_drm_properties_ext = 1000353000, + physical_device_address_binding_report_features_ext = 1000354000, + device_address_binding_callback_data_ext = 1000354001, + physical_device_depth_clip_control_features_ext = 1000355000, + pipeline_viewport_depth_clip_control_create_info_ext = 1000355001, + physical_device_primitive_topology_list_restart_features_ext = 1000356000, + import_memory_zircon_handle_info_fuchsia = 1000364000, + memory_zircon_handle_properties_fuchsia = 1000364001, + memory_get_zircon_handle_info_fuchsia = 1000364002, + import_semaphore_zircon_handle_info_fuchsia = 1000365000, + semaphore_get_zircon_handle_info_fuchsia = 1000365001, + buffer_collection_create_info_fuchsia = 1000366000, + import_memory_buffer_collection_fuchsia = 1000366001, + buffer_collection_image_create_info_fuchsia = 1000366002, + buffer_collection_properties_fuchsia = 1000366003, + buffer_constraints_info_fuchsia = 1000366004, + buffer_collection_buffer_create_info_fuchsia = 1000366005, + image_constraints_info_fuchsia = 1000366006, + image_format_constraints_info_fuchsia = 1000366007, + sysmem_color_space_fuchsia = 1000366008, + buffer_collection_constraints_info_fuchsia = 1000366009, + subpass_shading_pipeline_create_info_huawei = 1000369000, + physical_device_subpass_shading_features_huawei = 1000369001, + physical_device_subpass_shading_properties_huawei = 1000369002, + physical_device_invocation_mask_features_huawei = 1000370000, + memory_get_remote_address_info_nv = 1000371000, + physical_device_external_memory_rdma_features_nv = 1000371001, + pipeline_properties_identifier_ext = 1000372000, + physical_device_pipeline_properties_features_ext = 1000372001, + import_fence_sci_sync_info_nv = 1000373000, + export_fence_sci_sync_info_nv = 1000373001, + fence_get_sci_sync_info_nv = 1000373002, + sci_sync_attributes_info_nv = 1000373003, + import_semaphore_sci_sync_info_nv = 1000373004, + export_semaphore_sci_sync_info_nv = 1000373005, + semaphore_get_sci_sync_info_nv = 1000373006, + physical_device_external_sci_sync_features_nv = 1000373007, + import_memory_sci_buf_info_nv = 1000374000, + export_memory_sci_buf_info_nv = 1000374001, + memory_get_sci_buf_info_nv = 1000374002, + memory_sci_buf_properties_nv = 1000374003, + physical_device_external_memory_sci_buf_features_nv = 1000374004, + physical_device_frame_boundary_features_ext = 1000375000, + frame_boundary_ext = 1000375001, + physical_device_multisampled_render_to_single_sampled_features_ext = 1000376000, + subpass_resolve_performance_query_ext = 1000376001, + multisampled_render_to_single_sampled_info_ext = 1000376002, + physical_device_extended_dynamic_state_2_features_ext = 1000377000, + screen_surface_create_info_qnx = 1000378000, + physical_device_color_write_enable_features_ext = 1000381000, + pipeline_color_write_create_info_ext = 1000381001, + physical_device_primitives_generated_query_features_ext = 1000382000, + physical_device_ray_tracing_maintenance_1_features_khr = 1000386000, + physical_device_image_view_min_lod_features_ext = 1000391000, + image_view_min_lod_create_info_ext = 1000391001, + physical_device_multi_draw_features_ext = 1000392000, + physical_device_multi_draw_properties_ext = 1000392001, + physical_device_image_2d_view_of_3d_features_ext = 1000393000, + physical_device_shader_tile_image_features_ext = 1000395000, + physical_device_shader_tile_image_properties_ext = 1000395001, + micromap_build_info_ext = 1000396000, + micromap_version_info_ext = 1000396001, + copy_micromap_info_ext = 1000396002, + copy_micromap_to_memory_info_ext = 1000396003, + copy_memory_to_micromap_info_ext = 1000396004, + physical_device_opacity_micromap_features_ext = 1000396005, + physical_device_opacity_micromap_properties_ext = 1000396006, + micromap_create_info_ext = 1000396007, + micromap_build_sizes_info_ext = 1000396008, + acceleration_structure_triangles_opacity_micromap_ext = 1000396009, + physical_device_displacement_micromap_features_nv = 1000397000, + physical_device_displacement_micromap_properties_nv = 1000397001, + acceleration_structure_triangles_displacement_micromap_nv = 1000397002, + physical_device_cluster_culling_shader_features_huawei = 1000404000, + physical_device_cluster_culling_shader_properties_huawei = 1000404001, + physical_device_cluster_culling_shader_vrs_features_huawei = 1000404002, + physical_device_border_color_swizzle_features_ext = 1000411000, + sampler_border_color_component_mapping_create_info_ext = 1000411001, + physical_device_pageable_device_local_memory_features_ext = 1000412000, + physical_device_shader_core_properties_arm = 1000415000, + physical_device_shader_subgroup_rotate_features_khr = 1000416000, + device_queue_shader_core_control_create_info_arm = 1000417000, + physical_device_scheduling_controls_features_arm = 1000417001, + physical_device_scheduling_controls_properties_arm = 1000417002, + physical_device_image_sliced_view_of_3d_features_ext = 1000418000, + image_view_sliced_create_info_ext = 1000418001, + physical_device_descriptor_set_host_mapping_features_valve = 1000420000, + descriptor_set_binding_reference_valve = 1000420001, + descriptor_set_layout_host_mapping_info_valve = 1000420002, + physical_device_depth_clamp_zero_one_features_ext = 1000421000, + physical_device_non_seamless_cube_map_features_ext = 1000422000, + physical_device_render_pass_striped_features_arm = 1000424000, + physical_device_render_pass_striped_properties_arm = 1000424001, + render_pass_stripe_begin_info_arm = 1000424002, + render_pass_stripe_info_arm = 1000424003, + render_pass_stripe_submit_info_arm = 1000424004, + physical_device_fragment_density_map_offset_features_qcom = 1000425000, + physical_device_fragment_density_map_offset_properties_qcom = 1000425001, + subpass_fragment_density_map_offset_end_info_qcom = 1000425002, + physical_device_copy_memory_indirect_features_nv = 1000426000, + physical_device_copy_memory_indirect_properties_nv = 1000426001, + physical_device_memory_decompression_features_nv = 1000427000, + physical_device_memory_decompression_properties_nv = 1000427001, + physical_device_device_generated_commands_compute_features_nv = 1000428000, + compute_pipeline_indirect_buffer_info_nv = 1000428001, + pipeline_indirect_device_address_info_nv = 1000428002, + physical_device_linear_color_attachment_features_nv = 1000430000, + physical_device_shader_maximal_reconvergence_features_khr = 1000434000, + application_parameters_ext = 1000435000, + physical_device_image_compression_control_swapchain_features_ext = 1000437000, + physical_device_image_processing_features_qcom = 1000440000, + physical_device_image_processing_properties_qcom = 1000440001, + image_view_sample_weight_create_info_qcom = 1000440002, + physical_device_nested_command_buffer_features_ext = 1000451000, + physical_device_nested_command_buffer_properties_ext = 1000451001, + external_memory_acquire_unmodified_ext = 1000453000, + physical_device_extended_dynamic_state_3_features_ext = 1000455000, + physical_device_extended_dynamic_state_3_properties_ext = 1000455001, + physical_device_subpass_merge_feedback_features_ext = 1000458000, + render_pass_creation_control_ext = 1000458001, + render_pass_creation_feedback_create_info_ext = 1000458002, + render_pass_subpass_feedback_create_info_ext = 1000458003, + direct_driver_loading_info_lunarg = 1000459000, + direct_driver_loading_list_lunarg = 1000459001, + physical_device_shader_module_identifier_features_ext = 1000462000, + physical_device_shader_module_identifier_properties_ext = 1000462001, + pipeline_shader_stage_module_identifier_create_info_ext = 1000462002, + shader_module_identifier_ext = 1000462003, + physical_device_rasterization_order_attachment_access_features_ext = 1000342000, + physical_device_optical_flow_features_nv = 1000464000, + physical_device_optical_flow_properties_nv = 1000464001, + optical_flow_image_format_info_nv = 1000464002, + optical_flow_image_format_properties_nv = 1000464003, + optical_flow_session_create_info_nv = 1000464004, + optical_flow_execute_info_nv = 1000464005, + optical_flow_session_create_private_data_info_nv = 1000464010, + physical_device_legacy_dithering_features_ext = 1000465000, + physical_device_pipeline_protected_access_features_ext = 1000466000, + physical_device_external_format_resolve_features_android = 1000468000, + physical_device_external_format_resolve_properties_android = 1000468001, + android_hardware_buffer_format_resolve_properties_android = 1000468002, + physical_device_maintenance_5_features_khr = 1000470000, + physical_device_maintenance_5_properties_khr = 1000470001, + rendering_area_info_khr = 1000470003, + device_image_subresource_info_khr = 1000470004, + subresource_layout_2_khr = 1000338002, + image_subresource_2_khr = 1000338003, + pipeline_create_flags_2_create_info_khr = 1000470005, + buffer_usage_flags_2_create_info_khr = 1000470006, + physical_device_ray_tracing_position_fetch_features_khr = 1000481000, + physical_device_shader_object_features_ext = 1000482000, + physical_device_shader_object_properties_ext = 1000482001, + shader_create_info_ext = 1000482002, + physical_device_tile_properties_features_qcom = 1000484000, + tile_properties_qcom = 1000484001, + physical_device_amigo_profiling_features_sec = 1000485000, + amigo_profiling_submit_info_sec = 1000485001, + physical_device_multiview_per_view_viewports_features_qcom = 1000488000, + semaphore_sci_sync_pool_create_info_nv = 1000489000, + semaphore_sci_sync_create_info_nv = 1000489001, + physical_device_external_sci_sync_2_features_nv = 1000489002, + physical_device_ray_tracing_invocation_reorder_features_nv = 1000490000, + physical_device_ray_tracing_invocation_reorder_properties_nv = 1000490001, + physical_device_extended_sparse_address_space_features_nv = 1000492000, + physical_device_extended_sparse_address_space_properties_nv = 1000492001, + physical_device_mutable_descriptor_type_features_ext = 1000351000, + mutable_descriptor_type_create_info_ext = 1000351002, + physical_device_legacy_vertex_attributes_features_ext = 1000495000, + physical_device_legacy_vertex_attributes_properties_ext = 1000495001, + layer_settings_create_info_ext = 1000496000, + physical_device_shader_core_builtins_features_arm = 1000497000, + physical_device_shader_core_builtins_properties_arm = 1000497001, + physical_device_pipeline_library_group_handles_features_ext = 1000498000, + physical_device_dynamic_rendering_unused_attachments_features_ext = 1000499000, + latency_sleep_mode_info_nv = 1000505000, + latency_sleep_info_nv = 1000505001, + set_latency_marker_info_nv = 1000505002, + get_latency_marker_info_nv = 1000505003, + latency_timings_frame_report_nv = 1000505004, + latency_submission_present_id_nv = 1000505005, + out_of_band_queue_type_info_nv = 1000505006, + swapchain_latency_create_info_nv = 1000505007, + latency_surface_capabilities_nv = 1000505008, + physical_device_cooperative_matrix_features_khr = 1000506000, + cooperative_matrix_properties_khr = 1000506001, + physical_device_cooperative_matrix_properties_khr = 1000506002, + physical_device_multiview_per_view_render_areas_features_qcom = 1000510000, + multiview_per_view_render_areas_render_pass_begin_info_qcom = 1000510001, + video_decode_av1_capabilities_khr = 1000512000, + video_decode_av1_picture_info_khr = 1000512001, + video_decode_av1_profile_info_khr = 1000512003, + video_decode_av1_session_parameters_create_info_khr = 1000512004, + video_decode_av1_dpb_slot_info_khr = 1000512005, + physical_device_video_maintenance_1_features_khr = 1000515000, + video_inline_query_info_khr = 1000515001, + physical_device_per_stage_descriptor_set_features_nv = 1000516000, + physical_device_image_processing_2_features_qcom = 1000518000, + physical_device_image_processing_2_properties_qcom = 1000518001, + sampler_block_match_window_create_info_qcom = 1000518002, + sampler_cubic_weights_create_info_qcom = 1000519000, + physical_device_cubic_weights_features_qcom = 1000519001, + blit_image_cubic_weights_info_qcom = 1000519002, + physical_device_ycbcr_degamma_features_qcom = 1000520000, + sampler_ycbcr_conversion_ycbcr_degamma_create_info_qcom = 1000520001, + physical_device_cubic_clamp_features_qcom = 1000521000, + physical_device_attachment_feedback_loop_dynamic_state_features_ext = 1000524000, + physical_device_vertex_attribute_divisor_properties_khr = 1000525000, + pipeline_vertex_input_divisor_state_create_info_khr = 1000190001, + physical_device_vertex_attribute_divisor_features_khr = 1000190002, + physical_device_shader_float_controls_2_features_khr = 1000528000, + screen_buffer_properties_qnx = 1000529000, + screen_buffer_format_properties_qnx = 1000529001, + import_screen_buffer_info_qnx = 1000529002, + external_format_qnx = 1000529003, + physical_device_external_memory_screen_buffer_features_qnx = 1000529004, + physical_device_layered_driver_properties_msft = 1000530000, + physical_device_index_type_uint8_features_khr = 1000265000, + physical_device_line_rasterization_features_khr = 1000259000, + pipeline_rasterization_line_state_create_info_khr = 1000259001, + physical_device_line_rasterization_properties_khr = 1000259002, + calibrated_timestamp_info_khr = 1000184000, + physical_device_shader_expect_assume_features_khr = 1000544000, + physical_device_maintenance_6_features_khr = 1000545000, + physical_device_maintenance_6_properties_khr = 1000545001, + bind_memory_status_khr = 1000545002, + bind_descriptor_sets_info_khr = 1000545003, + push_constants_info_khr = 1000545004, + push_descriptor_set_info_khr = 1000545005, + push_descriptor_set_with_template_info_khr = 1000545006, + set_descriptor_buffer_offsets_info_ext = 1000545007, + bind_descriptor_buffer_embedded_samplers_info_ext = 1000545008, + physical_device_descriptor_pool_overallocation_features_nv = 1000546000, + physical_device_raw_access_chains_features_nv = 1000555000, + physical_device_shader_atomic_float16_vector_features_nv = 1000563000, + physical_device_shader_replicated_composites_features_ext = 1000564000, + physical_device_ray_tracing_validation_features_nv = 1000568000, + physical_device_image_alignment_control_features_mesa = 1000575000, + physical_device_image_alignment_control_properties_mesa = 1000575001, + image_alignment_control_create_info_mesa = 1000575002, + _, + pub const physical_device_variable_pointer_features = StructureType.physical_device_variable_pointers_features; + pub const physical_device_shader_draw_parameter_features = StructureType.physical_device_shader_draw_parameters_features; + pub const debug_report_create_info_ext = StructureType.debug_report_callback_create_info_ext; + pub const rendering_info_khr = StructureType.rendering_info; + pub const rendering_attachment_info_khr = StructureType.rendering_attachment_info; + pub const pipeline_rendering_create_info_khr = StructureType.pipeline_rendering_create_info; + pub const physical_device_dynamic_rendering_features_khr = StructureType.physical_device_dynamic_rendering_features; + pub const command_buffer_inheritance_rendering_info_khr = StructureType.command_buffer_inheritance_rendering_info; + pub const attachment_sample_count_info_nv = StructureType.attachment_sample_count_info_amd; + pub const render_pass_multiview_create_info_khr = StructureType.render_pass_multiview_create_info; + pub const physical_device_multiview_features_khr = StructureType.physical_device_multiview_features; + pub const physical_device_multiview_properties_khr = StructureType.physical_device_multiview_properties; + pub const physical_device_features_2_khr = StructureType.physical_device_features_2; + pub const physical_device_properties_2_khr = StructureType.physical_device_properties_2; + pub const format_properties_2_khr = StructureType.format_properties_2; + pub const image_format_properties_2_khr = StructureType.image_format_properties_2; + pub const physical_device_image_format_info_2_khr = StructureType.physical_device_image_format_info_2; + pub const queue_family_properties_2_khr = StructureType.queue_family_properties_2; + pub const physical_device_memory_properties_2_khr = StructureType.physical_device_memory_properties_2; + pub const sparse_image_format_properties_2_khr = StructureType.sparse_image_format_properties_2; + pub const physical_device_sparse_image_format_info_2_khr = StructureType.physical_device_sparse_image_format_info_2; + pub const memory_allocate_flags_info_khr = StructureType.memory_allocate_flags_info; + pub const device_group_render_pass_begin_info_khr = StructureType.device_group_render_pass_begin_info; + pub const device_group_command_buffer_begin_info_khr = StructureType.device_group_command_buffer_begin_info; + pub const device_group_submit_info_khr = StructureType.device_group_submit_info; + pub const device_group_bind_sparse_info_khr = StructureType.device_group_bind_sparse_info; + pub const bind_buffer_memory_device_group_info_khr = StructureType.bind_buffer_memory_device_group_info; + pub const bind_image_memory_device_group_info_khr = StructureType.bind_image_memory_device_group_info; + pub const physical_device_texture_compression_astc_hdr_features_ext = StructureType.physical_device_texture_compression_astc_hdr_features; + pub const physical_device_group_properties_khr = StructureType.physical_device_group_properties; + pub const device_group_device_create_info_khr = StructureType.device_group_device_create_info; + pub const physical_device_external_image_format_info_khr = StructureType.physical_device_external_image_format_info; + pub const external_image_format_properties_khr = StructureType.external_image_format_properties; + pub const physical_device_external_buffer_info_khr = StructureType.physical_device_external_buffer_info; + pub const external_buffer_properties_khr = StructureType.external_buffer_properties; + pub const physical_device_id_properties_khr = StructureType.physical_device_id_properties; + pub const external_memory_buffer_create_info_khr = StructureType.external_memory_buffer_create_info; + pub const external_memory_image_create_info_khr = StructureType.external_memory_image_create_info; + pub const export_memory_allocate_info_khr = StructureType.export_memory_allocate_info; + pub const physical_device_external_semaphore_info_khr = StructureType.physical_device_external_semaphore_info; + pub const external_semaphore_properties_khr = StructureType.external_semaphore_properties; + pub const export_semaphore_create_info_khr = StructureType.export_semaphore_create_info; + pub const physical_device_shader_float16_int8_features_khr = StructureType.physical_device_shader_float16_int8_features; + pub const physical_device_float16_int8_features_khr = StructureType.physical_device_shader_float16_int8_features; + pub const physical_device_16bit_storage_features_khr = StructureType.physical_device_16bit_storage_features; + pub const descriptor_update_template_create_info_khr = StructureType.descriptor_update_template_create_info; + pub const surface_capabilities2_ext = StructureType.surface_capabilities_2_ext; + pub const physical_device_imageless_framebuffer_features_khr = StructureType.physical_device_imageless_framebuffer_features; + pub const framebuffer_attachments_create_info_khr = StructureType.framebuffer_attachments_create_info; + pub const framebuffer_attachment_image_info_khr = StructureType.framebuffer_attachment_image_info; + pub const render_pass_attachment_begin_info_khr = StructureType.render_pass_attachment_begin_info; + pub const attachment_description_2_khr = StructureType.attachment_description_2; + pub const attachment_reference_2_khr = StructureType.attachment_reference_2; + pub const subpass_description_2_khr = StructureType.subpass_description_2; + pub const subpass_dependency_2_khr = StructureType.subpass_dependency_2; + pub const render_pass_create_info_2_khr = StructureType.render_pass_create_info_2; + pub const subpass_begin_info_khr = StructureType.subpass_begin_info; + pub const subpass_end_info_khr = StructureType.subpass_end_info; + pub const physical_device_external_fence_info_khr = StructureType.physical_device_external_fence_info; + pub const external_fence_properties_khr = StructureType.external_fence_properties; + pub const export_fence_create_info_khr = StructureType.export_fence_create_info; + pub const physical_device_point_clipping_properties_khr = StructureType.physical_device_point_clipping_properties; + pub const render_pass_input_attachment_aspect_create_info_khr = StructureType.render_pass_input_attachment_aspect_create_info; + pub const image_view_usage_create_info_khr = StructureType.image_view_usage_create_info; + pub const pipeline_tessellation_domain_origin_state_create_info_khr = StructureType.pipeline_tessellation_domain_origin_state_create_info; + pub const physical_device_variable_pointers_features_khr = StructureType.physical_device_variable_pointers_features; + pub const physical_device_variable_pointer_features_khr = StructureType.physical_device_variable_pointers_features_khr; + pub const memory_dedicated_requirements_khr = StructureType.memory_dedicated_requirements; + pub const memory_dedicated_allocate_info_khr = StructureType.memory_dedicated_allocate_info; + pub const physical_device_sampler_filter_minmax_properties_ext = StructureType.physical_device_sampler_filter_minmax_properties; + pub const sampler_reduction_mode_create_info_ext = StructureType.sampler_reduction_mode_create_info; + pub const physical_device_inline_uniform_block_features_ext = StructureType.physical_device_inline_uniform_block_features; + pub const physical_device_inline_uniform_block_properties_ext = StructureType.physical_device_inline_uniform_block_properties; + pub const write_descriptor_set_inline_uniform_block_ext = StructureType.write_descriptor_set_inline_uniform_block; + pub const descriptor_pool_inline_uniform_block_create_info_ext = StructureType.descriptor_pool_inline_uniform_block_create_info; + pub const buffer_memory_requirements_info_2_khr = StructureType.buffer_memory_requirements_info_2; + pub const image_memory_requirements_info_2_khr = StructureType.image_memory_requirements_info_2; + pub const image_sparse_memory_requirements_info_2_khr = StructureType.image_sparse_memory_requirements_info_2; + pub const memory_requirements_2_khr = StructureType.memory_requirements_2; + pub const sparse_image_memory_requirements_2_khr = StructureType.sparse_image_memory_requirements_2; + pub const image_format_list_create_info_khr = StructureType.image_format_list_create_info; + pub const sampler_ycbcr_conversion_create_info_khr = StructureType.sampler_ycbcr_conversion_create_info; + pub const sampler_ycbcr_conversion_info_khr = StructureType.sampler_ycbcr_conversion_info; + pub const bind_image_plane_memory_info_khr = StructureType.bind_image_plane_memory_info; + pub const image_plane_memory_requirements_info_khr = StructureType.image_plane_memory_requirements_info; + pub const physical_device_sampler_ycbcr_conversion_features_khr = StructureType.physical_device_sampler_ycbcr_conversion_features; + pub const sampler_ycbcr_conversion_image_format_properties_khr = StructureType.sampler_ycbcr_conversion_image_format_properties; + pub const bind_buffer_memory_info_khr = StructureType.bind_buffer_memory_info; + pub const bind_image_memory_info_khr = StructureType.bind_image_memory_info; + pub const descriptor_set_layout_binding_flags_create_info_ext = StructureType.descriptor_set_layout_binding_flags_create_info; + pub const physical_device_descriptor_indexing_features_ext = StructureType.physical_device_descriptor_indexing_features; + pub const physical_device_descriptor_indexing_properties_ext = StructureType.physical_device_descriptor_indexing_properties; + pub const descriptor_set_variable_descriptor_count_allocate_info_ext = StructureType.descriptor_set_variable_descriptor_count_allocate_info; + pub const descriptor_set_variable_descriptor_count_layout_support_ext = StructureType.descriptor_set_variable_descriptor_count_layout_support; + pub const physical_device_maintenance_3_properties_khr = StructureType.physical_device_maintenance_3_properties; + pub const descriptor_set_layout_support_khr = StructureType.descriptor_set_layout_support; + pub const device_queue_global_priority_create_info_ext = StructureType.device_queue_global_priority_create_info_khr; + pub const physical_device_shader_subgroup_extended_types_features_khr = StructureType.physical_device_shader_subgroup_extended_types_features; + pub const physical_device_8bit_storage_features_khr = StructureType.physical_device_8bit_storage_features; + pub const physical_device_shader_atomic_int64_features_khr = StructureType.physical_device_shader_atomic_int64_features; + pub const calibrated_timestamp_info_ext = StructureType.calibrated_timestamp_info_khr; + pub const pipeline_vertex_input_divisor_state_create_info_ext = StructureType.pipeline_vertex_input_divisor_state_create_info_khr; + pub const physical_device_vertex_attribute_divisor_features_ext = StructureType.physical_device_vertex_attribute_divisor_features_khr; + pub const pipeline_creation_feedback_create_info_ext = StructureType.pipeline_creation_feedback_create_info; + pub const physical_device_driver_properties_khr = StructureType.physical_device_driver_properties; + pub const physical_device_float_controls_properties_khr = StructureType.physical_device_float_controls_properties; + pub const physical_device_depth_stencil_resolve_properties_khr = StructureType.physical_device_depth_stencil_resolve_properties; + pub const subpass_description_depth_stencil_resolve_khr = StructureType.subpass_description_depth_stencil_resolve; + pub const physical_device_fragment_shader_barycentric_features_nv = StructureType.physical_device_fragment_shader_barycentric_features_khr; + pub const physical_device_timeline_semaphore_features_khr = StructureType.physical_device_timeline_semaphore_features; + pub const physical_device_timeline_semaphore_properties_khr = StructureType.physical_device_timeline_semaphore_properties; + pub const semaphore_type_create_info_khr = StructureType.semaphore_type_create_info; + pub const timeline_semaphore_submit_info_khr = StructureType.timeline_semaphore_submit_info; + pub const semaphore_wait_info_khr = StructureType.semaphore_wait_info; + pub const semaphore_signal_info_khr = StructureType.semaphore_signal_info; + pub const query_pool_create_info_intel = StructureType.query_pool_performance_query_create_info_intel; + pub const physical_device_vulkan_memory_model_features_khr = StructureType.physical_device_vulkan_memory_model_features; + pub const physical_device_shader_terminate_invocation_features_khr = StructureType.physical_device_shader_terminate_invocation_features; + pub const physical_device_scalar_block_layout_features_ext = StructureType.physical_device_scalar_block_layout_features; + pub const physical_device_subgroup_size_control_properties_ext = StructureType.physical_device_subgroup_size_control_properties; + pub const pipeline_shader_stage_required_subgroup_size_create_info_ext = StructureType.pipeline_shader_stage_required_subgroup_size_create_info; + pub const physical_device_subgroup_size_control_features_ext = StructureType.physical_device_subgroup_size_control_features; + pub const physical_device_separate_depth_stencil_layouts_features_khr = StructureType.physical_device_separate_depth_stencil_layouts_features; + pub const attachment_reference_stencil_layout_khr = StructureType.attachment_reference_stencil_layout; + pub const attachment_description_stencil_layout_khr = StructureType.attachment_description_stencil_layout; + pub const physical_device_buffer_address_features_ext = StructureType.physical_device_buffer_device_address_features_ext; + pub const buffer_device_address_info_ext = StructureType.buffer_device_address_info; + pub const physical_device_tool_properties_ext = StructureType.physical_device_tool_properties; + pub const image_stencil_usage_create_info_ext = StructureType.image_stencil_usage_create_info; + pub const physical_device_uniform_buffer_standard_layout_features_khr = StructureType.physical_device_uniform_buffer_standard_layout_features; + pub const physical_device_buffer_device_address_features_khr = StructureType.physical_device_buffer_device_address_features; + pub const buffer_device_address_info_khr = StructureType.buffer_device_address_info; + pub const buffer_opaque_capture_address_create_info_khr = StructureType.buffer_opaque_capture_address_create_info; + pub const memory_opaque_capture_address_allocate_info_khr = StructureType.memory_opaque_capture_address_allocate_info; + pub const device_memory_opaque_capture_address_info_khr = StructureType.device_memory_opaque_capture_address_info; + pub const physical_device_line_rasterization_features_ext = StructureType.physical_device_line_rasterization_features_khr; + pub const pipeline_rasterization_line_state_create_info_ext = StructureType.pipeline_rasterization_line_state_create_info_khr; + pub const physical_device_line_rasterization_properties_ext = StructureType.physical_device_line_rasterization_properties_khr; + pub const physical_device_host_query_reset_features_ext = StructureType.physical_device_host_query_reset_features; + pub const physical_device_index_type_uint8_features_ext = StructureType.physical_device_index_type_uint8_features_khr; + pub const physical_device_shader_demote_to_helper_invocation_features_ext = StructureType.physical_device_shader_demote_to_helper_invocation_features; + pub const physical_device_shader_integer_dot_product_features_khr = StructureType.physical_device_shader_integer_dot_product_features; + pub const physical_device_shader_integer_dot_product_properties_khr = StructureType.physical_device_shader_integer_dot_product_properties; + pub const physical_device_texel_buffer_alignment_properties_ext = StructureType.physical_device_texel_buffer_alignment_properties; + pub const physical_device_private_data_features_ext = StructureType.physical_device_private_data_features; + pub const device_private_data_create_info_ext = StructureType.device_private_data_create_info; + pub const private_data_slot_create_info_ext = StructureType.private_data_slot_create_info; + pub const physical_device_pipeline_creation_cache_control_features_ext = StructureType.physical_device_pipeline_creation_cache_control_features; + pub const memory_barrier_2_khr = StructureType.memory_barrier_2; + pub const buffer_memory_barrier_2_khr = StructureType.buffer_memory_barrier_2; + pub const image_memory_barrier_2_khr = StructureType.image_memory_barrier_2; + pub const dependency_info_khr = StructureType.dependency_info; + pub const submit_info_2_khr = StructureType.submit_info_2; + pub const semaphore_submit_info_khr = StructureType.semaphore_submit_info; + pub const command_buffer_submit_info_khr = StructureType.command_buffer_submit_info; + pub const physical_device_synchronization_2_features_khr = StructureType.physical_device_synchronization_2_features; + pub const physical_device_zero_initialize_workgroup_memory_features_khr = StructureType.physical_device_zero_initialize_workgroup_memory_features; + pub const physical_device_image_robustness_features_ext = StructureType.physical_device_image_robustness_features; + pub const copy_buffer_info_2_khr = StructureType.copy_buffer_info_2; + pub const copy_image_info_2_khr = StructureType.copy_image_info_2; + pub const copy_buffer_to_image_info_2_khr = StructureType.copy_buffer_to_image_info_2; + pub const copy_image_to_buffer_info_2_khr = StructureType.copy_image_to_buffer_info_2; + pub const blit_image_info_2_khr = StructureType.blit_image_info_2; + pub const resolve_image_info_2_khr = StructureType.resolve_image_info_2; + pub const buffer_copy_2_khr = StructureType.buffer_copy_2; + pub const image_copy_2_khr = StructureType.image_copy_2; + pub const image_blit_2_khr = StructureType.image_blit_2; + pub const buffer_image_copy_2_khr = StructureType.buffer_image_copy_2; + pub const image_resolve_2_khr = StructureType.image_resolve_2; + pub const subresource_layout_2_ext = StructureType.subresource_layout_2_khr; + pub const image_subresource_2_ext = StructureType.image_subresource_2_khr; + pub const physical_device_rasterization_order_attachment_access_features_arm = StructureType.physical_device_rasterization_order_attachment_access_features_ext; + pub const physical_device_mutable_descriptor_type_features_valve = StructureType.physical_device_mutable_descriptor_type_features_ext; + pub const mutable_descriptor_type_create_info_valve = StructureType.mutable_descriptor_type_create_info_ext; + pub const format_properties_3_khr = StructureType.format_properties_3; + pub const pipeline_info_ext = StructureType.pipeline_info_khr; + pub const physical_device_external_sci_buf_features_nv = StructureType.physical_device_external_memory_sci_buf_features_nv; + pub const physical_device_global_priority_query_features_ext = StructureType.physical_device_global_priority_query_features_khr; + pub const queue_family_global_priority_properties_ext = StructureType.queue_family_global_priority_properties_khr; + pub const physical_device_maintenance_4_features_khr = StructureType.physical_device_maintenance_4_features; + pub const physical_device_maintenance_4_properties_khr = StructureType.physical_device_maintenance_4_properties; + pub const device_buffer_memory_requirements_khr = StructureType.device_buffer_memory_requirements; + pub const device_image_memory_requirements_khr = StructureType.device_image_memory_requirements; + pub const shader_required_subgroup_size_create_info_ext = StructureType.pipeline_shader_stage_required_subgroup_size_create_info; +}; +pub const SubpassContents = enum(i32) { + @"inline" = 0, + secondary_command_buffers = 1, + inline_and_secondary_command_buffers_ext = 1000451000, + _, +}; +pub const Result = enum(i32) { + success = 0, + not_ready = 1, + timeout = 2, + event_set = 3, + event_reset = 4, + incomplete = 5, + error_out_of_host_memory = -1, + error_out_of_device_memory = -2, + error_initialization_failed = -3, + error_device_lost = -4, + error_memory_map_failed = -5, + error_layer_not_present = -6, + error_extension_not_present = -7, + error_feature_not_present = -8, + error_incompatible_driver = -9, + error_too_many_objects = -10, + error_format_not_supported = -11, + error_fragmented_pool = -12, + error_unknown = -13, + error_out_of_pool_memory = -1000069000, + error_invalid_external_handle = -1000072003, + error_fragmentation = -1000161000, + error_invalid_opaque_capture_address = -1000257000, + pipeline_compile_required = 1000297000, + error_surface_lost_khr = -1000000000, + error_native_window_in_use_khr = -1000000001, + suboptimal_khr = 1000001003, + error_out_of_date_khr = -1000001004, + error_incompatible_display_khr = -1000003001, + error_validation_failed_ext = -1000011001, + error_invalid_shader_nv = -1000012000, + error_image_usage_not_supported_khr = -1000023000, + error_video_picture_layout_not_supported_khr = -1000023001, + error_video_profile_operation_not_supported_khr = -1000023002, + error_video_profile_format_not_supported_khr = -1000023003, + error_video_profile_codec_not_supported_khr = -1000023004, + error_video_std_version_not_supported_khr = -1000023005, + error_invalid_drm_format_modifier_plane_layout_ext = -1000158000, + error_not_permitted_khr = -1000174001, + error_full_screen_exclusive_mode_lost_ext = -1000255000, + thread_idle_khr = 1000268000, + thread_done_khr = 1000268001, + operation_deferred_khr = 1000268002, + operation_not_deferred_khr = 1000268003, + error_invalid_video_std_parameters_khr = -1000299000, + error_compression_exhausted_ext = -1000338000, + incompatible_shader_binary_ext = 1000482000, + _, + pub const error_out_of_pool_memory_khr = Result.error_out_of_pool_memory; + pub const error_invalid_external_handle_khr = Result.error_invalid_external_handle; + pub const error_fragmentation_ext = Result.error_fragmentation; + pub const error_not_permitted_ext = Result.error_not_permitted_khr; + pub const error_invalid_device_address_ext = Result.error_invalid_opaque_capture_address; + pub const error_invalid_opaque_capture_address_khr = Result.error_invalid_opaque_capture_address; + pub const pipeline_compile_required_ext = Result.pipeline_compile_required; + pub const error_pipeline_compile_required_ext = Result.pipeline_compile_required; + pub const error_incompatible_shader_binary_ext = Result.incompatible_shader_binary_ext; +}; +pub const DynamicState = enum(i32) { + viewport = 0, + scissor = 1, + line_width = 2, + depth_bias = 3, + blend_constants = 4, + depth_bounds = 5, + stencil_compare_mask = 6, + stencil_write_mask = 7, + stencil_reference = 8, + cull_mode = 1000267000, + front_face = 1000267001, + primitive_topology = 1000267002, + viewport_with_count = 1000267003, + scissor_with_count = 1000267004, + vertex_input_binding_stride = 1000267005, + depth_test_enable = 1000267006, + depth_write_enable = 1000267007, + depth_compare_op = 1000267008, + depth_bounds_test_enable = 1000267009, + stencil_test_enable = 1000267010, + stencil_op = 1000267011, + rasterizer_discard_enable = 1000377001, + depth_bias_enable = 1000377002, + primitive_restart_enable = 1000377004, + viewport_w_scaling_nv = 1000087000, + discard_rectangle_ext = 1000099000, + discard_rectangle_enable_ext = 1000099001, + discard_rectangle_mode_ext = 1000099002, + sample_locations_ext = 1000143000, + ray_tracing_pipeline_stack_size_khr = 1000347000, + viewport_shading_rate_palette_nv = 1000164004, + viewport_coarse_sample_order_nv = 1000164006, + exclusive_scissor_enable_nv = 1000205000, + exclusive_scissor_nv = 1000205001, + fragment_shading_rate_khr = 1000226000, + vertex_input_ext = 1000352000, + patch_control_points_ext = 1000377000, + logic_op_ext = 1000377003, + color_write_enable_ext = 1000381000, + depth_clamp_enable_ext = 1000455003, + polygon_mode_ext = 1000455004, + rasterization_samples_ext = 1000455005, + sample_mask_ext = 1000455006, + alpha_to_coverage_enable_ext = 1000455007, + alpha_to_one_enable_ext = 1000455008, + logic_op_enable_ext = 1000455009, + color_blend_enable_ext = 1000455010, + color_blend_equation_ext = 1000455011, + color_write_mask_ext = 1000455012, + tessellation_domain_origin_ext = 1000455002, + rasterization_stream_ext = 1000455013, + conservative_rasterization_mode_ext = 1000455014, + extra_primitive_overestimation_size_ext = 1000455015, + depth_clip_enable_ext = 1000455016, + sample_locations_enable_ext = 1000455017, + color_blend_advanced_ext = 1000455018, + provoking_vertex_mode_ext = 1000455019, + line_rasterization_mode_ext = 1000455020, + line_stipple_enable_ext = 1000455021, + depth_clip_negative_one_to_one_ext = 1000455022, + viewport_w_scaling_enable_nv = 1000455023, + viewport_swizzle_nv = 1000455024, + coverage_to_color_enable_nv = 1000455025, + coverage_to_color_location_nv = 1000455026, + coverage_modulation_mode_nv = 1000455027, + coverage_modulation_table_enable_nv = 1000455028, + coverage_modulation_table_nv = 1000455029, + shading_rate_image_enable_nv = 1000455030, + representative_fragment_test_enable_nv = 1000455031, + coverage_reduction_mode_nv = 1000455032, + attachment_feedback_loop_enable_ext = 1000524000, + line_stipple_khr = 1000259000, + _, + pub const line_stipple_ext = DynamicState.line_stipple_khr; + pub const cull_mode_ext = DynamicState.cull_mode; + pub const front_face_ext = DynamicState.front_face; + pub const primitive_topology_ext = DynamicState.primitive_topology; + pub const viewport_with_count_ext = DynamicState.viewport_with_count; + pub const scissor_with_count_ext = DynamicState.scissor_with_count; + pub const vertex_input_binding_stride_ext = DynamicState.vertex_input_binding_stride; + pub const depth_test_enable_ext = DynamicState.depth_test_enable; + pub const depth_write_enable_ext = DynamicState.depth_write_enable; + pub const depth_compare_op_ext = DynamicState.depth_compare_op; + pub const depth_bounds_test_enable_ext = DynamicState.depth_bounds_test_enable; + pub const stencil_test_enable_ext = DynamicState.stencil_test_enable; + pub const stencil_op_ext = DynamicState.stencil_op; + pub const rasterizer_discard_enable_ext = DynamicState.rasterizer_discard_enable; + pub const depth_bias_enable_ext = DynamicState.depth_bias_enable; + pub const primitive_restart_enable_ext = DynamicState.primitive_restart_enable; +}; +pub const DescriptorUpdateTemplateType = enum(i32) { + descriptor_set = 0, + push_descriptors_khr = 1, + _, + pub const descriptor_set_khr = DescriptorUpdateTemplateType.descriptor_set; +}; +pub const ObjectType = enum(i32) { + unknown = 0, + instance = 1, + physical_device = 2, + device = 3, + queue = 4, + semaphore = 5, + command_buffer = 6, + fence = 7, + device_memory = 8, + buffer = 9, + image = 10, + event = 11, + query_pool = 12, + buffer_view = 13, + image_view = 14, + shader_module = 15, + pipeline_cache = 16, + pipeline_layout = 17, + render_pass = 18, + pipeline = 19, + descriptor_set_layout = 20, + sampler = 21, + descriptor_pool = 22, + descriptor_set = 23, + framebuffer = 24, + command_pool = 25, + sampler_ycbcr_conversion = 1000156000, + descriptor_update_template = 1000085000, + private_data_slot = 1000295000, + surface_khr = 1000000000, + swapchain_khr = 1000001000, + display_khr = 1000002000, + display_mode_khr = 1000002001, + debug_report_callback_ext = 1000011000, + video_session_khr = 1000023000, + video_session_parameters_khr = 1000023001, + cu_module_nvx = 1000029000, + cu_function_nvx = 1000029001, + debug_utils_messenger_ext = 1000128000, + acceleration_structure_khr = 1000150000, + validation_cache_ext = 1000160000, + acceleration_structure_nv = 1000165000, + performance_configuration_intel = 1000210000, + deferred_operation_khr = 1000268000, + indirect_commands_layout_nv = 1000277000, + cuda_module_nv = 1000307000, + cuda_function_nv = 1000307001, + buffer_collection_fuchsia = 1000366000, + micromap_ext = 1000396000, + optical_flow_session_nv = 1000464000, + shader_ext = 1000482000, + semaphore_sci_sync_pool_nv = 1000489000, + _, + pub const descriptor_update_template_khr = ObjectType.descriptor_update_template; + pub const sampler_ycbcr_conversion_khr = ObjectType.sampler_ycbcr_conversion; + pub const private_data_slot_ext = ObjectType.private_data_slot; +}; +pub const RayTracingInvocationReorderModeNV = enum(i32) { + none_nv = 0, + reorder_nv = 1, + _, +}; +pub const DirectDriverLoadingModeLUNARG = enum(i32) { + exclusive_lunarg = 0, + inclusive_lunarg = 1, + _, +}; +pub const QueueFlags = packed struct(Flags) { + graphics_bit: bool = false, + compute_bit: bool = false, + transfer_bit: bool = false, + sparse_binding_bit: bool = false, + protected_bit: bool = false, + video_decode_bit_khr: bool = false, + video_encode_bit_khr: bool = false, + _reserved_bit_7: bool = false, + optical_flow_bit_nv: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(QueueFlags); +}; +pub const CullModeFlags = packed struct(Flags) { + front_bit: bool = false, + back_bit: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(CullModeFlags); +}; +pub const RenderPassCreateFlags = packed struct(Flags) { + _reserved_bit_0: bool = false, + transform_bit_qcom: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(RenderPassCreateFlags); +}; +pub const DeviceQueueCreateFlags = packed struct(Flags) { + protected_bit: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(DeviceQueueCreateFlags); +}; +pub const MemoryPropertyFlags = packed struct(Flags) { + device_local_bit: bool = false, + host_visible_bit: bool = false, + host_coherent_bit: bool = false, + host_cached_bit: bool = false, + lazily_allocated_bit: bool = false, + protected_bit: bool = false, + device_coherent_bit_amd: bool = false, + device_uncached_bit_amd: bool = false, + rdma_capable_bit_nv: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(MemoryPropertyFlags); +}; +pub const MemoryHeapFlags = packed struct(Flags) { + device_local_bit: bool = false, + multi_instance_bit: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(MemoryHeapFlags); +}; +pub const AccessFlags = packed struct(Flags) { + indirect_command_read_bit: bool = false, + index_read_bit: bool = false, + vertex_attribute_read_bit: bool = false, + uniform_read_bit: bool = false, + input_attachment_read_bit: bool = false, + shader_read_bit: bool = false, + shader_write_bit: bool = false, + color_attachment_read_bit: bool = false, + color_attachment_write_bit: bool = false, + depth_stencil_attachment_read_bit: bool = false, + depth_stencil_attachment_write_bit: bool = false, + transfer_read_bit: bool = false, + transfer_write_bit: bool = false, + host_read_bit: bool = false, + host_write_bit: bool = false, + memory_read_bit: bool = false, + memory_write_bit: bool = false, + command_preprocess_read_bit_nv: bool = false, + command_preprocess_write_bit_nv: bool = false, + color_attachment_read_noncoherent_bit_ext: bool = false, + conditional_rendering_read_bit_ext: bool = false, + acceleration_structure_read_bit_khr: bool = false, + acceleration_structure_write_bit_khr: bool = false, + fragment_shading_rate_attachment_read_bit_khr: bool = false, + fragment_density_map_read_bit_ext: bool = false, + transform_feedback_write_bit_ext: bool = false, + transform_feedback_counter_read_bit_ext: bool = false, + transform_feedback_counter_write_bit_ext: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(AccessFlags); +}; +pub const BufferUsageFlags = packed struct(Flags) { + transfer_src_bit: bool = false, + transfer_dst_bit: bool = false, + uniform_texel_buffer_bit: bool = false, + storage_texel_buffer_bit: bool = false, + uniform_buffer_bit: bool = false, + storage_buffer_bit: bool = false, + index_buffer_bit: bool = false, + vertex_buffer_bit: bool = false, + indirect_buffer_bit: bool = false, + conditional_rendering_bit_ext: bool = false, + shader_binding_table_bit_khr: bool = false, + transform_feedback_buffer_bit_ext: bool = false, + transform_feedback_counter_buffer_bit_ext: bool = false, + video_decode_src_bit_khr: bool = false, + video_decode_dst_bit_khr: bool = false, + video_encode_dst_bit_khr: bool = false, + video_encode_src_bit_khr: bool = false, + shader_device_address_bit: bool = false, + _reserved_bit_18: bool = false, + acceleration_structure_build_input_read_only_bit_khr: bool = false, + acceleration_structure_storage_bit_khr: bool = false, + sampler_descriptor_buffer_bit_ext: bool = false, + resource_descriptor_buffer_bit_ext: bool = false, + micromap_build_input_read_only_bit_ext: bool = false, + micromap_storage_bit_ext: bool = false, + execution_graph_scratch_bit_amdx: bool = false, + push_descriptors_descriptor_buffer_bit_ext: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(BufferUsageFlags); +}; +pub const BufferUsageFlags2KHR = packed struct(Flags64) { + transfer_src_bit_khr: bool = false, + transfer_dst_bit_khr: bool = false, + uniform_texel_buffer_bit_khr: bool = false, + storage_texel_buffer_bit_khr: bool = false, + uniform_buffer_bit_khr: bool = false, + storage_buffer_bit_khr: bool = false, + index_buffer_bit_khr: bool = false, + vertex_buffer_bit_khr: bool = false, + indirect_buffer_bit_khr: bool = false, + conditional_rendering_bit_ext: bool = false, + shader_binding_table_bit_khr: bool = false, + transform_feedback_buffer_bit_ext: bool = false, + transform_feedback_counter_buffer_bit_ext: bool = false, + video_decode_src_bit_khr: bool = false, + video_decode_dst_bit_khr: bool = false, + video_encode_dst_bit_khr: bool = false, + video_encode_src_bit_khr: bool = false, + shader_device_address_bit_khr: bool = false, + _reserved_bit_18: bool = false, + acceleration_structure_build_input_read_only_bit_khr: bool = false, + acceleration_structure_storage_bit_khr: bool = false, + sampler_descriptor_buffer_bit_ext: bool = false, + resource_descriptor_buffer_bit_ext: bool = false, + micromap_build_input_read_only_bit_ext: bool = false, + micromap_storage_bit_ext: bool = false, + execution_graph_scratch_bit_amdx: bool = false, + push_descriptors_descriptor_buffer_bit_ext: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + _reserved_bit_32: bool = false, + _reserved_bit_33: bool = false, + _reserved_bit_34: bool = false, + _reserved_bit_35: bool = false, + _reserved_bit_36: bool = false, + _reserved_bit_37: bool = false, + _reserved_bit_38: bool = false, + _reserved_bit_39: bool = false, + _reserved_bit_40: bool = false, + _reserved_bit_41: bool = false, + _reserved_bit_42: bool = false, + _reserved_bit_43: bool = false, + _reserved_bit_44: bool = false, + _reserved_bit_45: bool = false, + _reserved_bit_46: bool = false, + _reserved_bit_47: bool = false, + _reserved_bit_48: bool = false, + _reserved_bit_49: bool = false, + _reserved_bit_50: bool = false, + _reserved_bit_51: bool = false, + _reserved_bit_52: bool = false, + _reserved_bit_53: bool = false, + _reserved_bit_54: bool = false, + _reserved_bit_55: bool = false, + _reserved_bit_56: bool = false, + _reserved_bit_57: bool = false, + _reserved_bit_58: bool = false, + _reserved_bit_59: bool = false, + _reserved_bit_60: bool = false, + _reserved_bit_61: bool = false, + _reserved_bit_62: bool = false, + _reserved_bit_63: bool = false, + pub usingnamespace FlagsMixin(BufferUsageFlags2KHR); +}; +pub const BufferCreateFlags = packed struct(Flags) { + sparse_binding_bit: bool = false, + sparse_residency_bit: bool = false, + sparse_aliased_bit: bool = false, + protected_bit: bool = false, + device_address_capture_replay_bit: bool = false, + descriptor_buffer_capture_replay_bit_ext: bool = false, + video_profile_independent_bit_khr: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(BufferCreateFlags); +}; +pub const ShaderStageFlags = packed struct(Flags) { + vertex_bit: bool = false, + tessellation_control_bit: bool = false, + tessellation_evaluation_bit: bool = false, + geometry_bit: bool = false, + fragment_bit: bool = false, + compute_bit: bool = false, + task_bit_ext: bool = false, + mesh_bit_ext: bool = false, + raygen_bit_khr: bool = false, + any_hit_bit_khr: bool = false, + closest_hit_bit_khr: bool = false, + miss_bit_khr: bool = false, + intersection_bit_khr: bool = false, + callable_bit_khr: bool = false, + subpass_shading_bit_huawei: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + cluster_culling_bit_huawei: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(ShaderStageFlags); +}; +pub const ImageUsageFlags = packed struct(Flags) { + transfer_src_bit: bool = false, + transfer_dst_bit: bool = false, + sampled_bit: bool = false, + storage_bit: bool = false, + color_attachment_bit: bool = false, + depth_stencil_attachment_bit: bool = false, + transient_attachment_bit: bool = false, + input_attachment_bit: bool = false, + fragment_shading_rate_attachment_bit_khr: bool = false, + fragment_density_map_bit_ext: bool = false, + video_decode_dst_bit_khr: bool = false, + video_decode_src_bit_khr: bool = false, + video_decode_dpb_bit_khr: bool = false, + video_encode_dst_bit_khr: bool = false, + video_encode_src_bit_khr: bool = false, + video_encode_dpb_bit_khr: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + invocation_mask_bit_huawei: bool = false, + attachment_feedback_loop_bit_ext: bool = false, + sample_weight_bit_qcom: bool = false, + sample_block_match_bit_qcom: bool = false, + host_transfer_bit_ext: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(ImageUsageFlags); +}; +pub const ImageCreateFlags = packed struct(Flags) { + sparse_binding_bit: bool = false, + sparse_residency_bit: bool = false, + sparse_aliased_bit: bool = false, + mutable_format_bit: bool = false, + cube_compatible_bit: bool = false, + @"2d_array_compatible_bit": bool = false, + split_instance_bind_regions_bit: bool = false, + block_texel_view_compatible_bit: bool = false, + extended_usage_bit: bool = false, + disjoint_bit: bool = false, + alias_bit: bool = false, + protected_bit: bool = false, + sample_locations_compatible_depth_bit_ext: bool = false, + corner_sampled_bit_nv: bool = false, + subsampled_bit_ext: bool = false, + fragment_density_map_offset_bit_qcom: bool = false, + descriptor_buffer_capture_replay_bit_ext: bool = false, + @"2d_view_compatible_bit_ext": bool = false, + multisampled_render_to_single_sampled_bit_ext: bool = false, + _reserved_bit_19: bool = false, + video_profile_independent_bit_khr: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(ImageCreateFlags); +}; +pub const ImageViewCreateFlags = packed struct(Flags) { + fragment_density_map_dynamic_bit_ext: bool = false, + fragment_density_map_deferred_bit_ext: bool = false, + descriptor_buffer_capture_replay_bit_ext: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(ImageViewCreateFlags); +}; +pub const SamplerCreateFlags = packed struct(Flags) { + subsampled_bit_ext: bool = false, + subsampled_coarse_reconstruction_bit_ext: bool = false, + non_seamless_cube_map_bit_ext: bool = false, + descriptor_buffer_capture_replay_bit_ext: bool = false, + image_processing_bit_qcom: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(SamplerCreateFlags); +}; +pub const PipelineCreateFlags = packed struct(Flags) { + disable_optimization_bit: bool = false, + allow_derivatives_bit: bool = false, + derivative_bit: bool = false, + view_index_from_device_index_bit: bool = false, + dispatch_base_bit: bool = false, + defer_compile_bit_nv: bool = false, + capture_statistics_bit_khr: bool = false, + capture_internal_representations_bit_khr: bool = false, + fail_on_pipeline_compile_required_bit: bool = false, + early_return_on_failure_bit: bool = false, + link_time_optimization_bit_ext: bool = false, + library_bit_khr: bool = false, + ray_tracing_skip_triangles_bit_khr: bool = false, + ray_tracing_skip_aabbs_bit_khr: bool = false, + ray_tracing_no_null_any_hit_shaders_bit_khr: bool = false, + ray_tracing_no_null_closest_hit_shaders_bit_khr: bool = false, + ray_tracing_no_null_miss_shaders_bit_khr: bool = false, + ray_tracing_no_null_intersection_shaders_bit_khr: bool = false, + indirect_bindable_bit_nv: bool = false, + ray_tracing_shader_group_handle_capture_replay_bit_khr: bool = false, + ray_tracing_allow_motion_bit_nv: bool = false, + rendering_fragment_shading_rate_attachment_bit_khr: bool = false, + rendering_fragment_density_map_attachment_bit_ext: bool = false, + retain_link_time_optimization_info_bit_ext: bool = false, + ray_tracing_opacity_micromap_bit_ext: bool = false, + color_attachment_feedback_loop_bit_ext: bool = false, + depth_stencil_attachment_feedback_loop_bit_ext: bool = false, + no_protected_access_bit_ext: bool = false, + ray_tracing_displacement_micromap_bit_nv: bool = false, + descriptor_buffer_bit_ext: bool = false, + protected_access_only_bit_ext: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(PipelineCreateFlags); +}; +pub const PipelineCreateFlags2KHR = packed struct(Flags64) { + disable_optimization_bit_khr: bool = false, + allow_derivatives_bit_khr: bool = false, + derivative_bit_khr: bool = false, + view_index_from_device_index_bit_khr: bool = false, + dispatch_base_bit_khr: bool = false, + defer_compile_bit_nv: bool = false, + capture_statistics_bit_khr: bool = false, + capture_internal_representations_bit_khr: bool = false, + fail_on_pipeline_compile_required_bit_khr: bool = false, + early_return_on_failure_bit_khr: bool = false, + link_time_optimization_bit_ext: bool = false, + library_bit_khr: bool = false, + ray_tracing_skip_triangles_bit_khr: bool = false, + ray_tracing_skip_aabbs_bit_khr: bool = false, + ray_tracing_no_null_any_hit_shaders_bit_khr: bool = false, + ray_tracing_no_null_closest_hit_shaders_bit_khr: bool = false, + ray_tracing_no_null_miss_shaders_bit_khr: bool = false, + ray_tracing_no_null_intersection_shaders_bit_khr: bool = false, + indirect_bindable_bit_nv: bool = false, + ray_tracing_shader_group_handle_capture_replay_bit_khr: bool = false, + ray_tracing_allow_motion_bit_nv: bool = false, + rendering_fragment_shading_rate_attachment_bit_khr: bool = false, + rendering_fragment_density_map_attachment_bit_ext: bool = false, + retain_link_time_optimization_info_bit_ext: bool = false, + ray_tracing_opacity_micromap_bit_ext: bool = false, + color_attachment_feedback_loop_bit_ext: bool = false, + depth_stencil_attachment_feedback_loop_bit_ext: bool = false, + no_protected_access_bit_ext: bool = false, + ray_tracing_displacement_micromap_bit_nv: bool = false, + descriptor_buffer_bit_ext: bool = false, + protected_access_only_bit_ext: bool = false, + _reserved_bit_31: bool = false, + _reserved_bit_32: bool = false, + _reserved_bit_33: bool = false, + enable_legacy_dithering_bit_ext: bool = false, + _reserved_bit_35: bool = false, + _reserved_bit_36: bool = false, + _reserved_bit_37: bool = false, + _reserved_bit_38: bool = false, + _reserved_bit_39: bool = false, + _reserved_bit_40: bool = false, + _reserved_bit_41: bool = false, + _reserved_bit_42: bool = false, + _reserved_bit_43: bool = false, + _reserved_bit_44: bool = false, + _reserved_bit_45: bool = false, + _reserved_bit_46: bool = false, + _reserved_bit_47: bool = false, + _reserved_bit_48: bool = false, + _reserved_bit_49: bool = false, + _reserved_bit_50: bool = false, + _reserved_bit_51: bool = false, + _reserved_bit_52: bool = false, + _reserved_bit_53: bool = false, + _reserved_bit_54: bool = false, + _reserved_bit_55: bool = false, + _reserved_bit_56: bool = false, + _reserved_bit_57: bool = false, + _reserved_bit_58: bool = false, + _reserved_bit_59: bool = false, + _reserved_bit_60: bool = false, + _reserved_bit_61: bool = false, + _reserved_bit_62: bool = false, + _reserved_bit_63: bool = false, + pub usingnamespace FlagsMixin(PipelineCreateFlags2KHR); +}; +pub const PipelineShaderStageCreateFlags = packed struct(Flags) { + allow_varying_subgroup_size_bit: bool = false, + require_full_subgroups_bit: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(PipelineShaderStageCreateFlags); +}; +pub const ColorComponentFlags = packed struct(Flags) { + r_bit: bool = false, + g_bit: bool = false, + b_bit: bool = false, + a_bit: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(ColorComponentFlags); +}; +pub const FenceCreateFlags = packed struct(Flags) { + signaled_bit: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(FenceCreateFlags); +}; +pub const FormatFeatureFlags = packed struct(Flags) { + sampled_image_bit: bool = false, + storage_image_bit: bool = false, + storage_image_atomic_bit: bool = false, + uniform_texel_buffer_bit: bool = false, + storage_texel_buffer_bit: bool = false, + storage_texel_buffer_atomic_bit: bool = false, + vertex_buffer_bit: bool = false, + color_attachment_bit: bool = false, + color_attachment_blend_bit: bool = false, + depth_stencil_attachment_bit: bool = false, + blit_src_bit: bool = false, + blit_dst_bit: bool = false, + sampled_image_filter_linear_bit: bool = false, + sampled_image_filter_cubic_bit_ext: bool = false, + transfer_src_bit: bool = false, + transfer_dst_bit: bool = false, + sampled_image_filter_minmax_bit: bool = false, + midpoint_chroma_samples_bit: bool = false, + sampled_image_ycbcr_conversion_linear_filter_bit: bool = false, + sampled_image_ycbcr_conversion_separate_reconstruction_filter_bit: bool = false, + sampled_image_ycbcr_conversion_chroma_reconstruction_explicit_bit: bool = false, + sampled_image_ycbcr_conversion_chroma_reconstruction_explicit_forceable_bit: bool = false, + disjoint_bit: bool = false, + cosited_chroma_samples_bit: bool = false, + fragment_density_map_bit_ext: bool = false, + video_decode_output_bit_khr: bool = false, + video_decode_dpb_bit_khr: bool = false, + video_encode_input_bit_khr: bool = false, + video_encode_dpb_bit_khr: bool = false, + acceleration_structure_vertex_buffer_bit_khr: bool = false, + fragment_shading_rate_attachment_bit_khr: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(FormatFeatureFlags); +}; +pub const QueryControlFlags = packed struct(Flags) { + precise_bit: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(QueryControlFlags); +}; +pub const QueryResultFlags = packed struct(Flags) { + @"64_bit": bool = false, + wait_bit: bool = false, + with_availability_bit: bool = false, + partial_bit: bool = false, + with_status_bit_khr: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(QueryResultFlags); +}; +pub const CommandBufferUsageFlags = packed struct(Flags) { + one_time_submit_bit: bool = false, + render_pass_continue_bit: bool = false, + simultaneous_use_bit: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(CommandBufferUsageFlags); +}; +pub const QueryPipelineStatisticFlags = packed struct(Flags) { + input_assembly_vertices_bit: bool = false, + input_assembly_primitives_bit: bool = false, + vertex_shader_invocations_bit: bool = false, + geometry_shader_invocations_bit: bool = false, + geometry_shader_primitives_bit: bool = false, + clipping_invocations_bit: bool = false, + clipping_primitives_bit: bool = false, + fragment_shader_invocations_bit: bool = false, + tessellation_control_shader_patches_bit: bool = false, + tessellation_evaluation_shader_invocations_bit: bool = false, + compute_shader_invocations_bit: bool = false, + task_shader_invocations_bit_ext: bool = false, + mesh_shader_invocations_bit_ext: bool = false, + cluster_culling_shader_invocations_bit_huawei: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(QueryPipelineStatisticFlags); +}; +pub const MemoryMapFlags = packed struct(Flags) { + placed_bit_ext: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(MemoryMapFlags); +}; +pub const ImageAspectFlags = packed struct(Flags) { + color_bit: bool = false, + depth_bit: bool = false, + stencil_bit: bool = false, + metadata_bit: bool = false, + plane_0_bit: bool = false, + plane_1_bit: bool = false, + plane_2_bit: bool = false, + memory_plane_0_bit_ext: bool = false, + memory_plane_1_bit_ext: bool = false, + memory_plane_2_bit_ext: bool = false, + memory_plane_3_bit_ext: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(ImageAspectFlags); +}; +pub const SparseImageFormatFlags = packed struct(Flags) { + single_miptail_bit: bool = false, + aligned_mip_size_bit: bool = false, + nonstandard_block_size_bit: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(SparseImageFormatFlags); +}; +pub const SparseMemoryBindFlags = packed struct(Flags) { + metadata_bit: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(SparseMemoryBindFlags); +}; +pub const PipelineStageFlags = packed struct(Flags) { + top_of_pipe_bit: bool = false, + draw_indirect_bit: bool = false, + vertex_input_bit: bool = false, + vertex_shader_bit: bool = false, + tessellation_control_shader_bit: bool = false, + tessellation_evaluation_shader_bit: bool = false, + geometry_shader_bit: bool = false, + fragment_shader_bit: bool = false, + early_fragment_tests_bit: bool = false, + late_fragment_tests_bit: bool = false, + color_attachment_output_bit: bool = false, + compute_shader_bit: bool = false, + transfer_bit: bool = false, + bottom_of_pipe_bit: bool = false, + host_bit: bool = false, + all_graphics_bit: bool = false, + all_commands_bit: bool = false, + command_preprocess_bit_nv: bool = false, + conditional_rendering_bit_ext: bool = false, + task_shader_bit_ext: bool = false, + mesh_shader_bit_ext: bool = false, + ray_tracing_shader_bit_khr: bool = false, + fragment_shading_rate_attachment_bit_khr: bool = false, + fragment_density_process_bit_ext: bool = false, + transform_feedback_bit_ext: bool = false, + acceleration_structure_build_bit_khr: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(PipelineStageFlags); +}; +pub const CommandPoolCreateFlags = packed struct(Flags) { + transient_bit: bool = false, + reset_command_buffer_bit: bool = false, + protected_bit: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(CommandPoolCreateFlags); +}; +pub const CommandPoolResetFlags = packed struct(Flags) { + release_resources_bit: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(CommandPoolResetFlags); +}; +pub const CommandBufferResetFlags = packed struct(Flags) { + release_resources_bit: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(CommandBufferResetFlags); +}; +pub const SampleCountFlags = packed struct(Flags) { + @"1_bit": bool = false, + @"2_bit": bool = false, + @"4_bit": bool = false, + @"8_bit": bool = false, + @"16_bit": bool = false, + @"32_bit": bool = false, + @"64_bit": bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(SampleCountFlags); +}; +pub const AttachmentDescriptionFlags = packed struct(Flags) { + may_alias_bit: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(AttachmentDescriptionFlags); +}; +pub const StencilFaceFlags = packed struct(Flags) { + front_bit: bool = false, + back_bit: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(StencilFaceFlags); +}; +pub const DescriptorPoolCreateFlags = packed struct(Flags) { + free_descriptor_set_bit: bool = false, + update_after_bind_bit: bool = false, + host_only_bit_ext: bool = false, + allow_overallocation_sets_bit_nv: bool = false, + allow_overallocation_pools_bit_nv: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(DescriptorPoolCreateFlags); +}; +pub const DependencyFlags = packed struct(Flags) { + by_region_bit: bool = false, + view_local_bit: bool = false, + device_group_bit: bool = false, + feedback_loop_bit_ext: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(DependencyFlags); +}; +pub const SemaphoreType = enum(i32) { + binary = 0, + timeline = 1, + _, + pub const binary_khr = SemaphoreType.binary; + pub const timeline_khr = SemaphoreType.timeline; +}; +pub const SemaphoreWaitFlags = packed struct(Flags) { + any_bit: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(SemaphoreWaitFlags); +}; +pub const PresentModeKHR = enum(i32) { + immediate_khr = 0, + mailbox_khr = 1, + fifo_khr = 2, + fifo_relaxed_khr = 3, + shared_demand_refresh_khr = 1000111000, + shared_continuous_refresh_khr = 1000111001, + _, +}; +pub const ColorSpaceKHR = enum(i32) { + srgb_nonlinear_khr = 0, + display_p3_nonlinear_ext = 1000104001, + extended_srgb_linear_ext = 1000104002, + display_p3_linear_ext = 1000104003, + dci_p3_nonlinear_ext = 1000104004, + bt709_linear_ext = 1000104005, + bt709_nonlinear_ext = 1000104006, + bt2020_linear_ext = 1000104007, + hdr10_st2084_ext = 1000104008, + dolbyvision_ext = 1000104009, + hdr10_hlg_ext = 1000104010, + adobergb_linear_ext = 1000104011, + adobergb_nonlinear_ext = 1000104012, + pass_through_ext = 1000104013, + extended_srgb_nonlinear_ext = 1000104014, + display_native_amd = 1000213000, + _, + pub const colorspace_srgb_nonlinear_khr = ColorSpaceKHR.srgb_nonlinear_khr; + pub const dci_p3_linear_ext = ColorSpaceKHR.display_p3_linear_ext; +}; +pub const DisplayPlaneAlphaFlagsKHR = packed struct(Flags) { + opaque_bit_khr: bool = false, + global_bit_khr: bool = false, + per_pixel_bit_khr: bool = false, + per_pixel_premultiplied_bit_khr: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(DisplayPlaneAlphaFlagsKHR); +}; +pub const CompositeAlphaFlagsKHR = packed struct(Flags) { + opaque_bit_khr: bool = false, + pre_multiplied_bit_khr: bool = false, + post_multiplied_bit_khr: bool = false, + inherit_bit_khr: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(CompositeAlphaFlagsKHR); +}; +pub const SurfaceTransformFlagsKHR = packed struct(Flags) { + identity_bit_khr: bool = false, + rotate_90_bit_khr: bool = false, + rotate_180_bit_khr: bool = false, + rotate_270_bit_khr: bool = false, + horizontal_mirror_bit_khr: bool = false, + horizontal_mirror_rotate_90_bit_khr: bool = false, + horizontal_mirror_rotate_180_bit_khr: bool = false, + horizontal_mirror_rotate_270_bit_khr: bool = false, + inherit_bit_khr: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(SurfaceTransformFlagsKHR); +}; +pub const SwapchainImageUsageFlagsANDROID = packed struct(Flags) { + shared_bit_android: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(SwapchainImageUsageFlagsANDROID); +}; +pub const TimeDomainKHR = enum(i32) { + device_khr = 0, + clock_monotonic_khr = 1, + clock_monotonic_raw_khr = 2, + query_performance_counter_khr = 3, _, - pub const physical_device_variable_pointer_features = StructureType.physical_device_variable_pointers_features; - pub const physical_device_shader_draw_parameter_features = StructureType.physical_device_shader_draw_parameters_features; - pub const render_pass_multiview_create_info_khr = StructureType.render_pass_multiview_create_info; - pub const physical_device_multiview_features_khr = StructureType.physical_device_multiview_features; - pub const physical_device_multiview_properties_khr = StructureType.physical_device_multiview_properties; - pub const physical_device_features_2_khr = StructureType.physical_device_features_2; - pub const physical_device_properties_2_khr = StructureType.physical_device_properties_2; - pub const format_properties_2_khr = StructureType.format_properties_2; - pub const image_format_properties_2_khr = StructureType.image_format_properties_2; - pub const physical_device_image_format_info_2_khr = StructureType.physical_device_image_format_info_2; - pub const queue_family_properties_2_khr = StructureType.queue_family_properties_2; - pub const physical_device_memory_properties_2_khr = StructureType.physical_device_memory_properties_2; - pub const sparse_image_format_properties_2_khr = StructureType.sparse_image_format_properties_2; - pub const physical_device_sparse_image_format_info_2_khr = StructureType.physical_device_sparse_image_format_info_2; - pub const memory_allocate_flags_info_khr = StructureType.memory_allocate_flags_info; - pub const device_group_render_pass_begin_info_khr = StructureType.device_group_render_pass_begin_info; - pub const device_group_command_buffer_begin_info_khr = StructureType.device_group_command_buffer_begin_info; - pub const device_group_submit_info_khr = StructureType.device_group_submit_info; - pub const device_group_bind_sparse_info_khr = StructureType.device_group_bind_sparse_info; - pub const bind_buffer_memory_device_group_info_khr = StructureType.bind_buffer_memory_device_group_info; - pub const bind_image_memory_device_group_info_khr = StructureType.bind_image_memory_device_group_info; - pub const physical_device_group_properties_khr = StructureType.physical_device_group_properties; - pub const device_group_device_create_info_khr = StructureType.device_group_device_create_info; - pub const physical_device_external_image_format_info_khr = StructureType.physical_device_external_image_format_info; - pub const external_image_format_properties_khr = StructureType.external_image_format_properties; - pub const physical_device_external_buffer_info_khr = StructureType.physical_device_external_buffer_info; - pub const external_buffer_properties_khr = StructureType.external_buffer_properties; - pub const physical_device_id_properties_khr = StructureType.physical_device_id_properties; - pub const external_memory_buffer_create_info_khr = StructureType.external_memory_buffer_create_info; - pub const external_memory_image_create_info_khr = StructureType.external_memory_image_create_info; - pub const export_memory_allocate_info_khr = StructureType.export_memory_allocate_info; - pub const physical_device_external_semaphore_info_khr = StructureType.physical_device_external_semaphore_info; - pub const external_semaphore_properties_khr = StructureType.external_semaphore_properties; - pub const export_semaphore_create_info_khr = StructureType.export_semaphore_create_info; - pub const physical_device_float16_int8_features_khr = StructureType.physical_device_shader_float16_int8_features_khr; - pub const physical_device_16bit_storage_features_khr = StructureType.physical_device_16bit_storage_features; - pub const descriptor_update_template_create_info_khr = StructureType.descriptor_update_template_create_info; - pub const physical_device_external_fence_info_khr = StructureType.physical_device_external_fence_info; - pub const external_fence_properties_khr = StructureType.external_fence_properties; - pub const export_fence_create_info_khr = StructureType.export_fence_create_info; - pub const physical_device_point_clipping_properties_khr = StructureType.physical_device_point_clipping_properties; - pub const render_pass_input_attachment_aspect_create_info_khr = StructureType.render_pass_input_attachment_aspect_create_info; - pub const image_view_usage_create_info_khr = StructureType.image_view_usage_create_info; - pub const pipeline_tessellation_domain_origin_state_create_info_khr = StructureType.pipeline_tessellation_domain_origin_state_create_info; - pub const physical_device_variable_pointer_features_khr = StructureType.physical_device_variable_pointer_features; - pub const physical_device_variable_pointers_features_khr = StructureType.physical_device_variable_pointer_features; - pub const memory_dedicated_requirements_khr = StructureType.memory_dedicated_requirements; - pub const memory_dedicated_allocate_info_khr = StructureType.memory_dedicated_allocate_info; - pub const buffer_memory_requirements_info_2_khr = StructureType.buffer_memory_requirements_info_2; - pub const image_memory_requirements_info_2_khr = StructureType.image_memory_requirements_info_2; - pub const image_sparse_memory_requirements_info_2_khr = StructureType.image_sparse_memory_requirements_info_2; - pub const memory_requirements_2_khr = StructureType.memory_requirements_2; - pub const sparse_image_memory_requirements_2_khr = StructureType.sparse_image_memory_requirements_2; - pub const sampler_ycbcr_conversion_create_info_khr = StructureType.sampler_ycbcr_conversion_create_info; - pub const sampler_ycbcr_conversion_info_khr = StructureType.sampler_ycbcr_conversion_info; - pub const bind_image_plane_memory_info_khr = StructureType.bind_image_plane_memory_info; - pub const image_plane_memory_requirements_info_khr = StructureType.image_plane_memory_requirements_info; - pub const physical_device_sampler_ycbcr_conversion_features_khr = StructureType.physical_device_sampler_ycbcr_conversion_features; - pub const sampler_ycbcr_conversion_image_format_properties_khr = StructureType.sampler_ycbcr_conversion_image_format_properties; - pub const bind_buffer_memory_info_khr = StructureType.bind_buffer_memory_info; - pub const bind_image_memory_info_khr = StructureType.bind_image_memory_info; - pub const physical_device_maintenance_3_properties_khr = StructureType.physical_device_maintenance_3_properties; - pub const descriptor_set_layout_support_khr = StructureType.descriptor_set_layout_support; - pub const physical_device_buffer_address_features_ext = StructureType.physical_device_buffer_device_address_features_ext; - pub const buffer_device_address_info_ext = StructureType.buffer_device_address_info_khr; + pub const device_ext = TimeDomainKHR.device_khr; + pub const clock_monotonic_ext = TimeDomainKHR.clock_monotonic_khr; + pub const clock_monotonic_raw_ext = TimeDomainKHR.clock_monotonic_raw_khr; + pub const query_performance_counter_ext = TimeDomainKHR.query_performance_counter_khr; +}; +pub const DebugReportFlagsEXT = packed struct(Flags) { + information_bit_ext: bool = false, + warning_bit_ext: bool = false, + performance_warning_bit_ext: bool = false, + error_bit_ext: bool = false, + debug_bit_ext: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(DebugReportFlagsEXT); +}; +pub const DebugReportObjectTypeEXT = enum(i32) { + unknown_ext = 0, + instance_ext = 1, + physical_device_ext = 2, + device_ext = 3, + queue_ext = 4, + semaphore_ext = 5, + command_buffer_ext = 6, + fence_ext = 7, + device_memory_ext = 8, + buffer_ext = 9, + image_ext = 10, + event_ext = 11, + query_pool_ext = 12, + buffer_view_ext = 13, + image_view_ext = 14, + shader_module_ext = 15, + pipeline_cache_ext = 16, + pipeline_layout_ext = 17, + render_pass_ext = 18, + pipeline_ext = 19, + descriptor_set_layout_ext = 20, + sampler_ext = 21, + descriptor_pool_ext = 22, + descriptor_set_ext = 23, + framebuffer_ext = 24, + command_pool_ext = 25, + surface_khr_ext = 26, + swapchain_khr_ext = 27, + debug_report_callback_ext_ext = 28, + display_khr_ext = 29, + display_mode_khr_ext = 30, + validation_cache_ext_ext = 33, + sampler_ycbcr_conversion_ext = 1000156000, + descriptor_update_template_ext = 1000085000, + cu_module_nvx_ext = 1000029000, + cu_function_nvx_ext = 1000029001, + acceleration_structure_khr_ext = 1000150000, + acceleration_structure_nv_ext = 1000165000, + cuda_module_nv_ext = 1000307000, + cuda_function_nv_ext = 1000307001, + buffer_collection_fuchsia_ext = 1000366000, + _, + pub const debug_report_ext = DebugReportObjectTypeEXT.debug_report_callback_ext_ext; + pub const validation_cache_ext = DebugReportObjectTypeEXT.validation_cache_ext_ext; + pub const descriptor_update_template_khr_ext = DebugReportObjectTypeEXT.descriptor_update_template_ext; + pub const sampler_ycbcr_conversion_khr_ext = DebugReportObjectTypeEXT.sampler_ycbcr_conversion_ext; +}; +pub const DeviceMemoryReportEventTypeEXT = enum(i32) { + allocate_ext = 0, + free_ext = 1, + import_ext = 2, + unimport_ext = 3, + allocation_failed_ext = 4, + _, +}; +pub const RasterizationOrderAMD = enum(i32) { + strict_amd = 0, + relaxed_amd = 1, + _, +}; +pub const ExternalMemoryHandleTypeFlagsNV = packed struct(Flags) { + opaque_win32_bit_nv: bool = false, + opaque_win32_kmt_bit_nv: bool = false, + d3d11_image_bit_nv: bool = false, + d3d11_image_kmt_bit_nv: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(ExternalMemoryHandleTypeFlagsNV); }; -pub const SubpassContents = enum(i32) { - @"inline" = 0, - secondary_command_buffers = 1, +pub const ExternalMemoryFeatureFlagsNV = packed struct(Flags) { + dedicated_only_bit_nv: bool = false, + exportable_bit_nv: bool = false, + importable_bit_nv: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(ExternalMemoryFeatureFlagsNV); +}; +pub const ValidationCheckEXT = enum(i32) { + all_ext = 0, + shaders_ext = 1, _, }; -pub const Result = enum(i32) { - success = 0, - not_ready = 1, - timeout = 2, - event_set = 3, - event_reset = 4, - incomplete = 5, - error_out_of_host_memory = -1, - error_out_of_device_memory = -2, - error_initialization_failed = -3, - error_device_lost = -4, - error_memory_map_failed = -5, - error_layer_not_present = -6, - error_extension_not_present = -7, - error_feature_not_present = -8, - error_incompatible_driver = -9, - error_too_many_objects = -10, - error_format_not_supported = -11, - error_fragmented_pool = -12, - error_out_of_pool_memory = -1000069000, - error_invalid_external_handle = -1000072003, - error_surface_lost_khr = -1000000000, - error_native_window_in_use_khr = -1000000001, - suboptimal_khr = 1000001003, - error_out_of_date_khr = -1000001004, - error_incompatible_display_khr = -1000003001, - error_validation_failed_ext = -1000011001, - error_invalid_shader_nv = -1000012000, - error_invalid_drm_format_modifier_plane_layout_ext = -1000158000, - error_fragmentation_ext = -1000161000, - error_not_permitted_ext = -1000174001, - error_full_screen_exclusive_mode_lost_ext = -1000255000, - error_invalid_opaque_capture_address_khr = -1000244000, +pub const ValidationFeatureEnableEXT = enum(i32) { + gpu_assisted_ext = 0, + gpu_assisted_reserve_binding_slot_ext = 1, + best_practices_ext = 2, + debug_printf_ext = 3, + synchronization_validation_ext = 4, _, - pub const error_out_of_pool_memory_khr = Result.error_out_of_pool_memory; - pub const error_invalid_external_handle_khr = Result.error_invalid_external_handle; - pub const error_invalid_device_address_ext = Result.error_invalid_opaque_capture_address_khr; }; -pub const DynamicState = enum(i32) { - viewport = 0, - scissor = 1, - line_width = 2, - depth_bias = 3, - blend_constants = 4, - depth_bounds = 5, - stencil_compare_mask = 6, - stencil_write_mask = 7, - stencil_reference = 8, - viewport_w_scaling_nv = 1000087000, - discard_rectangle_ext = 1000099000, - sample_locations_ext = 1000143000, - viewport_shading_rate_palette_nv = 1000164004, - viewport_coarse_sample_order_nv = 1000164006, - exclusive_scissor_nv = 1000205001, - line_stipple_ext = 1000259000, +pub const ValidationFeatureDisableEXT = enum(i32) { + all_ext = 0, + shaders_ext = 1, + thread_safety_ext = 2, + api_parameters_ext = 3, + object_lifetimes_ext = 4, + core_checks_ext = 5, + unique_handles_ext = 6, + shader_validation_cache_ext = 7, _, }; -pub const DescriptorUpdateTemplateType = enum(i32) { - descriptor_set = 0, - push_descriptors_khr = 1, +pub const LayerSettingTypeEXT = enum(i32) { + bool32_ext = 0, + int32_ext = 1, + int64_ext = 2, + uint32_ext = 3, + uint64_ext = 4, + float32_ext = 5, + float64_ext = 6, + string_ext = 7, _, - pub const descriptor_set_khr = DescriptorUpdateTemplateType.descriptor_set; }; -pub const ObjectType = enum(i32) { - unknown = 0, - instance = 1, - physical_device = 2, - device = 3, - queue = 4, - semaphore = 5, - command_buffer = 6, - fence = 7, - device_memory = 8, - buffer = 9, - image = 10, - event = 11, - query_pool = 12, - buffer_view = 13, - image_view = 14, - shader_module = 15, - pipeline_cache = 16, - pipeline_layout = 17, - render_pass = 18, - pipeline = 19, - descriptor_set_layout = 20, - sampler = 21, - descriptor_pool = 22, - descriptor_set = 23, - framebuffer = 24, - command_pool = 25, - sampler_ycbcr_conversion = 1000156000, - descriptor_update_template = 1000085000, - surface_khr = 1000000000, - swapchain_khr = 1000001000, - display_khr = 1000002000, - display_mode_khr = 1000002001, - debug_report_callback_ext = 1000011000, - object_table_nvx = 1000086000, - indirect_commands_layout_nvx = 1000086001, - debug_utils_messenger_ext = 1000128000, - validation_cache_ext = 1000160000, - acceleration_structure_nv = 1000165000, - performance_configuration_intel = 1000210000, +pub const SubgroupFeatureFlags = packed struct(Flags) { + basic_bit: bool = false, + vote_bit: bool = false, + arithmetic_bit: bool = false, + ballot_bit: bool = false, + shuffle_bit: bool = false, + shuffle_relative_bit: bool = false, + clustered_bit: bool = false, + quad_bit: bool = false, + partitioned_bit_nv: bool = false, + rotate_bit_khr: bool = false, + rotate_clustered_bit_khr: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(SubgroupFeatureFlags); +}; +pub const IndirectCommandsLayoutUsageFlagsNV = packed struct(Flags) { + explicit_preprocess_bit_nv: bool = false, + indexed_sequences_bit_nv: bool = false, + unordered_sequences_bit_nv: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(IndirectCommandsLayoutUsageFlagsNV); +}; +pub const IndirectStateFlagsNV = packed struct(Flags) { + flag_frontface_bit_nv: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(IndirectStateFlagsNV); +}; +pub const IndirectCommandsTokenTypeNV = enum(i32) { + shader_group_nv = 0, + state_flags_nv = 1, + index_buffer_nv = 2, + vertex_buffer_nv = 3, + push_constant_nv = 4, + draw_indexed_nv = 5, + draw_nv = 6, + draw_tasks_nv = 7, + draw_mesh_tasks_nv = 1000328000, + pipeline_nv = 1000428003, + dispatch_nv = 1000428004, _, - pub const descriptor_update_template_khr = ObjectType.descriptor_update_template; - pub const sampler_ycbcr_conversion_khr = ObjectType.sampler_ycbcr_conversion; }; -pub const QueueFlags = packed struct(Flags) { - graphics_bit: bool = false, - compute_bit: bool = false, - transfer_bit: bool = false, - sparse_binding_bit: bool = false, - protected_bit: bool = false, +pub const DescriptorSetLayoutCreateFlags = packed struct(Flags) { + push_descriptor_bit_khr: bool = false, + update_after_bind_pool_bit: bool = false, + host_only_pool_bit_ext: bool = false, + _reserved_bit_3: bool = false, + descriptor_buffer_bit_ext: bool = false, + embedded_immutable_samplers_bit_ext: bool = false, + per_stage_bit_nv: bool = false, + indirect_bindable_bit_nv: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(DescriptorSetLayoutCreateFlags); +}; +pub const ExternalMemoryHandleTypeFlags = packed struct(Flags) { + opaque_fd_bit: bool = false, + opaque_win32_bit: bool = false, + opaque_win32_kmt_bit: bool = false, + d3d11_texture_bit: bool = false, + d3d11_texture_kmt_bit: bool = false, + d3d12_heap_bit: bool = false, + d3d12_resource_bit: bool = false, + host_allocation_bit_ext: bool = false, + host_mapped_foreign_memory_bit_ext: bool = false, + dma_buf_bit_ext: bool = false, + android_hardware_buffer_bit_android: bool = false, + zircon_vmo_bit_fuchsia: bool = false, + rdma_address_bit_nv: bool = false, + sci_buf_bit_nv: bool = false, + screen_buffer_bit_qnx: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(ExternalMemoryHandleTypeFlags); +}; +pub const ExternalMemoryFeatureFlags = packed struct(Flags) { + dedicated_only_bit: bool = false, + exportable_bit: bool = false, + importable_bit: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, @@ -5322,14 +12752,80 @@ pub const QueueFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(QueueFlags); + pub usingnamespace FlagsMixin(ExternalMemoryFeatureFlags); }; -pub const RenderPassCreateFlags = packed struct(Flags) { - _reserved_bits: Flags = 0, - pub usingnamespace FlagsMixin(RenderPassCreateFlags); +pub const ExternalSemaphoreHandleTypeFlags = packed struct(Flags) { + opaque_fd_bit: bool = false, + opaque_win32_bit: bool = false, + opaque_win32_kmt_bit: bool = false, + d3d12_fence_bit: bool = false, + sync_fd_bit: bool = false, + sci_sync_obj_bit_nv: bool = false, + _reserved_bit_6: bool = false, + zircon_event_bit_fuchsia: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(ExternalSemaphoreHandleTypeFlags); }; -pub const DeviceQueueCreateFlags = packed struct(Flags) { - protected_bit: bool = false, +pub const ExternalSemaphoreFeatureFlags = packed struct(Flags) { + exportable_bit: bool = false, + importable_bit: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(ExternalSemaphoreFeatureFlags); +}; +pub const SemaphoreImportFlags = packed struct(Flags) { + temporary_bit: bool = false, _reserved_bit_1: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, @@ -5361,17 +12857,17 @@ pub const DeviceQueueCreateFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(DeviceQueueCreateFlags); + pub usingnamespace FlagsMixin(SemaphoreImportFlags); }; -pub const MemoryPropertyFlags = packed struct(Flags) { - device_local_bit: bool = false, - host_visible_bit: bool = false, - host_coherent_bit: bool = false, - host_cached_bit: bool = false, - lazily_allocated_bit: bool = false, - protected_bit: bool = false, - device_coherent_bit_amd: bool = false, - device_uncached_bit_amd: bool = false, +pub const ExternalFenceHandleTypeFlags = packed struct(Flags) { + opaque_fd_bit: bool = false, + opaque_win32_bit: bool = false, + opaque_win32_kmt_bit: bool = false, + sync_fd_bit: bool = false, + sci_sync_obj_bit_nv: bool = false, + sci_sync_fence_bit_nv: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, _reserved_bit_8: bool = false, _reserved_bit_9: bool = false, _reserved_bit_10: bool = false, @@ -5396,11 +12892,11 @@ pub const MemoryPropertyFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(MemoryPropertyFlags); + pub usingnamespace FlagsMixin(ExternalFenceHandleTypeFlags); }; -pub const MemoryHeapFlags = packed struct(Flags) { - device_local_bit: bool = false, - multi_instance_bit: bool = false, +pub const ExternalFenceFeatureFlags = packed struct(Flags) { + exportable_bit: bool = false, + importable_bit: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, @@ -5431,62 +12927,111 @@ pub const MemoryHeapFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(MemoryHeapFlags); + pub usingnamespace FlagsMixin(ExternalFenceFeatureFlags); }; -pub const AccessFlags = packed struct(Flags) { - indirect_command_read_bit: bool = false, - index_read_bit: bool = false, - vertex_attribute_read_bit: bool = false, - uniform_read_bit: bool = false, - input_attachment_read_bit: bool = false, - shader_read_bit: bool = false, - shader_write_bit: bool = false, - color_attachment_read_bit: bool = false, - color_attachment_write_bit: bool = false, - depth_stencil_attachment_read_bit: bool = false, - depth_stencil_attachment_write_bit: bool = false, - transfer_read_bit: bool = false, - transfer_write_bit: bool = false, - host_read_bit: bool = false, - host_write_bit: bool = false, - memory_read_bit: bool = false, - memory_write_bit: bool = false, - command_process_read_bit_nvx: bool = false, - command_process_write_bit_nvx: bool = false, - color_attachment_read_noncoherent_bit_ext: bool = false, - conditional_rendering_read_bit_ext: bool = false, - acceleration_structure_read_bit_nv: bool = false, - acceleration_structure_write_bit_nv: bool = false, - shading_rate_image_read_bit_nv: bool = false, - fragment_density_map_read_bit_ext: bool = false, - transform_feedback_write_bit_ext: bool = false, - transform_feedback_counter_read_bit_ext: bool = false, - transform_feedback_counter_write_bit_ext: bool = false, +pub const FenceImportFlags = packed struct(Flags) { + temporary_bit: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(FenceImportFlags); +}; +pub const SurfaceCounterFlagsEXT = packed struct(Flags) { + vblank_bit_ext: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, _reserved_bit_28: bool = false, _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(AccessFlags); + pub usingnamespace FlagsMixin(SurfaceCounterFlagsEXT); }; -pub const BufferUsageFlags = packed struct(Flags) { - transfer_src_bit: bool = false, - transfer_dst_bit: bool = false, - uniform_texel_buffer_bit: bool = false, - storage_texel_buffer_bit: bool = false, - uniform_buffer_bit: bool = false, - storage_buffer_bit: bool = false, - index_buffer_bit: bool = false, - vertex_buffer_bit: bool = false, - indirect_buffer_bit: bool = false, - conditional_rendering_bit_ext: bool = false, - ray_tracing_bit_nv: bool = false, - transform_feedback_buffer_bit_ext: bool = false, - transform_feedback_counter_buffer_bit_ext: bool = false, +pub const DisplayPowerStateEXT = enum(i32) { + off_ext = 0, + suspend_ext = 1, + on_ext = 2, + _, +}; +pub const DeviceEventTypeEXT = enum(i32) { + display_hotplug_ext = 0, + _, +}; +pub const DisplayEventTypeEXT = enum(i32) { + first_pixel_out_ext = 0, + _, +}; +pub const PeerMemoryFeatureFlags = packed struct(Flags) { + copy_src_bit: bool = false, + copy_dst_bit: bool = false, + generic_src_bit: bool = false, + generic_dst_bit: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, _reserved_bit_13: bool = false, _reserved_bit_14: bool = false, _reserved_bit_15: bool = false, _reserved_bit_16: bool = false, - shader_device_address_bit_khr: bool = false, + _reserved_bit_17: bool = false, _reserved_bit_18: bool = false, _reserved_bit_19: bool = false, _reserved_bit_20: bool = false, @@ -5501,14 +13046,14 @@ pub const BufferUsageFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(BufferUsageFlags); + pub usingnamespace FlagsMixin(PeerMemoryFeatureFlags); }; -pub const BufferCreateFlags = packed struct(Flags) { - sparse_binding_bit: bool = false, - sparse_residency_bit: bool = false, - sparse_aliased_bit: bool = false, - protected_bit: bool = false, - device_address_capture_replay_bit_khr: bool = false, +pub const MemoryAllocateFlags = packed struct(Flags) { + device_mask_bit: bool = false, + device_address_bit: bool = false, + device_address_capture_replay_bit: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, @@ -5536,23 +13081,23 @@ pub const BufferCreateFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(BufferCreateFlags); + pub usingnamespace FlagsMixin(MemoryAllocateFlags); }; -pub const ShaderStageFlags = packed struct(Flags) { - vertex_bit: bool = false, - tessellation_control_bit: bool = false, - tessellation_evaluation_bit: bool = false, - geometry_bit: bool = false, - fragment_bit: bool = false, - compute_bit: bool = false, - task_bit_nv: bool = false, - mesh_bit_nv: bool = false, - raygen_bit_nv: bool = false, - any_hit_bit_nv: bool = false, - closest_hit_bit_nv: bool = false, - miss_bit_nv: bool = false, - intersection_bit_nv: bool = false, - callable_bit_nv: bool = false, +pub const DeviceGroupPresentModeFlagsKHR = packed struct(Flags) { + local_bit_khr: bool = false, + remote_bit_khr: bool = false, + sum_bit_khr: bool = false, + local_multi_device_bit_khr: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, _reserved_bit_14: bool = false, _reserved_bit_15: bool = false, _reserved_bit_16: bool = false, @@ -5571,19 +13116,19 @@ pub const ShaderStageFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ShaderStageFlags); + pub usingnamespace FlagsMixin(DeviceGroupPresentModeFlagsKHR); }; -pub const ImageUsageFlags = packed struct(Flags) { - transfer_src_bit: bool = false, - transfer_dst_bit: bool = false, - sampled_bit: bool = false, - storage_bit: bool = false, - color_attachment_bit: bool = false, - depth_stencil_attachment_bit: bool = false, - transient_attachment_bit: bool = false, - input_attachment_bit: bool = false, - shading_rate_image_bit_nv: bool = false, - fragment_density_map_bit_ext: bool = false, +pub const SwapchainCreateFlagsKHR = packed struct(Flags) { + split_instance_bind_regions_bit_khr: bool = false, + protected_bit_khr: bool = false, + mutable_format_bit_khr: bool = false, + deferred_memory_allocation_bit_ext: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, _reserved_bit_10: bool = false, _reserved_bit_11: bool = false, _reserved_bit_12: bool = false, @@ -5606,24 +13151,40 @@ pub const ImageUsageFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ImageUsageFlags); + pub usingnamespace FlagsMixin(SwapchainCreateFlagsKHR); }; -pub const ImageCreateFlags = packed struct(Flags) { - sparse_binding_bit: bool = false, - sparse_residency_bit: bool = false, - sparse_aliased_bit: bool = false, - mutable_format_bit: bool = false, - cube_compatible_bit: bool = false, - @"2d_array_compatible_bit": bool = false, - split_instance_bind_regions_bit: bool = false, - block_texel_view_compatible_bit: bool = false, - extended_usage_bit: bool = false, - disjoint_bit: bool = false, - alias_bit: bool = false, - protected_bit: bool = false, - sample_locations_compatible_depth_bit_ext: bool = false, - corner_sampled_bit_nv: bool = false, - subsampled_bit_ext: bool = false, +pub const ViewportCoordinateSwizzleNV = enum(i32) { + positive_x_nv = 0, + negative_x_nv = 1, + positive_y_nv = 2, + negative_y_nv = 3, + positive_z_nv = 4, + negative_z_nv = 5, + positive_w_nv = 6, + negative_w_nv = 7, + _, +}; +pub const DiscardRectangleModeEXT = enum(i32) { + inclusive_ext = 0, + exclusive_ext = 1, + _, +}; +pub const SubpassDescriptionFlags = packed struct(Flags) { + per_view_attributes_bit_nvx: bool = false, + per_view_position_x_only_bit_nvx: bool = false, + fragment_region_bit_qcom: bool = false, + shader_resolve_bit_qcom: bool = false, + rasterization_order_attachment_color_access_bit_ext: bool = false, + rasterization_order_attachment_depth_access_bit_ext: bool = false, + rasterization_order_attachment_stencil_access_bit_ext: bool = false, + enable_legacy_dithering_bit_ext: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, _reserved_bit_15: bool = false, _reserved_bit_16: bool = false, _reserved_bit_17: bool = false, @@ -5641,22 +13202,112 @@ pub const ImageCreateFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ImageCreateFlags); + pub usingnamespace FlagsMixin(SubpassDescriptionFlags); }; -pub const ImageViewCreateFlags = packed struct(Flags) { - fragment_density_map_dynamic_bit_ext: bool = false, +pub const PointClippingBehavior = enum(i32) { + all_clip_planes = 0, + user_clip_planes_only = 1, + _, + pub const all_clip_planes_khr = PointClippingBehavior.all_clip_planes; + pub const user_clip_planes_only_khr = PointClippingBehavior.user_clip_planes_only; +}; +pub const SamplerReductionMode = enum(i32) { + weighted_average = 0, + min = 1, + max = 2, + weighted_average_rangeclamp_qcom = 1000521000, + _, + pub const weighted_average_ext = SamplerReductionMode.weighted_average; + pub const min_ext = SamplerReductionMode.min; + pub const max_ext = SamplerReductionMode.max; +}; +pub const TessellationDomainOrigin = enum(i32) { + upper_left = 0, + lower_left = 1, + _, + pub const upper_left_khr = TessellationDomainOrigin.upper_left; + pub const lower_left_khr = TessellationDomainOrigin.lower_left; +}; +pub const SamplerYcbcrModelConversion = enum(i32) { + rgb_identity = 0, + ycbcr_identity = 1, + ycbcr_709 = 2, + ycbcr_601 = 3, + ycbcr_2020 = 4, + _, + pub const rgb_identity_khr = SamplerYcbcrModelConversion.rgb_identity; + pub const ycbcr_identity_khr = SamplerYcbcrModelConversion.ycbcr_identity; + pub const ycbcr_709_khr = SamplerYcbcrModelConversion.ycbcr_709; + pub const ycbcr_601_khr = SamplerYcbcrModelConversion.ycbcr_601; + pub const ycbcr_2020_khr = SamplerYcbcrModelConversion.ycbcr_2020; +}; +pub const SamplerYcbcrRange = enum(i32) { + itu_full = 0, + itu_narrow = 1, + _, + pub const itu_full_khr = SamplerYcbcrRange.itu_full; + pub const itu_narrow_khr = SamplerYcbcrRange.itu_narrow; +}; +pub const ChromaLocation = enum(i32) { + cosited_even = 0, + midpoint = 1, + _, + pub const cosited_even_khr = ChromaLocation.cosited_even; + pub const midpoint_khr = ChromaLocation.midpoint; +}; +pub const BlendOverlapEXT = enum(i32) { + uncorrelated_ext = 0, + disjoint_ext = 1, + conjoint_ext = 2, + _, +}; +pub const CoverageModulationModeNV = enum(i32) { + none_nv = 0, + rgb_nv = 1, + alpha_nv = 2, + rgba_nv = 3, + _, +}; +pub const CoverageReductionModeNV = enum(i32) { + merge_nv = 0, + truncate_nv = 1, + _, +}; +pub const ValidationCacheHeaderVersionEXT = enum(i32) { + one_ext = 1, + _, +}; +pub const ShaderInfoTypeAMD = enum(i32) { + statistics_amd = 0, + binary_amd = 1, + disassembly_amd = 2, + _, +}; +pub const QueueGlobalPriorityKHR = enum(i32) { + low_khr = 128, + medium_khr = 256, + high_khr = 512, + realtime_khr = 1024, + _, + pub const low_ext = QueueGlobalPriorityKHR.low_khr; + pub const medium_ext = QueueGlobalPriorityKHR.medium_khr; + pub const high_ext = QueueGlobalPriorityKHR.high_khr; + pub const realtime_ext = QueueGlobalPriorityKHR.realtime_khr; +}; +pub const DebugUtilsMessageSeverityFlagsEXT = packed struct(Flags) { + verbose_bit_ext: bool = false, _reserved_bit_1: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, + info_bit_ext: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, + warning_bit_ext: bool = false, _reserved_bit_9: bool = false, _reserved_bit_10: bool = false, _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, + error_bit_ext: bool = false, _reserved_bit_13: bool = false, _reserved_bit_14: bool = false, _reserved_bit_15: bool = false, @@ -5676,13 +13327,13 @@ pub const ImageViewCreateFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ImageViewCreateFlags); + pub usingnamespace FlagsMixin(DebugUtilsMessageSeverityFlagsEXT); }; -pub const SamplerCreateFlags = packed struct(Flags) { - subsampled_bit_ext: bool = false, - subsampled_coarse_reconstruction_bit_ext: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, +pub const DebugUtilsMessageTypeFlagsEXT = packed struct(Flags) { + general_bit_ext: bool = false, + validation_bit_ext: bool = false, + performance_bit_ext: bool = false, + device_address_binding_bit_ext: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, @@ -5711,17 +13362,23 @@ pub const SamplerCreateFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(SamplerCreateFlags); + pub usingnamespace FlagsMixin(DebugUtilsMessageTypeFlagsEXT); }; -pub const PipelineCreateFlags = packed struct(Flags) { - disable_optimization_bit: bool = false, - allow_derivatives_bit: bool = false, - derivative_bit: bool = false, - view_index_from_device_index_bit: bool = false, - dispatch_base_bit: bool = false, - defer_compile_bit_nv: bool = false, - capture_statistics_bit_khr: bool = false, - capture_internal_representations_bit_khr: bool = false, +pub const ConservativeRasterizationModeEXT = enum(i32) { + disabled_ext = 0, + overestimate_ext = 1, + underestimate_ext = 2, + _, +}; +pub const DescriptorBindingFlags = packed struct(Flags) { + update_after_bind_bit: bool = false, + update_unused_while_pending_bit: bool = false, + partially_bound_bit: bool = false, + variable_descriptor_count_bit: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, _reserved_bit_8: bool = false, _reserved_bit_9: bool = false, _reserved_bit_10: bool = false, @@ -5746,11 +13403,64 @@ pub const PipelineCreateFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(PipelineCreateFlags); + pub usingnamespace FlagsMixin(DescriptorBindingFlags); }; -pub const PipelineShaderStageCreateFlags = packed struct(Flags) { - allow_varying_subgroup_size_bit_ext: bool = false, - require_full_subgroups_bit_ext: bool = false, +pub const VendorId = enum(i32) { + khronos = 0x10000, + _viv = 0x10001, + _vsi = 0x10002, + kazan = 0x10003, + codeplay = 0x10004, + _mesa = 0x10005, + pocl = 0x10006, + mobileye = 0x10007, + _, +}; +pub const DriverId = enum(i32) { + amd_proprietary = 1, + amd_open_source = 2, + mesa_radv = 3, + nvidia_proprietary = 4, + intel_proprietary_windows = 5, + intel_open_source_mesa = 6, + imagination_proprietary = 7, + qualcomm_proprietary = 8, + arm_proprietary = 9, + google_swiftshader = 10, + ggp_proprietary = 11, + broadcom_proprietary = 12, + mesa_llvmpipe = 13, + moltenvk = 14, + coreavi_proprietary = 15, + juice_proprietary = 16, + verisilicon_proprietary = 17, + mesa_turnip = 18, + mesa_v3dv = 19, + mesa_panvk = 20, + samsung_proprietary = 21, + mesa_venus = 22, + mesa_dozen = 23, + mesa_nvk = 24, + imagination_open_source_mesa = 25, + mesa_agxv = 26, + reserved_27 = 27, + _, + pub const amd_proprietary_khr = DriverId.amd_proprietary; + pub const amd_open_source_khr = DriverId.amd_open_source; + pub const mesa_radv_khr = DriverId.mesa_radv; + pub const nvidia_proprietary_khr = DriverId.nvidia_proprietary; + pub const intel_proprietary_windows_khr = DriverId.intel_proprietary_windows; + pub const intel_open_source_mesa_khr = DriverId.intel_open_source_mesa; + pub const imagination_proprietary_khr = DriverId.imagination_proprietary; + pub const qualcomm_proprietary_khr = DriverId.qualcomm_proprietary; + pub const arm_proprietary_khr = DriverId.arm_proprietary; + pub const google_swiftshader_khr = DriverId.google_swiftshader; + pub const ggp_proprietary_khr = DriverId.ggp_proprietary; + pub const broadcom_proprietary_khr = DriverId.broadcom_proprietary; +}; +pub const ConditionalRenderingFlagsEXT = packed struct(Flags) { + inverted_bit_ext: bool = false, + _reserved_bit_1: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, @@ -5781,14 +13491,14 @@ pub const PipelineShaderStageCreateFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(PipelineShaderStageCreateFlags); + pub usingnamespace FlagsMixin(ConditionalRenderingFlagsEXT); }; -pub const ColorComponentFlags = packed struct(Flags) { - r_bit: bool = false, - g_bit: bool = false, - b_bit: bool = false, - a_bit: bool = false, - _reserved_bit_4: bool = false, +pub const ResolveModeFlags = packed struct(Flags) { + sample_zero_bit: bool = false, + average_bit: bool = false, + min_bit: bool = false, + max_bit: bool = false, + external_format_downsample_android: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, @@ -5816,15 +13526,37 @@ pub const ColorComponentFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ColorComponentFlags); + pub usingnamespace FlagsMixin(ResolveModeFlags); }; -pub const FenceCreateFlags = packed struct(Flags) { - signaled_bit: bool = false, - _reserved_bit_1: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, +pub const ShadingRatePaletteEntryNV = enum(i32) { + no_invocations_nv = 0, + @"16_invocations_per_pixel_nv" = 1, + @"8_invocations_per_pixel_nv" = 2, + @"4_invocations_per_pixel_nv" = 3, + @"2_invocations_per_pixel_nv" = 4, + @"1_invocation_per_pixel_nv" = 5, + @"1_invocation_per_2x1_pixels_nv" = 6, + @"1_invocation_per_1x2_pixels_nv" = 7, + @"1_invocation_per_2x2_pixels_nv" = 8, + @"1_invocation_per_4x2_pixels_nv" = 9, + @"1_invocation_per_2x4_pixels_nv" = 10, + @"1_invocation_per_4x4_pixels_nv" = 11, + _, +}; +pub const CoarseSampleOrderTypeNV = enum(i32) { + default_nv = 0, + custom_nv = 1, + pixel_major_nv = 2, + sample_major_nv = 3, + _, +}; +pub const GeometryInstanceFlagsKHR = packed struct(Flags) { + triangle_facing_cull_disable_bit_khr: bool = false, + triangle_flip_facing_bit_khr: bool = false, + force_opaque_bit_khr: bool = false, + force_no_opaque_bit_khr: bool = false, + force_opacity_micromap_2_state_ext: bool = false, + disable_opacity_micromaps_ext: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, _reserved_bit_8: bool = false, @@ -5851,46 +13583,11 @@ pub const FenceCreateFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(FenceCreateFlags); -}; -pub const FormatFeatureFlags = packed struct(Flags) { - sampled_image_bit: bool = false, - storage_image_bit: bool = false, - storage_image_atomic_bit: bool = false, - uniform_texel_buffer_bit: bool = false, - storage_texel_buffer_bit: bool = false, - storage_texel_buffer_atomic_bit: bool = false, - vertex_buffer_bit: bool = false, - color_attachment_bit: bool = false, - color_attachment_blend_bit: bool = false, - depth_stencil_attachment_bit: bool = false, - blit_src_bit: bool = false, - blit_dst_bit: bool = false, - sampled_image_filter_linear_bit: bool = false, - sampled_image_filter_cubic_bit_img: bool = false, - transfer_src_bit: bool = false, - transfer_dst_bit: bool = false, - sampled_image_filter_minmax_bit_ext: bool = false, - midpoint_chroma_samples_bit: bool = false, - sampled_image_ycbcr_conversion_linear_filter_bit: bool = false, - sampled_image_ycbcr_conversion_separate_reconstruction_filter_bit: bool = false, - sampled_image_ycbcr_conversion_chroma_reconstruction_explicit_bit: bool = false, - sampled_image_ycbcr_conversion_chroma_reconstruction_explicit_forceable_bit: bool = false, - disjoint_bit: bool = false, - cosited_chroma_samples_bit: bool = false, - fragment_density_map_bit_ext: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(FormatFeatureFlags); + pub usingnamespace FlagsMixin(GeometryInstanceFlagsKHR); }; -pub const QueryControlFlags = packed struct(Flags) { - precise_bit: bool = false, - _reserved_bit_1: bool = false, +pub const GeometryFlagsKHR = packed struct(Flags) { + opaque_bit_khr: bool = false, + no_duplicate_any_hit_invocation_bit_khr: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, @@ -5921,21 +13618,21 @@ pub const QueryControlFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(QueryControlFlags); -}; -pub const QueryResultFlags = packed struct(Flags) { - @"64_bit": bool = false, - wait_bit: bool = false, - with_availability_bit: bool = false, - partial_bit: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, + pub usingnamespace FlagsMixin(GeometryFlagsKHR); +}; +pub const BuildAccelerationStructureFlagsKHR = packed struct(Flags) { + allow_update_bit_khr: bool = false, + allow_compaction_bit_khr: bool = false, + prefer_fast_trace_bit_khr: bool = false, + prefer_fast_build_bit_khr: bool = false, + low_memory_bit_khr: bool = false, + motion_bit_nv: bool = false, + allow_opacity_micromap_update_ext: bool = false, + allow_disable_opacity_micromaps_ext: bool = false, + allow_opacity_micromap_data_update_ext: bool = false, + allow_displacement_micromap_update_nv: bool = false, _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, + allow_data_access_khr: bool = false, _reserved_bit_12: bool = false, _reserved_bit_13: bool = false, _reserved_bit_14: bool = false, @@ -5956,13 +13653,13 @@ pub const QueryResultFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(QueryResultFlags); + pub usingnamespace FlagsMixin(BuildAccelerationStructureFlagsKHR); }; -pub const CommandBufferUsageFlags = packed struct(Flags) { - one_time_submit_bit: bool = false, - render_pass_continue_bit: bool = false, - simultaneous_use_bit: bool = false, - _reserved_bit_3: bool = false, +pub const AccelerationStructureCreateFlagsKHR = packed struct(Flags) { + device_address_capture_replay_bit_khr: bool = false, + _reserved_bit_1: bool = false, + motion_bit_nv: bool = false, + descriptor_buffer_capture_replay_bit_ext: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, @@ -5991,20 +13688,89 @@ pub const CommandBufferUsageFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(CommandBufferUsageFlags); + pub usingnamespace FlagsMixin(AccelerationStructureCreateFlagsKHR); }; -pub const QueryPipelineStatisticFlags = packed struct(Flags) { - input_assembly_vertices_bit: bool = false, - input_assembly_primitives_bit: bool = false, - vertex_shader_invocations_bit: bool = false, - geometry_shader_invocations_bit: bool = false, - geometry_shader_primitives_bit: bool = false, - clipping_invocations_bit: bool = false, - clipping_primitives_bit: bool = false, - fragment_shader_invocations_bit: bool = false, - tessellation_control_shader_patches_bit: bool = false, - tessellation_evaluation_shader_invocations_bit: bool = false, - compute_shader_invocations_bit: bool = false, +pub const CopyAccelerationStructureModeKHR = enum(i32) { + clone_khr = 0, + compact_khr = 1, + serialize_khr = 2, + deserialize_khr = 3, + _, + pub const clone_nv = CopyAccelerationStructureModeKHR.clone_khr; + pub const compact_nv = CopyAccelerationStructureModeKHR.compact_khr; +}; +pub const BuildAccelerationStructureModeKHR = enum(i32) { + build_khr = 0, + update_khr = 1, + _, +}; +pub const AccelerationStructureTypeKHR = enum(i32) { + top_level_khr = 0, + bottom_level_khr = 1, + generic_khr = 2, + _, + pub const top_level_nv = AccelerationStructureTypeKHR.top_level_khr; + pub const bottom_level_nv = AccelerationStructureTypeKHR.bottom_level_khr; +}; +pub const GeometryTypeKHR = enum(i32) { + triangles_khr = 0, + aabbs_khr = 1, + instances_khr = 2, + _, + pub const triangles_nv = GeometryTypeKHR.triangles_khr; + pub const aabbs_nv = GeometryTypeKHR.aabbs_khr; +}; +pub const AccelerationStructureMemoryRequirementsTypeNV = enum(i32) { + object_nv = 0, + build_scratch_nv = 1, + update_scratch_nv = 2, + _, +}; +pub const AccelerationStructureBuildTypeKHR = enum(i32) { + host_khr = 0, + device_khr = 1, + host_or_device_khr = 2, + _, +}; +pub const RayTracingShaderGroupTypeKHR = enum(i32) { + general_khr = 0, + triangles_hit_group_khr = 1, + procedural_hit_group_khr = 2, + _, + pub const general_nv = RayTracingShaderGroupTypeKHR.general_khr; + pub const triangles_hit_group_nv = RayTracingShaderGroupTypeKHR.triangles_hit_group_khr; + pub const procedural_hit_group_nv = RayTracingShaderGroupTypeKHR.procedural_hit_group_khr; +}; +pub const AccelerationStructureCompatibilityKHR = enum(i32) { + compatible_khr = 0, + incompatible_khr = 1, + _, +}; +pub const ShaderGroupShaderKHR = enum(i32) { + general_khr = 0, + closest_hit_khr = 1, + any_hit_khr = 2, + intersection_khr = 3, + _, +}; +pub const MemoryOverallocationBehaviorAMD = enum(i32) { + default_amd = 0, + allowed_amd = 1, + disallowed_amd = 2, + _, +}; +pub const FramebufferCreateFlags = packed struct(Flags) { + imageless_bit: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, _reserved_bit_11: bool = false, _reserved_bit_12: bool = false, _reserved_bit_13: bool = false, @@ -6026,20 +13792,20 @@ pub const QueryPipelineStatisticFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(QueryPipelineStatisticFlags); + pub usingnamespace FlagsMixin(FramebufferCreateFlags); }; -pub const ImageAspectFlags = packed struct(Flags) { - color_bit: bool = false, - depth_bit: bool = false, - stencil_bit: bool = false, - metadata_bit: bool = false, - plane_0_bit: bool = false, - plane_1_bit: bool = false, - plane_2_bit: bool = false, - memory_plane_0_bit_ext: bool = false, - memory_plane_1_bit_ext: bool = false, - memory_plane_2_bit_ext: bool = false, - memory_plane_3_bit_ext: bool = false, +pub const DeviceDiagnosticsConfigFlagsNV = packed struct(Flags) { + enable_shader_debug_info_bit_nv: bool = false, + enable_resource_tracking_bit_nv: bool = false, + enable_automatic_checkpoints_bit_nv: bool = false, + enable_shader_error_reporting_bit_nv: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, _reserved_bit_11: bool = false, _reserved_bit_12: bool = false, _reserved_bit_13: bool = false, @@ -6061,12 +13827,12 @@ pub const ImageAspectFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ImageAspectFlags); + pub usingnamespace FlagsMixin(DeviceDiagnosticsConfigFlagsNV); }; -pub const SparseImageFormatFlags = packed struct(Flags) { - single_miptail_bit: bool = false, - aligned_mip_size_bit: bool = false, - nonstandard_block_size_bit: bool = false, +pub const PipelineCreationFeedbackFlags = packed struct(Flags) { + valid_bit: bool = false, + application_pipeline_cache_hit_bit: bool = false, + base_pipeline_acceleration_bit: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, @@ -6096,10 +13862,26 @@ pub const SparseImageFormatFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(SparseImageFormatFlags); + pub usingnamespace FlagsMixin(PipelineCreationFeedbackFlags); }; -pub const SparseMemoryBindFlags = packed struct(Flags) { - metadata_bit: bool = false, +pub const FullScreenExclusiveEXT = enum(i32) { + default_ext = 0, + allowed_ext = 1, + disallowed_ext = 2, + application_controlled_ext = 3, + _, +}; +pub const PerformanceCounterScopeKHR = enum(i32) { + command_buffer_khr = 0, + render_pass_khr = 1, + command_khr = 2, + _, + pub const query_scope_command_buffer_khr = PerformanceCounterScopeKHR.command_buffer_khr; + pub const query_scope_render_pass_khr = PerformanceCounterScopeKHR.render_pass_khr; + pub const query_scope_command_khr = PerformanceCounterScopeKHR.command_khr; +}; +pub const MemoryDecompressionMethodFlagsNV = packed struct(Flags64) { + gdeflate_1_0_bit_nv: bool = false, _reserved_bit_1: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, @@ -6123,55 +13905,75 @@ pub const SparseMemoryBindFlags = packed struct(Flags) { _reserved_bit_21: bool = false, _reserved_bit_22: bool = false, _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(SparseMemoryBindFlags); -}; -pub const PipelineStageFlags = packed struct(Flags) { - top_of_pipe_bit: bool = false, - draw_indirect_bit: bool = false, - vertex_input_bit: bool = false, - vertex_shader_bit: bool = false, - tessellation_control_shader_bit: bool = false, - tessellation_evaluation_shader_bit: bool = false, - geometry_shader_bit: bool = false, - fragment_shader_bit: bool = false, - early_fragment_tests_bit: bool = false, - late_fragment_tests_bit: bool = false, - color_attachment_output_bit: bool = false, - compute_shader_bit: bool = false, - transfer_bit: bool = false, - bottom_of_pipe_bit: bool = false, - host_bit: bool = false, - all_graphics_bit: bool = false, - all_commands_bit: bool = false, - command_process_bit_nvx: bool = false, - conditional_rendering_bit_ext: bool = false, - task_shader_bit_nv: bool = false, - mesh_shader_bit_nv: bool = false, - ray_tracing_shader_bit_nv: bool = false, - shading_rate_image_bit_nv: bool = false, - fragment_density_process_bit_ext: bool = false, - transform_feedback_bit_ext: bool = false, - acceleration_structure_build_bit_nv: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, _reserved_bit_26: bool = false, _reserved_bit_27: bool = false, _reserved_bit_28: bool = false, _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(PipelineStageFlags); + _reserved_bit_32: bool = false, + _reserved_bit_33: bool = false, + _reserved_bit_34: bool = false, + _reserved_bit_35: bool = false, + _reserved_bit_36: bool = false, + _reserved_bit_37: bool = false, + _reserved_bit_38: bool = false, + _reserved_bit_39: bool = false, + _reserved_bit_40: bool = false, + _reserved_bit_41: bool = false, + _reserved_bit_42: bool = false, + _reserved_bit_43: bool = false, + _reserved_bit_44: bool = false, + _reserved_bit_45: bool = false, + _reserved_bit_46: bool = false, + _reserved_bit_47: bool = false, + _reserved_bit_48: bool = false, + _reserved_bit_49: bool = false, + _reserved_bit_50: bool = false, + _reserved_bit_51: bool = false, + _reserved_bit_52: bool = false, + _reserved_bit_53: bool = false, + _reserved_bit_54: bool = false, + _reserved_bit_55: bool = false, + _reserved_bit_56: bool = false, + _reserved_bit_57: bool = false, + _reserved_bit_58: bool = false, + _reserved_bit_59: bool = false, + _reserved_bit_60: bool = false, + _reserved_bit_61: bool = false, + _reserved_bit_62: bool = false, + _reserved_bit_63: bool = false, + pub usingnamespace FlagsMixin(MemoryDecompressionMethodFlagsNV); }; -pub const CommandPoolCreateFlags = packed struct(Flags) { - transient_bit: bool = false, - reset_command_buffer_bit: bool = false, - protected_bit: bool = false, +pub const PerformanceCounterUnitKHR = enum(i32) { + generic_khr = 0, + percentage_khr = 1, + nanoseconds_khr = 2, + bytes_khr = 3, + bytes_per_second_khr = 4, + kelvin_khr = 5, + watts_khr = 6, + volts_khr = 7, + amps_khr = 8, + hertz_khr = 9, + cycles_khr = 10, + _, +}; +pub const PerformanceCounterStorageKHR = enum(i32) { + int32_khr = 0, + int64_khr = 1, + uint32_khr = 2, + uint64_khr = 3, + float32_khr = 4, + float64_khr = 5, + _, +}; +pub const PerformanceCounterDescriptionFlagsKHR = packed struct(Flags) { + performance_impacting_bit_khr: bool = false, + concurrently_impacted_bit_khr: bool = false, + _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, @@ -6201,16 +14003,106 @@ pub const CommandPoolCreateFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(CommandPoolCreateFlags); + pub usingnamespace FlagsMixin(PerformanceCounterDescriptionFlagsKHR); }; -pub const CommandPoolResetFlags = packed struct(Flags) { - release_resources_bit: bool = false, - _reserved_bit_1: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, +pub const AcquireProfilingLockFlagsKHR = packed struct(Flags) { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(AcquireProfilingLockFlagsKHR); +}; +pub const ShaderCorePropertiesFlagsAMD = packed struct(Flags) { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(ShaderCorePropertiesFlagsAMD); +}; +pub const RefreshObjectFlagsKHR = packed struct(Flags) { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(RefreshObjectFlagsKHR); +}; +pub const PerformanceConfigurationTypeINTEL = enum(i32) { + command_queue_metrics_discovery_activated_intel = 0, + _, +}; +pub const QueryPoolSamplingModeINTEL = enum(i32) { + manual_intel = 0, + _, +}; +pub const PerformanceOverrideTypeINTEL = enum(i32) { + null_hardware_intel = 0, + flush_gpu_caches_intel = 1, + _, +}; +pub const PerformanceParameterTypeINTEL = enum(i32) { + hw_counters_supported_intel = 0, + stream_marker_valid_bits_intel = 1, + _, +}; +pub const PerformanceValueTypeINTEL = enum(i32) { + uint32_intel = 0, + uint64_intel = 1, + float_intel = 2, + bool_intel = 3, + string_intel = 4, + _, +}; +pub const ShaderFloatControlsIndependence = enum(i32) { + @"32_bit_only" = 0, + all = 1, + none = 2, + _, + pub const @"32_bit_only_khr" = ShaderFloatControlsIndependence.@"32_bit_only"; + pub const all_khr = ShaderFloatControlsIndependence.all; + pub const none_khr = ShaderFloatControlsIndependence.none; +}; +pub const PipelineExecutableStatisticFormatKHR = enum(i32) { + bool32_khr = 0, + int64_khr = 1, + uint64_khr = 2, + float64_khr = 3, + _, +}; +pub const LineRasterizationModeKHR = enum(i32) { + default_khr = 0, + rectangular_khr = 1, + bresenham_khr = 2, + rectangular_smooth_khr = 3, + _, + pub const default_ext = LineRasterizationModeKHR.default_khr; + pub const rectangular_ext = LineRasterizationModeKHR.rectangular_khr; + pub const bresenham_ext = LineRasterizationModeKHR.bresenham_khr; + pub const rectangular_smooth_ext = LineRasterizationModeKHR.rectangular_smooth_khr; +}; +pub const PipelineCompilerControlFlagsAMD = packed struct(Flags) { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(PipelineCompilerControlFlagsAMD); +}; +pub const FaultLevel = enum(i32) { + unassigned = 0, + critical = 1, + recoverable = 2, + warning = 3, + _, +}; +pub const FaultType = enum(i32) { + invalid = 0, + unassigned = 1, + implementation = 2, + system = 3, + physical_device = 4, + command_buffer_full = 5, + invalid_api_usage = 6, + _, +}; +pub const FaultQueryBehavior = enum(i32) { + get_and_clear_all_faults = 0, + _, +}; +pub const ToolPurposeFlags = packed struct(Flags) { + validation_bit: bool = false, + profiling_bit: bool = false, + tracing_bit: bool = false, + additional_features_bit: bool = false, + modifying_features_bit: bool = false, + debug_reporting_bit_ext: bool = false, + debug_markers_bit_ext: bool = false, _reserved_bit_7: bool = false, _reserved_bit_8: bool = false, _reserved_bit_9: bool = false, @@ -6236,10 +14128,193 @@ pub const CommandPoolResetFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(CommandPoolResetFlags); + pub usingnamespace FlagsMixin(ToolPurposeFlags); }; -pub const CommandBufferResetFlags = packed struct(Flags) { - release_resources_bit: bool = false, +pub const PipelineMatchControl = enum(i32) { + application_uuid_exact_match = 0, + _, +}; +pub const FragmentShadingRateCombinerOpKHR = enum(i32) { + keep_khr = 0, + replace_khr = 1, + min_khr = 2, + max_khr = 3, + mul_khr = 4, + _, +}; +pub const FragmentShadingRateNV = enum(i32) { + @"1_invocation_per_pixel_nv" = 0, + @"1_invocation_per_1x2_pixels_nv" = 1, + @"1_invocation_per_2x1_pixels_nv" = 4, + @"1_invocation_per_2x2_pixels_nv" = 5, + @"1_invocation_per_2x4_pixels_nv" = 6, + @"1_invocation_per_4x2_pixels_nv" = 9, + @"1_invocation_per_4x4_pixels_nv" = 10, + @"2_invocations_per_pixel_nv" = 11, + @"4_invocations_per_pixel_nv" = 12, + @"8_invocations_per_pixel_nv" = 13, + @"16_invocations_per_pixel_nv" = 14, + no_invocations_nv = 15, + _, +}; +pub const FragmentShadingRateTypeNV = enum(i32) { + fragment_size_nv = 0, + enums_nv = 1, + _, +}; +pub const SubpassMergeStatusEXT = enum(i32) { + merged_ext = 0, + disallowed_ext = 1, + not_merged_side_effects_ext = 2, + not_merged_samples_mismatch_ext = 3, + not_merged_views_mismatch_ext = 4, + not_merged_aliasing_ext = 5, + not_merged_dependencies_ext = 6, + not_merged_incompatible_input_attachment_ext = 7, + not_merged_too_many_attachments_ext = 8, + not_merged_insufficient_storage_ext = 9, + not_merged_depth_stencil_count_ext = 10, + not_merged_resolve_attachment_reuse_ext = 11, + not_merged_single_subpass_ext = 12, + not_merged_unspecified_ext = 13, + _, +}; +pub const AccessFlags2 = packed struct(Flags64) { + indirect_command_read_bit: bool = false, + index_read_bit: bool = false, + vertex_attribute_read_bit: bool = false, + uniform_read_bit: bool = false, + input_attachment_read_bit: bool = false, + shader_read_bit: bool = false, + shader_write_bit: bool = false, + color_attachment_read_bit: bool = false, + color_attachment_write_bit: bool = false, + depth_stencil_attachment_read_bit: bool = false, + depth_stencil_attachment_write_bit: bool = false, + transfer_read_bit: bool = false, + transfer_write_bit: bool = false, + host_read_bit: bool = false, + host_write_bit: bool = false, + memory_read_bit: bool = false, + memory_write_bit: bool = false, + command_preprocess_read_bit_nv: bool = false, + command_preprocess_write_bit_nv: bool = false, + color_attachment_read_noncoherent_bit_ext: bool = false, + conditional_rendering_read_bit_ext: bool = false, + acceleration_structure_read_bit_khr: bool = false, + acceleration_structure_write_bit_khr: bool = false, + fragment_shading_rate_attachment_read_bit_khr: bool = false, + fragment_density_map_read_bit_ext: bool = false, + transform_feedback_write_bit_ext: bool = false, + transform_feedback_counter_read_bit_ext: bool = false, + transform_feedback_counter_write_bit_ext: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + shader_sampled_read_bit: bool = false, + shader_storage_read_bit: bool = false, + shader_storage_write_bit: bool = false, + video_decode_read_bit_khr: bool = false, + video_decode_write_bit_khr: bool = false, + video_encode_read_bit_khr: bool = false, + video_encode_write_bit_khr: bool = false, + invocation_mask_read_bit_huawei: bool = false, + shader_binding_table_read_bit_khr: bool = false, + descriptor_buffer_read_bit_ext: bool = false, + optical_flow_read_bit_nv: bool = false, + optical_flow_write_bit_nv: bool = false, + micromap_read_bit_ext: bool = false, + micromap_write_bit_ext: bool = false, + _reserved_bit_46: bool = false, + _reserved_bit_47: bool = false, + _reserved_bit_48: bool = false, + _reserved_bit_49: bool = false, + _reserved_bit_50: bool = false, + _reserved_bit_51: bool = false, + _reserved_bit_52: bool = false, + _reserved_bit_53: bool = false, + _reserved_bit_54: bool = false, + _reserved_bit_55: bool = false, + _reserved_bit_56: bool = false, + _reserved_bit_57: bool = false, + _reserved_bit_58: bool = false, + _reserved_bit_59: bool = false, + _reserved_bit_60: bool = false, + _reserved_bit_61: bool = false, + _reserved_bit_62: bool = false, + _reserved_bit_63: bool = false, + pub usingnamespace FlagsMixin(AccessFlags2); +}; +pub const PipelineStageFlags2 = packed struct(Flags64) { + top_of_pipe_bit: bool = false, + draw_indirect_bit: bool = false, + vertex_input_bit: bool = false, + vertex_shader_bit: bool = false, + tessellation_control_shader_bit: bool = false, + tessellation_evaluation_shader_bit: bool = false, + geometry_shader_bit: bool = false, + fragment_shader_bit: bool = false, + early_fragment_tests_bit: bool = false, + late_fragment_tests_bit: bool = false, + color_attachment_output_bit: bool = false, + compute_shader_bit: bool = false, + all_transfer_bit: bool = false, + bottom_of_pipe_bit: bool = false, + host_bit: bool = false, + all_graphics_bit: bool = false, + all_commands_bit: bool = false, + command_preprocess_bit_nv: bool = false, + conditional_rendering_bit_ext: bool = false, + task_shader_bit_ext: bool = false, + mesh_shader_bit_ext: bool = false, + ray_tracing_shader_bit_khr: bool = false, + fragment_shading_rate_attachment_bit_khr: bool = false, + fragment_density_process_bit_ext: bool = false, + transform_feedback_bit_ext: bool = false, + acceleration_structure_build_bit_khr: bool = false, + video_decode_bit_khr: bool = false, + video_encode_bit_khr: bool = false, + acceleration_structure_copy_bit_khr: bool = false, + optical_flow_bit_nv: bool = false, + micromap_build_bit_ext: bool = false, + _reserved_bit_31: bool = false, + copy_bit: bool = false, + resolve_bit: bool = false, + blit_bit: bool = false, + clear_bit: bool = false, + index_input_bit: bool = false, + vertex_attribute_input_bit: bool = false, + pre_rasterization_shaders_bit: bool = false, + subpass_shader_bit_huawei: bool = false, + invocation_mask_bit_huawei: bool = false, + cluster_culling_shader_bit_huawei: bool = false, + _reserved_bit_42: bool = false, + _reserved_bit_43: bool = false, + _reserved_bit_44: bool = false, + _reserved_bit_45: bool = false, + _reserved_bit_46: bool = false, + _reserved_bit_47: bool = false, + _reserved_bit_48: bool = false, + _reserved_bit_49: bool = false, + _reserved_bit_50: bool = false, + _reserved_bit_51: bool = false, + _reserved_bit_52: bool = false, + _reserved_bit_53: bool = false, + _reserved_bit_54: bool = false, + _reserved_bit_55: bool = false, + _reserved_bit_56: bool = false, + _reserved_bit_57: bool = false, + _reserved_bit_58: bool = false, + _reserved_bit_59: bool = false, + _reserved_bit_60: bool = false, + _reserved_bit_61: bool = false, + _reserved_bit_62: bool = false, + _reserved_bit_63: bool = false, + pub usingnamespace FlagsMixin(PipelineStageFlags2); +}; +pub const SubmitFlags = packed struct(Flags) { + protected_bit: bool = false, _reserved_bit_1: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, @@ -6271,16 +14346,16 @@ pub const CommandBufferResetFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(CommandBufferResetFlags); + pub usingnamespace FlagsMixin(SubmitFlags); }; -pub const SampleCountFlags = packed struct(Flags) { - @"1_bit": bool = false, - @"2_bit": bool = false, - @"4_bit": bool = false, - @"8_bit": bool = false, - @"16_bit": bool = false, - @"32_bit": bool = false, - @"64_bit": bool = false, +pub const EventCreateFlags = packed struct(Flags) { + device_only_bit: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, _reserved_bit_8: bool = false, _reserved_bit_9: bool = false, @@ -6306,11 +14381,11 @@ pub const SampleCountFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(SampleCountFlags); + pub usingnamespace FlagsMixin(EventCreateFlags); }; -pub const AttachmentDescriptionFlags = packed struct(Flags) { - may_alias_bit: bool = false, - _reserved_bit_1: bool = false, +pub const PipelineLayoutCreateFlags = packed struct(Flags) { + _reserved_bit_0: bool = false, + independent_sets_bit_ext: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, @@ -6341,11 +14416,37 @@ pub const AttachmentDescriptionFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(AttachmentDescriptionFlags); + pub usingnamespace FlagsMixin(PipelineLayoutCreateFlags); }; -pub const StencilFaceFlags = packed struct(Flags) { - front_bit: bool = false, - back_bit: bool = false, +pub const SciSyncClientTypeNV = enum(i32) { + signaler_nv = 0, + waiter_nv = 1, + signaler_waiter_nv = 2, + _, +}; +pub const SciSyncPrimitiveTypeNV = enum(i32) { + fence_nv = 0, + semaphore_nv = 1, + _, +}; +pub const ProvokingVertexModeEXT = enum(i32) { + first_vertex_ext = 0, + last_vertex_ext = 1, + _, +}; +pub const PipelineCacheValidationVersion = enum(i32) { + safety_critical_one = 1, + _, +}; +pub const AccelerationStructureMotionInstanceTypeNV = enum(i32) { + static_nv = 0, + matrix_motion_nv = 1, + srt_motion_nv = 2, + _, +}; +pub const PipelineColorBlendStateCreateFlags = packed struct(Flags) { + rasterization_order_attachment_access_bit_ext: bool = false, + _reserved_bit_1: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, @@ -6376,11 +14477,11 @@ pub const StencilFaceFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(StencilFaceFlags); + pub usingnamespace FlagsMixin(PipelineColorBlendStateCreateFlags); }; -pub const DescriptorPoolCreateFlags = packed struct(Flags) { - free_descriptor_set_bit: bool = false, - update_after_bind_bit_ext: bool = false, +pub const PipelineDepthStencilStateCreateFlags = packed struct(Flags) { + rasterization_order_attachment_depth_access_bit_ext: bool = false, + rasterization_order_attachment_stencil_access_bit_ext: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, @@ -6411,13 +14512,13 @@ pub const DescriptorPoolCreateFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(DescriptorPoolCreateFlags); + pub usingnamespace FlagsMixin(PipelineDepthStencilStateCreateFlags); }; -pub const DependencyFlags = packed struct(Flags) { - by_region_bit: bool = false, - view_local_bit: bool = false, - device_group_bit: bool = false, - _reserved_bit_3: bool = false, +pub const GraphicsPipelineLibraryFlagsEXT = packed struct(Flags) { + vertex_input_interface_bit_ext: bool = false, + pre_rasterization_shaders_bit_ext: bool = false, + fragment_shader_bit_ext: bool = false, + fragment_output_interface_bit_ext: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, @@ -6446,15 +14547,10 @@ pub const DependencyFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(DependencyFlags); -}; -pub const SemaphoreTypeKHR = enum(i32) { - binary_khr = 0, - timeline_khr = 1, - _, + pub usingnamespace FlagsMixin(GraphicsPipelineLibraryFlagsEXT); }; -pub const SemaphoreWaitFlagsKHR = packed struct(Flags) { - any_bit_khr: bool = false, +pub const DeviceAddressBindingFlagsEXT = packed struct(Flags) { + internal_object_bit_ext: bool = false, _reserved_bit_1: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, @@ -6486,41 +14582,18 @@ pub const SemaphoreWaitFlagsKHR = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(SemaphoreWaitFlagsKHR); -}; -pub const PresentModeKHR = enum(i32) { - immediate_khr = 0, - mailbox_khr = 1, - fifo_khr = 2, - fifo_relaxed_khr = 3, - shared_demand_refresh_khr = 1000111000, - shared_continuous_refresh_khr = 1000111001, - _, + pub usingnamespace FlagsMixin(DeviceAddressBindingFlagsEXT); }; -pub const ColorSpaceKHR = enum(i32) { - srgb_nonlinear_khr = 0, - display_p3_nonlinear_ext = 1000104001, - extended_srgb_linear_ext = 1000104002, - display_p3_linear_ext = 1000104003, - dci_p3_nonlinear_ext = 1000104004, - bt709_linear_ext = 1000104005, - bt709_nonlinear_ext = 1000104006, - bt2020_linear_ext = 1000104007, - hdr10_st2084_ext = 1000104008, - dolbyvision_ext = 1000104009, - hdr10_hlg_ext = 1000104010, - adobergb_linear_ext = 1000104011, - adobergb_nonlinear_ext = 1000104012, - pass_through_ext = 1000104013, - extended_srgb_nonlinear_ext = 1000104014, - display_native_amd = 1000213000, +pub const DeviceAddressBindingTypeEXT = enum(i32) { + bind_ext = 0, + unbind_ext = 1, _, }; -pub const DisplayPlaneAlphaFlagsKHR = packed struct(Flags) { - opaque_bit_khr: bool = false, - global_bit_khr: bool = false, - per_pixel_bit_khr: bool = false, - per_pixel_premultiplied_bit_khr: bool = false, +pub const FrameBoundaryFlagsEXT = packed struct(Flags) { + frame_end_bit_ext: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, @@ -6547,15 +14620,15 @@ pub const DisplayPlaneAlphaFlagsKHR = packed struct(Flags) { _reserved_bit_27: bool = false, _reserved_bit_28: bool = false, _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(DisplayPlaneAlphaFlagsKHR); -}; -pub const CompositeAlphaFlagsKHR = packed struct(Flags) { - opaque_bit_khr: bool = false, - pre_multiplied_bit_khr: bool = false, - post_multiplied_bit_khr: bool = false, - inherit_bit_khr: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(FrameBoundaryFlagsEXT); +}; +pub const PresentScalingFlagsEXT = packed struct(Flags) { + one_to_one_bit_ext: bool = false, + aspect_ratio_stretch_bit_ext: bool = false, + stretch_bit_ext: bool = false, + _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, @@ -6584,18 +14657,18 @@ pub const CompositeAlphaFlagsKHR = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(CompositeAlphaFlagsKHR); + pub usingnamespace FlagsMixin(PresentScalingFlagsEXT); }; -pub const SurfaceTransformFlagsKHR = packed struct(Flags) { - identity_bit_khr: bool = false, - rotate_90_bit_khr: bool = false, - rotate_180_bit_khr: bool = false, - rotate_270_bit_khr: bool = false, - horizontal_mirror_bit_khr: bool = false, - horizontal_mirror_rotate_90_bit_khr: bool = false, - horizontal_mirror_rotate_180_bit_khr: bool = false, - horizontal_mirror_rotate_270_bit_khr: bool = false, - inherit_bit_khr: bool = false, +pub const PresentGravityFlagsEXT = packed struct(Flags) { + min_bit_ext: bool = false, + max_bit_ext: bool = false, + centered_bit_ext: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, _reserved_bit_9: bool = false, _reserved_bit_10: bool = false, _reserved_bit_11: bool = false, @@ -6619,10 +14692,10 @@ pub const SurfaceTransformFlagsKHR = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(SurfaceTransformFlagsKHR); + pub usingnamespace FlagsMixin(PresentGravityFlagsEXT); }; -pub const SwapchainImageUsageFlagsANDROID = packed struct(Flags) { - shared_bit_android: bool = false, +pub const PhysicalDeviceSchedulingControlsFlagsARM = packed struct(Flags64) { + shader_core_count_arm: bool = false, _reserved_bit_1: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, @@ -6654,21 +14727,46 @@ pub const SwapchainImageUsageFlagsANDROID = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(SwapchainImageUsageFlagsANDROID); -}; -pub const TimeDomainEXT = enum(i32) { - device_ext = 0, - clock_monotonic_ext = 1, - clock_monotonic_raw_ext = 2, - query_performance_counter_ext = 3, - _, -}; -pub const DebugReportFlagsEXT = packed struct(Flags) { - information_bit_ext: bool = false, - warning_bit_ext: bool = false, - performance_warning_bit_ext: bool = false, - error_bit_ext: bool = false, - debug_bit_ext: bool = false, + _reserved_bit_32: bool = false, + _reserved_bit_33: bool = false, + _reserved_bit_34: bool = false, + _reserved_bit_35: bool = false, + _reserved_bit_36: bool = false, + _reserved_bit_37: bool = false, + _reserved_bit_38: bool = false, + _reserved_bit_39: bool = false, + _reserved_bit_40: bool = false, + _reserved_bit_41: bool = false, + _reserved_bit_42: bool = false, + _reserved_bit_43: bool = false, + _reserved_bit_44: bool = false, + _reserved_bit_45: bool = false, + _reserved_bit_46: bool = false, + _reserved_bit_47: bool = false, + _reserved_bit_48: bool = false, + _reserved_bit_49: bool = false, + _reserved_bit_50: bool = false, + _reserved_bit_51: bool = false, + _reserved_bit_52: bool = false, + _reserved_bit_53: bool = false, + _reserved_bit_54: bool = false, + _reserved_bit_55: bool = false, + _reserved_bit_56: bool = false, + _reserved_bit_57: bool = false, + _reserved_bit_58: bool = false, + _reserved_bit_59: bool = false, + _reserved_bit_60: bool = false, + _reserved_bit_61: bool = false, + _reserved_bit_62: bool = false, + _reserved_bit_63: bool = false, + pub usingnamespace FlagsMixin(PhysicalDeviceSchedulingControlsFlagsARM); +}; +pub const VideoCodecOperationFlagsKHR = packed struct(Flags) { + decode_h264_bit_khr: bool = false, + decode_h265_bit_khr: bool = false, + decode_av1_bit_khr: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, @@ -6680,8 +14778,8 @@ pub const DebugReportFlagsEXT = packed struct(Flags) { _reserved_bit_13: bool = false, _reserved_bit_14: bool = false, _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, + encode_h264_bit_khr: bool = false, + encode_h265_bit_khr: bool = false, _reserved_bit_18: bool = false, _reserved_bit_19: bool = false, _reserved_bit_20: bool = false, @@ -6696,60 +14794,13 @@ pub const DebugReportFlagsEXT = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(DebugReportFlagsEXT); -}; -pub const DebugReportObjectTypeEXT = enum(i32) { - unknown_ext = 0, - instance_ext = 1, - physical_device_ext = 2, - device_ext = 3, - queue_ext = 4, - semaphore_ext = 5, - command_buffer_ext = 6, - fence_ext = 7, - device_memory_ext = 8, - buffer_ext = 9, - image_ext = 10, - event_ext = 11, - query_pool_ext = 12, - buffer_view_ext = 13, - image_view_ext = 14, - shader_module_ext = 15, - pipeline_cache_ext = 16, - pipeline_layout_ext = 17, - render_pass_ext = 18, - pipeline_ext = 19, - descriptor_set_layout_ext = 20, - sampler_ext = 21, - descriptor_pool_ext = 22, - descriptor_set_ext = 23, - framebuffer_ext = 24, - command_pool_ext = 25, - surface_khr_ext = 26, - swapchain_khr_ext = 27, - debug_report_callback_ext_ext = 28, - display_khr_ext = 29, - display_mode_khr_ext = 30, - object_table_nvx_ext = 31, - indirect_commands_layout_nvx_ext = 32, - validation_cache_ext_ext = 33, - sampler_ycbcr_conversion_ext = 1000156000, - descriptor_update_template_ext = 1000085000, - acceleration_structure_nv_ext = 1000165000, - _, - pub const descriptor_update_template_khr_ext = DebugReportObjectTypeEXT.descriptor_update_template_ext; - pub const sampler_ycbcr_conversion_khr_ext = DebugReportObjectTypeEXT.sampler_ycbcr_conversion_ext; -}; -pub const RasterizationOrderAMD = enum(i32) { - strict_amd = 0, - relaxed_amd = 1, - _, + pub usingnamespace FlagsMixin(VideoCodecOperationFlagsKHR); }; -pub const ExternalMemoryHandleTypeFlagsNV = packed struct(Flags) { - opaque_win32_bit_nv: bool = false, - opaque_win32_kmt_bit_nv: bool = false, - d3d11_image_bit_nv: bool = false, - d3d11_image_kmt_bit_nv: bool = false, +pub const VideoChromaSubsamplingFlagsKHR = packed struct(Flags) { + monochrome_bit_khr: bool = false, + @"420_bit_khr": bool = false, + @"422_bit_khr": bool = false, + @"444_bit_khr": bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, @@ -6778,14 +14829,14 @@ pub const ExternalMemoryHandleTypeFlagsNV = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ExternalMemoryHandleTypeFlagsNV); + pub usingnamespace FlagsMixin(VideoChromaSubsamplingFlagsKHR); }; -pub const ExternalMemoryFeatureFlagsNV = packed struct(Flags) { - dedicated_only_bit_nv: bool = false, - exportable_bit_nv: bool = false, - importable_bit_nv: bool = false, +pub const VideoComponentBitDepthFlagsKHR = packed struct(Flags) { + @"8_bit_khr": bool = false, + _reserved_bit_1: bool = false, + @"10_bit_khr": bool = false, _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, + @"12_bit_khr": bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, @@ -6813,39 +14864,18 @@ pub const ExternalMemoryFeatureFlagsNV = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ExternalMemoryFeatureFlagsNV); -}; -pub const ValidationCheckEXT = enum(i32) { - all_ext = 0, - shaders_ext = 1, - _, -}; -pub const ValidationFeatureEnableEXT = enum(i32) { - gpu_assisted_ext = 0, - gpu_assisted_reserve_binding_slot_ext = 1, - best_practices_ext = 2, - _, -}; -pub const ValidationFeatureDisableEXT = enum(i32) { - all_ext = 0, - shaders_ext = 1, - thread_safety_ext = 2, - api_parameters_ext = 3, - object_lifetimes_ext = 4, - core_checks_ext = 5, - unique_handles_ext = 6, - _, + pub usingnamespace FlagsMixin(VideoComponentBitDepthFlagsKHR); }; -pub const SubgroupFeatureFlags = packed struct(Flags) { - basic_bit: bool = false, - vote_bit: bool = false, - arithmetic_bit: bool = false, - ballot_bit: bool = false, - shuffle_bit: bool = false, - shuffle_relative_bit: bool = false, - clustered_bit: bool = false, - quad_bit: bool = false, - partitioned_bit_nv: bool = false, +pub const VideoCapabilityFlagsKHR = packed struct(Flags) { + protected_content_bit_khr: bool = false, + separate_reference_images_bit_khr: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, _reserved_bit_9: bool = false, _reserved_bit_10: bool = false, _reserved_bit_11: bool = false, @@ -6869,13 +14899,13 @@ pub const SubgroupFeatureFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(SubgroupFeatureFlags); + pub usingnamespace FlagsMixin(VideoCapabilityFlagsKHR); }; -pub const IndirectCommandsLayoutUsageFlagsNVX = packed struct(Flags) { - unordered_sequences_bit_nvx: bool = false, - sparse_sequences_bit_nvx: bool = false, - empty_executions_bit_nvx: bool = false, - indexed_sequences_bit_nvx: bool = false, +pub const VideoSessionCreateFlagsKHR = packed struct(Flags) { + protected_content_bit_khr: bool = false, + allow_encode_parameter_optimizations_bit_khr: bool = false, + inline_queries_bit_khr: bool = false, + _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, @@ -6904,11 +14934,11 @@ pub const IndirectCommandsLayoutUsageFlagsNVX = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(IndirectCommandsLayoutUsageFlagsNVX); + pub usingnamespace FlagsMixin(VideoSessionCreateFlagsKHR); }; -pub const ObjectEntryUsageFlagsNVX = packed struct(Flags) { - graphics_bit_nvx: bool = false, - compute_bit_nvx: bool = false, +pub const VideoDecodeH264PictureLayoutFlagsKHR = packed struct(Flags) { + interlaced_interleaved_lines_bit_khr: bool = false, + interlaced_separate_planes_bit_khr: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, @@ -6939,31 +14969,12 @@ pub const ObjectEntryUsageFlagsNVX = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ObjectEntryUsageFlagsNVX); -}; -pub const IndirectCommandsTokenTypeNVX = enum(i32) { - pipeline_nvx = 0, - descriptor_set_nvx = 1, - index_buffer_nvx = 2, - vertex_buffer_nvx = 3, - push_constant_nvx = 4, - draw_indexed_nvx = 5, - draw_nvx = 6, - dispatch_nvx = 7, - _, -}; -pub const ObjectEntryTypeNVX = enum(i32) { - descriptor_set_nvx = 0, - pipeline_nvx = 1, - index_buffer_nvx = 2, - vertex_buffer_nvx = 3, - push_constant_nvx = 4, - _, + pub usingnamespace FlagsMixin(VideoDecodeH264PictureLayoutFlagsKHR); }; -pub const DescriptorSetLayoutCreateFlags = packed struct(Flags) { - push_descriptor_bit_khr: bool = false, - update_after_bind_pool_bit_ext: bool = false, - _reserved_bit_2: bool = false, +pub const VideoCodingControlFlagsKHR = packed struct(Flags) { + reset_bit_khr: bool = false, + encode_rate_control_bit_khr: bool = false, + encode_quality_level_bit_khr: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, @@ -6993,20 +15004,27 @@ pub const DescriptorSetLayoutCreateFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(DescriptorSetLayoutCreateFlags); + pub usingnamespace FlagsMixin(VideoCodingControlFlagsKHR); }; -pub const ExternalMemoryHandleTypeFlags = packed struct(Flags) { - opaque_fd_bit: bool = false, - opaque_win32_bit: bool = false, - opaque_win32_kmt_bit: bool = false, - d3d11_texture_bit: bool = false, - d3d11_texture_kmt_bit: bool = false, - d3d12_heap_bit: bool = false, - d3d12_resource_bit: bool = false, - host_allocation_bit_ext: bool = false, - host_mapped_foreign_memory_bit_ext: bool = false, - dma_buf_bit_ext: bool = false, - android_hardware_buffer_bit_android: bool = false, +pub const QueryResultStatusKHR = enum(i32) { + error_khr = -1, + not_ready_khr = 0, + complete_khr = 1, + insufficient_bitstream_buffer_range_khr = -1000299000, + _, +}; +pub const VideoDecodeUsageFlagsKHR = packed struct(Flags) { + transcoding_bit_khr: bool = false, + offline_bit_khr: bool = false, + streaming_bit_khr: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, _reserved_bit_11: bool = false, _reserved_bit_12: bool = false, _reserved_bit_13: bool = false, @@ -7028,12 +15046,12 @@ pub const ExternalMemoryHandleTypeFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ExternalMemoryHandleTypeFlags); + pub usingnamespace FlagsMixin(VideoDecodeUsageFlagsKHR); }; -pub const ExternalMemoryFeatureFlags = packed struct(Flags) { - dedicated_only_bit: bool = false, - exportable_bit: bool = false, - importable_bit: bool = false, +pub const VideoDecodeCapabilityFlagsKHR = packed struct(Flags) { + dpb_and_output_coincide_bit_khr: bool = false, + dpb_and_output_distinct_bit_khr: bool = false, + _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, @@ -7063,14 +15081,18 @@ pub const ExternalMemoryFeatureFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ExternalMemoryFeatureFlags); + pub usingnamespace FlagsMixin(VideoDecodeCapabilityFlagsKHR); }; -pub const ExternalSemaphoreHandleTypeFlags = packed struct(Flags) { - opaque_fd_bit: bool = false, - opaque_win32_bit: bool = false, - opaque_win32_kmt_bit: bool = false, - d3d12_fence_bit: bool = false, - sync_fd_bit: bool = false, +pub const VideoEncodeFlagsKHR = packed struct(Flags) { + _reserved_bits: Flags = 0, + pub usingnamespace FlagsMixin(VideoEncodeFlagsKHR); +}; +pub const VideoEncodeUsageFlagsKHR = packed struct(Flags) { + transcoding_bit_khr: bool = false, + streaming_bit_khr: bool = false, + recording_bit_khr: bool = false, + conferencing_bit_khr: bool = false, + _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, @@ -7098,12 +15120,12 @@ pub const ExternalSemaphoreHandleTypeFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ExternalSemaphoreHandleTypeFlags); + pub usingnamespace FlagsMixin(VideoEncodeUsageFlagsKHR); }; -pub const ExternalSemaphoreFeatureFlags = packed struct(Flags) { - exportable_bit: bool = false, - importable_bit: bool = false, - _reserved_bit_2: bool = false, +pub const VideoEncodeContentFlagsKHR = packed struct(Flags) { + camera_bit_khr: bool = false, + desktop_bit_khr: bool = false, + rendered_bit_khr: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, @@ -7133,11 +15155,19 @@ pub const ExternalSemaphoreFeatureFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ExternalSemaphoreFeatureFlags); + pub usingnamespace FlagsMixin(VideoEncodeContentFlagsKHR); +}; +pub const VideoEncodeTuningModeKHR = enum(i32) { + default_khr = 0, + high_quality_khr = 1, + low_latency_khr = 2, + ultra_low_latency_khr = 3, + lossless_khr = 4, + _, }; -pub const SemaphoreImportFlags = packed struct(Flags) { - temporary_bit: bool = false, - _reserved_bit_1: bool = false, +pub const VideoEncodeCapabilityFlagsKHR = packed struct(Flags) { + preceding_externally_encoded_bytes_bit_khr: bool = false, + insufficient_bitstream_buffer_range_detection_bit_khr: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, @@ -7168,13 +15198,13 @@ pub const SemaphoreImportFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(SemaphoreImportFlags); + pub usingnamespace FlagsMixin(VideoEncodeCapabilityFlagsKHR); }; -pub const ExternalFenceHandleTypeFlags = packed struct(Flags) { - opaque_fd_bit: bool = false, - opaque_win32_bit: bool = false, - opaque_win32_kmt_bit: bool = false, - sync_fd_bit: bool = false, +pub const VideoEncodeFeedbackFlagsKHR = packed struct(Flags) { + bitstream_buffer_offset_bit_khr: bool = false, + bitstream_bytes_written_bit_khr: bool = false, + bitstream_has_overrides_bit_khr: bool = false, + _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, @@ -7203,12 +15233,12 @@ pub const ExternalFenceHandleTypeFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ExternalFenceHandleTypeFlags); + pub usingnamespace FlagsMixin(VideoEncodeFeedbackFlagsKHR); }; -pub const ExternalFenceFeatureFlags = packed struct(Flags) { - exportable_bit: bool = false, - importable_bit: bool = false, - _reserved_bit_2: bool = false, +pub const VideoEncodeRateControlModeFlagsKHR = packed struct(Flags) { + disabled_bit_khr: bool = false, + cbr_bit_khr: bool = false, + vbr_bit_khr: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, @@ -7238,18 +15268,18 @@ pub const ExternalFenceFeatureFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ExternalFenceFeatureFlags); -}; -pub const FenceImportFlags = packed struct(Flags) { - temporary_bit: bool = false, - _reserved_bit_1: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, + pub usingnamespace FlagsMixin(VideoEncodeRateControlModeFlagsKHR); +}; +pub const VideoEncodeH264CapabilityFlagsKHR = packed struct(Flags) { + hrd_compliance_bit_khr: bool = false, + prediction_weight_table_generated_bit_khr: bool = false, + row_unaligned_slice_bit_khr: bool = false, + different_slice_type_bit_khr: bool = false, + b_frame_in_l0_list_bit_khr: bool = false, + b_frame_in_l1_list_bit_khr: bool = false, + per_picture_type_min_max_qp_bit_khr: bool = false, + per_slice_constant_qp_bit_khr: bool = false, + generate_prefix_nalu_bit_khr: bool = false, _reserved_bit_9: bool = false, _reserved_bit_10: bool = false, _reserved_bit_11: bool = false, @@ -7273,14 +15303,49 @@ pub const FenceImportFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(FenceImportFlags); -}; -pub const SurfaceCounterFlagsEXT = packed struct(Flags) { - vblank_ext: bool = false, - _reserved_bit_1: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, + pub usingnamespace FlagsMixin(VideoEncodeH264CapabilityFlagsKHR); +}; +pub const VideoEncodeH264StdFlagsKHR = packed struct(Flags) { + separate_color_plane_flag_set_bit_khr: bool = false, + qpprime_y_zero_transform_bypass_flag_set_bit_khr: bool = false, + scaling_matrix_present_flag_set_bit_khr: bool = false, + chroma_qp_index_offset_bit_khr: bool = false, + second_chroma_qp_index_offset_bit_khr: bool = false, + pic_init_qp_minus26_bit_khr: bool = false, + weighted_pred_flag_set_bit_khr: bool = false, + weighted_bipred_idc_explicit_bit_khr: bool = false, + weighted_bipred_idc_implicit_bit_khr: bool = false, + transform_8x8_mode_flag_set_bit_khr: bool = false, + direct_spatial_mv_pred_flag_unset_bit_khr: bool = false, + entropy_coding_mode_flag_unset_bit_khr: bool = false, + entropy_coding_mode_flag_set_bit_khr: bool = false, + direct_8x8_inference_flag_unset_bit_khr: bool = false, + constrained_intra_pred_flag_set_bit_khr: bool = false, + deblocking_filter_disabled_bit_khr: bool = false, + deblocking_filter_enabled_bit_khr: bool = false, + deblocking_filter_partial_bit_khr: bool = false, + _reserved_bit_18: bool = false, + slice_qp_delta_bit_khr: bool = false, + different_slice_qp_delta_bit_khr: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(VideoEncodeH264StdFlagsKHR); +}; +pub const VideoEncodeH264RateControlFlagsKHR = packed struct(Flags) { + attempt_hrd_compliance_bit_khr: bool = false, + regular_gop_bit_khr: bool = false, + reference_pattern_flat_bit_khr: bool = false, + reference_pattern_dyadic_bit_khr: bool = false, + temporal_layer_pattern_dyadic_bit_khr: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, @@ -7308,27 +15373,13 @@ pub const SurfaceCounterFlagsEXT = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(SurfaceCounterFlagsEXT); -}; -pub const DisplayPowerStateEXT = enum(i32) { - off_ext = 0, - suspend_ext = 1, - on_ext = 2, - _, -}; -pub const DeviceEventTypeEXT = enum(i32) { - display_hotplug_ext = 0, - _, -}; -pub const DisplayEventTypeEXT = enum(i32) { - first_pixel_out_ext = 0, - _, -}; -pub const PeerMemoryFeatureFlags = packed struct(Flags) { - copy_src_bit: bool = false, - copy_dst_bit: bool = false, - generic_src_bit: bool = false, - generic_dst_bit: bool = false, + pub usingnamespace FlagsMixin(VideoEncodeH264RateControlFlagsKHR); +}; +pub const HostImageCopyFlagsEXT = packed struct(Flags) { + memcpy_ext: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, @@ -7357,14 +15408,14 @@ pub const PeerMemoryFeatureFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(PeerMemoryFeatureFlags); -}; -pub const MemoryAllocateFlags = packed struct(Flags) { - device_mask_bit: bool = false, - device_address_bit_khr: bool = false, - device_address_capture_replay_bit_khr: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, + pub usingnamespace FlagsMixin(HostImageCopyFlagsEXT); +}; +pub const ImageConstraintsInfoFlagsFUCHSIA = packed struct(Flags) { + cpu_read_rarely_fuchsia: bool = false, + cpu_read_often_fuchsia: bool = false, + cpu_write_rarely_fuchsia: bool = false, + cpu_write_often_fuchsia: bool = false, + protected_optional_fuchsia: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, @@ -7392,14 +15443,81 @@ pub const MemoryAllocateFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(MemoryAllocateFlags); + pub usingnamespace FlagsMixin(ImageConstraintsInfoFlagsFUCHSIA); }; -pub const DeviceGroupPresentModeFlagsKHR = packed struct(Flags) { - local_bit_khr: bool = false, - remote_bit_khr: bool = false, - sum_bit_khr: bool = false, - local_multi_device_bit_khr: bool = false, - _reserved_bit_4: bool = false, +pub const FormatFeatureFlags2 = packed struct(Flags64) { + sampled_image_bit: bool = false, + storage_image_bit: bool = false, + storage_image_atomic_bit: bool = false, + uniform_texel_buffer_bit: bool = false, + storage_texel_buffer_bit: bool = false, + storage_texel_buffer_atomic_bit: bool = false, + vertex_buffer_bit: bool = false, + color_attachment_bit: bool = false, + color_attachment_blend_bit: bool = false, + depth_stencil_attachment_bit: bool = false, + blit_src_bit: bool = false, + blit_dst_bit: bool = false, + sampled_image_filter_linear_bit: bool = false, + sampled_image_filter_cubic_bit: bool = false, + transfer_src_bit: bool = false, + transfer_dst_bit: bool = false, + sampled_image_filter_minmax_bit: bool = false, + midpoint_chroma_samples_bit: bool = false, + sampled_image_ycbcr_conversion_linear_filter_bit: bool = false, + sampled_image_ycbcr_conversion_separate_reconstruction_filter_bit: bool = false, + sampled_image_ycbcr_conversion_chroma_reconstruction_explicit_bit: bool = false, + sampled_image_ycbcr_conversion_chroma_reconstruction_explicit_forceable_bit: bool = false, + disjoint_bit: bool = false, + cosited_chroma_samples_bit: bool = false, + fragment_density_map_bit_ext: bool = false, + video_decode_output_bit_khr: bool = false, + video_decode_dpb_bit_khr: bool = false, + video_encode_input_bit_khr: bool = false, + video_encode_dpb_bit_khr: bool = false, + acceleration_structure_vertex_buffer_bit_khr: bool = false, + fragment_shading_rate_attachment_bit_khr: bool = false, + storage_read_without_format_bit: bool = false, + storage_write_without_format_bit: bool = false, + sampled_image_depth_comparison_bit: bool = false, + weight_image_bit_qcom: bool = false, + weight_sampled_image_bit_qcom: bool = false, + block_matching_bit_qcom: bool = false, + box_filter_sampled_bit_qcom: bool = false, + linear_color_attachment_bit_nv: bool = false, + _reserved_bit_39: bool = false, + optical_flow_image_bit_nv: bool = false, + optical_flow_vector_bit_nv: bool = false, + optical_flow_cost_bit_nv: bool = false, + _reserved_bit_43: bool = false, + _reserved_bit_44: bool = false, + _reserved_bit_45: bool = false, + host_image_transfer_bit_ext: bool = false, + _reserved_bit_47: bool = false, + _reserved_bit_48: bool = false, + _reserved_bit_49: bool = false, + _reserved_bit_50: bool = false, + _reserved_bit_51: bool = false, + _reserved_bit_52: bool = false, + _reserved_bit_53: bool = false, + _reserved_bit_54: bool = false, + _reserved_bit_55: bool = false, + _reserved_bit_56: bool = false, + _reserved_bit_57: bool = false, + _reserved_bit_58: bool = false, + _reserved_bit_59: bool = false, + _reserved_bit_60: bool = false, + _reserved_bit_61: bool = false, + _reserved_bit_62: bool = false, + _reserved_bit_63: bool = false, + pub usingnamespace FlagsMixin(FormatFeatureFlags2); +}; +pub const RenderingFlags = packed struct(Flags) { + contents_secondary_command_buffers_bit: bool = false, + suspending_bit: bool = false, + resuming_bit: bool = false, + enable_legacy_dithering_bit_ext: bool = false, + contents_inline_bit_ext: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, @@ -7427,19 +15545,19 @@ pub const DeviceGroupPresentModeFlagsKHR = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(DeviceGroupPresentModeFlagsKHR); -}; -pub const SwapchainCreateFlagsKHR = packed struct(Flags) { - split_instance_bind_regions_bit_khr: bool = false, - protected_bit_khr: bool = false, - mutable_format_bit_khr: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, + pub usingnamespace FlagsMixin(RenderingFlags); +}; +pub const VideoEncodeH265CapabilityFlagsKHR = packed struct(Flags) { + hrd_compliance_bit_khr: bool = false, + prediction_weight_table_generated_bit_khr: bool = false, + row_unaligned_slice_segment_bit_khr: bool = false, + different_slice_segment_type_bit_khr: bool = false, + b_frame_in_l0_list_bit_khr: bool = false, + b_frame_in_l1_list_bit_khr: bool = false, + per_picture_type_min_max_qp_bit_khr: bool = false, + per_slice_segment_constant_qp_bit_khr: bool = false, + multiple_tiles_per_slice_segment_bit_khr: bool = false, + multiple_slice_segments_per_tile_bit_khr: bool = false, _reserved_bit_10: bool = false, _reserved_bit_11: bool = false, _reserved_bit_12: bool = false, @@ -7462,30 +15580,49 @@ pub const SwapchainCreateFlagsKHR = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(SwapchainCreateFlagsKHR); -}; -pub const ViewportCoordinateSwizzleNV = enum(i32) { - positive_x_nv = 0, - negative_x_nv = 1, - positive_y_nv = 2, - negative_y_nv = 3, - positive_z_nv = 4, - negative_z_nv = 5, - positive_w_nv = 6, - negative_w_nv = 7, - _, -}; -pub const DiscardRectangleModeEXT = enum(i32) { - inclusive_ext = 0, - exclusive_ext = 1, - _, -}; -pub const SubpassDescriptionFlags = packed struct(Flags) { - per_view_attributes_bit_nvx: bool = false, - per_view_position_x_only_bit_nvx: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, + pub usingnamespace FlagsMixin(VideoEncodeH265CapabilityFlagsKHR); +}; +pub const VideoEncodeH265StdFlagsKHR = packed struct(Flags) { + separate_color_plane_flag_set_bit_khr: bool = false, + sample_adaptive_offset_enabled_flag_set_bit_khr: bool = false, + scaling_list_data_present_flag_set_bit_khr: bool = false, + pcm_enabled_flag_set_bit_khr: bool = false, + sps_temporal_mvp_enabled_flag_set_bit_khr: bool = false, + init_qp_minus26_bit_khr: bool = false, + weighted_pred_flag_set_bit_khr: bool = false, + weighted_bipred_flag_set_bit_khr: bool = false, + log2_parallel_merge_level_minus2_bit_khr: bool = false, + sign_data_hiding_enabled_flag_set_bit_khr: bool = false, + transform_skip_enabled_flag_set_bit_khr: bool = false, + transform_skip_enabled_flag_unset_bit_khr: bool = false, + pps_slice_chroma_qp_offsets_present_flag_set_bit_khr: bool = false, + transquant_bypass_enabled_flag_set_bit_khr: bool = false, + constrained_intra_pred_flag_set_bit_khr: bool = false, + entropy_coding_sync_enabled_flag_set_bit_khr: bool = false, + deblocking_filter_override_enabled_flag_set_bit_khr: bool = false, + dependent_slice_segments_enabled_flag_set_bit_khr: bool = false, + dependent_slice_segment_flag_set_bit_khr: bool = false, + slice_qp_delta_bit_khr: bool = false, + different_slice_qp_delta_bit_khr: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(VideoEncodeH265StdFlagsKHR); +}; +pub const VideoEncodeH265RateControlFlagsKHR = packed struct(Flags) { + attempt_hrd_compliance_bit_khr: bool = false, + regular_gop_bit_khr: bool = false, + reference_pattern_flat_bit_khr: bool = false, + reference_pattern_dyadic_bit_khr: bool = false, + temporal_sub_layer_pattern_dyadic_bit_khr: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, @@ -7513,104 +15650,22 @@ pub const SubpassDescriptionFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(SubpassDescriptionFlags); -}; -pub const PointClippingBehavior = enum(i32) { - all_clip_planes = 0, - user_clip_planes_only = 1, - _, - pub const all_clip_planes_khr = PointClippingBehavior.all_clip_planes; - pub const user_clip_planes_only_khr = PointClippingBehavior.user_clip_planes_only; -}; -pub const SamplerReductionModeEXT = enum(i32) { - weighted_average_ext = 0, - min_ext = 1, - max_ext = 2, - _, -}; -pub const TessellationDomainOrigin = enum(i32) { - upper_left = 0, - lower_left = 1, - _, - pub const upper_left_khr = TessellationDomainOrigin.upper_left; - pub const lower_left_khr = TessellationDomainOrigin.lower_left; -}; -pub const SamplerYcbcrModelConversion = enum(i32) { - rgb_identity = 0, - ycbcr_identity = 1, - ycbcr_709 = 2, - ycbcr_601 = 3, - ycbcr_2020 = 4, - _, - pub const rgb_identity_khr = SamplerYcbcrModelConversion.rgb_identity; - pub const ycbcr_identity_khr = SamplerYcbcrModelConversion.ycbcr_identity; - pub const ycbcr_709_khr = SamplerYcbcrModelConversion.ycbcr_709; - pub const ycbcr_601_khr = SamplerYcbcrModelConversion.ycbcr_601; - pub const ycbcr_2020_khr = SamplerYcbcrModelConversion.ycbcr_2020; -}; -pub const SamplerYcbcrRange = enum(i32) { - itu_full = 0, - itu_narrow = 1, - _, - pub const itu_full_khr = SamplerYcbcrRange.itu_full; - pub const itu_narrow_khr = SamplerYcbcrRange.itu_narrow; -}; -pub const ChromaLocation = enum(i32) { - cosited_even = 0, - midpoint = 1, - _, - pub const cosited_even_khr = ChromaLocation.cosited_even; - pub const midpoint_khr = ChromaLocation.midpoint; -}; -pub const BlendOverlapEXT = enum(i32) { - uncorrelated_ext = 0, - disjoint_ext = 1, - conjoint_ext = 2, - _, -}; -pub const CoverageModulationModeNV = enum(i32) { - none_nv = 0, - rgb_nv = 1, - alpha_nv = 2, - rgba_nv = 3, - _, -}; -pub const CoverageReductionModeNV = enum(i32) { - merge_nv = 0, - truncate_nv = 1, - _, -}; -pub const ValidationCacheHeaderVersionEXT = enum(i32) { - one_ext = 1, - _, -}; -pub const ShaderInfoTypeAMD = enum(i32) { - statistics_amd = 0, - binary_amd = 1, - disassembly_amd = 2, - _, -}; -pub const QueueGlobalPriorityEXT = enum(i32) { - low_ext = 128, - medium_ext = 256, - high_ext = 512, - realtime_ext = 1024, - _, + pub usingnamespace FlagsMixin(VideoEncodeH265RateControlFlagsKHR); }; -pub const DebugUtilsMessageSeverityFlagsEXT = packed struct(Flags) { - verbose_bit_ext: bool = false, - _reserved_bit_1: bool = false, - _reserved_bit_2: bool = false, +pub const VideoEncodeH265CtbSizeFlagsKHR = packed struct(Flags) { + @"16_bit_khr": bool = false, + @"32_bit_khr": bool = false, + @"64_bit_khr": bool = false, _reserved_bit_3: bool = false, - info_bit_ext: bool = false, + _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, - warning_bit_ext: bool = false, + _reserved_bit_8: bool = false, _reserved_bit_9: bool = false, _reserved_bit_10: bool = false, _reserved_bit_11: bool = false, - error_bit_ext: bool = false, + _reserved_bit_12: bool = false, _reserved_bit_13: bool = false, _reserved_bit_14: bool = false, _reserved_bit_15: bool = false, @@ -7630,13 +15685,13 @@ pub const DebugUtilsMessageSeverityFlagsEXT = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(DebugUtilsMessageSeverityFlagsEXT); + pub usingnamespace FlagsMixin(VideoEncodeH265CtbSizeFlagsKHR); }; -pub const DebugUtilsMessageTypeFlagsEXT = packed struct(Flags) { - general_bit_ext: bool = false, - validation_bit_ext: bool = false, - performance_bit_ext: bool = false, - _reserved_bit_3: bool = false, +pub const VideoEncodeH265TransformBlockSizeFlagsKHR = packed struct(Flags) { + @"4_bit_khr": bool = false, + @"8_bit_khr": bool = false, + @"16_bit_khr": bool = false, + @"32_bit_khr": bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, @@ -7665,21 +15720,15 @@ pub const DebugUtilsMessageTypeFlagsEXT = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(DebugUtilsMessageTypeFlagsEXT); -}; -pub const ConservativeRasterizationModeEXT = enum(i32) { - disabled_ext = 0, - overestimate_ext = 1, - underestimate_ext = 2, - _, -}; -pub const DescriptorBindingFlagsEXT = packed struct(Flags) { - update_after_bind_bit_ext: bool = false, - update_unused_while_pending_bit_ext: bool = false, - partially_bound_bit_ext: bool = false, - variable_descriptor_count_bit_ext: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, + pub usingnamespace FlagsMixin(VideoEncodeH265TransformBlockSizeFlagsKHR); +}; +pub const ExportMetalObjectTypeFlagsEXT = packed struct(Flags) { + metal_device_bit_ext: bool = false, + metal_command_queue_bit_ext: bool = false, + metal_buffer_bit_ext: bool = false, + metal_texture_bit_ext: bool = false, + metal_iosurface_bit_ext: bool = false, + metal_shared_event_bit_ext: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, _reserved_bit_8: bool = false, @@ -7706,31 +15755,10 @@ pub const DescriptorBindingFlagsEXT = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(DescriptorBindingFlagsEXT); -}; -pub const VendorId = enum(i32) { - _viv = 0x10001, - _vsi = 0x10002, - kazan = 0x10003, - _, -}; -pub const DriverIdKHR = enum(i32) { - amd_proprietary_khr = 1, - amd_open_source_khr = 2, - mesa_radv_khr = 3, - nvidia_proprietary_khr = 4, - intel_proprietary_windows_khr = 5, - intel_open_source_mesa_khr = 6, - imagination_proprietary_khr = 7, - qualcomm_proprietary_khr = 8, - arm_proprietary_khr = 9, - google_swiftshader_khr = 10, - ggp_proprietary_khr = 11, - broadcom_proprietary_khr = 12, - _, + pub usingnamespace FlagsMixin(ExportMetalObjectTypeFlagsEXT); }; -pub const ConditionalRenderingFlagsEXT = packed struct(Flags) { - inverted_bit_ext: bool = false, +pub const InstanceCreateFlags = packed struct(Flags) { + enumerate_portability_bit_khr: bool = false, _reserved_bit_1: bool = false, _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, @@ -7762,13 +15790,13 @@ pub const ConditionalRenderingFlagsEXT = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ConditionalRenderingFlagsEXT); + pub usingnamespace FlagsMixin(InstanceCreateFlags); }; -pub const ResolveModeFlagsKHR = packed struct(Flags) { - sample_zero_bit_khr: bool = false, - average_bit_khr: bool = false, - min_bit_khr: bool = false, - max_bit_khr: bool = false, +pub const ImageCompressionFlagsEXT = packed struct(Flags) { + fixed_rate_default_ext: bool = false, + fixed_rate_explicit_ext: bool = false, + disabled_ext: bool = false, + _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, @@ -7797,35 +15825,62 @@ pub const ResolveModeFlagsKHR = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ResolveModeFlagsKHR); + pub usingnamespace FlagsMixin(ImageCompressionFlagsEXT); +}; +pub const ImageCompressionFixedRateFlagsEXT = packed struct(Flags) { + @"1bpc_bit_ext": bool = false, + @"2bpc_bit_ext": bool = false, + @"3bpc_bit_ext": bool = false, + @"4bpc_bit_ext": bool = false, + @"5bpc_bit_ext": bool = false, + @"6bpc_bit_ext": bool = false, + @"7bpc_bit_ext": bool = false, + @"8bpc_bit_ext": bool = false, + @"9bpc_bit_ext": bool = false, + @"10bpc_bit_ext": bool = false, + @"11bpc_bit_ext": bool = false, + @"12bpc_bit_ext": bool = false, + @"13bpc_bit_ext": bool = false, + @"14bpc_bit_ext": bool = false, + @"15bpc_bit_ext": bool = false, + @"16bpc_bit_ext": bool = false, + @"17bpc_bit_ext": bool = false, + @"18bpc_bit_ext": bool = false, + @"19bpc_bit_ext": bool = false, + @"20bpc_bit_ext": bool = false, + @"21bpc_bit_ext": bool = false, + @"22bpc_bit_ext": bool = false, + @"23bpc_bit_ext": bool = false, + @"24bpc_bit_ext": bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(ImageCompressionFixedRateFlagsEXT); }; -pub const ShadingRatePaletteEntryNV = enum(i32) { - no_invocations_nv = 0, - @"16_invocations_per_pixel_nv" = 1, - @"8_invocations_per_pixel_nv" = 2, - @"4_invocations_per_pixel_nv" = 3, - @"2_invocations_per_pixel_nv" = 4, - @"1_invocation_per_pixel_nv" = 5, - @"1_invocation_per_2x1_pixels_nv" = 6, - @"1_invocation_per_1x2_pixels_nv" = 7, - @"1_invocation_per_2x2_pixels_nv" = 8, - @"1_invocation_per_4x2_pixels_nv" = 9, - @"1_invocation_per_2x4_pixels_nv" = 10, - @"1_invocation_per_4x4_pixels_nv" = 11, +pub const PipelineRobustnessBufferBehaviorEXT = enum(i32) { + device_default_ext = 0, + disabled_ext = 1, + robust_buffer_access_ext = 2, + robust_buffer_access_2_ext = 3, _, }; -pub const CoarseSampleOrderTypeNV = enum(i32) { - default_nv = 0, - custom_nv = 1, - pixel_major_nv = 2, - sample_major_nv = 3, +pub const PipelineRobustnessImageBehaviorEXT = enum(i32) { + device_default_ext = 0, + disabled_ext = 1, + robust_image_access_ext = 2, + robust_image_access_2_ext = 3, _, }; -pub const GeometryInstanceFlagsNV = packed struct(Flags) { - triangle_cull_disable_bit_nv: bool = false, - triangle_front_counterclockwise_bit_nv: bool = false, - force_opaque_bit_nv: bool = false, - force_no_opaque_bit_nv: bool = false, +pub const OpticalFlowGridSizeFlagsNV = packed struct(Flags) { + @"1x1_bit_nv": bool = false, + @"2x2_bit_nv": bool = false, + @"4x4_bit_nv": bool = false, + @"8x8_bit_nv": bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, @@ -7854,14 +15909,68 @@ pub const GeometryInstanceFlagsNV = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(GeometryInstanceFlagsNV); + pub usingnamespace FlagsMixin(OpticalFlowGridSizeFlagsNV); +}; +pub const OpticalFlowUsageFlagsNV = packed struct(Flags) { + input_bit_nv: bool = false, + output_bit_nv: bool = false, + hint_bit_nv: bool = false, + cost_bit_nv: bool = false, + global_flow_bit_nv: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, + _reserved_bit_7: bool = false, + _reserved_bit_8: bool = false, + _reserved_bit_9: bool = false, + _reserved_bit_10: bool = false, + _reserved_bit_11: bool = false, + _reserved_bit_12: bool = false, + _reserved_bit_13: bool = false, + _reserved_bit_14: bool = false, + _reserved_bit_15: bool = false, + _reserved_bit_16: bool = false, + _reserved_bit_17: bool = false, + _reserved_bit_18: bool = false, + _reserved_bit_19: bool = false, + _reserved_bit_20: bool = false, + _reserved_bit_21: bool = false, + _reserved_bit_22: bool = false, + _reserved_bit_23: bool = false, + _reserved_bit_24: bool = false, + _reserved_bit_25: bool = false, + _reserved_bit_26: bool = false, + _reserved_bit_27: bool = false, + _reserved_bit_28: bool = false, + _reserved_bit_29: bool = false, + _reserved_bit_30: bool = false, + _reserved_bit_31: bool = false, + pub usingnamespace FlagsMixin(OpticalFlowUsageFlagsNV); +}; +pub const OpticalFlowPerformanceLevelNV = enum(i32) { + unknown_nv = 0, + slow_nv = 1, + medium_nv = 2, + fast_nv = 3, + _, }; -pub const GeometryFlagsNV = packed struct(Flags) { - opaque_bit_nv: bool = false, - no_duplicate_any_hit_invocation_bit_nv: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, +pub const OpticalFlowSessionBindingPointNV = enum(i32) { + unknown_nv = 0, + input_nv = 1, + reference_nv = 2, + hint_nv = 3, + flow_vector_nv = 4, + backward_flow_vector_nv = 5, + cost_nv = 6, + backward_cost_nv = 7, + global_flow_nv = 8, + _, +}; +pub const OpticalFlowSessionCreateFlagsNV = packed struct(Flags) { + enable_hint_bit_nv: bool = false, + enable_cost_bit_nv: bool = false, + enable_global_flow_bit_nv: bool = false, + allow_regions_bit_nv: bool = false, + both_directions_bit_nv: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, @@ -7889,14 +15998,14 @@ pub const GeometryFlagsNV = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(GeometryFlagsNV); -}; -pub const BuildAccelerationStructureFlagsNV = packed struct(Flags) { - allow_update_bit_nv: bool = false, - allow_compaction_bit_nv: bool = false, - prefer_fast_trace_bit_nv: bool = false, - prefer_fast_build_bit_nv: bool = false, - low_memory_bit_nv: bool = false, + pub usingnamespace FlagsMixin(OpticalFlowSessionCreateFlagsNV); +}; +pub const OpticalFlowExecuteFlagsNV = packed struct(Flags) { + disable_temporal_hints_bit_nv: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, @@ -7924,45 +16033,17 @@ pub const BuildAccelerationStructureFlagsNV = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(BuildAccelerationStructureFlagsNV); -}; -pub const CopyAccelerationStructureModeNV = enum(i32) { - clone_nv = 0, - compact_nv = 1, - _, -}; -pub const AccelerationStructureTypeNV = enum(i32) { - top_level_nv = 0, - bottom_level_nv = 1, - _, -}; -pub const GeometryTypeNV = enum(i32) { - triangles_nv = 0, - aabbs_nv = 1, - _, -}; -pub const AccelerationStructureMemoryRequirementsTypeNV = enum(i32) { - object_nv = 0, - build_scratch_nv = 1, - update_scratch_nv = 2, - _, -}; -pub const RayTracingShaderGroupTypeNV = enum(i32) { - general_nv = 0, - triangles_hit_group_nv = 1, - procedural_hit_group_nv = 2, - _, + pub usingnamespace FlagsMixin(OpticalFlowExecuteFlagsNV); }; -pub const MemoryOverallocationBehaviorAMD = enum(i32) { - default_amd = 0, - allowed_amd = 1, - disallowed_amd = 2, +pub const MicromapTypeEXT = enum(i32) { + opacity_micromap_ext = 0, + displacement_micromap_nv = 1000397000, _, }; -pub const FramebufferCreateFlags = packed struct(Flags) { - imageless_bit_khr: bool = false, - _reserved_bit_1: bool = false, - _reserved_bit_2: bool = false, +pub const BuildMicromapFlagsEXT = packed struct(Flags) { + prefer_fast_trace_bit_ext: bool = false, + prefer_fast_build_bit_ext: bool = false, + allow_compaction_bit_ext: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, @@ -7992,33 +16073,12 @@ pub const FramebufferCreateFlags = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(FramebufferCreateFlags); -}; -pub const ScopeNV = enum(i32) { - device_nv = 1, - workgroup_nv = 2, - subgroup_nv = 3, - queue_family_nv = 5, - _, -}; -pub const ComponentTypeNV = enum(i32) { - float16_nv = 0, - float32_nv = 1, - float64_nv = 2, - sint8_nv = 3, - sint16_nv = 4, - sint32_nv = 5, - sint64_nv = 6, - uint8_nv = 7, - uint16_nv = 8, - uint32_nv = 9, - uint64_nv = 10, - _, + pub usingnamespace FlagsMixin(BuildMicromapFlagsEXT); }; -pub const PipelineCreationFeedbackFlagsEXT = packed struct(Flags) { - valid_bit_ext: bool = false, - application_pipeline_cache_hit_bit_ext: bool = false, - base_pipeline_acceleration_bit_ext: bool = false, +pub const MicromapCreateFlagsEXT = packed struct(Flags) { + device_address_capture_replay_bit_ext: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, _reserved_bit_3: bool = false, _reserved_bit_4: bool = false, _reserved_bit_5: bool = false, @@ -8048,52 +16108,65 @@ pub const PipelineCreationFeedbackFlagsEXT = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(PipelineCreationFeedbackFlagsEXT); + pub usingnamespace FlagsMixin(MicromapCreateFlagsEXT); }; -pub const FullScreenExclusiveEXT = enum(i32) { - default_ext = 0, - allowed_ext = 1, - disallowed_ext = 2, - application_controlled_ext = 3, +pub const CopyMicromapModeEXT = enum(i32) { + clone_ext = 0, + serialize_ext = 1, + deserialize_ext = 2, + compact_ext = 3, _, }; -pub const PerformanceCounterScopeKHR = enum(i32) { - query_scope_command_buffer_khr = 0, - query_scope_render_pass_khr = 1, - query_scope_command_khr = 2, +pub const BuildMicromapModeEXT = enum(i32) { + build_ext = 0, _, }; -pub const PerformanceCounterUnitKHR = enum(i32) { - generic_khr = 0, - percentage_khr = 1, - nanoseconds_khr = 2, - bytes_khr = 3, - bytes_per_second_khr = 4, - kelvin_khr = 5, - watts_khr = 6, - volts_khr = 7, - amps_khr = 8, - hertz_khr = 9, - cycles_khr = 10, +pub const OpacityMicromapFormatEXT = enum(i32) { + @"2_state_ext" = 1, + @"4_state_ext" = 2, _, }; -pub const PerformanceCounterStorageKHR = enum(i32) { - int32_khr = 0, - int64_khr = 1, - uint32_khr = 2, - uint64_khr = 3, - float32_khr = 4, - float64_khr = 5, +pub const OpacityMicromapSpecialIndexEXT = enum(i32) { + fully_transparent_ext = -1, + fully_opaque_ext = -2, + fully_unknown_transparent_ext = -3, + fully_unknown_opaque_ext = -4, _, }; -pub const PerformanceCounterDescriptionFlagsKHR = packed struct(Flags) { - performance_impacting_khr: bool = false, - concurrently_impacted_khr: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, +pub const DepthBiasRepresentationEXT = enum(i32) { + least_representable_value_format_ext = 0, + least_representable_value_force_unorm_ext = 1, + float_ext = 2, + _, +}; +pub const DeviceFaultAddressTypeEXT = enum(i32) { + none_ext = 0, + read_invalid_ext = 1, + write_invalid_ext = 2, + execute_invalid_ext = 3, + instruction_pointer_unknown_ext = 4, + instruction_pointer_invalid_ext = 5, + instruction_pointer_fault_ext = 6, + _, +}; +pub const DeviceFaultVendorBinaryHeaderVersionEXT = enum(i32) { + one_ext = 1, + _, +}; +pub const DisplacementMicromapFormatNV = enum(i32) { + @"64_triangles_64_bytes_nv" = 1, + @"256_triangles_128_bytes_nv" = 2, + @"1024_triangles_128_bytes_nv" = 3, + _, +}; +pub const ShaderCreateFlagsEXT = packed struct(Flags) { + link_stage_bit_ext: bool = false, + allow_varying_subgroup_size_bit_ext: bool = false, + require_full_subgroups_bit_ext: bool = false, + no_task_shader_bit_ext: bool = false, + dispatch_base_bit_ext: bool = false, + fragment_shading_rate_attachment_bit_ext: bool = false, + fragment_density_map_attachment_bit_ext: bool = false, _reserved_bit_7: bool = false, _reserved_bit_8: bool = false, _reserved_bit_9: bool = false, @@ -8119,78 +16192,94 @@ pub const PerformanceCounterDescriptionFlagsKHR = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(PerformanceCounterDescriptionFlagsKHR); -}; -pub const AcquireProfilingLockFlagsKHR = packed struct(Flags) { - _reserved_bits: Flags = 0, - pub usingnamespace FlagsMixin(AcquireProfilingLockFlagsKHR); -}; -pub const ShaderCorePropertiesFlagsAMD = packed struct(Flags) { - _reserved_bits: Flags = 0, - pub usingnamespace FlagsMixin(ShaderCorePropertiesFlagsAMD); + pub usingnamespace FlagsMixin(ShaderCreateFlagsEXT); }; -pub const PerformanceConfigurationTypeINTEL = enum(i32) { - command_queue_metrics_discovery_activated_intel = 0, +pub const ShaderCodeTypeEXT = enum(i32) { + binary_ext = 0, + spirv_ext = 1, _, }; -pub const QueryPoolSamplingModeINTEL = enum(i32) { - manual_intel = 0, +pub const ScopeKHR = enum(i32) { + device_khr = 1, + workgroup_khr = 2, + subgroup_khr = 3, + queue_family_khr = 5, _, -}; -pub const PerformanceOverrideTypeINTEL = enum(i32) { - null_hardware_intel = 0, - flush_gpu_caches_intel = 1, + pub const device_nv = ScopeKHR.device_khr; + pub const workgroup_nv = ScopeKHR.workgroup_khr; + pub const subgroup_nv = ScopeKHR.subgroup_khr; + pub const queue_family_nv = ScopeKHR.queue_family_khr; +}; +pub const ComponentTypeKHR = enum(i32) { + float16_khr = 0, + float32_khr = 1, + float64_khr = 2, + sint8_khr = 3, + sint16_khr = 4, + sint32_khr = 5, + sint64_khr = 6, + uint8_khr = 7, + uint16_khr = 8, + uint32_khr = 9, + uint64_khr = 10, _, -}; -pub const PerformanceParameterTypeINTEL = enum(i32) { - hw_counters_supported_intel = 0, - stream_marker_valid_bits_intel = 1, + pub const float16_nv = ComponentTypeKHR.float16_khr; + pub const float32_nv = ComponentTypeKHR.float32_khr; + pub const float64_nv = ComponentTypeKHR.float64_khr; + pub const sint8_nv = ComponentTypeKHR.sint8_khr; + pub const sint16_nv = ComponentTypeKHR.sint16_khr; + pub const sint32_nv = ComponentTypeKHR.sint32_khr; + pub const sint64_nv = ComponentTypeKHR.sint64_khr; + pub const uint8_nv = ComponentTypeKHR.uint8_khr; + pub const uint16_nv = ComponentTypeKHR.uint16_khr; + pub const uint32_nv = ComponentTypeKHR.uint32_khr; + pub const uint64_nv = ComponentTypeKHR.uint64_khr; +}; +pub const CubicFilterWeightsQCOM = enum(i32) { + catmull_rom_qcom = 0, + zero_tangent_cardinal_qcom = 1, + b_spline_qcom = 2, + mitchell_netravali_qcom = 3, _, }; -pub const PerformanceValueTypeINTEL = enum(i32) { - uint32_intel = 0, - uint64_intel = 1, - float_intel = 2, - bool_intel = 3, - string_intel = 4, +pub const BlockMatchWindowCompareModeQCOM = enum(i32) { + min_qcom = 0, + max_qcom = 1, _, }; -pub const PipelineExecutableStatisticFormatKHR = enum(i32) { - bool32_khr = 0, - int64_khr = 1, - uint64_khr = 2, - float64_khr = 3, +pub const LayeredDriverUnderlyingApiMSFT = enum(i32) { + none_msft = 0, + d3d12_msft = 1, _, }; -pub const ShaderFloatControlsIndependenceKHR = enum(i32) { - @"32_bit_only_khr" = 0, - all_khr = 1, - none_khr = 2, +pub const LatencyMarkerNV = enum(i32) { + simulation_start_nv = 0, + simulation_end_nv = 1, + rendersubmit_start_nv = 2, + rendersubmit_end_nv = 3, + present_start_nv = 4, + present_end_nv = 5, + input_sample_nv = 6, + trigger_flash_nv = 7, + out_of_band_rendersubmit_start_nv = 8, + out_of_band_rendersubmit_end_nv = 9, + out_of_band_present_start_nv = 10, + out_of_band_present_end_nv = 11, _, }; -pub const LineRasterizationModeEXT = enum(i32) { - default_ext = 0, - rectangular_ext = 1, - bresenham_ext = 2, - rectangular_smooth_ext = 3, +pub const OutOfBandQueueTypeNV = enum(i32) { + render_nv = 0, + present_nv = 1, _, }; -pub const ShaderModuleCreateFlags = packed struct(Flags) { - _reserved_bits: Flags = 0, - pub usingnamespace FlagsMixin(ShaderModuleCreateFlags); -}; -pub const PipelineCompilerControlFlagsAMD = packed struct(Flags) { - _reserved_bits: Flags = 0, - pub usingnamespace FlagsMixin(PipelineCompilerControlFlagsAMD); -}; -pub const ToolPurposeFlagsEXT = packed struct(Flags) { - validation_bit_ext: bool = false, - profiling_bit_ext: bool = false, - tracing_bit_ext: bool = false, - additional_features_bit_ext: bool = false, - modifying_features_bit_ext: bool = false, - debug_reporting_bit_ext: bool = false, - debug_markers_bit_ext: bool = false, +pub const MemoryUnmapFlagsKHR = packed struct(Flags) { + reserve_bit_ext: bool = false, + _reserved_bit_1: bool = false, + _reserved_bit_2: bool = false, + _reserved_bit_3: bool = false, + _reserved_bit_4: bool = false, + _reserved_bit_5: bool = false, + _reserved_bit_6: bool = false, _reserved_bit_7: bool = false, _reserved_bit_8: bool = false, _reserved_bit_9: bool = false, @@ -8216,7 +16305,7 @@ pub const ToolPurposeFlagsEXT = packed struct(Flags) { _reserved_bit_29: bool = false, _reserved_bit_30: bool = false, _reserved_bit_31: bool = false, - pub usingnamespace FlagsMixin(ToolPurposeFlagsEXT); + pub usingnamespace FlagsMixin(MemoryUnmapFlagsKHR); }; pub const PfnCreateInstance = *const fn ( p_create_info: *const InstanceCreateInfo, @@ -8486,12 +16575,13 @@ pub const PfnGetQueryPoolResults = *const fn ( stride: DeviceSize, flags: QueryResultFlags, ) callconv(vulkan_call_conv) Result; -pub const PfnResetQueryPoolEXT = *const fn ( +pub const PfnResetQueryPool = *const fn ( device: Device, query_pool: QueryPool, first_query: u32, query_count: u32, ) callconv(vulkan_call_conv) void; +pub const PfnResetQueryPoolEXT = PfnResetQueryPool; pub const PfnCreateBuffer = *const fn ( device: Device, p_create_info: *const BufferCreateInfo, @@ -8592,6 +16682,11 @@ pub const PfnCreateComputePipelines = *const fn ( p_allocator: ?*const AllocationCallbacks, p_pipelines: [*]Pipeline, ) callconv(vulkan_call_conv) Result; +pub const PfnGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = *const fn ( + device: Device, + renderpass: RenderPass, + p_max_workgroup_size: [*]Extent2D, +) callconv(vulkan_call_conv) Result; pub const PfnDestroyPipeline = *const fn ( device: Device, pipeline: Pipeline, @@ -8691,6 +16786,11 @@ pub const PfnGetRenderAreaGranularity = *const fn ( render_pass: RenderPass, p_granularity: *Extent2D, ) callconv(vulkan_call_conv) void; +pub const PfnGetRenderingAreaGranularityKHR = *const fn ( + device: Device, + p_rendering_area_info: *const RenderingAreaInfoKHR, + p_granularity: *Extent2D, +) callconv(vulkan_call_conv) void; pub const PfnCreateCommandPool = *const fn ( device: Device, p_create_info: *const CommandPoolCreateInfo, @@ -8734,6 +16834,10 @@ pub const PfnCmdBindPipeline = *const fn ( pipeline_bind_point: PipelineBindPoint, pipeline: Pipeline, ) callconv(vulkan_call_conv) void; +pub const PfnCmdSetAttachmentFeedbackLoopEnableEXT = *const fn ( + command_buffer: CommandBuffer, + aspect_mask: ImageAspectFlags, +) callconv(vulkan_call_conv) void; pub const PfnCmdSetViewport = *const fn ( command_buffer: CommandBuffer, first_viewport: u32, @@ -8818,6 +16922,23 @@ pub const PfnCmdDrawIndexed = *const fn ( vertex_offset: i32, first_instance: u32, ) callconv(vulkan_call_conv) void; +pub const PfnCmdDrawMultiEXT = *const fn ( + command_buffer: CommandBuffer, + draw_count: u32, + p_vertex_info: ?[*]const MultiDrawInfoEXT, + instance_count: u32, + first_instance: u32, + stride: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDrawMultiIndexedEXT = *const fn ( + command_buffer: CommandBuffer, + draw_count: u32, + p_index_info: ?[*]const MultiDrawIndexedInfoEXT, + instance_count: u32, + first_instance: u32, + stride: u32, + p_vertex_offset: ?*const i32, +) callconv(vulkan_call_conv) void; pub const PfnCmdDrawIndirect = *const fn ( command_buffer: CommandBuffer, buffer: Buffer, @@ -8843,6 +16964,25 @@ pub const PfnCmdDispatchIndirect = *const fn ( buffer: Buffer, offset: DeviceSize, ) callconv(vulkan_call_conv) void; +pub const PfnCmdSubpassShadingHUAWEI = *const fn ( + command_buffer: CommandBuffer, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDrawClusterHUAWEI = *const fn ( + command_buffer: CommandBuffer, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDrawClusterIndirectHUAWEI = *const fn ( + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, +) callconv(vulkan_call_conv) void; +pub const PfnCmdUpdatePipelineIndirectBufferNV = *const fn ( + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + pipeline: Pipeline, +) callconv(vulkan_call_conv) void; pub const PfnCmdCopyBuffer = *const fn ( command_buffer: CommandBuffer, src_buffer: Buffer, @@ -8885,6 +17025,21 @@ pub const PfnCmdCopyImageToBuffer = *const fn ( region_count: u32, p_regions: [*]const BufferImageCopy, ) callconv(vulkan_call_conv) void; +pub const PfnCmdCopyMemoryIndirectNV = *const fn ( + command_buffer: CommandBuffer, + copy_buffer_address: DeviceAddress, + copy_count: u32, + stride: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdCopyMemoryToImageIndirectNV = *const fn ( + command_buffer: CommandBuffer, + copy_buffer_address: DeviceAddress, + copy_count: u32, + stride: u32, + dst_image: Image, + dst_image_layout: ImageLayout, + p_image_subresources: [*]const ImageSubresourceLayers, +) callconv(vulkan_call_conv) void; pub const PfnCmdUpdateBuffer = *const fn ( command_buffer: CommandBuffer, dst_buffer: Buffer, @@ -8931,2092 +17086,6271 @@ pub const PfnCmdResolveImage = *const fn ( region_count: u32, p_regions: [*]const ImageResolve, ) callconv(vulkan_call_conv) void; -pub const PfnCmdSetEvent = *const fn ( +pub const PfnCmdSetEvent = *const fn ( + command_buffer: CommandBuffer, + event: Event, + stage_mask: PipelineStageFlags, +) callconv(vulkan_call_conv) void; +pub const PfnCmdResetEvent = *const fn ( + command_buffer: CommandBuffer, + event: Event, + stage_mask: PipelineStageFlags, +) callconv(vulkan_call_conv) void; +pub const PfnCmdWaitEvents = *const fn ( + command_buffer: CommandBuffer, + event_count: u32, + p_events: [*]const Event, + src_stage_mask: PipelineStageFlags, + dst_stage_mask: PipelineStageFlags, + memory_barrier_count: u32, + p_memory_barriers: ?[*]const MemoryBarrier, + buffer_memory_barrier_count: u32, + p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier, + image_memory_barrier_count: u32, + p_image_memory_barriers: ?[*]const ImageMemoryBarrier, +) callconv(vulkan_call_conv) void; +pub const PfnCmdPipelineBarrier = *const fn ( + command_buffer: CommandBuffer, + src_stage_mask: PipelineStageFlags, + dst_stage_mask: PipelineStageFlags, + dependency_flags: DependencyFlags, + memory_barrier_count: u32, + p_memory_barriers: ?[*]const MemoryBarrier, + buffer_memory_barrier_count: u32, + p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier, + image_memory_barrier_count: u32, + p_image_memory_barriers: ?[*]const ImageMemoryBarrier, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBeginQuery = *const fn ( + command_buffer: CommandBuffer, + query_pool: QueryPool, + query: u32, + flags: QueryControlFlags, +) callconv(vulkan_call_conv) void; +pub const PfnCmdEndQuery = *const fn ( + command_buffer: CommandBuffer, + query_pool: QueryPool, + query: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBeginConditionalRenderingEXT = *const fn ( + command_buffer: CommandBuffer, + p_conditional_rendering_begin: *const ConditionalRenderingBeginInfoEXT, +) callconv(vulkan_call_conv) void; +pub const PfnCmdEndConditionalRenderingEXT = *const fn ( + command_buffer: CommandBuffer, +) callconv(vulkan_call_conv) void; +pub const PfnCmdResetQueryPool = *const fn ( + command_buffer: CommandBuffer, + query_pool: QueryPool, + first_query: u32, + query_count: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdWriteTimestamp = *const fn ( + command_buffer: CommandBuffer, + pipeline_stage: PipelineStageFlags, + query_pool: QueryPool, + query: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdCopyQueryPoolResults = *const fn ( + command_buffer: CommandBuffer, + query_pool: QueryPool, + first_query: u32, + query_count: u32, + dst_buffer: Buffer, + dst_offset: DeviceSize, + stride: DeviceSize, + flags: QueryResultFlags, +) callconv(vulkan_call_conv) void; +pub const PfnCmdPushConstants = *const fn ( + command_buffer: CommandBuffer, + layout: PipelineLayout, + stage_flags: ShaderStageFlags, + offset: u32, + size: u32, + p_values: *const anyopaque, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBeginRenderPass = *const fn ( command_buffer: CommandBuffer, - event: Event, - stage_mask: PipelineStageFlags, + p_render_pass_begin: *const RenderPassBeginInfo, + contents: SubpassContents, ) callconv(vulkan_call_conv) void; -pub const PfnCmdResetEvent = *const fn ( +pub const PfnCmdNextSubpass = *const fn ( command_buffer: CommandBuffer, - event: Event, - stage_mask: PipelineStageFlags, + contents: SubpassContents, ) callconv(vulkan_call_conv) void; -pub const PfnCmdWaitEvents = *const fn ( +pub const PfnCmdEndRenderPass = *const fn ( command_buffer: CommandBuffer, - event_count: u32, - p_events: [*]const Event, - src_stage_mask: PipelineStageFlags, - dst_stage_mask: PipelineStageFlags, - memory_barrier_count: u32, - p_memory_barriers: ?[*]const MemoryBarrier, - buffer_memory_barrier_count: u32, - p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier, - image_memory_barrier_count: u32, - p_image_memory_barriers: ?[*]const ImageMemoryBarrier, ) callconv(vulkan_call_conv) void; -pub const PfnCmdPipelineBarrier = *const fn ( +pub const PfnCmdExecuteCommands = *const fn ( command_buffer: CommandBuffer, - src_stage_mask: PipelineStageFlags, - dst_stage_mask: PipelineStageFlags, - dependency_flags: DependencyFlags, - memory_barrier_count: u32, - p_memory_barriers: ?[*]const MemoryBarrier, - buffer_memory_barrier_count: u32, - p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier, - image_memory_barrier_count: u32, - p_image_memory_barriers: ?[*]const ImageMemoryBarrier, + command_buffer_count: u32, + p_command_buffers: [*]const CommandBuffer, ) callconv(vulkan_call_conv) void; -pub const PfnCmdBeginQuery = *const fn ( - command_buffer: CommandBuffer, - query_pool: QueryPool, - query: u32, - flags: QueryControlFlags, +pub const PfnCreateAndroidSurfaceKHR = *const fn ( + instance: Instance, + p_create_info: *const AndroidSurfaceCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_surface: *SurfaceKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceDisplayPropertiesKHR = *const fn ( + physical_device: PhysicalDevice, + p_property_count: *u32, + p_properties: ?[*]DisplayPropertiesKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceDisplayPlanePropertiesKHR = *const fn ( + physical_device: PhysicalDevice, + p_property_count: *u32, + p_properties: ?[*]DisplayPlanePropertiesKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetDisplayPlaneSupportedDisplaysKHR = *const fn ( + physical_device: PhysicalDevice, + plane_index: u32, + p_display_count: *u32, + p_displays: ?[*]DisplayKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetDisplayModePropertiesKHR = *const fn ( + physical_device: PhysicalDevice, + display: DisplayKHR, + p_property_count: *u32, + p_properties: ?[*]DisplayModePropertiesKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnCreateDisplayModeKHR = *const fn ( + physical_device: PhysicalDevice, + display: DisplayKHR, + p_create_info: *const DisplayModeCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_mode: *DisplayModeKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetDisplayPlaneCapabilitiesKHR = *const fn ( + physical_device: PhysicalDevice, + mode: DisplayModeKHR, + plane_index: u32, + p_capabilities: *DisplayPlaneCapabilitiesKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnCreateDisplayPlaneSurfaceKHR = *const fn ( + instance: Instance, + p_create_info: *const DisplaySurfaceCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_surface: *SurfaceKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnCreateSharedSwapchainsKHR = *const fn ( + device: Device, + swapchain_count: u32, + p_create_infos: [*]const SwapchainCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_swapchains: [*]SwapchainKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnDestroySurfaceKHR = *const fn ( + instance: Instance, + surface: SurfaceKHR, + p_allocator: ?*const AllocationCallbacks, ) callconv(vulkan_call_conv) void; -pub const PfnCmdEndQuery = *const fn ( +pub const PfnGetPhysicalDeviceSurfaceSupportKHR = *const fn ( + physical_device: PhysicalDevice, + queue_family_index: u32, + surface: SurfaceKHR, + p_supported: *Bool32, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceSurfaceCapabilitiesKHR = *const fn ( + physical_device: PhysicalDevice, + surface: SurfaceKHR, + p_surface_capabilities: *SurfaceCapabilitiesKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceSurfaceFormatsKHR = *const fn ( + physical_device: PhysicalDevice, + surface: SurfaceKHR, + p_surface_format_count: *u32, + p_surface_formats: ?[*]SurfaceFormatKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceSurfacePresentModesKHR = *const fn ( + physical_device: PhysicalDevice, + surface: SurfaceKHR, + p_present_mode_count: *u32, + p_present_modes: ?[*]PresentModeKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnCreateSwapchainKHR = *const fn ( + device: Device, + p_create_info: *const SwapchainCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_swapchain: *SwapchainKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnDestroySwapchainKHR = *const fn ( + device: Device, + swapchain: SwapchainKHR, + p_allocator: ?*const AllocationCallbacks, +) callconv(vulkan_call_conv) void; +pub const PfnGetSwapchainImagesKHR = *const fn ( + device: Device, + swapchain: SwapchainKHR, + p_swapchain_image_count: *u32, + p_swapchain_images: ?[*]Image, +) callconv(vulkan_call_conv) Result; +pub const PfnAcquireNextImageKHR = *const fn ( + device: Device, + swapchain: SwapchainKHR, + timeout: u64, + semaphore: Semaphore, + fence: Fence, + p_image_index: *u32, +) callconv(vulkan_call_conv) Result; +pub const PfnQueuePresentKHR = *const fn ( + queue: Queue, + p_present_info: *const PresentInfoKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnCreateViSurfaceNN = *const fn ( + instance: Instance, + p_create_info: *const ViSurfaceCreateInfoNN, + p_allocator: ?*const AllocationCallbacks, + p_surface: *SurfaceKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnCreateWaylandSurfaceKHR = *const fn ( + instance: Instance, + p_create_info: *const WaylandSurfaceCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_surface: *SurfaceKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceWaylandPresentationSupportKHR = *const fn ( + physical_device: PhysicalDevice, + queue_family_index: u32, + display: *wl_display, +) callconv(vulkan_call_conv) Bool32; +pub const PfnCreateWin32SurfaceKHR = *const fn ( + instance: Instance, + p_create_info: *const Win32SurfaceCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_surface: *SurfaceKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceWin32PresentationSupportKHR = *const fn ( + physical_device: PhysicalDevice, + queue_family_index: u32, +) callconv(vulkan_call_conv) Bool32; +pub const PfnCreateXlibSurfaceKHR = *const fn ( + instance: Instance, + p_create_info: *const XlibSurfaceCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_surface: *SurfaceKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceXlibPresentationSupportKHR = *const fn ( + physical_device: PhysicalDevice, + queue_family_index: u32, + dpy: *Display, + visual_id: VisualID, +) callconv(vulkan_call_conv) Bool32; +pub const PfnCreateXcbSurfaceKHR = *const fn ( + instance: Instance, + p_create_info: *const XcbSurfaceCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_surface: *SurfaceKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceXcbPresentationSupportKHR = *const fn ( + physical_device: PhysicalDevice, + queue_family_index: u32, + connection: *xcb_connection_t, + visual_id: xcb_visualid_t, +) callconv(vulkan_call_conv) Bool32; +pub const PfnCreateDirectFBSurfaceEXT = *const fn ( + instance: Instance, + p_create_info: *const DirectFBSurfaceCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + p_surface: *SurfaceKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceDirectFBPresentationSupportEXT = *const fn ( + physical_device: PhysicalDevice, + queue_family_index: u32, + dfb: *IDirectFB, +) callconv(vulkan_call_conv) Bool32; +pub const PfnCreateImagePipeSurfaceFUCHSIA = *const fn ( + instance: Instance, + p_create_info: *const ImagePipeSurfaceCreateInfoFUCHSIA, + p_allocator: ?*const AllocationCallbacks, + p_surface: *SurfaceKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnCreateStreamDescriptorSurfaceGGP = *const fn ( + instance: Instance, + p_create_info: *const StreamDescriptorSurfaceCreateInfoGGP, + p_allocator: ?*const AllocationCallbacks, + p_surface: *SurfaceKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnCreateScreenSurfaceQNX = *const fn ( + instance: Instance, + p_create_info: *const ScreenSurfaceCreateInfoQNX, + p_allocator: ?*const AllocationCallbacks, + p_surface: *SurfaceKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceScreenPresentationSupportQNX = *const fn ( + physical_device: PhysicalDevice, + queue_family_index: u32, + window: *_screen_window, +) callconv(vulkan_call_conv) Bool32; +pub const PfnCreateDebugReportCallbackEXT = *const fn ( + instance: Instance, + p_create_info: *const DebugReportCallbackCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + p_callback: *DebugReportCallbackEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnDestroyDebugReportCallbackEXT = *const fn ( + instance: Instance, + callback: DebugReportCallbackEXT, + p_allocator: ?*const AllocationCallbacks, +) callconv(vulkan_call_conv) void; +pub const PfnDebugReportMessageEXT = *const fn ( + instance: Instance, + flags: DebugReportFlagsEXT, + object_type: DebugReportObjectTypeEXT, + object: u64, + location: usize, + message_code: i32, + p_layer_prefix: [*:0]const u8, + p_message: [*:0]const u8, +) callconv(vulkan_call_conv) void; +pub const PfnDebugMarkerSetObjectNameEXT = *const fn ( + device: Device, + p_name_info: *const DebugMarkerObjectNameInfoEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnDebugMarkerSetObjectTagEXT = *const fn ( + device: Device, + p_tag_info: *const DebugMarkerObjectTagInfoEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnCmdDebugMarkerBeginEXT = *const fn ( command_buffer: CommandBuffer, - query_pool: QueryPool, - query: u32, + p_marker_info: *const DebugMarkerMarkerInfoEXT, ) callconv(vulkan_call_conv) void; -pub const PfnCmdBeginConditionalRenderingEXT = *const fn ( +pub const PfnCmdDebugMarkerEndEXT = *const fn ( command_buffer: CommandBuffer, - p_conditional_rendering_begin: *const ConditionalRenderingBeginInfoEXT, ) callconv(vulkan_call_conv) void; -pub const PfnCmdEndConditionalRenderingEXT = *const fn ( +pub const PfnCmdDebugMarkerInsertEXT = *const fn ( command_buffer: CommandBuffer, + p_marker_info: *const DebugMarkerMarkerInfoEXT, ) callconv(vulkan_call_conv) void; -pub const PfnCmdResetQueryPool = *const fn ( +pub const PfnGetPhysicalDeviceExternalImageFormatPropertiesNV = *const fn ( + physical_device: PhysicalDevice, + format: Format, + @"type": ImageType, + tiling: ImageTiling, + usage: ImageUsageFlags, + flags: ImageCreateFlags, + external_handle_type: ExternalMemoryHandleTypeFlagsNV, + p_external_image_format_properties: *ExternalImageFormatPropertiesNV, +) callconv(vulkan_call_conv) Result; +pub const PfnGetMemoryWin32HandleNV = *const fn ( + device: Device, + memory: DeviceMemory, + handle_type: ExternalMemoryHandleTypeFlagsNV, + p_handle: *HANDLE, +) callconv(vulkan_call_conv) Result; +pub const PfnCmdExecuteGeneratedCommandsNV = *const fn ( command_buffer: CommandBuffer, - query_pool: QueryPool, - first_query: u32, - query_count: u32, + is_preprocessed: Bool32, + p_generated_commands_info: *const GeneratedCommandsInfoNV, ) callconv(vulkan_call_conv) void; -pub const PfnCmdWriteTimestamp = *const fn ( +pub const PfnCmdPreprocessGeneratedCommandsNV = *const fn ( command_buffer: CommandBuffer, - pipeline_stage: PipelineStageFlags, - query_pool: QueryPool, - query: u32, + p_generated_commands_info: *const GeneratedCommandsInfoNV, ) callconv(vulkan_call_conv) void; -pub const PfnCmdCopyQueryPoolResults = *const fn ( +pub const PfnCmdBindPipelineShaderGroupNV = *const fn ( command_buffer: CommandBuffer, - query_pool: QueryPool, - first_query: u32, - query_count: u32, - dst_buffer: Buffer, - dst_offset: DeviceSize, - stride: DeviceSize, - flags: QueryResultFlags, + pipeline_bind_point: PipelineBindPoint, + pipeline: Pipeline, + group_index: u32, ) callconv(vulkan_call_conv) void; -pub const PfnCmdPushConstants = *const fn ( +pub const PfnGetGeneratedCommandsMemoryRequirementsNV = *const fn ( + device: Device, + p_info: *const GeneratedCommandsMemoryRequirementsInfoNV, + p_memory_requirements: *MemoryRequirements2, +) callconv(vulkan_call_conv) void; +pub const PfnCreateIndirectCommandsLayoutNV = *const fn ( + device: Device, + p_create_info: *const IndirectCommandsLayoutCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + p_indirect_commands_layout: *IndirectCommandsLayoutNV, +) callconv(vulkan_call_conv) Result; +pub const PfnDestroyIndirectCommandsLayoutNV = *const fn ( + device: Device, + indirect_commands_layout: IndirectCommandsLayoutNV, + p_allocator: ?*const AllocationCallbacks, +) callconv(vulkan_call_conv) void; +pub const PfnGetPhysicalDeviceFeatures2 = *const fn ( + physical_device: PhysicalDevice, + p_features: *PhysicalDeviceFeatures2, +) callconv(vulkan_call_conv) void; +pub const PfnGetPhysicalDeviceFeatures2KHR = PfnGetPhysicalDeviceFeatures2; +pub const PfnGetPhysicalDeviceProperties2 = *const fn ( + physical_device: PhysicalDevice, + p_properties: *PhysicalDeviceProperties2, +) callconv(vulkan_call_conv) void; +pub const PfnGetPhysicalDeviceProperties2KHR = PfnGetPhysicalDeviceProperties2; +pub const PfnGetPhysicalDeviceFormatProperties2 = *const fn ( + physical_device: PhysicalDevice, + format: Format, + p_format_properties: *FormatProperties2, +) callconv(vulkan_call_conv) void; +pub const PfnGetPhysicalDeviceFormatProperties2KHR = PfnGetPhysicalDeviceFormatProperties2; +pub const PfnGetPhysicalDeviceImageFormatProperties2 = *const fn ( + physical_device: PhysicalDevice, + p_image_format_info: *const PhysicalDeviceImageFormatInfo2, + p_image_format_properties: *ImageFormatProperties2, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceImageFormatProperties2KHR = PfnGetPhysicalDeviceImageFormatProperties2; +pub const PfnGetPhysicalDeviceQueueFamilyProperties2 = *const fn ( + physical_device: PhysicalDevice, + p_queue_family_property_count: *u32, + p_queue_family_properties: ?[*]QueueFamilyProperties2, +) callconv(vulkan_call_conv) void; +pub const PfnGetPhysicalDeviceQueueFamilyProperties2KHR = PfnGetPhysicalDeviceQueueFamilyProperties2; +pub const PfnGetPhysicalDeviceMemoryProperties2 = *const fn ( + physical_device: PhysicalDevice, + p_memory_properties: *PhysicalDeviceMemoryProperties2, +) callconv(vulkan_call_conv) void; +pub const PfnGetPhysicalDeviceMemoryProperties2KHR = PfnGetPhysicalDeviceMemoryProperties2; +pub const PfnGetPhysicalDeviceSparseImageFormatProperties2 = *const fn ( + physical_device: PhysicalDevice, + p_format_info: *const PhysicalDeviceSparseImageFormatInfo2, + p_property_count: *u32, + p_properties: ?[*]SparseImageFormatProperties2, +) callconv(vulkan_call_conv) void; +pub const PfnGetPhysicalDeviceSparseImageFormatProperties2KHR = PfnGetPhysicalDeviceSparseImageFormatProperties2; +pub const PfnCmdPushDescriptorSetKHR = *const fn ( command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, layout: PipelineLayout, - stage_flags: ShaderStageFlags, - offset: u32, - size: u32, - p_values: *const anyopaque, + set: u32, + descriptor_write_count: u32, + p_descriptor_writes: [*]const WriteDescriptorSet, ) callconv(vulkan_call_conv) void; -pub const PfnCmdBeginRenderPass = *const fn ( - command_buffer: CommandBuffer, - p_render_pass_begin: *const RenderPassBeginInfo, - contents: SubpassContents, +pub const PfnTrimCommandPool = *const fn ( + device: Device, + command_pool: CommandPool, + flags: CommandPoolTrimFlags, ) callconv(vulkan_call_conv) void; -pub const PfnCmdNextSubpass = *const fn ( - command_buffer: CommandBuffer, - contents: SubpassContents, +pub const PfnTrimCommandPoolKHR = PfnTrimCommandPool; +pub const PfnGetPhysicalDeviceExternalBufferProperties = *const fn ( + physical_device: PhysicalDevice, + p_external_buffer_info: *const PhysicalDeviceExternalBufferInfo, + p_external_buffer_properties: *ExternalBufferProperties, ) callconv(vulkan_call_conv) void; -pub const PfnCmdEndRenderPass = *const fn ( - command_buffer: CommandBuffer, +pub const PfnGetPhysicalDeviceExternalBufferPropertiesKHR = PfnGetPhysicalDeviceExternalBufferProperties; +pub const PfnGetMemoryWin32HandleKHR = *const fn ( + device: Device, + p_get_win_32_handle_info: *const MemoryGetWin32HandleInfoKHR, + p_handle: *HANDLE, +) callconv(vulkan_call_conv) Result; +pub const PfnGetMemoryWin32HandlePropertiesKHR = *const fn ( + device: Device, + handle_type: ExternalMemoryHandleTypeFlags, + handle: HANDLE, + p_memory_win_32_handle_properties: *MemoryWin32HandlePropertiesKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetMemoryFdKHR = *const fn ( + device: Device, + p_get_fd_info: *const MemoryGetFdInfoKHR, + p_fd: *c_int, +) callconv(vulkan_call_conv) Result; +pub const PfnGetMemoryFdPropertiesKHR = *const fn ( + device: Device, + handle_type: ExternalMemoryHandleTypeFlags, + fd: c_int, + p_memory_fd_properties: *MemoryFdPropertiesKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetMemoryZirconHandleFUCHSIA = *const fn ( + device: Device, + p_get_zircon_handle_info: *const MemoryGetZirconHandleInfoFUCHSIA, + p_zircon_handle: *zx_handle_t, +) callconv(vulkan_call_conv) Result; +pub const PfnGetMemoryZirconHandlePropertiesFUCHSIA = *const fn ( + device: Device, + handle_type: ExternalMemoryHandleTypeFlags, + zircon_handle: zx_handle_t, + p_memory_zircon_handle_properties: *MemoryZirconHandlePropertiesFUCHSIA, +) callconv(vulkan_call_conv) Result; +pub const PfnGetMemoryRemoteAddressNV = *const fn ( + device: Device, + p_memory_get_remote_address_info: *const MemoryGetRemoteAddressInfoNV, + p_address: *RemoteAddressNV, +) callconv(vulkan_call_conv) Result; +pub const PfnGetMemorySciBufNV = *const fn ( + device: Device, + p_get_sci_buf_info: *const MemoryGetSciBufInfoNV, + p_handle: *NvSciBufObj, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceExternalMemorySciBufPropertiesNV = *const fn ( + physical_device: PhysicalDevice, + handle_type: ExternalMemoryHandleTypeFlags, + handle: NvSciBufObj, + p_memory_sci_buf_properties: *MemorySciBufPropertiesNV, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceSciBufAttributesNV = *const fn ( + physical_device: PhysicalDevice, + p_attributes: NvSciBufAttrList, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceExternalSemaphoreProperties = *const fn ( + physical_device: PhysicalDevice, + p_external_semaphore_info: *const PhysicalDeviceExternalSemaphoreInfo, + p_external_semaphore_properties: *ExternalSemaphoreProperties, ) callconv(vulkan_call_conv) void; -pub const PfnCmdExecuteCommands = *const fn ( - command_buffer: CommandBuffer, - command_buffer_count: u32, - p_command_buffers: [*]const CommandBuffer, +pub const PfnGetPhysicalDeviceExternalSemaphorePropertiesKHR = PfnGetPhysicalDeviceExternalSemaphoreProperties; +pub const PfnGetSemaphoreWin32HandleKHR = *const fn ( + device: Device, + p_get_win_32_handle_info: *const SemaphoreGetWin32HandleInfoKHR, + p_handle: *HANDLE, +) callconv(vulkan_call_conv) Result; +pub const PfnImportSemaphoreWin32HandleKHR = *const fn ( + device: Device, + p_import_semaphore_win_32_handle_info: *const ImportSemaphoreWin32HandleInfoKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetSemaphoreFdKHR = *const fn ( + device: Device, + p_get_fd_info: *const SemaphoreGetFdInfoKHR, + p_fd: *c_int, +) callconv(vulkan_call_conv) Result; +pub const PfnImportSemaphoreFdKHR = *const fn ( + device: Device, + p_import_semaphore_fd_info: *const ImportSemaphoreFdInfoKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetSemaphoreZirconHandleFUCHSIA = *const fn ( + device: Device, + p_get_zircon_handle_info: *const SemaphoreGetZirconHandleInfoFUCHSIA, + p_zircon_handle: *zx_handle_t, +) callconv(vulkan_call_conv) Result; +pub const PfnImportSemaphoreZirconHandleFUCHSIA = *const fn ( + device: Device, + p_import_semaphore_zircon_handle_info: *const ImportSemaphoreZirconHandleInfoFUCHSIA, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceExternalFenceProperties = *const fn ( + physical_device: PhysicalDevice, + p_external_fence_info: *const PhysicalDeviceExternalFenceInfo, + p_external_fence_properties: *ExternalFenceProperties, ) callconv(vulkan_call_conv) void; -pub const PfnCreateAndroidSurfaceKHR = *const fn ( - instance: Instance, - p_create_info: *const AndroidSurfaceCreateInfoKHR, +pub const PfnGetPhysicalDeviceExternalFencePropertiesKHR = PfnGetPhysicalDeviceExternalFenceProperties; +pub const PfnGetFenceWin32HandleKHR = *const fn ( + device: Device, + p_get_win_32_handle_info: *const FenceGetWin32HandleInfoKHR, + p_handle: *HANDLE, +) callconv(vulkan_call_conv) Result; +pub const PfnImportFenceWin32HandleKHR = *const fn ( + device: Device, + p_import_fence_win_32_handle_info: *const ImportFenceWin32HandleInfoKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetFenceFdKHR = *const fn ( + device: Device, + p_get_fd_info: *const FenceGetFdInfoKHR, + p_fd: *c_int, +) callconv(vulkan_call_conv) Result; +pub const PfnImportFenceFdKHR = *const fn ( + device: Device, + p_import_fence_fd_info: *const ImportFenceFdInfoKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetFenceSciSyncFenceNV = *const fn ( + device: Device, + p_get_sci_sync_handle_info: *const FenceGetSciSyncInfoNV, + p_handle: *anyopaque, +) callconv(vulkan_call_conv) Result; +pub const PfnGetFenceSciSyncObjNV = *const fn ( + device: Device, + p_get_sci_sync_handle_info: *const FenceGetSciSyncInfoNV, + p_handle: *anyopaque, +) callconv(vulkan_call_conv) Result; +pub const PfnImportFenceSciSyncFenceNV = *const fn ( + device: Device, + p_import_fence_sci_sync_info: *const ImportFenceSciSyncInfoNV, +) callconv(vulkan_call_conv) Result; +pub const PfnImportFenceSciSyncObjNV = *const fn ( + device: Device, + p_import_fence_sci_sync_info: *const ImportFenceSciSyncInfoNV, +) callconv(vulkan_call_conv) Result; +pub const PfnGetSemaphoreSciSyncObjNV = *const fn ( + device: Device, + p_get_sci_sync_info: *const SemaphoreGetSciSyncInfoNV, + p_handle: *anyopaque, +) callconv(vulkan_call_conv) Result; +pub const PfnImportSemaphoreSciSyncObjNV = *const fn ( + device: Device, + p_import_semaphore_sci_sync_info: *const ImportSemaphoreSciSyncInfoNV, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceSciSyncAttributesNV = *const fn ( + physical_device: PhysicalDevice, + p_sci_sync_attributes_info: *const SciSyncAttributesInfoNV, + p_attributes: NvSciSyncAttrList, +) callconv(vulkan_call_conv) Result; +pub const PfnCreateSemaphoreSciSyncPoolNV = *const fn ( + device: Device, + p_create_info: *const SemaphoreSciSyncPoolCreateInfoNV, p_allocator: ?*const AllocationCallbacks, - p_surface: *SurfaceKHR, + p_semaphore_pool: *SemaphoreSciSyncPoolNV, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceDisplayPropertiesKHR = *const fn ( +pub const PfnDestroySemaphoreSciSyncPoolNV = *const fn ( + device: Device, + semaphore_pool: SemaphoreSciSyncPoolNV, + p_allocator: ?*const AllocationCallbacks, +) callconv(vulkan_call_conv) void; +pub const PfnReleaseDisplayEXT = *const fn ( physical_device: PhysicalDevice, - p_property_count: *u32, - p_properties: ?[*]DisplayPropertiesKHR, + display: DisplayKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceDisplayPlanePropertiesKHR = *const fn ( +pub const PfnAcquireXlibDisplayEXT = *const fn ( physical_device: PhysicalDevice, - p_property_count: *u32, - p_properties: ?[*]DisplayPlanePropertiesKHR, + dpy: *Display, + display: DisplayKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetDisplayPlaneSupportedDisplaysKHR = *const fn ( +pub const PfnGetRandROutputDisplayEXT = *const fn ( physical_device: PhysicalDevice, - plane_index: u32, - p_display_count: *u32, - p_displays: ?[*]DisplayKHR, + dpy: *Display, + rr_output: RROutput, + p_display: *DisplayKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetDisplayModePropertiesKHR = *const fn ( +pub const PfnAcquireWinrtDisplayNV = *const fn ( physical_device: PhysicalDevice, display: DisplayKHR, - p_property_count: *u32, - p_properties: ?[*]DisplayModePropertiesKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateDisplayModeKHR = *const fn ( +pub const PfnGetWinrtDisplayNV = *const fn ( physical_device: PhysicalDevice, + device_relative_id: u32, + p_display: *DisplayKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnDisplayPowerControlEXT = *const fn ( + device: Device, display: DisplayKHR, - p_create_info: *const DisplayModeCreateInfoKHR, + p_display_power_info: *const DisplayPowerInfoEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnRegisterDeviceEventEXT = *const fn ( + device: Device, + p_device_event_info: *const DeviceEventInfoEXT, p_allocator: ?*const AllocationCallbacks, - p_mode: *DisplayModeKHR, + p_fence: *Fence, ) callconv(vulkan_call_conv) Result; -pub const PfnGetDisplayPlaneCapabilitiesKHR = *const fn ( +pub const PfnRegisterDisplayEventEXT = *const fn ( + device: Device, + display: DisplayKHR, + p_display_event_info: *const DisplayEventInfoEXT, + p_allocator: ?*const AllocationCallbacks, + p_fence: *Fence, +) callconv(vulkan_call_conv) Result; +pub const PfnGetSwapchainCounterEXT = *const fn ( + device: Device, + swapchain: SwapchainKHR, + counter: SurfaceCounterFlagsEXT, + p_counter_value: *u64, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceSurfaceCapabilities2EXT = *const fn ( physical_device: PhysicalDevice, - mode: DisplayModeKHR, - plane_index: u32, - p_capabilities: *DisplayPlaneCapabilitiesKHR, + surface: SurfaceKHR, + p_surface_capabilities: *SurfaceCapabilities2EXT, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateDisplayPlaneSurfaceKHR = *const fn ( +pub const PfnEnumeratePhysicalDeviceGroups = *const fn ( instance: Instance, - p_create_info: *const DisplaySurfaceCreateInfoKHR, - p_allocator: ?*const AllocationCallbacks, - p_surface: *SurfaceKHR, + p_physical_device_group_count: *u32, + p_physical_device_group_properties: ?[*]PhysicalDeviceGroupProperties, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateSharedSwapchainsKHR = *const fn ( +pub const PfnEnumeratePhysicalDeviceGroupsKHR = PfnEnumeratePhysicalDeviceGroups; +pub const PfnGetDeviceGroupPeerMemoryFeatures = *const fn ( device: Device, - swapchain_count: u32, - p_create_infos: [*]const SwapchainCreateInfoKHR, - p_allocator: ?*const AllocationCallbacks, - p_swapchains: [*]SwapchainKHR, + heap_index: u32, + local_device_index: u32, + remote_device_index: u32, + p_peer_memory_features: *PeerMemoryFeatureFlags, +) callconv(vulkan_call_conv) void; +pub const PfnGetDeviceGroupPeerMemoryFeaturesKHR = PfnGetDeviceGroupPeerMemoryFeatures; +pub const PfnBindBufferMemory2 = *const fn ( + device: Device, + bind_info_count: u32, + p_bind_infos: [*]const BindBufferMemoryInfo, ) callconv(vulkan_call_conv) Result; -pub const PfnDestroySurfaceKHR = *const fn ( - instance: Instance, - surface: SurfaceKHR, - p_allocator: ?*const AllocationCallbacks, +pub const PfnBindBufferMemory2KHR = PfnBindBufferMemory2; +pub const PfnBindImageMemory2 = *const fn ( + device: Device, + bind_info_count: u32, + p_bind_infos: [*]const BindImageMemoryInfo, +) callconv(vulkan_call_conv) Result; +pub const PfnBindImageMemory2KHR = PfnBindImageMemory2; +pub const PfnCmdSetDeviceMask = *const fn ( + command_buffer: CommandBuffer, + device_mask: u32, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceSurfaceSupportKHR = *const fn ( - physical_device: PhysicalDevice, - queue_family_index: u32, - surface: SurfaceKHR, - p_supported: *Bool32, +pub const PfnCmdSetDeviceMaskKHR = PfnCmdSetDeviceMask; +pub const PfnGetDeviceGroupPresentCapabilitiesKHR = *const fn ( + device: Device, + p_device_group_present_capabilities: *DeviceGroupPresentCapabilitiesKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceSurfaceCapabilitiesKHR = *const fn ( - physical_device: PhysicalDevice, +pub const PfnGetDeviceGroupSurfacePresentModesKHR = *const fn ( + device: Device, surface: SurfaceKHR, - p_surface_capabilities: *SurfaceCapabilitiesKHR, + p_modes: *DeviceGroupPresentModeFlagsKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceSurfaceFormatsKHR = *const fn ( - physical_device: PhysicalDevice, - surface: SurfaceKHR, - p_surface_format_count: *u32, - p_surface_formats: ?[*]SurfaceFormatKHR, +pub const PfnAcquireNextImage2KHR = *const fn ( + device: Device, + p_acquire_info: *const AcquireNextImageInfoKHR, + p_image_index: *u32, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceSurfacePresentModesKHR = *const fn ( +pub const PfnCmdDispatchBase = *const fn ( + command_buffer: CommandBuffer, + base_group_x: u32, + base_group_y: u32, + base_group_z: u32, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDispatchBaseKHR = PfnCmdDispatchBase; +pub const PfnGetPhysicalDevicePresentRectanglesKHR = *const fn ( physical_device: PhysicalDevice, surface: SurfaceKHR, - p_present_mode_count: *u32, - p_present_modes: ?[*]PresentModeKHR, + p_rect_count: *u32, + p_rects: ?[*]Rect2D, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateSwapchainKHR = *const fn ( +pub const PfnCreateDescriptorUpdateTemplate = *const fn ( device: Device, - p_create_info: *const SwapchainCreateInfoKHR, + p_create_info: *const DescriptorUpdateTemplateCreateInfo, p_allocator: ?*const AllocationCallbacks, - p_swapchain: *SwapchainKHR, + p_descriptor_update_template: *DescriptorUpdateTemplate, ) callconv(vulkan_call_conv) Result; -pub const PfnDestroySwapchainKHR = *const fn ( +pub const PfnCreateDescriptorUpdateTemplateKHR = PfnCreateDescriptorUpdateTemplate; +pub const PfnDestroyDescriptorUpdateTemplate = *const fn ( device: Device, - swapchain: SwapchainKHR, + descriptor_update_template: DescriptorUpdateTemplate, p_allocator: ?*const AllocationCallbacks, ) callconv(vulkan_call_conv) void; -pub const PfnGetSwapchainImagesKHR = *const fn ( +pub const PfnDestroyDescriptorUpdateTemplateKHR = PfnDestroyDescriptorUpdateTemplate; +pub const PfnUpdateDescriptorSetWithTemplate = *const fn ( + device: Device, + descriptor_set: DescriptorSet, + descriptor_update_template: DescriptorUpdateTemplate, + p_data: *const anyopaque, +) callconv(vulkan_call_conv) void; +pub const PfnUpdateDescriptorSetWithTemplateKHR = PfnUpdateDescriptorSetWithTemplate; +pub const PfnCmdPushDescriptorSetWithTemplateKHR = *const fn ( + command_buffer: CommandBuffer, + descriptor_update_template: DescriptorUpdateTemplate, + layout: PipelineLayout, + set: u32, + p_data: *const anyopaque, +) callconv(vulkan_call_conv) void; +pub const PfnSetHdrMetadataEXT = *const fn ( + device: Device, + swapchain_count: u32, + p_swapchains: [*]const SwapchainKHR, + p_metadata: [*]const HdrMetadataEXT, +) callconv(vulkan_call_conv) void; +pub const PfnGetSwapchainStatusKHR = *const fn ( device: Device, swapchain: SwapchainKHR, - p_swapchain_image_count: *u32, - p_swapchain_images: ?[*]Image, ) callconv(vulkan_call_conv) Result; -pub const PfnAcquireNextImageKHR = *const fn ( +pub const PfnGetRefreshCycleDurationGOOGLE = *const fn ( device: Device, swapchain: SwapchainKHR, - timeout: u64, - semaphore: Semaphore, - fence: Fence, - p_image_index: *u32, + p_display_timing_properties: *RefreshCycleDurationGOOGLE, ) callconv(vulkan_call_conv) Result; -pub const PfnQueuePresentKHR = *const fn ( - queue: Queue, - p_present_info: *const PresentInfoKHR, +pub const PfnGetPastPresentationTimingGOOGLE = *const fn ( + device: Device, + swapchain: SwapchainKHR, + p_presentation_timing_count: *u32, + p_presentation_timings: ?[*]PastPresentationTimingGOOGLE, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateViSurfaceNN = *const fn ( +pub const PfnCreateIOSSurfaceMVK = *const fn ( instance: Instance, - p_create_info: *const ViSurfaceCreateInfoNN, + p_create_info: *const IOSSurfaceCreateInfoMVK, p_allocator: ?*const AllocationCallbacks, p_surface: *SurfaceKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateWaylandSurfaceKHR = *const fn ( +pub const PfnCreateMacOSSurfaceMVK = *const fn ( instance: Instance, - p_create_info: *const WaylandSurfaceCreateInfoKHR, + p_create_info: *const MacOSSurfaceCreateInfoMVK, p_allocator: ?*const AllocationCallbacks, p_surface: *SurfaceKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceWaylandPresentationSupportKHR = *const fn ( - physical_device: PhysicalDevice, - queue_family_index: u32, - display: *wl_display, -) callconv(vulkan_call_conv) Bool32; -pub const PfnCreateWin32SurfaceKHR = *const fn ( +pub const PfnCreateMetalSurfaceEXT = *const fn ( instance: Instance, - p_create_info: *const Win32SurfaceCreateInfoKHR, + p_create_info: *const MetalSurfaceCreateInfoEXT, p_allocator: ?*const AllocationCallbacks, p_surface: *SurfaceKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceWin32PresentationSupportKHR = *const fn ( +pub const PfnCmdSetViewportWScalingNV = *const fn ( + command_buffer: CommandBuffer, + first_viewport: u32, + viewport_count: u32, + p_viewport_w_scalings: [*]const ViewportWScalingNV, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetDiscardRectangleEXT = *const fn ( + command_buffer: CommandBuffer, + first_discard_rectangle: u32, + discard_rectangle_count: u32, + p_discard_rectangles: [*]const Rect2D, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetDiscardRectangleEnableEXT = *const fn ( + command_buffer: CommandBuffer, + discard_rectangle_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetDiscardRectangleModeEXT = *const fn ( + command_buffer: CommandBuffer, + discard_rectangle_mode: DiscardRectangleModeEXT, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetSampleLocationsEXT = *const fn ( + command_buffer: CommandBuffer, + p_sample_locations_info: *const SampleLocationsInfoEXT, +) callconv(vulkan_call_conv) void; +pub const PfnGetPhysicalDeviceMultisamplePropertiesEXT = *const fn ( physical_device: PhysicalDevice, - queue_family_index: u32, -) callconv(vulkan_call_conv) Bool32; -pub const PfnCreateXlibSurfaceKHR = *const fn ( - instance: Instance, - p_create_info: *const XlibSurfaceCreateInfoKHR, - p_allocator: ?*const AllocationCallbacks, - p_surface: *SurfaceKHR, + samples: SampleCountFlags, + p_multisample_properties: *MultisamplePropertiesEXT, +) callconv(vulkan_call_conv) void; +pub const PfnGetPhysicalDeviceSurfaceCapabilities2KHR = *const fn ( + physical_device: PhysicalDevice, + p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, + p_surface_capabilities: *SurfaceCapabilities2KHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceXlibPresentationSupportKHR = *const fn ( +pub const PfnGetPhysicalDeviceSurfaceFormats2KHR = *const fn ( physical_device: PhysicalDevice, - queue_family_index: u32, - dpy: *Display, - visual_id: VisualID, -) callconv(vulkan_call_conv) Bool32; -pub const PfnCreateXcbSurfaceKHR = *const fn ( - instance: Instance, - p_create_info: *const XcbSurfaceCreateInfoKHR, - p_allocator: ?*const AllocationCallbacks, - p_surface: *SurfaceKHR, + p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, + p_surface_format_count: *u32, + p_surface_formats: ?[*]SurfaceFormat2KHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceXcbPresentationSupportKHR = *const fn ( +pub const PfnGetPhysicalDeviceDisplayProperties2KHR = *const fn ( physical_device: PhysicalDevice, - queue_family_index: u32, - connection: *xcb_connection_t, - visual_id: xcb_visualid_t, -) callconv(vulkan_call_conv) Bool32; -pub const PfnCreateImagePipeSurfaceFUCHSIA = *const fn ( - instance: Instance, - p_create_info: *const ImagePipeSurfaceCreateInfoFUCHSIA, - p_allocator: ?*const AllocationCallbacks, - p_surface: *SurfaceKHR, + p_property_count: *u32, + p_properties: ?[*]DisplayProperties2KHR, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateStreamDescriptorSurfaceGGP = *const fn ( - instance: Instance, - p_create_info: *const StreamDescriptorSurfaceCreateInfoGGP, - p_allocator: ?*const AllocationCallbacks, - p_surface: *SurfaceKHR, +pub const PfnGetPhysicalDeviceDisplayPlaneProperties2KHR = *const fn ( + physical_device: PhysicalDevice, + p_property_count: *u32, + p_properties: ?[*]DisplayPlaneProperties2KHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetDisplayModeProperties2KHR = *const fn ( + physical_device: PhysicalDevice, + display: DisplayKHR, + p_property_count: *u32, + p_properties: ?[*]DisplayModeProperties2KHR, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateDebugReportCallbackEXT = *const fn ( - instance: Instance, - p_create_info: *const DebugReportCallbackCreateInfoEXT, - p_allocator: ?*const AllocationCallbacks, - p_callback: *DebugReportCallbackEXT, +pub const PfnGetDisplayPlaneCapabilities2KHR = *const fn ( + physical_device: PhysicalDevice, + p_display_plane_info: *const DisplayPlaneInfo2KHR, + p_capabilities: *DisplayPlaneCapabilities2KHR, ) callconv(vulkan_call_conv) Result; -pub const PfnDestroyDebugReportCallbackEXT = *const fn ( - instance: Instance, - callback: DebugReportCallbackEXT, - p_allocator: ?*const AllocationCallbacks, -) callconv(vulkan_call_conv) void; -pub const PfnDebugReportMessageEXT = *const fn ( - instance: Instance, - flags: DebugReportFlagsEXT, - object_type: DebugReportObjectTypeEXT, - object: u64, - location: usize, - message_code: i32, - p_layer_prefix: [*:0]const u8, - p_message: [*:0]const u8, -) callconv(vulkan_call_conv) void; -pub const PfnDebugMarkerSetObjectNameEXT = *const fn ( +pub const PfnGetBufferMemoryRequirements2 = *const fn ( device: Device, - p_name_info: *const DebugMarkerObjectNameInfoEXT, -) callconv(vulkan_call_conv) Result; -pub const PfnDebugMarkerSetObjectTagEXT = *const fn ( + p_info: *const BufferMemoryRequirementsInfo2, + p_memory_requirements: *MemoryRequirements2, +) callconv(vulkan_call_conv) void; +pub const PfnGetBufferMemoryRequirements2KHR = PfnGetBufferMemoryRequirements2; +pub const PfnGetImageMemoryRequirements2 = *const fn ( device: Device, - p_tag_info: *const DebugMarkerObjectTagInfoEXT, -) callconv(vulkan_call_conv) Result; -pub const PfnCmdDebugMarkerBeginEXT = *const fn ( - command_buffer: CommandBuffer, - p_marker_info: *const DebugMarkerMarkerInfoEXT, + p_info: *const ImageMemoryRequirementsInfo2, + p_memory_requirements: *MemoryRequirements2, ) callconv(vulkan_call_conv) void; -pub const PfnCmdDebugMarkerEndEXT = *const fn ( - command_buffer: CommandBuffer, +pub const PfnGetImageMemoryRequirements2KHR = PfnGetImageMemoryRequirements2; +pub const PfnGetImageSparseMemoryRequirements2 = *const fn ( + device: Device, + p_info: *const ImageSparseMemoryRequirementsInfo2, + p_sparse_memory_requirement_count: *u32, + p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements2, ) callconv(vulkan_call_conv) void; -pub const PfnCmdDebugMarkerInsertEXT = *const fn ( - command_buffer: CommandBuffer, - p_marker_info: *const DebugMarkerMarkerInfoEXT, +pub const PfnGetImageSparseMemoryRequirements2KHR = PfnGetImageSparseMemoryRequirements2; +pub const PfnGetDeviceBufferMemoryRequirements = *const fn ( + device: Device, + p_info: *const DeviceBufferMemoryRequirements, + p_memory_requirements: *MemoryRequirements2, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceExternalImageFormatPropertiesNV = *const fn ( - physical_device: PhysicalDevice, - format: Format, - @"type": ImageType, - tiling: ImageTiling, - usage: ImageUsageFlags, - flags: ImageCreateFlags, - external_handle_type: ExternalMemoryHandleTypeFlagsNV, - p_external_image_format_properties: *ExternalImageFormatPropertiesNV, -) callconv(vulkan_call_conv) Result; -pub const PfnGetMemoryWin32HandleNV = *const fn ( +pub const PfnGetDeviceBufferMemoryRequirementsKHR = PfnGetDeviceBufferMemoryRequirements; +pub const PfnGetDeviceImageMemoryRequirements = *const fn ( device: Device, - memory: DeviceMemory, - handle_type: ExternalMemoryHandleTypeFlagsNV, - p_handle: *HANDLE, -) callconv(vulkan_call_conv) Result; -pub const PfnCmdProcessCommandsNVX = *const fn ( - command_buffer: CommandBuffer, - p_process_commands_info: *const CmdProcessCommandsInfoNVX, + p_info: *const DeviceImageMemoryRequirements, + p_memory_requirements: *MemoryRequirements2, ) callconv(vulkan_call_conv) void; -pub const PfnCmdReserveSpaceForCommandsNVX = *const fn ( - command_buffer: CommandBuffer, - p_reserve_space_info: *const CmdReserveSpaceForCommandsInfoNVX, +pub const PfnGetDeviceImageMemoryRequirementsKHR = PfnGetDeviceImageMemoryRequirements; +pub const PfnGetDeviceImageSparseMemoryRequirements = *const fn ( + device: Device, + p_info: *const DeviceImageMemoryRequirements, + p_sparse_memory_requirement_count: *u32, + p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements2, ) callconv(vulkan_call_conv) void; -pub const PfnCreateIndirectCommandsLayoutNVX = *const fn ( +pub const PfnGetDeviceImageSparseMemoryRequirementsKHR = PfnGetDeviceImageSparseMemoryRequirements; +pub const PfnCreateSamplerYcbcrConversion = *const fn ( device: Device, - p_create_info: *const IndirectCommandsLayoutCreateInfoNVX, + p_create_info: *const SamplerYcbcrConversionCreateInfo, p_allocator: ?*const AllocationCallbacks, - p_indirect_commands_layout: *IndirectCommandsLayoutNVX, + p_ycbcr_conversion: *SamplerYcbcrConversion, ) callconv(vulkan_call_conv) Result; -pub const PfnDestroyIndirectCommandsLayoutNVX = *const fn ( +pub const PfnCreateSamplerYcbcrConversionKHR = PfnCreateSamplerYcbcrConversion; +pub const PfnDestroySamplerYcbcrConversion = *const fn ( device: Device, - indirect_commands_layout: IndirectCommandsLayoutNVX, + ycbcr_conversion: SamplerYcbcrConversion, p_allocator: ?*const AllocationCallbacks, ) callconv(vulkan_call_conv) void; -pub const PfnCreateObjectTableNVX = *const fn ( +pub const PfnDestroySamplerYcbcrConversionKHR = PfnDestroySamplerYcbcrConversion; +pub const PfnGetDeviceQueue2 = *const fn ( + device: Device, + p_queue_info: *const DeviceQueueInfo2, + p_queue: *Queue, +) callconv(vulkan_call_conv) void; +pub const PfnCreateValidationCacheEXT = *const fn ( device: Device, - p_create_info: *const ObjectTableCreateInfoNVX, + p_create_info: *const ValidationCacheCreateInfoEXT, p_allocator: ?*const AllocationCallbacks, - p_object_table: *ObjectTableNVX, + p_validation_cache: *ValidationCacheEXT, ) callconv(vulkan_call_conv) Result; -pub const PfnDestroyObjectTableNVX = *const fn ( +pub const PfnDestroyValidationCacheEXT = *const fn ( device: Device, - object_table: ObjectTableNVX, + validation_cache: ValidationCacheEXT, p_allocator: ?*const AllocationCallbacks, ) callconv(vulkan_call_conv) void; -pub const PfnRegisterObjectsNVX = *const fn ( +pub const PfnGetValidationCacheDataEXT = *const fn ( device: Device, - object_table: ObjectTableNVX, - object_count: u32, - pp_object_table_entries: [*]const [*]const ObjectTableEntryNVX, - p_object_indices: [*]const u32, + validation_cache: ValidationCacheEXT, + p_data_size: *usize, + p_data: ?*anyopaque, ) callconv(vulkan_call_conv) Result; -pub const PfnUnregisterObjectsNVX = *const fn ( +pub const PfnMergeValidationCachesEXT = *const fn ( device: Device, - object_table: ObjectTableNVX, - object_count: u32, - p_object_entry_types: [*]const ObjectEntryTypeNVX, - p_object_indices: [*]const u32, + dst_cache: ValidationCacheEXT, + src_cache_count: u32, + p_src_caches: [*]const ValidationCacheEXT, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceGeneratedCommandsPropertiesNVX = *const fn ( - physical_device: PhysicalDevice, - p_features: *DeviceGeneratedCommandsFeaturesNVX, - p_limits: *DeviceGeneratedCommandsLimitsNVX, -) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceFeatures2 = *const fn ( - physical_device: PhysicalDevice, - p_features: *PhysicalDeviceFeatures2, -) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceFeatures2KHR = PfnGetPhysicalDeviceFeatures2; -pub const PfnGetPhysicalDeviceProperties2 = *const fn ( - physical_device: PhysicalDevice, - p_properties: *PhysicalDeviceProperties2, +pub const PfnGetDescriptorSetLayoutSupport = *const fn ( + device: Device, + p_create_info: *const DescriptorSetLayoutCreateInfo, + p_support: *DescriptorSetLayoutSupport, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceProperties2KHR = PfnGetPhysicalDeviceProperties2; -pub const PfnGetPhysicalDeviceFormatProperties2 = *const fn ( - physical_device: PhysicalDevice, +pub const PfnGetDescriptorSetLayoutSupportKHR = PfnGetDescriptorSetLayoutSupport; +pub const PfnGetSwapchainGrallocUsageANDROID = *const fn ( + device: Device, format: Format, - p_format_properties: *FormatProperties2, + image_usage: ImageUsageFlags, + gralloc_usage: *c_int, +) callconv(vulkan_call_conv) Result; +pub const PfnGetSwapchainGrallocUsage2ANDROID = *const fn ( + device: Device, + format: Format, + image_usage: ImageUsageFlags, + swapchain_image_usage: SwapchainImageUsageFlagsANDROID, + gralloc_consumer_usage: *u64, + gralloc_producer_usage: *u64, +) callconv(vulkan_call_conv) Result; +pub const PfnAcquireImageANDROID = *const fn ( + device: Device, + image: Image, + native_fence_fd: c_int, + semaphore: Semaphore, + fence: Fence, +) callconv(vulkan_call_conv) Result; +pub const PfnQueueSignalReleaseImageANDROID = *const fn ( + queue: Queue, + wait_semaphore_count: u32, + p_wait_semaphores: [*]const Semaphore, + image: Image, + p_native_fence_fd: *c_int, +) callconv(vulkan_call_conv) Result; +pub const PfnGetShaderInfoAMD = *const fn ( + device: Device, + pipeline: Pipeline, + shader_stage: ShaderStageFlags, + info_type: ShaderInfoTypeAMD, + p_info_size: *usize, + p_info: ?*anyopaque, +) callconv(vulkan_call_conv) Result; +pub const PfnSetLocalDimmingAMD = *const fn ( + device: Device, + swap_chain: SwapchainKHR, + local_dimming_enable: Bool32, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceFormatProperties2KHR = PfnGetPhysicalDeviceFormatProperties2; -pub const PfnGetPhysicalDeviceImageFormatProperties2 = *const fn ( +pub const PfnGetPhysicalDeviceCalibrateableTimeDomainsKHR = *const fn ( physical_device: PhysicalDevice, - p_image_format_info: *const PhysicalDeviceImageFormatInfo2, - p_image_format_properties: *ImageFormatProperties2, + p_time_domain_count: *u32, + p_time_domains: ?[*]TimeDomainKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceImageFormatProperties2KHR = PfnGetPhysicalDeviceImageFormatProperties2; -pub const PfnGetPhysicalDeviceQueueFamilyProperties2 = *const fn ( - physical_device: PhysicalDevice, - p_queue_family_property_count: *u32, - p_queue_family_properties: ?[*]QueueFamilyProperties2, +pub const PfnGetPhysicalDeviceCalibrateableTimeDomainsEXT = PfnGetPhysicalDeviceCalibrateableTimeDomainsKHR; +pub const PfnGetCalibratedTimestampsKHR = *const fn ( + device: Device, + timestamp_count: u32, + p_timestamp_infos: [*]const CalibratedTimestampInfoKHR, + p_timestamps: [*]u64, + p_max_deviation: *u64, +) callconv(vulkan_call_conv) Result; +pub const PfnGetCalibratedTimestampsEXT = PfnGetCalibratedTimestampsKHR; +pub const PfnSetDebugUtilsObjectNameEXT = *const fn ( + device: Device, + p_name_info: *const DebugUtilsObjectNameInfoEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnSetDebugUtilsObjectTagEXT = *const fn ( + device: Device, + p_tag_info: *const DebugUtilsObjectTagInfoEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnQueueBeginDebugUtilsLabelEXT = *const fn ( + queue: Queue, + p_label_info: *const DebugUtilsLabelEXT, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceQueueFamilyProperties2KHR = PfnGetPhysicalDeviceQueueFamilyProperties2; -pub const PfnGetPhysicalDeviceMemoryProperties2 = *const fn ( - physical_device: PhysicalDevice, - p_memory_properties: *PhysicalDeviceMemoryProperties2, +pub const PfnQueueEndDebugUtilsLabelEXT = *const fn ( + queue: Queue, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceMemoryProperties2KHR = PfnGetPhysicalDeviceMemoryProperties2; -pub const PfnGetPhysicalDeviceSparseImageFormatProperties2 = *const fn ( - physical_device: PhysicalDevice, - p_format_info: *const PhysicalDeviceSparseImageFormatInfo2, - p_property_count: *u32, - p_properties: ?[*]SparseImageFormatProperties2, +pub const PfnQueueInsertDebugUtilsLabelEXT = *const fn ( + queue: Queue, + p_label_info: *const DebugUtilsLabelEXT, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceSparseImageFormatProperties2KHR = PfnGetPhysicalDeviceSparseImageFormatProperties2; -pub const PfnCmdPushDescriptorSetKHR = *const fn ( +pub const PfnCmdBeginDebugUtilsLabelEXT = *const fn ( command_buffer: CommandBuffer, - pipeline_bind_point: PipelineBindPoint, - layout: PipelineLayout, - set: u32, - descriptor_write_count: u32, - p_descriptor_writes: [*]const WriteDescriptorSet, + p_label_info: *const DebugUtilsLabelEXT, ) callconv(vulkan_call_conv) void; -pub const PfnTrimCommandPool = *const fn ( - device: Device, - command_pool: CommandPool, - flags: CommandPoolTrimFlags, +pub const PfnCmdEndDebugUtilsLabelEXT = *const fn ( + command_buffer: CommandBuffer, ) callconv(vulkan_call_conv) void; -pub const PfnTrimCommandPoolKHR = PfnTrimCommandPool; -pub const PfnGetPhysicalDeviceExternalBufferProperties = *const fn ( - physical_device: PhysicalDevice, - p_external_buffer_info: *const PhysicalDeviceExternalBufferInfo, - p_external_buffer_properties: *ExternalBufferProperties, +pub const PfnCmdInsertDebugUtilsLabelEXT = *const fn ( + command_buffer: CommandBuffer, + p_label_info: *const DebugUtilsLabelEXT, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceExternalBufferPropertiesKHR = PfnGetPhysicalDeviceExternalBufferProperties; -pub const PfnGetMemoryWin32HandleKHR = *const fn ( - device: Device, - p_get_win_32_handle_info: *const MemoryGetWin32HandleInfoKHR, - p_handle: *HANDLE, -) callconv(vulkan_call_conv) Result; -pub const PfnGetMemoryWin32HandlePropertiesKHR = *const fn ( - device: Device, - handle_type: ExternalMemoryHandleTypeFlags, - handle: HANDLE, - p_memory_win_32_handle_properties: *MemoryWin32HandlePropertiesKHR, -) callconv(vulkan_call_conv) Result; -pub const PfnGetMemoryFdKHR = *const fn ( - device: Device, - p_get_fd_info: *const MemoryGetFdInfoKHR, - p_fd: *c_int, +pub const PfnCreateDebugUtilsMessengerEXT = *const fn ( + instance: Instance, + p_create_info: *const DebugUtilsMessengerCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + p_messenger: *DebugUtilsMessengerEXT, ) callconv(vulkan_call_conv) Result; -pub const PfnGetMemoryFdPropertiesKHR = *const fn ( +pub const PfnDestroyDebugUtilsMessengerEXT = *const fn ( + instance: Instance, + messenger: DebugUtilsMessengerEXT, + p_allocator: ?*const AllocationCallbacks, +) callconv(vulkan_call_conv) void; +pub const PfnSubmitDebugUtilsMessageEXT = *const fn ( + instance: Instance, + message_severity: DebugUtilsMessageSeverityFlagsEXT, + message_types: DebugUtilsMessageTypeFlagsEXT, + p_callback_data: *const DebugUtilsMessengerCallbackDataEXT, +) callconv(vulkan_call_conv) void; +pub const PfnGetMemoryHostPointerPropertiesEXT = *const fn ( device: Device, handle_type: ExternalMemoryHandleTypeFlags, - fd: c_int, - p_memory_fd_properties: *MemoryFdPropertiesKHR, + p_host_pointer: *const anyopaque, + p_memory_host_pointer_properties: *MemoryHostPointerPropertiesEXT, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceExternalSemaphoreProperties = *const fn ( - physical_device: PhysicalDevice, - p_external_semaphore_info: *const PhysicalDeviceExternalSemaphoreInfo, - p_external_semaphore_properties: *ExternalSemaphoreProperties, +pub const PfnCmdWriteBufferMarkerAMD = *const fn ( + command_buffer: CommandBuffer, + pipeline_stage: PipelineStageFlags, + dst_buffer: Buffer, + dst_offset: DeviceSize, + marker: u32, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceExternalSemaphorePropertiesKHR = PfnGetPhysicalDeviceExternalSemaphoreProperties; -pub const PfnGetSemaphoreWin32HandleKHR = *const fn ( - device: Device, - p_get_win_32_handle_info: *const SemaphoreGetWin32HandleInfoKHR, - p_handle: *HANDLE, -) callconv(vulkan_call_conv) Result; -pub const PfnImportSemaphoreWin32HandleKHR = *const fn ( - device: Device, - p_import_semaphore_win_32_handle_info: *const ImportSemaphoreWin32HandleInfoKHR, -) callconv(vulkan_call_conv) Result; -pub const PfnGetSemaphoreFdKHR = *const fn ( - device: Device, - p_get_fd_info: *const SemaphoreGetFdInfoKHR, - p_fd: *c_int, -) callconv(vulkan_call_conv) Result; -pub const PfnImportSemaphoreFdKHR = *const fn ( +pub const PfnCreateRenderPass2 = *const fn ( device: Device, - p_import_semaphore_fd_info: *const ImportSemaphoreFdInfoKHR, + p_create_info: *const RenderPassCreateInfo2, + p_allocator: ?*const AllocationCallbacks, + p_render_pass: *RenderPass, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceExternalFenceProperties = *const fn ( - physical_device: PhysicalDevice, - p_external_fence_info: *const PhysicalDeviceExternalFenceInfo, - p_external_fence_properties: *ExternalFenceProperties, +pub const PfnCreateRenderPass2KHR = PfnCreateRenderPass2; +pub const PfnCmdBeginRenderPass2 = *const fn ( + command_buffer: CommandBuffer, + p_render_pass_begin: *const RenderPassBeginInfo, + p_subpass_begin_info: *const SubpassBeginInfo, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceExternalFencePropertiesKHR = PfnGetPhysicalDeviceExternalFenceProperties; -pub const PfnGetFenceWin32HandleKHR = *const fn ( +pub const PfnCmdBeginRenderPass2KHR = PfnCmdBeginRenderPass2; +pub const PfnCmdNextSubpass2 = *const fn ( + command_buffer: CommandBuffer, + p_subpass_begin_info: *const SubpassBeginInfo, + p_subpass_end_info: *const SubpassEndInfo, +) callconv(vulkan_call_conv) void; +pub const PfnCmdNextSubpass2KHR = PfnCmdNextSubpass2; +pub const PfnCmdEndRenderPass2 = *const fn ( + command_buffer: CommandBuffer, + p_subpass_end_info: *const SubpassEndInfo, +) callconv(vulkan_call_conv) void; +pub const PfnCmdEndRenderPass2KHR = PfnCmdEndRenderPass2; +pub const PfnGetSemaphoreCounterValue = *const fn ( device: Device, - p_get_win_32_handle_info: *const FenceGetWin32HandleInfoKHR, - p_handle: *HANDLE, + semaphore: Semaphore, + p_value: *u64, ) callconv(vulkan_call_conv) Result; -pub const PfnImportFenceWin32HandleKHR = *const fn ( +pub const PfnGetSemaphoreCounterValueKHR = PfnGetSemaphoreCounterValue; +pub const PfnWaitSemaphores = *const fn ( device: Device, - p_import_fence_win_32_handle_info: *const ImportFenceWin32HandleInfoKHR, + p_wait_info: *const SemaphoreWaitInfo, + timeout: u64, ) callconv(vulkan_call_conv) Result; -pub const PfnGetFenceFdKHR = *const fn ( +pub const PfnWaitSemaphoresKHR = PfnWaitSemaphores; +pub const PfnSignalSemaphore = *const fn ( device: Device, - p_get_fd_info: *const FenceGetFdInfoKHR, - p_fd: *c_int, + p_signal_info: *const SemaphoreSignalInfo, ) callconv(vulkan_call_conv) Result; -pub const PfnImportFenceFdKHR = *const fn ( +pub const PfnSignalSemaphoreKHR = PfnSignalSemaphore; +pub const PfnGetAndroidHardwareBufferPropertiesANDROID = *const fn ( device: Device, - p_import_fence_fd_info: *const ImportFenceFdInfoKHR, -) callconv(vulkan_call_conv) Result; -pub const PfnReleaseDisplayEXT = *const fn ( - physical_device: PhysicalDevice, - display: DisplayKHR, -) callconv(vulkan_call_conv) Result; -pub const PfnAcquireXlibDisplayEXT = *const fn ( - physical_device: PhysicalDevice, - dpy: *Display, - display: DisplayKHR, -) callconv(vulkan_call_conv) Result; -pub const PfnGetRandROutputDisplayEXT = *const fn ( - physical_device: PhysicalDevice, - dpy: *Display, - rr_output: RROutput, - p_display: *DisplayKHR, + buffer: *const AHardwareBuffer, + p_properties: *AndroidHardwareBufferPropertiesANDROID, ) callconv(vulkan_call_conv) Result; -pub const PfnDisplayPowerControlEXT = *const fn ( +pub const PfnGetMemoryAndroidHardwareBufferANDROID = *const fn ( device: Device, - display: DisplayKHR, - p_display_power_info: *const DisplayPowerInfoEXT, + p_info: *const MemoryGetAndroidHardwareBufferInfoANDROID, + p_buffer: **AHardwareBuffer, ) callconv(vulkan_call_conv) Result; -pub const PfnRegisterDeviceEventEXT = *const fn ( +pub const PfnCmdDrawIndirectCount = *const fn ( + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDrawIndirectCountKHR = PfnCmdDrawIndirectCount; +pub const PfnCmdDrawIndirectCountAMD = PfnCmdDrawIndirectCount; +pub const PfnCmdDrawIndexedIndirectCount = *const fn ( + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDrawIndexedIndirectCountKHR = PfnCmdDrawIndexedIndirectCount; +pub const PfnCmdDrawIndexedIndirectCountAMD = PfnCmdDrawIndexedIndirectCount; +pub const PfnCmdSetCheckpointNV = *const fn ( + command_buffer: CommandBuffer, + p_checkpoint_marker: *const anyopaque, +) callconv(vulkan_call_conv) void; +pub const PfnGetQueueCheckpointDataNV = *const fn ( + queue: Queue, + p_checkpoint_data_count: *u32, + p_checkpoint_data: ?[*]CheckpointDataNV, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBindTransformFeedbackBuffersEXT = *const fn ( + command_buffer: CommandBuffer, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + p_sizes: ?[*]const DeviceSize, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBeginTransformFeedbackEXT = *const fn ( + command_buffer: CommandBuffer, + first_counter_buffer: u32, + counter_buffer_count: u32, + p_counter_buffers: ?[*]const Buffer, + p_counter_buffer_offsets: ?[*]const DeviceSize, +) callconv(vulkan_call_conv) void; +pub const PfnCmdEndTransformFeedbackEXT = *const fn ( + command_buffer: CommandBuffer, + first_counter_buffer: u32, + counter_buffer_count: u32, + p_counter_buffers: ?[*]const Buffer, + p_counter_buffer_offsets: ?[*]const DeviceSize, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBeginQueryIndexedEXT = *const fn ( + command_buffer: CommandBuffer, + query_pool: QueryPool, + query: u32, + flags: QueryControlFlags, + index: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdEndQueryIndexedEXT = *const fn ( + command_buffer: CommandBuffer, + query_pool: QueryPool, + query: u32, + index: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDrawIndirectByteCountEXT = *const fn ( + command_buffer: CommandBuffer, + instance_count: u32, + first_instance: u32, + counter_buffer: Buffer, + counter_buffer_offset: DeviceSize, + counter_offset: u32, + vertex_stride: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetExclusiveScissorNV = *const fn ( + command_buffer: CommandBuffer, + first_exclusive_scissor: u32, + exclusive_scissor_count: u32, + p_exclusive_scissors: [*]const Rect2D, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetExclusiveScissorEnableNV = *const fn ( + command_buffer: CommandBuffer, + first_exclusive_scissor: u32, + exclusive_scissor_count: u32, + p_exclusive_scissor_enables: [*]const Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBindShadingRateImageNV = *const fn ( + command_buffer: CommandBuffer, + image_view: ImageView, + image_layout: ImageLayout, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetViewportShadingRatePaletteNV = *const fn ( + command_buffer: CommandBuffer, + first_viewport: u32, + viewport_count: u32, + p_shading_rate_palettes: [*]const ShadingRatePaletteNV, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetCoarseSampleOrderNV = *const fn ( + command_buffer: CommandBuffer, + sample_order_type: CoarseSampleOrderTypeNV, + custom_sample_order_count: u32, + p_custom_sample_orders: ?[*]const CoarseSampleOrderCustomNV, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDrawMeshTasksNV = *const fn ( + command_buffer: CommandBuffer, + task_count: u32, + first_task: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDrawMeshTasksIndirectNV = *const fn ( + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDrawMeshTasksIndirectCountNV = *const fn ( + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDrawMeshTasksEXT = *const fn ( + command_buffer: CommandBuffer, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDrawMeshTasksIndirectEXT = *const fn ( + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDrawMeshTasksIndirectCountEXT = *const fn ( + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCompileDeferredNV = *const fn ( device: Device, - p_device_event_info: *const DeviceEventInfoEXT, - p_allocator: ?*const AllocationCallbacks, - p_fence: *Fence, + pipeline: Pipeline, + shader: u32, ) callconv(vulkan_call_conv) Result; -pub const PfnRegisterDisplayEventEXT = *const fn ( +pub const PfnCreateAccelerationStructureNV = *const fn ( device: Device, - display: DisplayKHR, - p_display_event_info: *const DisplayEventInfoEXT, + p_create_info: *const AccelerationStructureCreateInfoNV, p_allocator: ?*const AllocationCallbacks, - p_fence: *Fence, -) callconv(vulkan_call_conv) Result; -pub const PfnGetSwapchainCounterEXT = *const fn ( - device: Device, - swapchain: SwapchainKHR, - counter: SurfaceCounterFlagsEXT, - p_counter_value: *u64, -) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceSurfaceCapabilities2EXT = *const fn ( - physical_device: PhysicalDevice, - surface: SurfaceKHR, - p_surface_capabilities: *SurfaceCapabilities2EXT, -) callconv(vulkan_call_conv) Result; -pub const PfnEnumeratePhysicalDeviceGroups = *const fn ( - instance: Instance, - p_physical_device_group_count: *u32, - p_physical_device_group_properties: ?[*]PhysicalDeviceGroupProperties, + p_acceleration_structure: *AccelerationStructureNV, ) callconv(vulkan_call_conv) Result; -pub const PfnEnumeratePhysicalDeviceGroupsKHR = PfnEnumeratePhysicalDeviceGroups; -pub const PfnGetDeviceGroupPeerMemoryFeatures = *const fn ( +pub const PfnCmdBindInvocationMaskHUAWEI = *const fn ( + command_buffer: CommandBuffer, + image_view: ImageView, + image_layout: ImageLayout, +) callconv(vulkan_call_conv) void; +pub const PfnDestroyAccelerationStructureKHR = *const fn ( device: Device, - heap_index: u32, - local_device_index: u32, - remote_device_index: u32, - p_peer_memory_features: *PeerMemoryFeatureFlags, + acceleration_structure: AccelerationStructureKHR, + p_allocator: ?*const AllocationCallbacks, ) callconv(vulkan_call_conv) void; -pub const PfnGetDeviceGroupPeerMemoryFeaturesKHR = PfnGetDeviceGroupPeerMemoryFeatures; -pub const PfnBindBufferMemory2 = *const fn ( +pub const PfnDestroyAccelerationStructureNV = *const fn ( device: Device, - bind_info_count: u32, - p_bind_infos: [*]const BindBufferMemoryInfo, -) callconv(vulkan_call_conv) Result; -pub const PfnBindBufferMemory2KHR = PfnBindBufferMemory2; -pub const PfnBindImageMemory2 = *const fn ( + acceleration_structure: AccelerationStructureNV, + p_allocator: ?*const AllocationCallbacks, +) callconv(vulkan_call_conv) void; +pub const PfnGetAccelerationStructureMemoryRequirementsNV = *const fn ( + device: Device, + p_info: *const AccelerationStructureMemoryRequirementsInfoNV, + p_memory_requirements: *MemoryRequirements2KHR, +) callconv(vulkan_call_conv) void; +pub const PfnBindAccelerationStructureMemoryNV = *const fn ( device: Device, bind_info_count: u32, - p_bind_infos: [*]const BindImageMemoryInfo, + p_bind_infos: [*]const BindAccelerationStructureMemoryInfoNV, ) callconv(vulkan_call_conv) Result; -pub const PfnBindImageMemory2KHR = PfnBindImageMemory2; -pub const PfnCmdSetDeviceMask = *const fn ( +pub const PfnCmdCopyAccelerationStructureNV = *const fn ( command_buffer: CommandBuffer, - device_mask: u32, + dst: AccelerationStructureNV, + src: AccelerationStructureNV, + mode: CopyAccelerationStructureModeKHR, ) callconv(vulkan_call_conv) void; -pub const PfnCmdSetDeviceMaskKHR = PfnCmdSetDeviceMask; -pub const PfnGetDeviceGroupPresentCapabilitiesKHR = *const fn ( - device: Device, - p_device_group_present_capabilities: *DeviceGroupPresentCapabilitiesKHR, -) callconv(vulkan_call_conv) Result; -pub const PfnGetDeviceGroupSurfacePresentModesKHR = *const fn ( +pub const PfnCmdCopyAccelerationStructureKHR = *const fn ( + command_buffer: CommandBuffer, + p_info: *const CopyAccelerationStructureInfoKHR, +) callconv(vulkan_call_conv) void; +pub const PfnCopyAccelerationStructureKHR = *const fn ( device: Device, - surface: SurfaceKHR, - p_modes: *DeviceGroupPresentModeFlagsKHR, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyAccelerationStructureInfoKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnAcquireNextImage2KHR = *const fn ( +pub const PfnCmdCopyAccelerationStructureToMemoryKHR = *const fn ( + command_buffer: CommandBuffer, + p_info: *const CopyAccelerationStructureToMemoryInfoKHR, +) callconv(vulkan_call_conv) void; +pub const PfnCopyAccelerationStructureToMemoryKHR = *const fn ( device: Device, - p_acquire_info: *const AcquireNextImageInfoKHR, - p_image_index: *u32, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyAccelerationStructureToMemoryInfoKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnCmdDispatchBase = *const fn ( +pub const PfnCmdCopyMemoryToAccelerationStructureKHR = *const fn ( command_buffer: CommandBuffer, - base_group_x: u32, - base_group_y: u32, - base_group_z: u32, - group_count_x: u32, - group_count_y: u32, - group_count_z: u32, + p_info: *const CopyMemoryToAccelerationStructureInfoKHR, ) callconv(vulkan_call_conv) void; -pub const PfnCmdDispatchBaseKHR = PfnCmdDispatchBase; -pub const PfnGetPhysicalDevicePresentRectanglesKHR = *const fn ( - physical_device: PhysicalDevice, - surface: SurfaceKHR, - p_rect_count: *u32, - p_rects: ?[*]Rect2D, -) callconv(vulkan_call_conv) Result; -pub const PfnCreateDescriptorUpdateTemplate = *const fn ( +pub const PfnCopyMemoryToAccelerationStructureKHR = *const fn ( device: Device, - p_create_info: *const DescriptorUpdateTemplateCreateInfo, - p_allocator: ?*const AllocationCallbacks, - p_descriptor_update_template: *DescriptorUpdateTemplate, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyMemoryToAccelerationStructureInfoKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateDescriptorUpdateTemplateKHR = PfnCreateDescriptorUpdateTemplate; -pub const PfnDestroyDescriptorUpdateTemplate = *const fn ( - device: Device, - descriptor_update_template: DescriptorUpdateTemplate, - p_allocator: ?*const AllocationCallbacks, +pub const PfnCmdWriteAccelerationStructuresPropertiesKHR = *const fn ( + command_buffer: CommandBuffer, + acceleration_structure_count: u32, + p_acceleration_structures: [*]const AccelerationStructureKHR, + query_type: QueryType, + query_pool: QueryPool, + first_query: u32, ) callconv(vulkan_call_conv) void; -pub const PfnDestroyDescriptorUpdateTemplateKHR = PfnDestroyDescriptorUpdateTemplate; -pub const PfnUpdateDescriptorSetWithTemplate = *const fn ( - device: Device, - descriptor_set: DescriptorSet, - descriptor_update_template: DescriptorUpdateTemplate, - p_data: *const anyopaque, +pub const PfnCmdWriteAccelerationStructuresPropertiesNV = *const fn ( + command_buffer: CommandBuffer, + acceleration_structure_count: u32, + p_acceleration_structures: [*]const AccelerationStructureNV, + query_type: QueryType, + query_pool: QueryPool, + first_query: u32, ) callconv(vulkan_call_conv) void; -pub const PfnUpdateDescriptorSetWithTemplateKHR = PfnUpdateDescriptorSetWithTemplate; -pub const PfnCmdPushDescriptorSetWithTemplateKHR = *const fn ( +pub const PfnCmdBuildAccelerationStructureNV = *const fn ( command_buffer: CommandBuffer, - descriptor_update_template: DescriptorUpdateTemplate, - layout: PipelineLayout, - set: u32, - p_data: *const anyopaque, + p_info: *const AccelerationStructureInfoNV, + instance_data: Buffer, + instance_offset: DeviceSize, + update: Bool32, + dst: AccelerationStructureNV, + src: AccelerationStructureNV, + scratch: Buffer, + scratch_offset: DeviceSize, ) callconv(vulkan_call_conv) void; -pub const PfnSetHdrMetadataEXT = *const fn ( +pub const PfnWriteAccelerationStructuresPropertiesKHR = *const fn ( device: Device, - swapchain_count: u32, - p_swapchains: [*]const SwapchainKHR, - p_metadata: [*]const HdrMetadataEXT, + acceleration_structure_count: u32, + p_acceleration_structures: [*]const AccelerationStructureKHR, + query_type: QueryType, + data_size: usize, + p_data: *anyopaque, + stride: usize, +) callconv(vulkan_call_conv) Result; +pub const PfnCmdTraceRaysKHR = *const fn ( + command_buffer: CommandBuffer, + p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR, + width: u32, + height: u32, + depth: u32, ) callconv(vulkan_call_conv) void; -pub const PfnGetSwapchainStatusKHR = *const fn ( +pub const PfnCmdTraceRaysNV = *const fn ( + command_buffer: CommandBuffer, + raygen_shader_binding_table_buffer: Buffer, + raygen_shader_binding_offset: DeviceSize, + miss_shader_binding_table_buffer: Buffer, + miss_shader_binding_offset: DeviceSize, + miss_shader_binding_stride: DeviceSize, + hit_shader_binding_table_buffer: Buffer, + hit_shader_binding_offset: DeviceSize, + hit_shader_binding_stride: DeviceSize, + callable_shader_binding_table_buffer: Buffer, + callable_shader_binding_offset: DeviceSize, + callable_shader_binding_stride: DeviceSize, + width: u32, + height: u32, + depth: u32, +) callconv(vulkan_call_conv) void; +pub const PfnGetRayTracingShaderGroupHandlesKHR = *const fn ( device: Device, - swapchain: SwapchainKHR, + pipeline: Pipeline, + first_group: u32, + group_count: u32, + data_size: usize, + p_data: *anyopaque, ) callconv(vulkan_call_conv) Result; -pub const PfnGetRefreshCycleDurationGOOGLE = *const fn ( +pub const PfnGetRayTracingShaderGroupHandlesNV = PfnGetRayTracingShaderGroupHandlesKHR; +pub const PfnGetRayTracingCaptureReplayShaderGroupHandlesKHR = *const fn ( device: Device, - swapchain: SwapchainKHR, - p_display_timing_properties: *RefreshCycleDurationGOOGLE, + pipeline: Pipeline, + first_group: u32, + group_count: u32, + data_size: usize, + p_data: *anyopaque, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPastPresentationTimingGOOGLE = *const fn ( +pub const PfnGetAccelerationStructureHandleNV = *const fn ( device: Device, - swapchain: SwapchainKHR, - p_presentation_timing_count: *u32, - p_presentation_timings: ?[*]PastPresentationTimingGOOGLE, + acceleration_structure: AccelerationStructureNV, + data_size: usize, + p_data: *anyopaque, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateIOSSurfaceMVK = *const fn ( - instance: Instance, - p_create_info: *const IOSSurfaceCreateInfoMVK, +pub const PfnCreateRayTracingPipelinesNV = *const fn ( + device: Device, + pipeline_cache: PipelineCache, + create_info_count: u32, + p_create_infos: [*]const RayTracingPipelineCreateInfoNV, p_allocator: ?*const AllocationCallbacks, - p_surface: *SurfaceKHR, + p_pipelines: [*]Pipeline, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateMacOSSurfaceMVK = *const fn ( - instance: Instance, - p_create_info: *const MacOSSurfaceCreateInfoMVK, +pub const PfnCreateRayTracingPipelinesKHR = *const fn ( + device: Device, + deferred_operation: DeferredOperationKHR, + pipeline_cache: PipelineCache, + create_info_count: u32, + p_create_infos: [*]const RayTracingPipelineCreateInfoKHR, p_allocator: ?*const AllocationCallbacks, - p_surface: *SurfaceKHR, + p_pipelines: [*]Pipeline, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateMetalSurfaceEXT = *const fn ( - instance: Instance, - p_create_info: *const MetalSurfaceCreateInfoEXT, - p_allocator: ?*const AllocationCallbacks, - p_surface: *SurfaceKHR, +pub const PfnGetPhysicalDeviceCooperativeMatrixPropertiesNV = *const fn ( + physical_device: PhysicalDevice, + p_property_count: *u32, + p_properties: ?[*]CooperativeMatrixPropertiesNV, ) callconv(vulkan_call_conv) Result; -pub const PfnCmdSetViewportWScalingNV = *const fn ( +pub const PfnCmdTraceRaysIndirectKHR = *const fn ( command_buffer: CommandBuffer, - first_viewport: u32, - viewport_count: u32, - p_viewport_w_scalings: [*]const ViewportWScalingNV, + p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR, + indirect_device_address: DeviceAddress, ) callconv(vulkan_call_conv) void; -pub const PfnCmdSetDiscardRectangleEXT = *const fn ( +pub const PfnCmdTraceRaysIndirect2KHR = *const fn ( command_buffer: CommandBuffer, - first_discard_rectangle: u32, - discard_rectangle_count: u32, - p_discard_rectangles: [*]const Rect2D, + indirect_device_address: DeviceAddress, ) callconv(vulkan_call_conv) void; -pub const PfnCmdSetSampleLocationsEXT = *const fn ( - command_buffer: CommandBuffer, - p_sample_locations_info: *const SampleLocationsInfoEXT, +pub const PfnGetDeviceAccelerationStructureCompatibilityKHR = *const fn ( + device: Device, + p_version_info: *const AccelerationStructureVersionInfoKHR, + p_compatibility: *AccelerationStructureCompatibilityKHR, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceMultisamplePropertiesEXT = *const fn ( - physical_device: PhysicalDevice, - samples: SampleCountFlags, - p_multisample_properties: *MultisamplePropertiesEXT, +pub const PfnGetRayTracingShaderGroupStackSizeKHR = *const fn ( + device: Device, + pipeline: Pipeline, + group: u32, + group_shader: ShaderGroupShaderKHR, +) callconv(vulkan_call_conv) DeviceSize; +pub const PfnCmdSetRayTracingPipelineStackSizeKHR = *const fn ( + command_buffer: CommandBuffer, + pipeline_stack_size: u32, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceSurfaceCapabilities2KHR = *const fn ( +pub const PfnGetImageViewHandleNVX = *const fn ( + device: Device, + p_info: *const ImageViewHandleInfoNVX, +) callconv(vulkan_call_conv) u32; +pub const PfnGetImageViewAddressNVX = *const fn ( + device: Device, + image_view: ImageView, + p_properties: *ImageViewAddressPropertiesNVX, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceSurfacePresentModes2EXT = *const fn ( physical_device: PhysicalDevice, p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, - p_surface_capabilities: *SurfaceCapabilities2KHR, + p_present_mode_count: *u32, + p_present_modes: ?[*]PresentModeKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetDeviceGroupSurfacePresentModes2EXT = *const fn ( + device: Device, + p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, + p_modes: *DeviceGroupPresentModeFlagsKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnAcquireFullScreenExclusiveModeEXT = *const fn ( + device: Device, + swapchain: SwapchainKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnReleaseFullScreenExclusiveModeEXT = *const fn ( + device: Device, + swapchain: SwapchainKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = *const fn ( + physical_device: PhysicalDevice, + queue_family_index: u32, + p_counter_count: *u32, + p_counters: ?[*]PerformanceCounterKHR, + p_counter_descriptions: ?[*]PerformanceCounterDescriptionKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = *const fn ( + physical_device: PhysicalDevice, + p_performance_query_create_info: *const QueryPoolPerformanceCreateInfoKHR, + p_num_passes: *u32, +) callconv(vulkan_call_conv) void; +pub const PfnAcquireProfilingLockKHR = *const fn ( + device: Device, + p_info: *const AcquireProfilingLockInfoKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnReleaseProfilingLockKHR = *const fn ( + device: Device, +) callconv(vulkan_call_conv) void; +pub const PfnGetImageDrmFormatModifierPropertiesEXT = *const fn ( + device: Device, + image: Image, + p_properties: *ImageDrmFormatModifierPropertiesEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnGetBufferOpaqueCaptureAddress = *const fn ( + device: Device, + p_info: *const BufferDeviceAddressInfo, +) callconv(vulkan_call_conv) u64; +pub const PfnGetBufferOpaqueCaptureAddressKHR = PfnGetBufferOpaqueCaptureAddress; +pub const PfnGetBufferDeviceAddress = *const fn ( + device: Device, + p_info: *const BufferDeviceAddressInfo, +) callconv(vulkan_call_conv) DeviceAddress; +pub const PfnGetBufferDeviceAddressKHR = PfnGetBufferDeviceAddress; +pub const PfnGetBufferDeviceAddressEXT = PfnGetBufferDeviceAddress; +pub const PfnCreateHeadlessSurfaceEXT = *const fn ( + instance: Instance, + p_create_info: *const HeadlessSurfaceCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + p_surface: *SurfaceKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceSurfaceFormats2KHR = *const fn ( +pub const PfnGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = *const fn ( physical_device: PhysicalDevice, - p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, - p_surface_format_count: *u32, - p_surface_formats: ?[*]SurfaceFormat2KHR, + p_combination_count: *u32, + p_combinations: ?[*]FramebufferMixedSamplesCombinationNV, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceDisplayProperties2KHR = *const fn ( - physical_device: PhysicalDevice, - p_property_count: *u32, - p_properties: ?[*]DisplayProperties2KHR, +pub const PfnInitializePerformanceApiINTEL = *const fn ( + device: Device, + p_initialize_info: *const InitializePerformanceApiInfoINTEL, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceDisplayPlaneProperties2KHR = *const fn ( - physical_device: PhysicalDevice, - p_property_count: *u32, - p_properties: ?[*]DisplayPlaneProperties2KHR, +pub const PfnUninitializePerformanceApiINTEL = *const fn ( + device: Device, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetPerformanceMarkerINTEL = *const fn ( + command_buffer: CommandBuffer, + p_marker_info: *const PerformanceMarkerInfoINTEL, ) callconv(vulkan_call_conv) Result; -pub const PfnGetDisplayModeProperties2KHR = *const fn ( - physical_device: PhysicalDevice, - display: DisplayKHR, - p_property_count: *u32, - p_properties: ?[*]DisplayModeProperties2KHR, +pub const PfnCmdSetPerformanceStreamMarkerINTEL = *const fn ( + command_buffer: CommandBuffer, + p_marker_info: *const PerformanceStreamMarkerInfoINTEL, ) callconv(vulkan_call_conv) Result; -pub const PfnGetDisplayPlaneCapabilities2KHR = *const fn ( - physical_device: PhysicalDevice, - p_display_plane_info: *const DisplayPlaneInfo2KHR, - p_capabilities: *DisplayPlaneCapabilities2KHR, +pub const PfnCmdSetPerformanceOverrideINTEL = *const fn ( + command_buffer: CommandBuffer, + p_override_info: *const PerformanceOverrideInfoINTEL, ) callconv(vulkan_call_conv) Result; -pub const PfnGetBufferMemoryRequirements2 = *const fn ( +pub const PfnAcquirePerformanceConfigurationINTEL = *const fn ( device: Device, - p_info: *const BufferMemoryRequirementsInfo2, - p_memory_requirements: *MemoryRequirements2, -) callconv(vulkan_call_conv) void; -pub const PfnGetBufferMemoryRequirements2KHR = PfnGetBufferMemoryRequirements2; -pub const PfnGetImageMemoryRequirements2 = *const fn ( + p_acquire_info: *const PerformanceConfigurationAcquireInfoINTEL, + p_configuration: *PerformanceConfigurationINTEL, +) callconv(vulkan_call_conv) Result; +pub const PfnReleasePerformanceConfigurationINTEL = *const fn ( device: Device, - p_info: *const ImageMemoryRequirementsInfo2, - p_memory_requirements: *MemoryRequirements2, -) callconv(vulkan_call_conv) void; -pub const PfnGetImageMemoryRequirements2KHR = PfnGetImageMemoryRequirements2; -pub const PfnGetImageSparseMemoryRequirements2 = *const fn ( + configuration: PerformanceConfigurationINTEL, +) callconv(vulkan_call_conv) Result; +pub const PfnQueueSetPerformanceConfigurationINTEL = *const fn ( + queue: Queue, + configuration: PerformanceConfigurationINTEL, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPerformanceParameterINTEL = *const fn ( device: Device, - p_info: *const ImageSparseMemoryRequirementsInfo2, - p_sparse_memory_requirement_count: *u32, - p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements2, -) callconv(vulkan_call_conv) void; -pub const PfnGetImageSparseMemoryRequirements2KHR = PfnGetImageSparseMemoryRequirements2; -pub const PfnCreateSamplerYcbcrConversion = *const fn ( + parameter: PerformanceParameterTypeINTEL, + p_value: *PerformanceValueINTEL, +) callconv(vulkan_call_conv) Result; +pub const PfnGetDeviceMemoryOpaqueCaptureAddress = *const fn ( device: Device, - p_create_info: *const SamplerYcbcrConversionCreateInfo, - p_allocator: ?*const AllocationCallbacks, - p_ycbcr_conversion: *SamplerYcbcrConversion, + p_info: *const DeviceMemoryOpaqueCaptureAddressInfo, +) callconv(vulkan_call_conv) u64; +pub const PfnGetDeviceMemoryOpaqueCaptureAddressKHR = PfnGetDeviceMemoryOpaqueCaptureAddress; +pub const PfnGetPipelineExecutablePropertiesKHR = *const fn ( + device: Device, + p_pipeline_info: *const PipelineInfoKHR, + p_executable_count: *u32, + p_properties: ?[*]PipelineExecutablePropertiesKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateSamplerYcbcrConversionKHR = PfnCreateSamplerYcbcrConversion; -pub const PfnDestroySamplerYcbcrConversion = *const fn ( +pub const PfnGetPipelineExecutableStatisticsKHR = *const fn ( device: Device, - ycbcr_conversion: SamplerYcbcrConversion, - p_allocator: ?*const AllocationCallbacks, -) callconv(vulkan_call_conv) void; -pub const PfnDestroySamplerYcbcrConversionKHR = PfnDestroySamplerYcbcrConversion; -pub const PfnGetDeviceQueue2 = *const fn ( + p_executable_info: *const PipelineExecutableInfoKHR, + p_statistic_count: *u32, + p_statistics: ?[*]PipelineExecutableStatisticKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPipelineExecutableInternalRepresentationsKHR = *const fn ( device: Device, - p_queue_info: *const DeviceQueueInfo2, - p_queue: *Queue, + p_executable_info: *const PipelineExecutableInfoKHR, + p_internal_representation_count: *u32, + p_internal_representations: ?[*]PipelineExecutableInternalRepresentationKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnCmdSetLineStippleKHR = *const fn ( + command_buffer: CommandBuffer, + line_stipple_factor: u32, + line_stipple_pattern: u16, ) callconv(vulkan_call_conv) void; -pub const PfnCreateValidationCacheEXT = *const fn ( +pub const PfnCmdSetLineStippleEXT = PfnCmdSetLineStippleKHR; +pub const PfnGetFaultData = *const fn ( device: Device, - p_create_info: *const ValidationCacheCreateInfoEXT, - p_allocator: ?*const AllocationCallbacks, - p_validation_cache: *ValidationCacheEXT, + fault_query_behavior: FaultQueryBehavior, + p_unrecorded_faults: *Bool32, + p_fault_count: *u32, + p_faults: ?[*]FaultData, ) callconv(vulkan_call_conv) Result; -pub const PfnDestroyValidationCacheEXT = *const fn ( +pub const PfnGetPhysicalDeviceToolProperties = *const fn ( + physical_device: PhysicalDevice, + p_tool_count: *u32, + p_tool_properties: ?[*]PhysicalDeviceToolProperties, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceToolPropertiesEXT = PfnGetPhysicalDeviceToolProperties; +pub const PfnCreateAccelerationStructureKHR = *const fn ( device: Device, - validation_cache: ValidationCacheEXT, + p_create_info: *const AccelerationStructureCreateInfoKHR, p_allocator: ?*const AllocationCallbacks, + p_acceleration_structure: *AccelerationStructureKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnCmdBuildAccelerationStructuresKHR = *const fn ( + command_buffer: CommandBuffer, + info_count: u32, + p_infos: [*]const AccelerationStructureBuildGeometryInfoKHR, + pp_build_range_infos: [*]const [*]const AccelerationStructureBuildRangeInfoKHR, ) callconv(vulkan_call_conv) void; -pub const PfnGetValidationCacheDataEXT = *const fn ( +pub const PfnCmdBuildAccelerationStructuresIndirectKHR = *const fn ( + command_buffer: CommandBuffer, + info_count: u32, + p_infos: [*]const AccelerationStructureBuildGeometryInfoKHR, + p_indirect_device_addresses: [*]const DeviceAddress, + p_indirect_strides: [*]const u32, + pp_max_primitive_counts: [*]const [*]const u32, +) callconv(vulkan_call_conv) void; +pub const PfnBuildAccelerationStructuresKHR = *const fn ( device: Device, - validation_cache: ValidationCacheEXT, - p_data_size: *usize, - p_data: ?*anyopaque, + deferred_operation: DeferredOperationKHR, + info_count: u32, + p_infos: [*]const AccelerationStructureBuildGeometryInfoKHR, + pp_build_range_infos: [*]const [*]const AccelerationStructureBuildRangeInfoKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnMergeValidationCachesEXT = *const fn ( +pub const PfnGetAccelerationStructureDeviceAddressKHR = *const fn ( device: Device, - dst_cache: ValidationCacheEXT, - src_cache_count: u32, - p_src_caches: [*]const ValidationCacheEXT, + p_info: *const AccelerationStructureDeviceAddressInfoKHR, +) callconv(vulkan_call_conv) DeviceAddress; +pub const PfnCreateDeferredOperationKHR = *const fn ( + device: Device, + p_allocator: ?*const AllocationCallbacks, + p_deferred_operation: *DeferredOperationKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetDescriptorSetLayoutSupport = *const fn ( +pub const PfnDestroyDeferredOperationKHR = *const fn ( device: Device, - p_create_info: *const DescriptorSetLayoutCreateInfo, - p_support: *DescriptorSetLayoutSupport, + operation: DeferredOperationKHR, + p_allocator: ?*const AllocationCallbacks, ) callconv(vulkan_call_conv) void; -pub const PfnGetDescriptorSetLayoutSupportKHR = PfnGetDescriptorSetLayoutSupport; -pub const PfnGetSwapchainGrallocUsageANDROID = *const fn ( +pub const PfnGetDeferredOperationMaxConcurrencyKHR = *const fn ( device: Device, - format: Format, - image_usage: ImageUsageFlags, - gralloc_usage: *c_int, -) callconv(vulkan_call_conv) Result; -pub const PfnGetSwapchainGrallocUsage2ANDROID = *const fn ( + operation: DeferredOperationKHR, +) callconv(vulkan_call_conv) u32; +pub const PfnGetDeferredOperationResultKHR = *const fn ( device: Device, - format: Format, - image_usage: ImageUsageFlags, - swapchain_image_usage: SwapchainImageUsageFlagsANDROID, - gralloc_consumer_usage: *u64, - gralloc_producer_usage: *u64, + operation: DeferredOperationKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnAcquireImageANDROID = *const fn ( +pub const PfnDeferredOperationJoinKHR = *const fn ( device: Device, - image: Image, - native_fence_fd: c_int, - semaphore: Semaphore, - fence: Fence, -) callconv(vulkan_call_conv) Result; -pub const PfnQueueSignalReleaseImageANDROID = *const fn ( - queue: Queue, - wait_semaphore_count: u32, - p_wait_semaphores: *const Semaphore, - image: Image, - p_native_fence_fd: *c_int, + operation: DeferredOperationKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetShaderInfoAMD = *const fn ( +pub const PfnGetPipelineIndirectMemoryRequirementsNV = *const fn ( device: Device, - pipeline: Pipeline, - shader_stage: ShaderStageFlags, - info_type: ShaderInfoTypeAMD, - p_info_size: *usize, - p_info: ?*anyopaque, -) callconv(vulkan_call_conv) Result; -pub const PfnSetLocalDimmingAMD = *const fn ( + p_create_info: *const ComputePipelineCreateInfo, + p_memory_requirements: *MemoryRequirements2, +) callconv(vulkan_call_conv) void; +pub const PfnGetPipelineIndirectDeviceAddressNV = *const fn ( device: Device, - swap_chain: SwapchainKHR, - local_dimming_enable: Bool32, + p_info: *const PipelineIndirectDeviceAddressInfoNV, +) callconv(vulkan_call_conv) DeviceAddress; +pub const PfnCmdSetCullMode = *const fn ( + command_buffer: CommandBuffer, + cull_mode: CullModeFlags, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetCullModeEXT = PfnCmdSetCullMode; +pub const PfnCmdSetFrontFace = *const fn ( + command_buffer: CommandBuffer, + front_face: FrontFace, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetFrontFaceEXT = PfnCmdSetFrontFace; +pub const PfnCmdSetPrimitiveTopology = *const fn ( + command_buffer: CommandBuffer, + primitive_topology: PrimitiveTopology, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetPrimitiveTopologyEXT = PfnCmdSetPrimitiveTopology; +pub const PfnCmdSetViewportWithCount = *const fn ( + command_buffer: CommandBuffer, + viewport_count: u32, + p_viewports: [*]const Viewport, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetViewportWithCountEXT = PfnCmdSetViewportWithCount; +pub const PfnCmdSetScissorWithCount = *const fn ( + command_buffer: CommandBuffer, + scissor_count: u32, + p_scissors: [*]const Rect2D, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetScissorWithCountEXT = PfnCmdSetScissorWithCount; +pub const PfnCmdBindIndexBuffer2KHR = *const fn ( + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + size: DeviceSize, + index_type: IndexType, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBindVertexBuffers2 = *const fn ( + command_buffer: CommandBuffer, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + p_sizes: ?[*]const DeviceSize, + p_strides: ?[*]const DeviceSize, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBindVertexBuffers2EXT = PfnCmdBindVertexBuffers2; +pub const PfnCmdSetDepthTestEnable = *const fn ( + command_buffer: CommandBuffer, + depth_test_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetDepthTestEnableEXT = PfnCmdSetDepthTestEnable; +pub const PfnCmdSetDepthWriteEnable = *const fn ( + command_buffer: CommandBuffer, + depth_write_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetDepthWriteEnableEXT = PfnCmdSetDepthWriteEnable; +pub const PfnCmdSetDepthCompareOp = *const fn ( + command_buffer: CommandBuffer, + depth_compare_op: CompareOp, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetDepthCompareOpEXT = PfnCmdSetDepthCompareOp; +pub const PfnCmdSetDepthBoundsTestEnable = *const fn ( + command_buffer: CommandBuffer, + depth_bounds_test_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetDepthBoundsTestEnableEXT = PfnCmdSetDepthBoundsTestEnable; +pub const PfnCmdSetStencilTestEnable = *const fn ( + command_buffer: CommandBuffer, + stencil_test_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetStencilTestEnableEXT = PfnCmdSetStencilTestEnable; +pub const PfnCmdSetStencilOp = *const fn ( + command_buffer: CommandBuffer, + face_mask: StencilFaceFlags, + fail_op: StencilOp, + pass_op: StencilOp, + depth_fail_op: StencilOp, + compare_op: CompareOp, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetStencilOpEXT = PfnCmdSetStencilOp; +pub const PfnCmdSetPatchControlPointsEXT = *const fn ( + command_buffer: CommandBuffer, + patch_control_points: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetRasterizerDiscardEnable = *const fn ( + command_buffer: CommandBuffer, + rasterizer_discard_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetRasterizerDiscardEnableEXT = PfnCmdSetRasterizerDiscardEnable; +pub const PfnCmdSetDepthBiasEnable = *const fn ( + command_buffer: CommandBuffer, + depth_bias_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetDepthBiasEnableEXT = PfnCmdSetDepthBiasEnable; +pub const PfnCmdSetLogicOpEXT = *const fn ( + command_buffer: CommandBuffer, + logic_op: LogicOp, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetPrimitiveRestartEnable = *const fn ( + command_buffer: CommandBuffer, + primitive_restart_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetPrimitiveRestartEnableEXT = PfnCmdSetPrimitiveRestartEnable; +pub const PfnCmdSetTessellationDomainOriginEXT = *const fn ( + command_buffer: CommandBuffer, + domain_origin: TessellationDomainOrigin, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetDepthClampEnableEXT = *const fn ( + command_buffer: CommandBuffer, + depth_clamp_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetPolygonModeEXT = *const fn ( + command_buffer: CommandBuffer, + polygon_mode: PolygonMode, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetRasterizationSamplesEXT = *const fn ( + command_buffer: CommandBuffer, + rasterization_samples: SampleCountFlags, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetSampleMaskEXT = *const fn ( + command_buffer: CommandBuffer, + samples: SampleCountFlags, + p_sample_mask: [*]const SampleMask, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetAlphaToCoverageEnableEXT = *const fn ( + command_buffer: CommandBuffer, + alpha_to_coverage_enable: Bool32, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceCalibrateableTimeDomainsEXT = *const fn ( - physical_device: PhysicalDevice, - p_time_domain_count: *u32, - p_time_domains: ?[*]TimeDomainEXT, -) callconv(vulkan_call_conv) Result; -pub const PfnGetCalibratedTimestampsEXT = *const fn ( - device: Device, - timestamp_count: u32, - p_timestamp_infos: [*]const CalibratedTimestampInfoEXT, - p_timestamps: [*]u64, - p_max_deviation: *u64, -) callconv(vulkan_call_conv) Result; -pub const PfnSetDebugUtilsObjectNameEXT = *const fn ( - device: Device, - p_name_info: *const DebugUtilsObjectNameInfoEXT, -) callconv(vulkan_call_conv) Result; -pub const PfnSetDebugUtilsObjectTagEXT = *const fn ( - device: Device, - p_tag_info: *const DebugUtilsObjectTagInfoEXT, -) callconv(vulkan_call_conv) Result; -pub const PfnQueueBeginDebugUtilsLabelEXT = *const fn ( - queue: Queue, - p_label_info: *const DebugUtilsLabelEXT, +pub const PfnCmdSetAlphaToOneEnableEXT = *const fn ( + command_buffer: CommandBuffer, + alpha_to_one_enable: Bool32, ) callconv(vulkan_call_conv) void; -pub const PfnQueueEndDebugUtilsLabelEXT = *const fn ( - queue: Queue, +pub const PfnCmdSetLogicOpEnableEXT = *const fn ( + command_buffer: CommandBuffer, + logic_op_enable: Bool32, ) callconv(vulkan_call_conv) void; -pub const PfnQueueInsertDebugUtilsLabelEXT = *const fn ( - queue: Queue, - p_label_info: *const DebugUtilsLabelEXT, +pub const PfnCmdSetColorBlendEnableEXT = *const fn ( + command_buffer: CommandBuffer, + first_attachment: u32, + attachment_count: u32, + p_color_blend_enables: [*]const Bool32, ) callconv(vulkan_call_conv) void; -pub const PfnCmdBeginDebugUtilsLabelEXT = *const fn ( +pub const PfnCmdSetColorBlendEquationEXT = *const fn ( command_buffer: CommandBuffer, - p_label_info: *const DebugUtilsLabelEXT, + first_attachment: u32, + attachment_count: u32, + p_color_blend_equations: [*]const ColorBlendEquationEXT, ) callconv(vulkan_call_conv) void; -pub const PfnCmdEndDebugUtilsLabelEXT = *const fn ( +pub const PfnCmdSetColorWriteMaskEXT = *const fn ( command_buffer: CommandBuffer, + first_attachment: u32, + attachment_count: u32, + p_color_write_masks: [*]const ColorComponentFlags, ) callconv(vulkan_call_conv) void; -pub const PfnCmdInsertDebugUtilsLabelEXT = *const fn ( +pub const PfnCmdSetRasterizationStreamEXT = *const fn ( command_buffer: CommandBuffer, - p_label_info: *const DebugUtilsLabelEXT, + rasterization_stream: u32, ) callconv(vulkan_call_conv) void; -pub const PfnCreateDebugUtilsMessengerEXT = *const fn ( - instance: Instance, - p_create_info: *const DebugUtilsMessengerCreateInfoEXT, - p_allocator: ?*const AllocationCallbacks, - p_messenger: *DebugUtilsMessengerEXT, -) callconv(vulkan_call_conv) Result; -pub const PfnDestroyDebugUtilsMessengerEXT = *const fn ( - instance: Instance, - messenger: DebugUtilsMessengerEXT, - p_allocator: ?*const AllocationCallbacks, +pub const PfnCmdSetConservativeRasterizationModeEXT = *const fn ( + command_buffer: CommandBuffer, + conservative_rasterization_mode: ConservativeRasterizationModeEXT, ) callconv(vulkan_call_conv) void; -pub const PfnSubmitDebugUtilsMessageEXT = *const fn ( - instance: Instance, - message_severity: DebugUtilsMessageSeverityFlagsEXT, - message_types: DebugUtilsMessageTypeFlagsEXT, - p_callback_data: *const DebugUtilsMessengerCallbackDataEXT, +pub const PfnCmdSetExtraPrimitiveOverestimationSizeEXT = *const fn ( + command_buffer: CommandBuffer, + extra_primitive_overestimation_size: f32, ) callconv(vulkan_call_conv) void; -pub const PfnGetMemoryHostPointerPropertiesEXT = *const fn ( - device: Device, - handle_type: ExternalMemoryHandleTypeFlags, - p_host_pointer: *const anyopaque, - p_memory_host_pointer_properties: *MemoryHostPointerPropertiesEXT, -) callconv(vulkan_call_conv) Result; -pub const PfnCmdWriteBufferMarkerAMD = *const fn ( +pub const PfnCmdSetDepthClipEnableEXT = *const fn ( command_buffer: CommandBuffer, - pipeline_stage: PipelineStageFlags, - dst_buffer: Buffer, - dst_offset: DeviceSize, - marker: u32, + depth_clip_enable: Bool32, ) callconv(vulkan_call_conv) void; -pub const PfnCreateRenderPass2KHR = *const fn ( - device: Device, - p_create_info: *const RenderPassCreateInfo2KHR, - p_allocator: ?*const AllocationCallbacks, - p_render_pass: *RenderPass, -) callconv(vulkan_call_conv) Result; -pub const PfnCmdBeginRenderPass2KHR = *const fn ( +pub const PfnCmdSetSampleLocationsEnableEXT = *const fn ( command_buffer: CommandBuffer, - p_render_pass_begin: *const RenderPassBeginInfo, - p_subpass_begin_info: *const SubpassBeginInfoKHR, + sample_locations_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetColorBlendAdvancedEXT = *const fn ( + command_buffer: CommandBuffer, + first_attachment: u32, + attachment_count: u32, + p_color_blend_advanced: [*]const ColorBlendAdvancedEXT, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetProvokingVertexModeEXT = *const fn ( + command_buffer: CommandBuffer, + provoking_vertex_mode: ProvokingVertexModeEXT, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetLineRasterizationModeEXT = *const fn ( + command_buffer: CommandBuffer, + line_rasterization_mode: LineRasterizationModeEXT, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetLineStippleEnableEXT = *const fn ( + command_buffer: CommandBuffer, + stippled_line_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetDepthClipNegativeOneToOneEXT = *const fn ( + command_buffer: CommandBuffer, + negative_one_to_one: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetViewportWScalingEnableNV = *const fn ( + command_buffer: CommandBuffer, + viewport_w_scaling_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetViewportSwizzleNV = *const fn ( + command_buffer: CommandBuffer, + first_viewport: u32, + viewport_count: u32, + p_viewport_swizzles: [*]const ViewportSwizzleNV, ) callconv(vulkan_call_conv) void; -pub const PfnCmdNextSubpass2KHR = *const fn ( +pub const PfnCmdSetCoverageToColorEnableNV = *const fn ( command_buffer: CommandBuffer, - p_subpass_begin_info: *const SubpassBeginInfoKHR, - p_subpass_end_info: *const SubpassEndInfoKHR, + coverage_to_color_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetCoverageToColorLocationNV = *const fn ( + command_buffer: CommandBuffer, + coverage_to_color_location: u32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetCoverageModulationModeNV = *const fn ( + command_buffer: CommandBuffer, + coverage_modulation_mode: CoverageModulationModeNV, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetCoverageModulationTableEnableNV = *const fn ( + command_buffer: CommandBuffer, + coverage_modulation_table_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetCoverageModulationTableNV = *const fn ( + command_buffer: CommandBuffer, + coverage_modulation_table_count: u32, + p_coverage_modulation_table: [*]const f32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetShadingRateImageEnableNV = *const fn ( + command_buffer: CommandBuffer, + shading_rate_image_enable: Bool32, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetCoverageReductionModeNV = *const fn ( + command_buffer: CommandBuffer, + coverage_reduction_mode: CoverageReductionModeNV, ) callconv(vulkan_call_conv) void; -pub const PfnCmdEndRenderPass2KHR = *const fn ( +pub const PfnCmdSetRepresentativeFragmentTestEnableNV = *const fn ( command_buffer: CommandBuffer, - p_subpass_end_info: *const SubpassEndInfoKHR, + representative_fragment_test_enable: Bool32, ) callconv(vulkan_call_conv) void; -pub const PfnGetSemaphoreCounterValueKHR = *const fn ( +pub const PfnCreatePrivateDataSlot = *const fn ( device: Device, - semaphore: Semaphore, - p_value: *u64, + p_create_info: *const PrivateDataSlotCreateInfo, + p_allocator: ?*const AllocationCallbacks, + p_private_data_slot: *PrivateDataSlot, ) callconv(vulkan_call_conv) Result; -pub const PfnWaitSemaphoresKHR = *const fn ( +pub const PfnCreatePrivateDataSlotEXT = PfnCreatePrivateDataSlot; +pub const PfnDestroyPrivateDataSlot = *const fn ( device: Device, - p_wait_info: *const SemaphoreWaitInfoKHR, - timeout: u64, -) callconv(vulkan_call_conv) Result; -pub const PfnSignalSemaphoreKHR = *const fn ( + private_data_slot: PrivateDataSlot, + p_allocator: ?*const AllocationCallbacks, +) callconv(vulkan_call_conv) void; +pub const PfnDestroyPrivateDataSlotEXT = PfnDestroyPrivateDataSlot; +pub const PfnSetPrivateData = *const fn ( device: Device, - p_signal_info: *const SemaphoreSignalInfoKHR, + object_type: ObjectType, + object_handle: u64, + private_data_slot: PrivateDataSlot, + data: u64, ) callconv(vulkan_call_conv) Result; -pub const PfnGetAndroidHardwareBufferPropertiesANDROID = *const fn ( +pub const PfnSetPrivateDataEXT = PfnSetPrivateData; +pub const PfnGetPrivateData = *const fn ( device: Device, - buffer: *const AHardwareBuffer, - p_properties: *AndroidHardwareBufferPropertiesANDROID, + object_type: ObjectType, + object_handle: u64, + private_data_slot: PrivateDataSlot, + p_data: *u64, +) callconv(vulkan_call_conv) void; +pub const PfnGetPrivateDataEXT = PfnGetPrivateData; +pub const PfnCmdCopyBuffer2 = *const fn ( + command_buffer: CommandBuffer, + p_copy_buffer_info: *const CopyBufferInfo2, +) callconv(vulkan_call_conv) void; +pub const PfnCmdCopyBuffer2KHR = PfnCmdCopyBuffer2; +pub const PfnCmdCopyImage2 = *const fn ( + command_buffer: CommandBuffer, + p_copy_image_info: *const CopyImageInfo2, +) callconv(vulkan_call_conv) void; +pub const PfnCmdCopyImage2KHR = PfnCmdCopyImage2; +pub const PfnCmdBlitImage2 = *const fn ( + command_buffer: CommandBuffer, + p_blit_image_info: *const BlitImageInfo2, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBlitImage2KHR = PfnCmdBlitImage2; +pub const PfnCmdCopyBufferToImage2 = *const fn ( + command_buffer: CommandBuffer, + p_copy_buffer_to_image_info: *const CopyBufferToImageInfo2, +) callconv(vulkan_call_conv) void; +pub const PfnCmdCopyBufferToImage2KHR = PfnCmdCopyBufferToImage2; +pub const PfnCmdCopyImageToBuffer2 = *const fn ( + command_buffer: CommandBuffer, + p_copy_image_to_buffer_info: *const CopyImageToBufferInfo2, +) callconv(vulkan_call_conv) void; +pub const PfnCmdCopyImageToBuffer2KHR = PfnCmdCopyImageToBuffer2; +pub const PfnCmdResolveImage2 = *const fn ( + command_buffer: CommandBuffer, + p_resolve_image_info: *const ResolveImageInfo2, +) callconv(vulkan_call_conv) void; +pub const PfnCmdResolveImage2KHR = PfnCmdResolveImage2; +pub const PfnCmdRefreshObjectsKHR = *const fn ( + command_buffer: CommandBuffer, + p_refresh_objects: *const RefreshObjectListKHR, +) callconv(vulkan_call_conv) void; +pub const PfnGetPhysicalDeviceRefreshableObjectTypesKHR = *const fn ( + physical_device: PhysicalDevice, + p_refreshable_object_type_count: *u32, + p_refreshable_object_types: ?[*]ObjectType, ) callconv(vulkan_call_conv) Result; -pub const PfnGetMemoryAndroidHardwareBufferANDROID = *const fn ( - device: Device, - p_info: *const MemoryGetAndroidHardwareBufferInfoANDROID, - p_buffer: **AHardwareBuffer, +pub const PfnCmdSetFragmentShadingRateKHR = *const fn ( + command_buffer: CommandBuffer, + p_fragment_size: *const Extent2D, + combiner_ops: *const [2]FragmentShadingRateCombinerOpKHR, +) callconv(vulkan_call_conv) void; +pub const PfnGetPhysicalDeviceFragmentShadingRatesKHR = *const fn ( + physical_device: PhysicalDevice, + p_fragment_shading_rate_count: *u32, + p_fragment_shading_rates: ?[*]PhysicalDeviceFragmentShadingRateKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnCmdDrawIndirectCountKHR = *const fn ( +pub const PfnCmdSetFragmentShadingRateEnumNV = *const fn ( command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, - count_buffer: Buffer, - count_buffer_offset: DeviceSize, - max_draw_count: u32, - stride: u32, + shading_rate: FragmentShadingRateNV, + combiner_ops: *const [2]FragmentShadingRateCombinerOpKHR, +) callconv(vulkan_call_conv) void; +pub const PfnGetAccelerationStructureBuildSizesKHR = *const fn ( + device: Device, + build_type: AccelerationStructureBuildTypeKHR, + p_build_info: *const AccelerationStructureBuildGeometryInfoKHR, + p_max_primitive_counts: ?[*]const u32, + p_size_info: *AccelerationStructureBuildSizesInfoKHR, ) callconv(vulkan_call_conv) void; -pub const PfnCmdDrawIndirectCountAMD = PfnCmdDrawIndirectCountKHR; -pub const PfnCmdDrawIndexedIndirectCountKHR = *const fn ( +pub const PfnCmdSetVertexInputEXT = *const fn ( command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, - count_buffer: Buffer, - count_buffer_offset: DeviceSize, - max_draw_count: u32, - stride: u32, + vertex_binding_description_count: u32, + p_vertex_binding_descriptions: ?[*]const VertexInputBindingDescription2EXT, + vertex_attribute_description_count: u32, + p_vertex_attribute_descriptions: ?[*]const VertexInputAttributeDescription2EXT, ) callconv(vulkan_call_conv) void; -pub const PfnCmdDrawIndexedIndirectCountAMD = PfnCmdDrawIndexedIndirectCountKHR; -pub const PfnCmdSetCheckpointNV = *const fn ( +pub const PfnCmdSetColorWriteEnableEXT = *const fn ( command_buffer: CommandBuffer, - p_checkpoint_marker: *const anyopaque, + attachment_count: u32, + p_color_write_enables: [*]const Bool32, ) callconv(vulkan_call_conv) void; -pub const PfnGetQueueCheckpointDataNV = *const fn ( - queue: Queue, - p_checkpoint_data_count: *u32, - p_checkpoint_data: ?[*]CheckpointDataNV, +pub const PfnCmdSetEvent2 = *const fn ( + command_buffer: CommandBuffer, + event: Event, + p_dependency_info: *const DependencyInfo, ) callconv(vulkan_call_conv) void; -pub const PfnCmdBindTransformFeedbackBuffersEXT = *const fn ( +pub const PfnCmdSetEvent2KHR = PfnCmdSetEvent2; +pub const PfnCmdResetEvent2 = *const fn ( command_buffer: CommandBuffer, - first_binding: u32, - binding_count: u32, - p_buffers: [*]const Buffer, - p_offsets: [*]const DeviceSize, - p_sizes: ?[*]const DeviceSize, + event: Event, + stage_mask: PipelineStageFlags2, ) callconv(vulkan_call_conv) void; -pub const PfnCmdBeginTransformFeedbackEXT = *const fn ( +pub const PfnCmdResetEvent2KHR = PfnCmdResetEvent2; +pub const PfnCmdWaitEvents2 = *const fn ( command_buffer: CommandBuffer, - first_counter_buffer: u32, - counter_buffer_count: u32, - p_counter_buffers: ?[*]const Buffer, - p_counter_buffer_offsets: ?[*]const DeviceSize, + event_count: u32, + p_events: [*]const Event, + p_dependency_infos: [*]const DependencyInfo, ) callconv(vulkan_call_conv) void; -pub const PfnCmdEndTransformFeedbackEXT = *const fn ( +pub const PfnCmdWaitEvents2KHR = PfnCmdWaitEvents2; +pub const PfnCmdPipelineBarrier2 = *const fn ( command_buffer: CommandBuffer, - first_counter_buffer: u32, - counter_buffer_count: u32, - p_counter_buffers: ?[*]const Buffer, - p_counter_buffer_offsets: ?[*]const DeviceSize, + p_dependency_info: *const DependencyInfo, ) callconv(vulkan_call_conv) void; -pub const PfnCmdBeginQueryIndexedEXT = *const fn ( +pub const PfnCmdPipelineBarrier2KHR = PfnCmdPipelineBarrier2; +pub const PfnQueueSubmit2 = *const fn ( + queue: Queue, + submit_count: u32, + p_submits: ?[*]const SubmitInfo2, + fence: Fence, +) callconv(vulkan_call_conv) Result; +pub const PfnQueueSubmit2KHR = PfnQueueSubmit2; +pub const PfnCmdWriteTimestamp2 = *const fn ( command_buffer: CommandBuffer, + stage: PipelineStageFlags2, query_pool: QueryPool, query: u32, - flags: QueryControlFlags, - index: u32, ) callconv(vulkan_call_conv) void; -pub const PfnCmdEndQueryIndexedEXT = *const fn ( +pub const PfnCmdWriteTimestamp2KHR = PfnCmdWriteTimestamp2; +pub const PfnCmdWriteBufferMarker2AMD = *const fn ( command_buffer: CommandBuffer, - query_pool: QueryPool, - query: u32, - index: u32, + stage: PipelineStageFlags2, + dst_buffer: Buffer, + dst_offset: DeviceSize, + marker: u32, ) callconv(vulkan_call_conv) void; -pub const PfnCmdDrawIndirectByteCountEXT = *const fn ( +pub const PfnGetQueueCheckpointData2NV = *const fn ( + queue: Queue, + p_checkpoint_data_count: *u32, + p_checkpoint_data: ?[*]CheckpointData2NV, +) callconv(vulkan_call_conv) void; +pub const PfnCopyMemoryToImageEXT = *const fn ( + device: Device, + p_copy_memory_to_image_info: *const CopyMemoryToImageInfoEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnCopyImageToMemoryEXT = *const fn ( + device: Device, + p_copy_image_to_memory_info: *const CopyImageToMemoryInfoEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnCopyImageToImageEXT = *const fn ( + device: Device, + p_copy_image_to_image_info: *const CopyImageToImageInfoEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnTransitionImageLayoutEXT = *const fn ( + device: Device, + transition_count: u32, + p_transitions: [*]const HostImageLayoutTransitionInfoEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnGetCommandPoolMemoryConsumption = *const fn ( + device: Device, + command_pool: CommandPool, command_buffer: CommandBuffer, - instance_count: u32, - first_instance: u32, - counter_buffer: Buffer, - counter_buffer_offset: DeviceSize, - counter_offset: u32, - vertex_stride: u32, + p_consumption: *CommandPoolMemoryConsumption, ) callconv(vulkan_call_conv) void; -pub const PfnCmdSetExclusiveScissorNV = *const fn ( +pub const PfnGetPhysicalDeviceVideoCapabilitiesKHR = *const fn ( + physical_device: PhysicalDevice, + p_video_profile: *const VideoProfileInfoKHR, + p_capabilities: *VideoCapabilitiesKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceVideoFormatPropertiesKHR = *const fn ( + physical_device: PhysicalDevice, + p_video_format_info: *const PhysicalDeviceVideoFormatInfoKHR, + p_video_format_property_count: *u32, + p_video_format_properties: ?[*]VideoFormatPropertiesKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = *const fn ( + physical_device: PhysicalDevice, + p_quality_level_info: *const PhysicalDeviceVideoEncodeQualityLevelInfoKHR, + p_quality_level_properties: *VideoEncodeQualityLevelPropertiesKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnCreateVideoSessionKHR = *const fn ( + device: Device, + p_create_info: *const VideoSessionCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_video_session: *VideoSessionKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnDestroyVideoSessionKHR = *const fn ( + device: Device, + video_session: VideoSessionKHR, + p_allocator: ?*const AllocationCallbacks, +) callconv(vulkan_call_conv) void; +pub const PfnCreateVideoSessionParametersKHR = *const fn ( + device: Device, + p_create_info: *const VideoSessionParametersCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_video_session_parameters: *VideoSessionParametersKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnUpdateVideoSessionParametersKHR = *const fn ( + device: Device, + video_session_parameters: VideoSessionParametersKHR, + p_update_info: *const VideoSessionParametersUpdateInfoKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnGetEncodedVideoSessionParametersKHR = *const fn ( + device: Device, + p_video_session_parameters_info: *const VideoEncodeSessionParametersGetInfoKHR, + p_feedback_info: ?*VideoEncodeSessionParametersFeedbackInfoKHR, + p_data_size: *usize, + p_data: ?*anyopaque, +) callconv(vulkan_call_conv) Result; +pub const PfnDestroyVideoSessionParametersKHR = *const fn ( + device: Device, + video_session_parameters: VideoSessionParametersKHR, + p_allocator: ?*const AllocationCallbacks, +) callconv(vulkan_call_conv) void; +pub const PfnGetVideoSessionMemoryRequirementsKHR = *const fn ( + device: Device, + video_session: VideoSessionKHR, + p_memory_requirements_count: *u32, + p_memory_requirements: ?[*]VideoSessionMemoryRequirementsKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnBindVideoSessionMemoryKHR = *const fn ( + device: Device, + video_session: VideoSessionKHR, + bind_session_memory_info_count: u32, + p_bind_session_memory_infos: [*]const BindVideoSessionMemoryInfoKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnCmdDecodeVideoKHR = *const fn ( command_buffer: CommandBuffer, - first_exclusive_scissor: u32, - exclusive_scissor_count: u32, - p_exclusive_scissors: [*]const Rect2D, + p_decode_info: *const VideoDecodeInfoKHR, ) callconv(vulkan_call_conv) void; -pub const PfnCmdBindShadingRateImageNV = *const fn ( +pub const PfnCmdBeginVideoCodingKHR = *const fn ( command_buffer: CommandBuffer, - image_view: ImageView, - image_layout: ImageLayout, + p_begin_info: *const VideoBeginCodingInfoKHR, ) callconv(vulkan_call_conv) void; -pub const PfnCmdSetViewportShadingRatePaletteNV = *const fn ( +pub const PfnCmdControlVideoCodingKHR = *const fn ( command_buffer: CommandBuffer, - first_viewport: u32, - viewport_count: u32, - p_shading_rate_palettes: [*]const ShadingRatePaletteNV, + p_coding_control_info: *const VideoCodingControlInfoKHR, ) callconv(vulkan_call_conv) void; -pub const PfnCmdSetCoarseSampleOrderNV = *const fn ( +pub const PfnCmdEndVideoCodingKHR = *const fn ( command_buffer: CommandBuffer, - sample_order_type: CoarseSampleOrderTypeNV, - custom_sample_order_count: u32, - p_custom_sample_orders: ?[*]const CoarseSampleOrderCustomNV, + p_end_coding_info: *const VideoEndCodingInfoKHR, ) callconv(vulkan_call_conv) void; -pub const PfnCmdDrawMeshTasksNV = *const fn ( +pub const PfnCmdEncodeVideoKHR = *const fn ( command_buffer: CommandBuffer, - task_count: u32, - first_task: u32, + p_encode_info: *const VideoEncodeInfoKHR, ) callconv(vulkan_call_conv) void; -pub const PfnCmdDrawMeshTasksIndirectNV = *const fn ( +pub const PfnCmdDecompressMemoryNV = *const fn ( command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, - draw_count: u32, - stride: u32, + decompress_region_count: u32, + p_decompress_memory_regions: [*]const DecompressMemoryRegionNV, ) callconv(vulkan_call_conv) void; -pub const PfnCmdDrawMeshTasksIndirectCountNV = *const fn ( +pub const PfnCmdDecompressMemoryIndirectCountNV = *const fn ( command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, - count_buffer: Buffer, - count_buffer_offset: DeviceSize, - max_draw_count: u32, + indirect_commands_address: DeviceAddress, + indirect_commands_count_address: DeviceAddress, stride: u32, ) callconv(vulkan_call_conv) void; -pub const PfnCompileDeferredNV = *const fn ( +pub const PfnCreateCuModuleNVX = *const fn ( device: Device, - pipeline: Pipeline, - shader: u32, + p_create_info: *const CuModuleCreateInfoNVX, + p_allocator: ?*const AllocationCallbacks, + p_module: *CuModuleNVX, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateAccelerationStructureNV = *const fn ( +pub const PfnCreateCuFunctionNVX = *const fn ( device: Device, - p_create_info: *const AccelerationStructureCreateInfoNV, + p_create_info: *const CuFunctionCreateInfoNVX, p_allocator: ?*const AllocationCallbacks, - p_acceleration_structure: *AccelerationStructureNV, + p_function: *CuFunctionNVX, ) callconv(vulkan_call_conv) Result; -pub const PfnDestroyAccelerationStructureNV = *const fn ( +pub const PfnDestroyCuModuleNVX = *const fn ( device: Device, - acceleration_structure: AccelerationStructureNV, + module: CuModuleNVX, p_allocator: ?*const AllocationCallbacks, ) callconv(vulkan_call_conv) void; -pub const PfnGetAccelerationStructureMemoryRequirementsNV = *const fn ( +pub const PfnDestroyCuFunctionNVX = *const fn ( device: Device, - p_info: *const AccelerationStructureMemoryRequirementsInfoNV, - p_memory_requirements: *MemoryRequirements2KHR, + function: CuFunctionNVX, + p_allocator: ?*const AllocationCallbacks, ) callconv(vulkan_call_conv) void; -pub const PfnBindAccelerationStructureMemoryNV = *const fn ( - device: Device, - bind_info_count: u32, - p_bind_infos: [*]const BindAccelerationStructureMemoryInfoNV, -) callconv(vulkan_call_conv) Result; -pub const PfnCmdCopyAccelerationStructureNV = *const fn ( +pub const PfnCmdCuLaunchKernelNVX = *const fn ( command_buffer: CommandBuffer, - dst: AccelerationStructureNV, - src: AccelerationStructureNV, - mode: CopyAccelerationStructureModeNV, + p_launch_info: *const CuLaunchInfoNVX, ) callconv(vulkan_call_conv) void; -pub const PfnCmdWriteAccelerationStructuresPropertiesNV = *const fn ( +pub const PfnGetDescriptorSetLayoutSizeEXT = *const fn ( + device: Device, + layout: DescriptorSetLayout, + p_layout_size_in_bytes: *DeviceSize, +) callconv(vulkan_call_conv) void; +pub const PfnGetDescriptorSetLayoutBindingOffsetEXT = *const fn ( + device: Device, + layout: DescriptorSetLayout, + binding: u32, + p_offset: *DeviceSize, +) callconv(vulkan_call_conv) void; +pub const PfnGetDescriptorEXT = *const fn ( + device: Device, + p_descriptor_info: *const DescriptorGetInfoEXT, + data_size: usize, + p_descriptor: *anyopaque, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBindDescriptorBuffersEXT = *const fn ( command_buffer: CommandBuffer, - acceleration_structure_count: u32, - p_acceleration_structures: [*]const AccelerationStructureNV, - query_type: QueryType, - query_pool: QueryPool, - first_query: u32, + buffer_count: u32, + p_binding_infos: [*]const DescriptorBufferBindingInfoEXT, ) callconv(vulkan_call_conv) void; -pub const PfnCmdBuildAccelerationStructureNV = *const fn ( +pub const PfnCmdSetDescriptorBufferOffsetsEXT = *const fn ( command_buffer: CommandBuffer, - p_info: *const AccelerationStructureInfoNV, - instance_data: Buffer, - instance_offset: DeviceSize, - update: Bool32, - dst: AccelerationStructureNV, - src: AccelerationStructureNV, - scratch: Buffer, - scratch_offset: DeviceSize, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + first_set: u32, + set_count: u32, + p_buffer_indices: [*]const u32, + p_offsets: [*]const DeviceSize, ) callconv(vulkan_call_conv) void; -pub const PfnCmdTraceRaysNV = *const fn ( +pub const PfnCmdBindDescriptorBufferEmbeddedSamplersEXT = *const fn ( command_buffer: CommandBuffer, - raygen_shader_binding_table_buffer: Buffer, - raygen_shader_binding_offset: DeviceSize, - miss_shader_binding_table_buffer: Buffer, - miss_shader_binding_offset: DeviceSize, - miss_shader_binding_stride: DeviceSize, - hit_shader_binding_table_buffer: Buffer, - hit_shader_binding_offset: DeviceSize, - hit_shader_binding_stride: DeviceSize, - callable_shader_binding_table_buffer: Buffer, - callable_shader_binding_offset: DeviceSize, - callable_shader_binding_stride: DeviceSize, - width: u32, - height: u32, - depth: u32, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + set: u32, ) callconv(vulkan_call_conv) void; -pub const PfnGetRayTracingShaderGroupHandlesNV = *const fn ( +pub const PfnGetBufferOpaqueCaptureDescriptorDataEXT = *const fn ( device: Device, - pipeline: Pipeline, - first_group: u32, - group_count: u32, - data_size: usize, + p_info: *const BufferCaptureDescriptorDataInfoEXT, p_data: *anyopaque, ) callconv(vulkan_call_conv) Result; -pub const PfnGetAccelerationStructureHandleNV = *const fn ( +pub const PfnGetImageOpaqueCaptureDescriptorDataEXT = *const fn ( device: Device, - acceleration_structure: AccelerationStructureNV, - data_size: usize, + p_info: *const ImageCaptureDescriptorDataInfoEXT, p_data: *anyopaque, ) callconv(vulkan_call_conv) Result; -pub const PfnCreateRayTracingPipelinesNV = *const fn ( +pub const PfnGetImageViewOpaqueCaptureDescriptorDataEXT = *const fn ( device: Device, - pipeline_cache: PipelineCache, - create_info_count: u32, - p_create_infos: [*]const RayTracingPipelineCreateInfoNV, - p_allocator: ?*const AllocationCallbacks, - p_pipelines: [*]Pipeline, + p_info: *const ImageViewCaptureDescriptorDataInfoEXT, + p_data: *anyopaque, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceCooperativeMatrixPropertiesNV = *const fn ( - physical_device: PhysicalDevice, - p_property_count: *u32, - p_properties: ?[*]CooperativeMatrixPropertiesNV, +pub const PfnGetSamplerOpaqueCaptureDescriptorDataEXT = *const fn ( + device: Device, + p_info: *const SamplerCaptureDescriptorDataInfoEXT, + p_data: *anyopaque, ) callconv(vulkan_call_conv) Result; -pub const PfnGetImageViewHandleNVX = *const fn ( +pub const PfnGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = *const fn ( device: Device, - p_info: *const ImageViewHandleInfoNVX, -) callconv(vulkan_call_conv) u32; -pub const PfnGetPhysicalDeviceSurfacePresentModes2EXT = *const fn ( - physical_device: PhysicalDevice, - p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, - p_present_mode_count: *u32, - p_present_modes: ?[*]PresentModeKHR, + p_info: *const AccelerationStructureCaptureDescriptorDataInfoEXT, + p_data: *anyopaque, ) callconv(vulkan_call_conv) Result; -pub const PfnGetDeviceGroupSurfacePresentModes2EXT = *const fn ( +pub const PfnSetDeviceMemoryPriorityEXT = *const fn ( device: Device, - p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, - p_modes: *DeviceGroupPresentModeFlagsKHR, + memory: DeviceMemory, + priority: f32, +) callconv(vulkan_call_conv) void; +pub const PfnAcquireDrmDisplayEXT = *const fn ( + physical_device: PhysicalDevice, + drm_fd: i32, + display: DisplayKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnAcquireFullScreenExclusiveModeEXT = *const fn ( +pub const PfnGetDrmDisplayEXT = *const fn ( + physical_device: PhysicalDevice, + drm_fd: i32, + connector_id: u32, + display: *DisplayKHR, +) callconv(vulkan_call_conv) Result; +pub const PfnWaitForPresentKHR = *const fn ( device: Device, swapchain: SwapchainKHR, + present_id: u64, + timeout: u64, ) callconv(vulkan_call_conv) Result; -pub const PfnReleaseFullScreenExclusiveModeEXT = *const fn ( +pub const PfnCreateBufferCollectionFUCHSIA = *const fn ( device: Device, - swapchain: SwapchainKHR, + p_create_info: *const BufferCollectionCreateInfoFUCHSIA, + p_allocator: ?*const AllocationCallbacks, + p_collection: *BufferCollectionFUCHSIA, ) callconv(vulkan_call_conv) Result; -pub const PfnEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = *const fn ( - physical_device: PhysicalDevice, - queue_family_index: u32, - p_counter_count: *u32, - p_counters: ?[*]PerformanceCounterKHR, - p_counter_descriptions: ?[*]PerformanceCounterDescriptionKHR, +pub const PfnSetBufferCollectionBufferConstraintsFUCHSIA = *const fn ( + device: Device, + collection: BufferCollectionFUCHSIA, + p_buffer_constraints_info: *const BufferConstraintsInfoFUCHSIA, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = *const fn ( - physical_device: PhysicalDevice, - p_performance_query_create_info: *const QueryPoolPerformanceCreateInfoKHR, - p_num_passes: *u32, +pub const PfnSetBufferCollectionImageConstraintsFUCHSIA = *const fn ( + device: Device, + collection: BufferCollectionFUCHSIA, + p_image_constraints_info: *const ImageConstraintsInfoFUCHSIA, +) callconv(vulkan_call_conv) Result; +pub const PfnDestroyBufferCollectionFUCHSIA = *const fn ( + device: Device, + collection: BufferCollectionFUCHSIA, + p_allocator: ?*const AllocationCallbacks, ) callconv(vulkan_call_conv) void; -pub const PfnAcquireProfilingLockKHR = *const fn ( +pub const PfnGetBufferCollectionPropertiesFUCHSIA = *const fn ( device: Device, - p_info: *const AcquireProfilingLockInfoKHR, + collection: BufferCollectionFUCHSIA, + p_properties: *BufferCollectionPropertiesFUCHSIA, ) callconv(vulkan_call_conv) Result; -pub const PfnReleaseProfilingLockKHR = *const fn ( +pub const PfnCreateCudaModuleNV = *const fn ( + device: Device, + p_create_info: *const CudaModuleCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + p_module: *CudaModuleNV, +) callconv(vulkan_call_conv) Result; +pub const PfnGetCudaModuleCacheNV = *const fn ( + device: Device, + module: CudaModuleNV, + p_cache_size: *usize, + p_cache_data: ?*anyopaque, +) callconv(vulkan_call_conv) Result; +pub const PfnCreateCudaFunctionNV = *const fn ( + device: Device, + p_create_info: *const CudaFunctionCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + p_function: *CudaFunctionNV, +) callconv(vulkan_call_conv) Result; +pub const PfnDestroyCudaModuleNV = *const fn ( device: Device, + module: CudaModuleNV, + p_allocator: ?*const AllocationCallbacks, ) callconv(vulkan_call_conv) void; -pub const PfnGetImageDrmFormatModifierPropertiesEXT = *const fn ( +pub const PfnDestroyCudaFunctionNV = *const fn ( device: Device, - image: Image, - p_properties: *ImageDrmFormatModifierPropertiesEXT, + function: CudaFunctionNV, + p_allocator: ?*const AllocationCallbacks, +) callconv(vulkan_call_conv) void; +pub const PfnCmdCudaLaunchKernelNV = *const fn ( + command_buffer: CommandBuffer, + p_launch_info: *const CudaLaunchInfoNV, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBeginRendering = *const fn ( + command_buffer: CommandBuffer, + p_rendering_info: *const RenderingInfo, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBeginRenderingKHR = PfnCmdBeginRendering; +pub const PfnCmdEndRendering = *const fn ( + command_buffer: CommandBuffer, +) callconv(vulkan_call_conv) void; +pub const PfnCmdEndRenderingKHR = PfnCmdEndRendering; +pub const PfnGetDescriptorSetLayoutHostMappingInfoVALVE = *const fn ( + device: Device, + p_binding_reference: *const DescriptorSetBindingReferenceVALVE, + p_host_mapping: *DescriptorSetLayoutHostMappingInfoVALVE, +) callconv(vulkan_call_conv) void; +pub const PfnGetDescriptorSetHostMappingVALVE = *const fn ( + device: Device, + descriptor_set: DescriptorSet, + pp_data: **anyopaque, +) callconv(vulkan_call_conv) void; +pub const PfnCreateMicromapEXT = *const fn ( + device: Device, + p_create_info: *const MicromapCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + p_micromap: *MicromapEXT, ) callconv(vulkan_call_conv) Result; -pub const PfnGetBufferOpaqueCaptureAddressKHR = *const fn ( +pub const PfnCmdBuildMicromapsEXT = *const fn ( + command_buffer: CommandBuffer, + info_count: u32, + p_infos: [*]const MicromapBuildInfoEXT, +) callconv(vulkan_call_conv) void; +pub const PfnBuildMicromapsEXT = *const fn ( device: Device, - p_info: *const BufferDeviceAddressInfoKHR, -) callconv(vulkan_call_conv) u64; -pub const PfnGetBufferDeviceAddressKHR = *const fn ( + deferred_operation: DeferredOperationKHR, + info_count: u32, + p_infos: [*]const MicromapBuildInfoEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnDestroyMicromapEXT = *const fn ( device: Device, - p_info: *const BufferDeviceAddressInfoKHR, -) callconv(vulkan_call_conv) DeviceAddress; -pub const PfnGetBufferDeviceAddressEXT = PfnGetBufferDeviceAddressKHR; -pub const PfnCreateHeadlessSurfaceEXT = *const fn ( - instance: Instance, - p_create_info: *const HeadlessSurfaceCreateInfoEXT, + micromap: MicromapEXT, p_allocator: ?*const AllocationCallbacks, - p_surface: *SurfaceKHR, +) callconv(vulkan_call_conv) void; +pub const PfnCmdCopyMicromapEXT = *const fn ( + command_buffer: CommandBuffer, + p_info: *const CopyMicromapInfoEXT, +) callconv(vulkan_call_conv) void; +pub const PfnCopyMicromapEXT = *const fn ( + device: Device, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyMicromapInfoEXT, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = *const fn ( +pub const PfnCmdCopyMicromapToMemoryEXT = *const fn ( + command_buffer: CommandBuffer, + p_info: *const CopyMicromapToMemoryInfoEXT, +) callconv(vulkan_call_conv) void; +pub const PfnCopyMicromapToMemoryEXT = *const fn ( + device: Device, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyMicromapToMemoryInfoEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnCmdCopyMemoryToMicromapEXT = *const fn ( + command_buffer: CommandBuffer, + p_info: *const CopyMemoryToMicromapInfoEXT, +) callconv(vulkan_call_conv) void; +pub const PfnCopyMemoryToMicromapEXT = *const fn ( + device: Device, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyMemoryToMicromapInfoEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnCmdWriteMicromapsPropertiesEXT = *const fn ( + command_buffer: CommandBuffer, + micromap_count: u32, + p_micromaps: [*]const MicromapEXT, + query_type: QueryType, + query_pool: QueryPool, + first_query: u32, +) callconv(vulkan_call_conv) void; +pub const PfnWriteMicromapsPropertiesEXT = *const fn ( + device: Device, + micromap_count: u32, + p_micromaps: [*]const MicromapEXT, + query_type: QueryType, + data_size: usize, + p_data: *anyopaque, + stride: usize, +) callconv(vulkan_call_conv) Result; +pub const PfnGetDeviceMicromapCompatibilityEXT = *const fn ( + device: Device, + p_version_info: *const MicromapVersionInfoEXT, + p_compatibility: *AccelerationStructureCompatibilityKHR, +) callconv(vulkan_call_conv) void; +pub const PfnGetMicromapBuildSizesEXT = *const fn ( + device: Device, + build_type: AccelerationStructureBuildTypeKHR, + p_build_info: *const MicromapBuildInfoEXT, + p_size_info: *MicromapBuildSizesInfoEXT, +) callconv(vulkan_call_conv) void; +pub const PfnGetShaderModuleIdentifierEXT = *const fn ( + device: Device, + shader_module: ShaderModule, + p_identifier: *ShaderModuleIdentifierEXT, +) callconv(vulkan_call_conv) void; +pub const PfnGetShaderModuleCreateInfoIdentifierEXT = *const fn ( + device: Device, + p_create_info: *const ShaderModuleCreateInfo, + p_identifier: *ShaderModuleIdentifierEXT, +) callconv(vulkan_call_conv) void; +pub const PfnGetImageSubresourceLayout2KHR = *const fn ( + device: Device, + image: Image, + p_subresource: *const ImageSubresource2KHR, + p_layout: *SubresourceLayout2KHR, +) callconv(vulkan_call_conv) void; +pub const PfnGetImageSubresourceLayout2EXT = PfnGetImageSubresourceLayout2KHR; +pub const PfnGetPipelinePropertiesEXT = *const fn ( + device: Device, + p_pipeline_info: *const PipelineInfoEXT, + p_pipeline_properties: *BaseOutStructure, +) callconv(vulkan_call_conv) Result; +pub const PfnExportMetalObjectsEXT = *const fn ( + device: Device, + p_metal_objects_info: *ExportMetalObjectsInfoEXT, +) callconv(vulkan_call_conv) void; +pub const PfnGetFramebufferTilePropertiesQCOM = *const fn ( + device: Device, + framebuffer: Framebuffer, + p_properties_count: *u32, + p_properties: ?[*]TilePropertiesQCOM, +) callconv(vulkan_call_conv) Result; +pub const PfnGetDynamicRenderingTilePropertiesQCOM = *const fn ( + device: Device, + p_rendering_info: *const RenderingInfo, + p_properties: *TilePropertiesQCOM, +) callconv(vulkan_call_conv) Result; +pub const PfnGetPhysicalDeviceOpticalFlowImageFormatsNV = *const fn ( physical_device: PhysicalDevice, - p_combination_count: *u32, - p_combinations: ?[*]FramebufferMixedSamplesCombinationNV, + p_optical_flow_image_format_info: *const OpticalFlowImageFormatInfoNV, + p_format_count: *u32, + p_image_format_properties: ?[*]OpticalFlowImageFormatPropertiesNV, ) callconv(vulkan_call_conv) Result; -pub const PfnInitializePerformanceApiINTEL = *const fn ( +pub const PfnCreateOpticalFlowSessionNV = *const fn ( + device: Device, + p_create_info: *const OpticalFlowSessionCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + p_session: *OpticalFlowSessionNV, +) callconv(vulkan_call_conv) Result; +pub const PfnDestroyOpticalFlowSessionNV = *const fn ( + device: Device, + session: OpticalFlowSessionNV, + p_allocator: ?*const AllocationCallbacks, +) callconv(vulkan_call_conv) void; +pub const PfnBindOpticalFlowSessionImageNV = *const fn ( + device: Device, + session: OpticalFlowSessionNV, + binding_point: OpticalFlowSessionBindingPointNV, + view: ImageView, + layout: ImageLayout, +) callconv(vulkan_call_conv) Result; +pub const PfnCmdOpticalFlowExecuteNV = *const fn ( + command_buffer: CommandBuffer, + session: OpticalFlowSessionNV, + p_execute_info: *const OpticalFlowExecuteInfoNV, +) callconv(vulkan_call_conv) void; +pub const PfnGetDeviceFaultInfoEXT = *const fn ( + device: Device, + p_fault_counts: *DeviceFaultCountsEXT, + p_fault_info: ?*DeviceFaultInfoEXT, +) callconv(vulkan_call_conv) Result; +pub const PfnCmdSetDepthBias2EXT = *const fn ( + command_buffer: CommandBuffer, + p_depth_bias_info: *const DepthBiasInfoEXT, +) callconv(vulkan_call_conv) void; +pub const PfnReleaseSwapchainImagesEXT = *const fn ( device: Device, - p_initialize_info: *const InitializePerformanceApiInfoINTEL, + p_release_info: *const ReleaseSwapchainImagesInfoEXT, ) callconv(vulkan_call_conv) Result; -pub const PfnUninitializePerformanceApiINTEL = *const fn ( +pub const PfnGetDeviceImageSubresourceLayoutKHR = *const fn ( device: Device, + p_info: *const DeviceImageSubresourceInfoKHR, + p_layout: *SubresourceLayout2KHR, ) callconv(vulkan_call_conv) void; -pub const PfnCmdSetPerformanceMarkerINTEL = *const fn ( - command_buffer: CommandBuffer, - p_marker_info: *const PerformanceMarkerInfoINTEL, +pub const PfnMapMemory2KHR = *const fn ( + device: Device, + p_memory_map_info: *const MemoryMapInfoKHR, + pp_data: *?*anyopaque, ) callconv(vulkan_call_conv) Result; -pub const PfnCmdSetPerformanceStreamMarkerINTEL = *const fn ( - command_buffer: CommandBuffer, - p_marker_info: *const PerformanceStreamMarkerInfoINTEL, +pub const PfnUnmapMemory2KHR = *const fn ( + device: Device, + p_memory_unmap_info: *const MemoryUnmapInfoKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnCmdSetPerformanceOverrideINTEL = *const fn ( - command_buffer: CommandBuffer, - p_override_info: *const PerformanceOverrideInfoINTEL, +pub const PfnCreateShadersEXT = *const fn ( + device: Device, + create_info_count: u32, + p_create_infos: [*]const ShaderCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + p_shaders: [*]ShaderEXT, ) callconv(vulkan_call_conv) Result; -pub const PfnAcquirePerformanceConfigurationINTEL = *const fn ( +pub const PfnDestroyShaderEXT = *const fn ( device: Device, - p_acquire_info: *const PerformanceConfigurationAcquireInfoINTEL, - p_configuration: *PerformanceConfigurationINTEL, + shader: ShaderEXT, + p_allocator: ?*const AllocationCallbacks, +) callconv(vulkan_call_conv) void; +pub const PfnGetShaderBinaryDataEXT = *const fn ( + device: Device, + shader: ShaderEXT, + p_data_size: *usize, + p_data: ?*anyopaque, ) callconv(vulkan_call_conv) Result; -pub const PfnReleasePerformanceConfigurationINTEL = *const fn ( +pub const PfnCmdBindShadersEXT = *const fn ( + command_buffer: CommandBuffer, + stage_count: u32, + p_stages: [*]const ShaderStageFlags, + p_shaders: ?[*]const ShaderEXT, +) callconv(vulkan_call_conv) void; +pub const PfnGetScreenBufferPropertiesQNX = *const fn ( device: Device, - configuration: PerformanceConfigurationINTEL, + buffer: *const _screen_buffer, + p_properties: *ScreenBufferPropertiesQNX, ) callconv(vulkan_call_conv) Result; -pub const PfnQueueSetPerformanceConfigurationINTEL = *const fn ( - queue: Queue, - configuration: PerformanceConfigurationINTEL, +pub const PfnGetPhysicalDeviceCooperativeMatrixPropertiesKHR = *const fn ( + physical_device: PhysicalDevice, + p_property_count: *u32, + p_properties: ?[*]CooperativeMatrixPropertiesKHR, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPerformanceParameterINTEL = *const fn ( +pub const PfnGetExecutionGraphPipelineScratchSizeAMDX = *const fn ( device: Device, - parameter: PerformanceParameterTypeINTEL, - p_value: *PerformanceValueINTEL, + execution_graph: Pipeline, + p_size_info: *ExecutionGraphPipelineScratchSizeAMDX, ) callconv(vulkan_call_conv) Result; -pub const PfnGetDeviceMemoryOpaqueCaptureAddressKHR = *const fn ( +pub const PfnGetExecutionGraphPipelineNodeIndexAMDX = *const fn ( device: Device, - p_info: *const DeviceMemoryOpaqueCaptureAddressInfoKHR, -) callconv(vulkan_call_conv) u64; -pub const PfnGetPipelineExecutablePropertiesKHR = *const fn ( + execution_graph: Pipeline, + p_node_info: *const PipelineShaderStageNodeCreateInfoAMDX, + p_node_index: *u32, +) callconv(vulkan_call_conv) Result; +pub const PfnCreateExecutionGraphPipelinesAMDX = *const fn ( device: Device, - p_pipeline_info: *const PipelineInfoKHR, - p_executable_count: *u32, - p_properties: ?[*]PipelineExecutablePropertiesKHR, + pipeline_cache: PipelineCache, + create_info_count: u32, + p_create_infos: [*]const ExecutionGraphPipelineCreateInfoAMDX, + p_allocator: ?*const AllocationCallbacks, + p_pipelines: [*]Pipeline, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPipelineExecutableStatisticsKHR = *const fn ( +pub const PfnCmdInitializeGraphScratchMemoryAMDX = *const fn ( + command_buffer: CommandBuffer, + scratch: DeviceAddress, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDispatchGraphAMDX = *const fn ( + command_buffer: CommandBuffer, + scratch: DeviceAddress, + p_count_info: *const DispatchGraphCountInfoAMDX, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDispatchGraphIndirectAMDX = *const fn ( + command_buffer: CommandBuffer, + scratch: DeviceAddress, + p_count_info: *const DispatchGraphCountInfoAMDX, +) callconv(vulkan_call_conv) void; +pub const PfnCmdDispatchGraphIndirectCountAMDX = *const fn ( + command_buffer: CommandBuffer, + scratch: DeviceAddress, + count_info: DeviceAddress, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBindDescriptorSets2KHR = *const fn ( + command_buffer: CommandBuffer, + p_bind_descriptor_sets_info: *const BindDescriptorSetsInfoKHR, +) callconv(vulkan_call_conv) void; +pub const PfnCmdPushConstants2KHR = *const fn ( + command_buffer: CommandBuffer, + p_push_constants_info: *const PushConstantsInfoKHR, +) callconv(vulkan_call_conv) void; +pub const PfnCmdPushDescriptorSet2KHR = *const fn ( + command_buffer: CommandBuffer, + p_push_descriptor_set_info: *const PushDescriptorSetInfoKHR, +) callconv(vulkan_call_conv) void; +pub const PfnCmdPushDescriptorSetWithTemplate2KHR = *const fn ( + command_buffer: CommandBuffer, + p_push_descriptor_set_with_template_info: *const PushDescriptorSetWithTemplateInfoKHR, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetDescriptorBufferOffsets2EXT = *const fn ( + command_buffer: CommandBuffer, + p_set_descriptor_buffer_offsets_info: *const SetDescriptorBufferOffsetsInfoEXT, +) callconv(vulkan_call_conv) void; +pub const PfnCmdBindDescriptorBufferEmbeddedSamplers2EXT = *const fn ( + command_buffer: CommandBuffer, + p_bind_descriptor_buffer_embedded_samplers_info: *const BindDescriptorBufferEmbeddedSamplersInfoEXT, +) callconv(vulkan_call_conv) void; +pub const PfnSetLatencySleepModeNV = *const fn ( device: Device, - p_executable_info: *const PipelineExecutableInfoKHR, - p_statistic_count: *u32, - p_statistics: ?[*]PipelineExecutableStatisticKHR, + swapchain: SwapchainKHR, + p_sleep_mode_info: *const LatencySleepModeInfoNV, ) callconv(vulkan_call_conv) Result; -pub const PfnGetPipelineExecutableInternalRepresentationsKHR = *const fn ( +pub const PfnLatencySleepNV = *const fn ( device: Device, - p_executable_info: *const PipelineExecutableInfoKHR, - p_internal_representation_count: *u32, - p_internal_representations: ?[*]PipelineExecutableInternalRepresentationKHR, + swapchain: SwapchainKHR, + p_sleep_info: *const LatencySleepInfoNV, ) callconv(vulkan_call_conv) Result; -pub const PfnCmdSetLineStippleEXT = *const fn ( +pub const PfnSetLatencyMarkerNV = *const fn ( + device: Device, + swapchain: SwapchainKHR, + p_latency_marker_info: *const SetLatencyMarkerInfoNV, +) callconv(vulkan_call_conv) void; +pub const PfnGetLatencyTimingsNV = *const fn ( + device: Device, + swapchain: SwapchainKHR, + p_latency_marker_info: *GetLatencyMarkerInfoNV, +) callconv(vulkan_call_conv) void; +pub const PfnQueueNotifyOutOfBandNV = *const fn ( + queue: Queue, + p_queue_type_info: *const OutOfBandQueueTypeInfoNV, +) callconv(vulkan_call_conv) void; +pub const PfnCmdSetRenderingAttachmentLocationsKHR = *const fn ( command_buffer: CommandBuffer, - line_stipple_factor: u32, - line_stipple_pattern: u16, + p_location_info: *const RenderingAttachmentLocationInfoKHR, ) callconv(vulkan_call_conv) void; -pub const PfnGetPhysicalDeviceToolPropertiesEXT = *const fn ( - physical_device: PhysicalDevice, - p_tool_count: *u32, - p_tool_properties: ?[*]PhysicalDeviceToolPropertiesEXT, -) callconv(vulkan_call_conv) Result; -pub const extension_info = struct { - const Info = struct { - name: [:0]const u8, - version: u32, +pub const PfnCmdSetRenderingInputAttachmentIndicesKHR = *const fn ( + command_buffer: CommandBuffer, + p_location_info: *const RenderingInputAttachmentIndexInfoKHR, +) callconv(vulkan_call_conv) void; +pub const features = struct { + pub const version_1_0 = ApiInfo{ + .name = "VERSION_1_0", + .version = makeApiVersion(0, 1, 0, 0), + .base_commands = .{ + .getInstanceProcAddr = true, + .enumerateInstanceExtensionProperties = true, + .createInstance = true, + .enumerateInstanceLayerProperties = true, + }, + .instance_commands = .{ + .getPhysicalDeviceFeatures = true, + .createDevice = true, + .getPhysicalDeviceQueueFamilyProperties = true, + .enumeratePhysicalDevices = true, + .destroyInstance = true, + .enumerateDeviceLayerProperties = true, + .getPhysicalDeviceImageFormatProperties = true, + .getPhysicalDeviceMemoryProperties = true, + .getPhysicalDeviceFormatProperties = true, + .getDeviceProcAddr = true, + .enumerateDeviceExtensionProperties = true, + .getPhysicalDeviceSparseImageFormatProperties = true, + .getPhysicalDeviceProperties = true, + }, + .device_commands = .{ + .queueBindSparse = true, + .getImageSubresourceLayout = true, + .createBuffer = true, + .createPipelineCache = true, + .getEventStatus = true, + .destroyImageView = true, + .cmdClearAttachments = true, + .cmdCopyImage = true, + .cmdEndQuery = true, + .destroyFramebuffer = true, + .freeCommandBuffers = true, + .unmapMemory = true, + .createComputePipelines = true, + .destroyBufferView = true, + .cmdSetViewport = true, + .cmdSetBlendConstants = true, + .resetFences = true, + .mapMemory = true, + .allocateMemory = true, + .freeMemory = true, + .getFenceStatus = true, + .createImageView = true, + .cmdBindPipeline = true, + .freeDescriptorSets = true, + .cmdResetQueryPool = true, + .cmdDispatch = true, + .beginCommandBuffer = true, + .allocateCommandBuffers = true, + .cmdUpdateBuffer = true, + .cmdClearDepthStencilImage = true, + .cmdResolveImage = true, + .destroyBuffer = true, + .deviceWaitIdle = true, + .createShaderModule = true, + .cmdCopyQueryPoolResults = true, + .getImageSparseMemoryRequirements = true, + .cmdCopyBuffer = true, + .cmdBindVertexBuffers = true, + .cmdSetEvent = true, + .cmdPushConstants = true, + .createFence = true, + .cmdSetScissor = true, + .mergePipelineCaches = true, + .cmdSetStencilWriteMask = true, + .allocateDescriptorSets = true, + .resetCommandPool = true, + .cmdPipelineBarrier = true, + .cmdSetStencilReference = true, + .destroyPipelineCache = true, + .createDescriptorPool = true, + .getImageMemoryRequirements = true, + .destroySampler = true, + .cmdBlitImage = true, + .cmdDrawIndexedIndirect = true, + .cmdBindDescriptorSets = true, + .cmdCopyBufferToImage = true, + .resetCommandBuffer = true, + .createImage = true, + .destroyPipelineLayout = true, + .destroyDevice = true, + .cmdSetDepthBias = true, + .cmdDrawIndirect = true, + .destroyRenderPass = true, + .cmdClearColorImage = true, + .cmdEndRenderPass = true, + .createQueryPool = true, + .getDeviceQueue = true, + .bindBufferMemory = true, + .setEvent = true, + .getRenderAreaGranularity = true, + .destroySemaphore = true, + .destroyEvent = true, + .createRenderPass = true, + .queueWaitIdle = true, + .cmdResetEvent = true, + .updateDescriptorSets = true, + .bindImageMemory = true, + .cmdWriteTimestamp = true, + .cmdNextSubpass = true, + .cmdBeginQuery = true, + .endCommandBuffer = true, + .cmdWaitEvents = true, + .cmdFillBuffer = true, + .cmdDispatchIndirect = true, + .createFramebuffer = true, + .waitForFences = true, + .getQueryPoolResults = true, + .getPipelineCacheData = true, + .createSampler = true, + .cmdCopyImageToBuffer = true, + .createPipelineLayout = true, + .cmdBeginRenderPass = true, + .getBufferMemoryRequirements = true, + .invalidateMappedMemoryRanges = true, + .destroyImage = true, + .destroyCommandPool = true, + .createCommandPool = true, + .destroyDescriptorSetLayout = true, + .createBufferView = true, + .cmdSetDepthBounds = true, + .destroyQueryPool = true, + .cmdSetLineWidth = true, + .cmdBindIndexBuffer = true, + .createSemaphore = true, + .getDeviceMemoryCommitment = true, + .resetEvent = true, + .queueSubmit = true, + .cmdDrawIndexed = true, + .destroyPipeline = true, + .createEvent = true, + .destroyShaderModule = true, + .flushMappedMemoryRanges = true, + .createDescriptorSetLayout = true, + .destroyFence = true, + .destroyDescriptorPool = true, + .cmdExecuteCommands = true, + .resetDescriptorPool = true, + .cmdSetStencilCompareMask = true, + .cmdDraw = true, + .createGraphicsPipelines = true, + }, + }; + pub const version_1_1 = ApiInfo{ + .name = "VERSION_1_1", + .version = makeApiVersion(0, 1, 1, 0), + .base_commands = .{ + .enumerateInstanceVersion = true, + }, + .instance_commands = .{ + .getPhysicalDeviceSparseImageFormatProperties2 = true, + .getPhysicalDeviceQueueFamilyProperties2 = true, + .enumeratePhysicalDeviceGroups = true, + .getPhysicalDeviceExternalFenceProperties = true, + .getPhysicalDeviceImageFormatProperties2 = true, + .getPhysicalDeviceExternalBufferProperties = true, + .getPhysicalDeviceMemoryProperties2 = true, + .getPhysicalDeviceFormatProperties2 = true, + .getPhysicalDeviceExternalSemaphoreProperties = true, + .getPhysicalDeviceFeatures2 = true, + .getPhysicalDeviceProperties2 = true, + }, + .device_commands = .{ + .getImageMemoryRequirements2 = true, + .getDeviceGroupPeerMemoryFeatures = true, + .destroyDescriptorUpdateTemplate = true, + .createDescriptorUpdateTemplate = true, + .destroySamplerYcbcrConversion = true, + .updateDescriptorSetWithTemplate = true, + .cmdDispatchBase = true, + .getDeviceQueue2 = true, + .getBufferMemoryRequirements2 = true, + .bindImageMemory2 = true, + .getDescriptorSetLayoutSupport = true, + .createSamplerYcbcrConversion = true, + .trimCommandPool = true, + .cmdSetDeviceMask = true, + .bindBufferMemory2 = true, + .getImageSparseMemoryRequirements2 = true, + }, + }; + pub const version_1_2 = ApiInfo{ + .name = "VERSION_1_2", + .version = makeApiVersion(0, 1, 2, 0), + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdBeginRenderPass2 = true, + .getBufferDeviceAddress = true, + .cmdEndRenderPass2 = true, + .cmdDrawIndirectCount = true, + .resetQueryPool = true, + .createRenderPass2 = true, + .waitSemaphores = true, + .getDeviceMemoryOpaqueCaptureAddress = true, + .signalSemaphore = true, + .getBufferOpaqueCaptureAddress = true, + .getSemaphoreCounterValue = true, + .cmdNextSubpass2 = true, + .cmdDrawIndexedIndirectCount = true, + }, + }; + pub const version_1_3 = ApiInfo{ + .name = "VERSION_1_3", + .version = makeApiVersion(0, 1, 3, 0), + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceToolProperties = true, + }, + .device_commands = .{ + .cmdCopyImage2 = true, + .cmdSetFrontFace = true, + .cmdSetDepthWriteEnable = true, + .cmdSetDepthCompareOp = true, + .queueSubmit2 = true, + .getDeviceBufferMemoryRequirements = true, + .getDeviceImageSparseMemoryRequirements = true, + .cmdSetDepthTestEnable = true, + .getDeviceImageMemoryRequirements = true, + .destroyPrivateDataSlot = true, + .cmdResolveImage2 = true, + .cmdSetPrimitiveRestartEnable = true, + .createPrivateDataSlot = true, + .cmdSetEvent2 = true, + .cmdBindVertexBuffers2 = true, + .cmdSetPrimitiveTopology = true, + .cmdWriteTimestamp2 = true, + .cmdSetDepthBoundsTestEnable = true, + .cmdWaitEvents2 = true, + .cmdCopyBuffer2 = true, + .cmdBlitImage2 = true, + .cmdSetStencilOp = true, + .cmdBeginRendering = true, + .getPrivateData = true, + .cmdCopyBufferToImage2 = true, + .cmdSetCullMode = true, + .setPrivateData = true, + .cmdSetScissorWithCount = true, + .cmdSetStencilTestEnable = true, + .cmdSetRasterizerDiscardEnable = true, + .cmdEndRendering = true, + .cmdPipelineBarrier2 = true, + .cmdSetDepthBiasEnable = true, + .cmdCopyImageToBuffer2 = true, + .cmdSetViewportWithCount = true, + .cmdResetEvent2 = true, + }, + }; +}; +pub const extensions = struct { + pub const khr_surface = ApiInfo{ + .name = "VK_KHR_surface", + .version = 25, + .base_commands = .{}, + .instance_commands = .{ + .destroySurfaceKHR = true, + .getPhysicalDeviceSurfaceCapabilitiesKHR = true, + .getPhysicalDeviceSurfaceFormatsKHR = true, + .getPhysicalDeviceSurfacePresentModesKHR = true, + .getPhysicalDeviceSurfaceSupportKHR = true, + }, + .device_commands = .{}, + }; + pub const khr_swapchain = ApiInfo{ + .name = "VK_KHR_swapchain", + .version = 70, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDevicePresentRectanglesKHR = true, + }, + .device_commands = .{ + .getSwapchainImagesKHR = true, + .acquireNextImageKHR = true, + .queuePresentKHR = true, + .acquireNextImage2KHR = true, + .getDeviceGroupSurfacePresentModesKHR = true, + .destroySwapchainKHR = true, + .createSwapchainKHR = true, + .getDeviceGroupPresentCapabilitiesKHR = true, + }, + }; + pub const khr_display = ApiInfo{ + .name = "VK_KHR_display", + .version = 23, + .base_commands = .{}, + .instance_commands = .{ + .createDisplayModeKHR = true, + .createDisplayPlaneSurfaceKHR = true, + .getDisplayModePropertiesKHR = true, + .getPhysicalDeviceDisplayPlanePropertiesKHR = true, + .getDisplayPlaneCapabilitiesKHR = true, + .getPhysicalDeviceDisplayPropertiesKHR = true, + .getDisplayPlaneSupportedDisplaysKHR = true, + }, + .device_commands = .{}, + }; + pub const khr_display_swapchain = ApiInfo{ + .name = "VK_KHR_display_swapchain", + .version = 10, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .createSharedSwapchainsKHR = true, + }, + }; + pub const khr_xlib_surface = ApiInfo{ + .name = "VK_KHR_xlib_surface", + .version = 6, + .base_commands = .{}, + .instance_commands = .{ + .createXlibSurfaceKHR = true, + .getPhysicalDeviceXlibPresentationSupportKHR = true, + }, + .device_commands = .{}, + }; + pub const khr_xcb_surface = ApiInfo{ + .name = "VK_KHR_xcb_surface", + .version = 6, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceXcbPresentationSupportKHR = true, + .createXcbSurfaceKHR = true, + }, + .device_commands = .{}, + }; + pub const khr_wayland_surface = ApiInfo{ + .name = "VK_KHR_wayland_surface", + .version = 6, + .base_commands = .{}, + .instance_commands = .{ + .createWaylandSurfaceKHR = true, + .getPhysicalDeviceWaylandPresentationSupportKHR = true, + }, + .device_commands = .{}, + }; + pub const khr_android_surface = ApiInfo{ + .name = "VK_KHR_android_surface", + .version = 6, + .base_commands = .{}, + .instance_commands = .{ + .createAndroidSurfaceKHR = true, + }, + .device_commands = .{}, + }; + pub const khr_win_32_surface = ApiInfo{ + .name = "VK_KHR_win32_surface", + .version = 6, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceWin32PresentationSupportKHR = true, + .createWin32SurfaceKHR = true, + }, + .device_commands = .{}, + }; + pub const ext_debug_report = ApiInfo{ + .name = "VK_EXT_debug_report", + .version = 10, + .base_commands = .{}, + .instance_commands = .{ + .destroyDebugReportCallbackEXT = true, + .createDebugReportCallbackEXT = true, + .debugReportMessageEXT = true, + }, + .device_commands = .{}, + }; + pub const nv_glsl_shader = ApiInfo{ + .name = "VK_NV_glsl_shader", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_depth_range_unrestricted = ApiInfo{ + .name = "VK_EXT_depth_range_unrestricted", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_sampler_mirror_clamp_to_edge = ApiInfo{ + .name = "VK_KHR_sampler_mirror_clamp_to_edge", + .version = 3, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const img_filter_cubic = ApiInfo{ + .name = "VK_IMG_filter_cubic", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const amd_rasterization_order = ApiInfo{ + .name = "VK_AMD_rasterization_order", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const amd_shader_trinary_minmax = ApiInfo{ + .name = "VK_AMD_shader_trinary_minmax", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const amd_shader_explicit_vertex_parameter = ApiInfo{ + .name = "VK_AMD_shader_explicit_vertex_parameter", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_debug_marker = ApiInfo{ + .name = "VK_EXT_debug_marker", + .version = 4, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .debugMarkerSetObjectTagEXT = true, + .cmdDebugMarkerInsertEXT = true, + .cmdDebugMarkerEndEXT = true, + .debugMarkerSetObjectNameEXT = true, + .cmdDebugMarkerBeginEXT = true, + }, + }; + pub const khr_video_queue = ApiInfo{ + .name = "VK_KHR_video_queue", + .version = 8, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceVideoCapabilitiesKHR = true, + .getPhysicalDeviceVideoFormatPropertiesKHR = true, + }, + .device_commands = .{ + .cmdEndVideoCodingKHR = true, + .createVideoSessionKHR = true, + .destroyVideoSessionKHR = true, + .getVideoSessionMemoryRequirementsKHR = true, + .bindVideoSessionMemoryKHR = true, + .updateVideoSessionParametersKHR = true, + .cmdBeginVideoCodingKHR = true, + .destroyVideoSessionParametersKHR = true, + .createVideoSessionParametersKHR = true, + .cmdControlVideoCodingKHR = true, + }, + }; + pub const khr_video_decode_queue = ApiInfo{ + .name = "VK_KHR_video_decode_queue", + .version = 8, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdDecodeVideoKHR = true, + }, + }; + pub const amd_gcn_shader = ApiInfo{ + .name = "VK_AMD_gcn_shader", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_dedicated_allocation = ApiInfo{ + .name = "VK_NV_dedicated_allocation", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_transform_feedback = ApiInfo{ + .name = "VK_EXT_transform_feedback", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdEndTransformFeedbackEXT = true, + .cmdBindTransformFeedbackBuffersEXT = true, + .cmdBeginQueryIndexedEXT = true, + .cmdDrawIndirectByteCountEXT = true, + .cmdEndQueryIndexedEXT = true, + .cmdBeginTransformFeedbackEXT = true, + }, + }; + pub const nvx_binary_import = ApiInfo{ + .name = "VK_NVX_binary_import", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .createCuFunctionNVX = true, + .destroyCuModuleNVX = true, + .createCuModuleNVX = true, + .cmdCuLaunchKernelNVX = true, + .destroyCuFunctionNVX = true, + }, + }; + pub const nvx_image_view_handle = ApiInfo{ + .name = "VK_NVX_image_view_handle", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getImageViewHandleNVX = true, + .getImageViewAddressNVX = true, + }, + }; + pub const amd_draw_indirect_count = ApiInfo{ + .name = "VK_AMD_draw_indirect_count", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdDrawIndexedIndirectCountAMD = true, + .cmdDrawIndirectCountAMD = true, + }, + }; + pub const amd_negative_viewport_height = ApiInfo{ + .name = "VK_AMD_negative_viewport_height", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const amd_gpu_shader_half_float = ApiInfo{ + .name = "VK_AMD_gpu_shader_half_float", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const amd_shader_ballot = ApiInfo{ + .name = "VK_AMD_shader_ballot", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_video_encode_h_264 = ApiInfo{ + .name = "VK_KHR_video_encode_h264", + .version = 14, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_video_encode_h_265 = ApiInfo{ + .name = "VK_KHR_video_encode_h265", + .version = 14, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_video_decode_h_264 = ApiInfo{ + .name = "VK_KHR_video_decode_h264", + .version = 9, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const amd_texture_gather_bias_lod = ApiInfo{ + .name = "VK_AMD_texture_gather_bias_lod", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const amd_shader_info = ApiInfo{ + .name = "VK_AMD_shader_info", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getShaderInfoAMD = true, + }, + }; + pub const khr_dynamic_rendering = ApiInfo{ + .name = "VK_KHR_dynamic_rendering", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdEndRenderingKHR = true, + .cmdBeginRenderingKHR = true, + }, + }; + pub const amd_shader_image_load_store_lod = ApiInfo{ + .name = "VK_AMD_shader_image_load_store_lod", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ggp_stream_descriptor_surface = ApiInfo{ + .name = "VK_GGP_stream_descriptor_surface", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .createStreamDescriptorSurfaceGGP = true, + }, + .device_commands = .{}, + }; + pub const nv_corner_sampled_image = ApiInfo{ + .name = "VK_NV_corner_sampled_image", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_private_vendor_info = ApiInfo{ + .name = "VK_NV_private_vendor_info", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_multiview = ApiInfo{ + .name = "VK_KHR_multiview", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const img_format_pvrtc = ApiInfo{ + .name = "VK_IMG_format_pvrtc", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_external_memory_capabilities = ApiInfo{ + .name = "VK_NV_external_memory_capabilities", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceExternalImageFormatPropertiesNV = true, + }, + .device_commands = .{}, + }; + pub const nv_external_memory = ApiInfo{ + .name = "VK_NV_external_memory", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_external_memory_win_32 = ApiInfo{ + .name = "VK_NV_external_memory_win32", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getMemoryWin32HandleNV = true, + }, + }; + pub const nv_win_32_keyed_mutex = ApiInfo{ + .name = "VK_NV_win32_keyed_mutex", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_get_physical_device_properties_2 = ApiInfo{ + .name = "VK_KHR_get_physical_device_properties2", + .version = 2, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceQueueFamilyProperties2KHR = true, + .getPhysicalDeviceMemoryProperties2KHR = true, + .getPhysicalDeviceFeatures2KHR = true, + .getPhysicalDeviceFormatProperties2KHR = true, + .getPhysicalDeviceImageFormatProperties2KHR = true, + .getPhysicalDeviceProperties2KHR = true, + .getPhysicalDeviceSparseImageFormatProperties2KHR = true, + }, + .device_commands = .{}, + }; + pub const khr_device_group = ApiInfo{ + .name = "VK_KHR_device_group", + .version = 4, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDevicePresentRectanglesKHR = true, + }, + .device_commands = .{ + .getDeviceGroupPresentCapabilitiesKHR = true, + .acquireNextImage2KHR = true, + .cmdDispatchBaseKHR = true, + .getDeviceGroupSurfacePresentModesKHR = true, + .cmdSetDeviceMaskKHR = true, + .getDeviceGroupPeerMemoryFeaturesKHR = true, + }, + }; + pub const ext_validation_flags = ApiInfo{ + .name = "VK_EXT_validation_flags", + .version = 3, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nn_vi_surface = ApiInfo{ + .name = "VK_NN_vi_surface", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .createViSurfaceNN = true, + }, + .device_commands = .{}, + }; + pub const khr_shader_draw_parameters = ApiInfo{ + .name = "VK_KHR_shader_draw_parameters", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_shader_subgroup_ballot = ApiInfo{ + .name = "VK_EXT_shader_subgroup_ballot", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_shader_subgroup_vote = ApiInfo{ + .name = "VK_EXT_shader_subgroup_vote", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_texture_compression_astc_hdr = ApiInfo{ + .name = "VK_EXT_texture_compression_astc_hdr", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_astc_decode_mode = ApiInfo{ + .name = "VK_EXT_astc_decode_mode", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_pipeline_robustness = ApiInfo{ + .name = "VK_EXT_pipeline_robustness", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_maintenance_1 = ApiInfo{ + .name = "VK_KHR_maintenance1", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .trimCommandPoolKHR = true, + }, + }; + pub const khr_device_group_creation = ApiInfo{ + .name = "VK_KHR_device_group_creation", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .enumeratePhysicalDeviceGroupsKHR = true, + }, + .device_commands = .{}, }; - pub const khr_surface = Info{ - .name = "VK_KHR_surface", - .version = 25, + pub const khr_external_memory_capabilities = ApiInfo{ + .name = "VK_KHR_external_memory_capabilities", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceExternalBufferPropertiesKHR = true, + }, + .device_commands = .{}, + }; + pub const khr_external_memory = ApiInfo{ + .name = "VK_KHR_external_memory", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_external_memory_win_32 = ApiInfo{ + .name = "VK_KHR_external_memory_win32", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getMemoryWin32HandlePropertiesKHR = true, + .getMemoryWin32HandleKHR = true, + }, + }; + pub const khr_external_memory_fd = ApiInfo{ + .name = "VK_KHR_external_memory_fd", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getMemoryFdKHR = true, + .getMemoryFdPropertiesKHR = true, + }, + }; + pub const khr_win_32_keyed_mutex = ApiInfo{ + .name = "VK_KHR_win32_keyed_mutex", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_external_semaphore_capabilities = ApiInfo{ + .name = "VK_KHR_external_semaphore_capabilities", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceExternalSemaphorePropertiesKHR = true, + }, + .device_commands = .{}, + }; + pub const khr_external_semaphore = ApiInfo{ + .name = "VK_KHR_external_semaphore", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_external_semaphore_win_32 = ApiInfo{ + .name = "VK_KHR_external_semaphore_win32", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .importSemaphoreWin32HandleKHR = true, + .getSemaphoreWin32HandleKHR = true, + }, + }; + pub const khr_external_semaphore_fd = ApiInfo{ + .name = "VK_KHR_external_semaphore_fd", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .importSemaphoreFdKHR = true, + .getSemaphoreFdKHR = true, + }, + }; + pub const khr_push_descriptor = ApiInfo{ + .name = "VK_KHR_push_descriptor", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdPushDescriptorSetKHR = true, + .cmdPushDescriptorSetWithTemplateKHR = true, + }, + }; + pub const ext_conditional_rendering = ApiInfo{ + .name = "VK_EXT_conditional_rendering", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdBeginConditionalRenderingEXT = true, + .cmdEndConditionalRenderingEXT = true, + }, + }; + pub const khr_shader_float_16_int_8 = ApiInfo{ + .name = "VK_KHR_shader_float16_int8", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_1_6bit_storage = ApiInfo{ + .name = "VK_KHR_16bit_storage", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_incremental_present = ApiInfo{ + .name = "VK_KHR_incremental_present", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_descriptor_update_template = ApiInfo{ + .name = "VK_KHR_descriptor_update_template", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .createDescriptorUpdateTemplateKHR = true, + .destroyDescriptorUpdateTemplateKHR = true, + .cmdPushDescriptorSetWithTemplateKHR = true, + .updateDescriptorSetWithTemplateKHR = true, + }, + }; + pub const nv_clip_space_w_scaling = ApiInfo{ + .name = "VK_NV_clip_space_w_scaling", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetViewportWScalingNV = true, + }, + }; + pub const ext_direct_mode_display = ApiInfo{ + .name = "VK_EXT_direct_mode_display", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .releaseDisplayEXT = true, + }, + .device_commands = .{}, + }; + pub const ext_acquire_xlib_display = ApiInfo{ + .name = "VK_EXT_acquire_xlib_display", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getRandROutputDisplayEXT = true, + .acquireXlibDisplayEXT = true, + }, + .device_commands = .{}, + }; + pub const ext_display_surface_counter = ApiInfo{ + .name = "VK_EXT_display_surface_counter", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceSurfaceCapabilities2EXT = true, + }, + .device_commands = .{}, + }; + pub const ext_display_control = ApiInfo{ + .name = "VK_EXT_display_control", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getSwapchainCounterEXT = true, + .displayPowerControlEXT = true, + .registerDeviceEventEXT = true, + .registerDisplayEventEXT = true, + }, + }; + pub const google_display_timing = ApiInfo{ + .name = "VK_GOOGLE_display_timing", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getPastPresentationTimingGOOGLE = true, + .getRefreshCycleDurationGOOGLE = true, + }, + }; + pub const nv_sample_mask_override_coverage = ApiInfo{ + .name = "VK_NV_sample_mask_override_coverage", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_geometry_shader_passthrough = ApiInfo{ + .name = "VK_NV_geometry_shader_passthrough", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_viewport_array_2 = ApiInfo{ + .name = "VK_NV_viewport_array2", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nvx_multiview_per_view_attributes = ApiInfo{ + .name = "VK_NVX_multiview_per_view_attributes", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_viewport_swizzle = ApiInfo{ + .name = "VK_NV_viewport_swizzle", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_discard_rectangles = ApiInfo{ + .name = "VK_EXT_discard_rectangles", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetDiscardRectangleEnableEXT = true, + .cmdSetDiscardRectangleModeEXT = true, + .cmdSetDiscardRectangleEXT = true, + }, + }; + pub const ext_conservative_rasterization = ApiInfo{ + .name = "VK_EXT_conservative_rasterization", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_depth_clip_enable = ApiInfo{ + .name = "VK_EXT_depth_clip_enable", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_swapchain_colorspace = ApiInfo{ + .name = "VK_EXT_swapchain_colorspace", + .version = 4, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_hdr_metadata = ApiInfo{ + .name = "VK_EXT_hdr_metadata", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .setHdrMetadataEXT = true, + }, + }; + pub const khr_imageless_framebuffer = ApiInfo{ + .name = "VK_KHR_imageless_framebuffer", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_create_renderpass_2 = ApiInfo{ + .name = "VK_KHR_create_renderpass2", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdNextSubpass2KHR = true, + .cmdBeginRenderPass2KHR = true, + .createRenderPass2KHR = true, + .cmdEndRenderPass2KHR = true, + }, + }; + pub const img_relaxed_line_rasterization = ApiInfo{ + .name = "VK_IMG_relaxed_line_rasterization", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_shared_presentable_image = ApiInfo{ + .name = "VK_KHR_shared_presentable_image", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getSwapchainStatusKHR = true, + }, + }; + pub const khr_external_fence_capabilities = ApiInfo{ + .name = "VK_KHR_external_fence_capabilities", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceExternalFencePropertiesKHR = true, + }, + .device_commands = .{}, + }; + pub const khr_external_fence = ApiInfo{ + .name = "VK_KHR_external_fence", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_external_fence_win_32 = ApiInfo{ + .name = "VK_KHR_external_fence_win32", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .importFenceWin32HandleKHR = true, + .getFenceWin32HandleKHR = true, + }, + }; + pub const khr_external_fence_fd = ApiInfo{ + .name = "VK_KHR_external_fence_fd", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getFenceFdKHR = true, + .importFenceFdKHR = true, + }, + }; + pub const khr_performance_query = ApiInfo{ + .name = "VK_KHR_performance_query", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = true, + .getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = true, + }, + .device_commands = .{ + .acquireProfilingLockKHR = true, + .releaseProfilingLockKHR = true, + }, + }; + pub const khr_maintenance_2 = ApiInfo{ + .name = "VK_KHR_maintenance2", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_get_surface_capabilities_2 = ApiInfo{ + .name = "VK_KHR_get_surface_capabilities2", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceSurfaceFormats2KHR = true, + .getPhysicalDeviceSurfaceCapabilities2KHR = true, + }, + .device_commands = .{}, + }; + pub const khr_variable_pointers = ApiInfo{ + .name = "VK_KHR_variable_pointers", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_get_display_properties_2 = ApiInfo{ + .name = "VK_KHR_get_display_properties2", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getDisplayModeProperties2KHR = true, + .getDisplayPlaneCapabilities2KHR = true, + .getPhysicalDeviceDisplayPlaneProperties2KHR = true, + .getPhysicalDeviceDisplayProperties2KHR = true, + }, + .device_commands = .{}, + }; + pub const mvk_ios_surface = ApiInfo{ + .name = "VK_MVK_ios_surface", + .version = 3, + .base_commands = .{}, + .instance_commands = .{ + .createIosSurfaceMVK = true, + }, + .device_commands = .{}, + }; + pub const mvk_macos_surface = ApiInfo{ + .name = "VK_MVK_macos_surface", + .version = 3, + .base_commands = .{}, + .instance_commands = .{ + .createMacOsSurfaceMVK = true, + }, + .device_commands = .{}, + }; + pub const ext_external_memory_dma_buf = ApiInfo{ + .name = "VK_EXT_external_memory_dma_buf", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_queue_family_foreign = ApiInfo{ + .name = "VK_EXT_queue_family_foreign", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_dedicated_allocation = ApiInfo{ + .name = "VK_KHR_dedicated_allocation", + .version = 3, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_debug_utils = ApiInfo{ + .name = "VK_EXT_debug_utils", + .version = 2, + .base_commands = .{}, + .instance_commands = .{ + .submitDebugUtilsMessageEXT = true, + .destroyDebugUtilsMessengerEXT = true, + .createDebugUtilsMessengerEXT = true, + }, + .device_commands = .{ + .cmdInsertDebugUtilsLabelEXT = true, + .cmdBeginDebugUtilsLabelEXT = true, + .cmdEndDebugUtilsLabelEXT = true, + .setDebugUtilsObjectNameEXT = true, + .setDebugUtilsObjectTagEXT = true, + .queueEndDebugUtilsLabelEXT = true, + .queueBeginDebugUtilsLabelEXT = true, + .queueInsertDebugUtilsLabelEXT = true, + }, + }; + pub const android_external_memory_android_hardware_buffer = ApiInfo{ + .name = "VK_ANDROID_external_memory_android_hardware_buffer", + .version = 5, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getMemoryAndroidHardwareBufferANDROID = true, + .getAndroidHardwareBufferPropertiesANDROID = true, + }, + }; + pub const ext_sampler_filter_minmax = ApiInfo{ + .name = "VK_EXT_sampler_filter_minmax", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_storage_buffer_storage_class = ApiInfo{ + .name = "VK_KHR_storage_buffer_storage_class", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const amd_gpu_shader_int_16 = ApiInfo{ + .name = "VK_AMD_gpu_shader_int16", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const amdx_shader_enqueue = ApiInfo{ + .name = "VK_AMDX_shader_enqueue", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdInitializeGraphScratchMemoryAMDX = true, + .cmdDispatchGraphAMDX = true, + .getExecutionGraphPipelineNodeIndexAMDX = true, + .cmdDispatchGraphIndirectAMDX = true, + .createExecutionGraphPipelinesAMDX = true, + .getExecutionGraphPipelineScratchSizeAMDX = true, + .cmdDispatchGraphIndirectCountAMDX = true, + }, + }; + pub const amd_mixed_attachment_samples = ApiInfo{ + .name = "VK_AMD_mixed_attachment_samples", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const amd_shader_fragment_mask = ApiInfo{ + .name = "VK_AMD_shader_fragment_mask", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_inline_uniform_block = ApiInfo{ + .name = "VK_EXT_inline_uniform_block", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_shader_stencil_export = ApiInfo{ + .name = "VK_EXT_shader_stencil_export", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_sample_locations = ApiInfo{ + .name = "VK_EXT_sample_locations", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceMultisamplePropertiesEXT = true, + }, + .device_commands = .{ + .cmdSetSampleLocationsEXT = true, + }, + }; + pub const khr_relaxed_block_layout = ApiInfo{ + .name = "VK_KHR_relaxed_block_layout", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_get_memory_requirements_2 = ApiInfo{ + .name = "VK_KHR_get_memory_requirements2", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getImageMemoryRequirements2KHR = true, + .getImageSparseMemoryRequirements2KHR = true, + .getBufferMemoryRequirements2KHR = true, + }, + }; + pub const khr_image_format_list = ApiInfo{ + .name = "VK_KHR_image_format_list", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_blend_operation_advanced = ApiInfo{ + .name = "VK_EXT_blend_operation_advanced", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_fragment_coverage_to_color = ApiInfo{ + .name = "VK_NV_fragment_coverage_to_color", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_acceleration_structure = ApiInfo{ + .name = "VK_KHR_acceleration_structure", + .version = 13, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getDeviceAccelerationStructureCompatibilityKHR = true, + .copyMemoryToAccelerationStructureKHR = true, + .cmdCopyAccelerationStructureToMemoryKHR = true, + .cmdWriteAccelerationStructuresPropertiesKHR = true, + .copyAccelerationStructureToMemoryKHR = true, + .copyAccelerationStructureKHR = true, + .cmdCopyAccelerationStructureKHR = true, + .cmdBuildAccelerationStructuresIndirectKHR = true, + .destroyAccelerationStructureKHR = true, + .cmdCopyMemoryToAccelerationStructureKHR = true, + .createAccelerationStructureKHR = true, + .getAccelerationStructureDeviceAddressKHR = true, + .cmdBuildAccelerationStructuresKHR = true, + .buildAccelerationStructuresKHR = true, + .getAccelerationStructureBuildSizesKHR = true, + .writeAccelerationStructuresPropertiesKHR = true, + }, + }; + pub const khr_ray_tracing_pipeline = ApiInfo{ + .name = "VK_KHR_ray_tracing_pipeline", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetRayTracingPipelineStackSizeKHR = true, + .createRayTracingPipelinesKHR = true, + .getRayTracingShaderGroupHandlesKHR = true, + .getRayTracingCaptureReplayShaderGroupHandlesKHR = true, + .getRayTracingShaderGroupStackSizeKHR = true, + .cmdTraceRaysIndirectKHR = true, + .cmdTraceRaysKHR = true, + }, + }; + pub const khr_ray_query = ApiInfo{ + .name = "VK_KHR_ray_query", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_framebuffer_mixed_samples = ApiInfo{ + .name = "VK_NV_framebuffer_mixed_samples", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_fill_rectangle = ApiInfo{ + .name = "VK_NV_fill_rectangle", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_shader_sm_builtins = ApiInfo{ + .name = "VK_NV_shader_sm_builtins", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_post_depth_coverage = ApiInfo{ + .name = "VK_EXT_post_depth_coverage", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_sampler_ycbcr_conversion = ApiInfo{ + .name = "VK_KHR_sampler_ycbcr_conversion", + .version = 14, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .destroySamplerYcbcrConversionKHR = true, + .createSamplerYcbcrConversionKHR = true, + }, + }; + pub const khr_bind_memory_2 = ApiInfo{ + .name = "VK_KHR_bind_memory2", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .bindImageMemory2KHR = true, + .bindBufferMemory2KHR = true, + }, + }; + pub const ext_image_drm_format_modifier = ApiInfo{ + .name = "VK_EXT_image_drm_format_modifier", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getImageDrmFormatModifierPropertiesEXT = true, + }, + }; + pub const ext_validation_cache = ApiInfo{ + .name = "VK_EXT_validation_cache", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getValidationCacheDataEXT = true, + .mergeValidationCachesEXT = true, + .destroyValidationCacheEXT = true, + .createValidationCacheEXT = true, + }, + }; + pub const ext_descriptor_indexing = ApiInfo{ + .name = "VK_EXT_descriptor_indexing", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_shader_viewport_index_layer = ApiInfo{ + .name = "VK_EXT_shader_viewport_index_layer", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_portability_subset = ApiInfo{ + .name = "VK_KHR_portability_subset", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_shading_rate_image = ApiInfo{ + .name = "VK_NV_shading_rate_image", + .version = 3, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetViewportShadingRatePaletteNV = true, + .cmdSetCoarseSampleOrderNV = true, + .cmdBindShadingRateImageNV = true, + }, + }; + pub const nv_ray_tracing = ApiInfo{ + .name = "VK_NV_ray_tracing", + .version = 3, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdCopyAccelerationStructureNV = true, + .cmdTraceRaysNV = true, + .getAccelerationStructureHandleNV = true, + .cmdBuildAccelerationStructureNV = true, + .destroyAccelerationStructureNV = true, + .createAccelerationStructureNV = true, + .getAccelerationStructureMemoryRequirementsNV = true, + .cmdWriteAccelerationStructuresPropertiesNV = true, + .compileDeferredNV = true, + .bindAccelerationStructureMemoryNV = true, + .getRayTracingShaderGroupHandlesNV = true, + .createRayTracingPipelinesNV = true, + }, + }; + pub const nv_representative_fragment_test = ApiInfo{ + .name = "VK_NV_representative_fragment_test", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_maintenance_3 = ApiInfo{ + .name = "VK_KHR_maintenance3", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getDescriptorSetLayoutSupportKHR = true, + }, + }; + pub const khr_draw_indirect_count = ApiInfo{ + .name = "VK_KHR_draw_indirect_count", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdDrawIndirectCountKHR = true, + .cmdDrawIndexedIndirectCountKHR = true, + }, + }; + pub const ext_filter_cubic = ApiInfo{ + .name = "VK_EXT_filter_cubic", + .version = 3, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const qcom_render_pass_shader_resolve = ApiInfo{ + .name = "VK_QCOM_render_pass_shader_resolve", + .version = 4, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_global_priority = ApiInfo{ + .name = "VK_EXT_global_priority", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_shader_subgroup_extended_types = ApiInfo{ + .name = "VK_KHR_shader_subgroup_extended_types", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_swapchain = Info{ - .name = "VK_KHR_swapchain", - .version = 70, + pub const khr_8bit_storage = ApiInfo{ + .name = "VK_KHR_8bit_storage", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_display = Info{ - .name = "VK_KHR_display", - .version = 23, + pub const ext_external_memory_host = ApiInfo{ + .name = "VK_EXT_external_memory_host", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getMemoryHostPointerPropertiesEXT = true, + }, }; - pub const khr_display_swapchain = Info{ - .name = "VK_KHR_display_swapchain", - .version = 10, + pub const amd_buffer_marker = ApiInfo{ + .name = "VK_AMD_buffer_marker", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdWriteBufferMarkerAMD = true, + }, }; - pub const khr_xlib_surface = Info{ - .name = "VK_KHR_xlib_surface", - .version = 6, + pub const khr_shader_atomic_int_64 = ApiInfo{ + .name = "VK_KHR_shader_atomic_int64", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_xcb_surface = Info{ - .name = "VK_KHR_xcb_surface", - .version = 6, + pub const khr_shader_clock = ApiInfo{ + .name = "VK_KHR_shader_clock", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_wayland_surface = Info{ - .name = "VK_KHR_wayland_surface", - .version = 6, + pub const amd_pipeline_compiler_control = ApiInfo{ + .name = "VK_AMD_pipeline_compiler_control", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_android_surface = Info{ - .name = "VK_KHR_android_surface", - .version = 6, + pub const ext_calibrated_timestamps = ApiInfo{ + .name = "VK_EXT_calibrated_timestamps", + .version = 2, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceCalibrateableTimeDomainsEXT = true, + }, + .device_commands = .{ + .getCalibratedTimestampsEXT = true, + }, }; - pub const khr_win_32_surface = Info{ - .name = "VK_KHR_win32_surface", - .version = 6, + pub const amd_shader_core_properties = ApiInfo{ + .name = "VK_AMD_shader_core_properties", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_debug_report = Info{ - .name = "VK_EXT_debug_report", - .version = 9, + pub const khr_video_decode_h_265 = ApiInfo{ + .name = "VK_KHR_video_decode_h265", + .version = 8, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_glsl_shader = Info{ - .name = "VK_NV_glsl_shader", + pub const khr_global_priority = ApiInfo{ + .name = "VK_KHR_global_priority", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_depth_range_unrestricted = Info{ - .name = "VK_EXT_depth_range_unrestricted", + pub const amd_memory_overallocation_behavior = ApiInfo{ + .name = "VK_AMD_memory_overallocation_behavior", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_sampler_mirror_clamp_to_edge = Info{ - .name = "VK_KHR_sampler_mirror_clamp_to_edge", + pub const ext_vertex_attribute_divisor = ApiInfo{ + .name = "VK_EXT_vertex_attribute_divisor", .version = 3, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const img_filter_cubic = Info{ - .name = "VK_IMG_filter_cubic", + pub const ggp_frame_token = ApiInfo{ + .name = "VK_GGP_frame_token", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const amd_rasterization_order = Info{ - .name = "VK_AMD_rasterization_order", + pub const ext_pipeline_creation_feedback = ApiInfo{ + .name = "VK_EXT_pipeline_creation_feedback", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const amd_shader_trinary_minmax = Info{ - .name = "VK_AMD_shader_trinary_minmax", + pub const khr_driver_properties = ApiInfo{ + .name = "VK_KHR_driver_properties", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const amd_shader_explicit_vertex_parameter = Info{ - .name = "VK_AMD_shader_explicit_vertex_parameter", + pub const khr_shader_float_controls = ApiInfo{ + .name = "VK_KHR_shader_float_controls", + .version = 4, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_shader_subgroup_partitioned = ApiInfo{ + .name = "VK_NV_shader_subgroup_partitioned", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_debug_marker = Info{ - .name = "VK_EXT_debug_marker", - .version = 4, + pub const khr_depth_stencil_resolve = ApiInfo{ + .name = "VK_KHR_depth_stencil_resolve", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const amd_gcn_shader = Info{ - .name = "VK_AMD_gcn_shader", + pub const khr_swapchain_mutable_format = ApiInfo{ + .name = "VK_KHR_swapchain_mutable_format", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_dedicated_allocation = Info{ - .name = "VK_NV_dedicated_allocation", + pub const nv_compute_shader_derivatives = ApiInfo{ + .name = "VK_NV_compute_shader_derivatives", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_transform_feedback = Info{ - .name = "VK_EXT_transform_feedback", + pub const nv_mesh_shader = ApiInfo{ + .name = "VK_NV_mesh_shader", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdDrawMeshTasksNV = true, + .cmdDrawMeshTasksIndirectCountNV = true, + .cmdDrawMeshTasksIndirectNV = true, + }, }; - pub const nvx_image_view_handle = Info{ - .name = "VK_NVX_image_view_handle", + pub const nv_fragment_shader_barycentric = ApiInfo{ + .name = "VK_NV_fragment_shader_barycentric", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const amd_draw_indirect_count = Info{ - .name = "VK_AMD_draw_indirect_count", + pub const nv_shader_image_footprint = ApiInfo{ + .name = "VK_NV_shader_image_footprint", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const amd_negative_viewport_height = Info{ - .name = "VK_AMD_negative_viewport_height", + pub const nv_scissor_exclusive = ApiInfo{ + .name = "VK_NV_scissor_exclusive", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetExclusiveScissorNV = true, + .cmdSetExclusiveScissorEnableNV = true, + }, + }; + pub const nv_device_diagnostic_checkpoints = ApiInfo{ + .name = "VK_NV_device_diagnostic_checkpoints", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetCheckpointNV = true, + .getQueueCheckpointDataNV = true, + }, + }; + pub const khr_timeline_semaphore = ApiInfo{ + .name = "VK_KHR_timeline_semaphore", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .signalSemaphoreKHR = true, + .waitSemaphoresKHR = true, + .getSemaphoreCounterValueKHR = true, + }, + }; + pub const intel_shader_integer_functions_2 = ApiInfo{ + .name = "VK_INTEL_shader_integer_functions2", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const amd_gpu_shader_half_float = Info{ - .name = "VK_AMD_gpu_shader_half_float", + pub const intel_performance_query = ApiInfo{ + .name = "VK_INTEL_performance_query", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .uninitializePerformanceApiINTEL = true, + .getPerformanceParameterINTEL = true, + .initializePerformanceApiINTEL = true, + .cmdSetPerformanceOverrideINTEL = true, + .cmdSetPerformanceStreamMarkerINTEL = true, + .acquirePerformanceConfigurationINTEL = true, + .cmdSetPerformanceMarkerINTEL = true, + .releasePerformanceConfigurationINTEL = true, + .queueSetPerformanceConfigurationINTEL = true, + }, }; - pub const amd_shader_ballot = Info{ - .name = "VK_AMD_shader_ballot", + pub const khr_vulkan_memory_model = ApiInfo{ + .name = "VK_KHR_vulkan_memory_model", + .version = 3, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_pci_bus_info = ApiInfo{ + .name = "VK_EXT_pci_bus_info", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const amd_display_native_hdr = ApiInfo{ + .name = "VK_AMD_display_native_hdr", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .setLocalDimmingAMD = true, + }, }; - pub const amd_texture_gather_bias_lod = Info{ - .name = "VK_AMD_texture_gather_bias_lod", + pub const fuchsia_imagepipe_surface = ApiInfo{ + .name = "VK_FUCHSIA_imagepipe_surface", .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .createImagePipeSurfaceFUCHSIA = true, + }, + .device_commands = .{}, }; - pub const amd_shader_info = Info{ - .name = "VK_AMD_shader_info", + pub const khr_shader_terminate_invocation = ApiInfo{ + .name = "VK_KHR_shader_terminate_invocation", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const amd_shader_image_load_store_lod = Info{ - .name = "VK_AMD_shader_image_load_store_lod", + pub const ext_metal_surface = ApiInfo{ + .name = "VK_EXT_metal_surface", .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .createMetalSurfaceEXT = true, + }, + .device_commands = .{}, }; - pub const ggp_stream_descriptor_surface = Info{ - .name = "VK_GGP_stream_descriptor_surface", + pub const ext_fragment_density_map = ApiInfo{ + .name = "VK_EXT_fragment_density_map", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_scalar_block_layout = ApiInfo{ + .name = "VK_EXT_scalar_block_layout", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_corner_sampled_image = Info{ - .name = "VK_NV_corner_sampled_image", + pub const google_hlsl_functionality_1 = ApiInfo{ + .name = "VK_GOOGLE_hlsl_functionality1", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const google_decorate_string = ApiInfo{ + .name = "VK_GOOGLE_decorate_string", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_subgroup_size_control = ApiInfo{ + .name = "VK_EXT_subgroup_size_control", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_multiview = Info{ - .name = "VK_KHR_multiview", + pub const khr_fragment_shading_rate = ApiInfo{ + .name = "VK_KHR_fragment_shading_rate", + .version = 2, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceFragmentShadingRatesKHR = true, + }, + .device_commands = .{ + .cmdSetFragmentShadingRateKHR = true, + }, + }; + pub const amd_shader_core_properties_2 = ApiInfo{ + .name = "VK_AMD_shader_core_properties2", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const img_format_pvrtc = Info{ - .name = "VK_IMG_format_pvrtc", + pub const amd_device_coherent_memory = ApiInfo{ + .name = "VK_AMD_device_coherent_memory", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_external_memory_capabilities = Info{ - .name = "VK_NV_external_memory_capabilities", + pub const khr_dynamic_rendering_local_read = ApiInfo{ + .name = "VK_KHR_dynamic_rendering_local_read", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetRenderingInputAttachmentIndicesKHR = true, + .cmdSetRenderingAttachmentLocationsKHR = true, + }, }; - pub const nv_external_memory = Info{ - .name = "VK_NV_external_memory", + pub const ext_shader_image_atomic_int_64 = ApiInfo{ + .name = "VK_EXT_shader_image_atomic_int64", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_external_memory_win_32 = Info{ - .name = "VK_NV_external_memory_win32", + pub const khr_shader_quad_control = ApiInfo{ + .name = "VK_KHR_shader_quad_control", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_win_32_keyed_mutex = Info{ - .name = "VK_NV_win32_keyed_mutex", - .version = 2, + pub const khr_spirv_1_4 = ApiInfo{ + .name = "VK_KHR_spirv_1_4", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_get_physical_device_properties_2 = Info{ - .name = "VK_KHR_get_physical_device_properties2", - .version = 2, + pub const ext_memory_budget = ApiInfo{ + .name = "VK_EXT_memory_budget", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_device_group = Info{ - .name = "VK_KHR_device_group", - .version = 4, + pub const ext_memory_priority = ApiInfo{ + .name = "VK_EXT_memory_priority", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_validation_flags = Info{ - .name = "VK_EXT_validation_flags", + pub const khr_surface_protected_capabilities = ApiInfo{ + .name = "VK_KHR_surface_protected_capabilities", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_dedicated_allocation_image_aliasing = ApiInfo{ + .name = "VK_NV_dedicated_allocation_image_aliasing", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_separate_depth_stencil_layouts = ApiInfo{ + .name = "VK_KHR_separate_depth_stencil_layouts", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_buffer_device_address = ApiInfo{ + .name = "VK_EXT_buffer_device_address", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getBufferDeviceAddressEXT = true, + }, }; - pub const nn_vi_surface = Info{ - .name = "VK_NN_vi_surface", + pub const ext_tooling_info = ApiInfo{ + .name = "VK_EXT_tooling_info", .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceToolPropertiesEXT = true, + }, + .device_commands = .{}, }; - pub const khr_shader_draw_parameters = Info{ - .name = "VK_KHR_shader_draw_parameters", + pub const ext_separate_stencil_usage = ApiInfo{ + .name = "VK_EXT_separate_stencil_usage", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_shader_subgroup_ballot = Info{ - .name = "VK_EXT_shader_subgroup_ballot", + pub const ext_validation_features = ApiInfo{ + .name = "VK_EXT_validation_features", + .version = 6, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_present_wait = ApiInfo{ + .name = "VK_KHR_present_wait", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .waitForPresentKHR = true, + }, }; - pub const ext_shader_subgroup_vote = Info{ - .name = "VK_EXT_shader_subgroup_vote", + pub const nv_cooperative_matrix = ApiInfo{ + .name = "VK_NV_cooperative_matrix", .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceCooperativeMatrixPropertiesNV = true, + }, + .device_commands = .{}, }; - pub const ext_texture_compression_astc_hdr = Info{ - .name = "VK_EXT_texture_compression_astc_hdr", + pub const nv_coverage_reduction_mode = ApiInfo{ + .name = "VK_NV_coverage_reduction_mode", .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = true, + }, + .device_commands = .{}, }; - pub const ext_astc_decode_mode = Info{ - .name = "VK_EXT_astc_decode_mode", + pub const ext_fragment_shader_interlock = ApiInfo{ + .name = "VK_EXT_fragment_shader_interlock", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_maintenance_1 = Info{ - .name = "VK_KHR_maintenance1", - .version = 2, + pub const ext_ycbcr_image_arrays = ApiInfo{ + .name = "VK_EXT_ycbcr_image_arrays", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_device_group_creation = Info{ - .name = "VK_KHR_device_group_creation", + pub const khr_uniform_buffer_standard_layout = ApiInfo{ + .name = "VK_KHR_uniform_buffer_standard_layout", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_external_memory_capabilities = Info{ - .name = "VK_KHR_external_memory_capabilities", + pub const ext_provoking_vertex = ApiInfo{ + .name = "VK_EXT_provoking_vertex", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_external_memory = Info{ - .name = "VK_KHR_external_memory", + pub const ext_full_screen_exclusive = ApiInfo{ + .name = "VK_EXT_full_screen_exclusive", + .version = 4, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceSurfacePresentModes2EXT = true, + }, + .device_commands = .{ + .acquireFullScreenExclusiveModeEXT = true, + .releaseFullScreenExclusiveModeEXT = true, + .getDeviceGroupSurfacePresentModes2EXT = true, + }, + }; + pub const ext_headless_surface = ApiInfo{ + .name = "VK_EXT_headless_surface", .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .createHeadlessSurfaceEXT = true, + }, + .device_commands = .{}, }; - pub const khr_external_memory_win_32 = Info{ - .name = "VK_KHR_external_memory_win32", + pub const khr_buffer_device_address = ApiInfo{ + .name = "VK_KHR_buffer_device_address", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getBufferDeviceAddressKHR = true, + .getDeviceMemoryOpaqueCaptureAddressKHR = true, + .getBufferOpaqueCaptureAddressKHR = true, + }, }; - pub const khr_external_memory_fd = Info{ - .name = "VK_KHR_external_memory_fd", + pub const ext_line_rasterization = ApiInfo{ + .name = "VK_EXT_line_rasterization", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetLineStippleEXT = true, + }, }; - pub const khr_win_32_keyed_mutex = Info{ - .name = "VK_KHR_win32_keyed_mutex", + pub const ext_shader_atomic_float = ApiInfo{ + .name = "VK_EXT_shader_atomic_float", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_external_semaphore_capabilities = Info{ - .name = "VK_KHR_external_semaphore_capabilities", + pub const ext_host_query_reset = ApiInfo{ + .name = "VK_EXT_host_query_reset", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .resetQueryPoolEXT = true, + }, }; - pub const khr_external_semaphore = Info{ - .name = "VK_KHR_external_semaphore", + pub const ext_index_type_uint_8 = ApiInfo{ + .name = "VK_EXT_index_type_uint8", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_external_semaphore_win_32 = Info{ - .name = "VK_KHR_external_semaphore_win32", + pub const ext_extended_dynamic_state = ApiInfo{ + .name = "VK_EXT_extended_dynamic_state", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetDepthWriteEnableEXT = true, + .cmdSetDepthCompareOpEXT = true, + .cmdSetStencilOpEXT = true, + .cmdBindVertexBuffers2EXT = true, + .cmdSetDepthTestEnableEXT = true, + .cmdSetViewportWithCountEXT = true, + .cmdSetFrontFaceEXT = true, + .cmdSetCullModeEXT = true, + .cmdSetScissorWithCountEXT = true, + .cmdSetPrimitiveTopologyEXT = true, + .cmdSetDepthBoundsTestEnableEXT = true, + .cmdSetStencilTestEnableEXT = true, + }, }; - pub const khr_external_semaphore_fd = Info{ - .name = "VK_KHR_external_semaphore_fd", + pub const khr_deferred_host_operations = ApiInfo{ + .name = "VK_KHR_deferred_host_operations", + .version = 4, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .deferredOperationJoinKHR = true, + .createDeferredOperationKHR = true, + .getDeferredOperationMaxConcurrencyKHR = true, + .getDeferredOperationResultKHR = true, + .destroyDeferredOperationKHR = true, + }, + }; + pub const khr_pipeline_executable_properties = ApiInfo{ + .name = "VK_KHR_pipeline_executable_properties", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getPipelineExecutableStatisticsKHR = true, + .getPipelineExecutableInternalRepresentationsKHR = true, + .getPipelineExecutablePropertiesKHR = true, + }, }; - pub const khr_push_descriptor = Info{ - .name = "VK_KHR_push_descriptor", - .version = 2, + pub const ext_host_image_copy = ApiInfo{ + .name = "VK_EXT_host_image_copy", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .copyImageToMemoryEXT = true, + .getImageSubresourceLayout2EXT = true, + .transitionImageLayoutEXT = true, + .copyMemoryToImageEXT = true, + .copyImageToImageEXT = true, + }, }; - pub const ext_conditional_rendering = Info{ - .name = "VK_EXT_conditional_rendering", - .version = 2, + pub const khr_map_memory_2 = ApiInfo{ + .name = "VK_KHR_map_memory2", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .unmapMemory2KHR = true, + .mapMemory2KHR = true, + }, }; - pub const khr_shader_float_16_int_8 = Info{ - .name = "VK_KHR_shader_float16_int8", + pub const ext_map_memory_placed = ApiInfo{ + .name = "VK_EXT_map_memory_placed", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_1_6bit_storage = Info{ - .name = "VK_KHR_16bit_storage", + pub const ext_shader_atomic_float_2 = ApiInfo{ + .name = "VK_EXT_shader_atomic_float2", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_incremental_present = Info{ - .name = "VK_KHR_incremental_present", + pub const ext_surface_maintenance_1 = ApiInfo{ + .name = "VK_EXT_surface_maintenance1", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_descriptor_update_template = Info{ - .name = "VK_KHR_descriptor_update_template", + pub const ext_swapchain_maintenance_1 = ApiInfo{ + .name = "VK_EXT_swapchain_maintenance1", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .releaseSwapchainImagesEXT = true, + }, + }; + pub const ext_shader_demote_to_helper_invocation = ApiInfo{ + .name = "VK_EXT_shader_demote_to_helper_invocation", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nvx_device_generated_commands = Info{ - .name = "VK_NVX_device_generated_commands", + pub const nv_device_generated_commands = ApiInfo{ + .name = "VK_NV_device_generated_commands", .version = 3, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .createIndirectCommandsLayoutNV = true, + .getGeneratedCommandsMemoryRequirementsNV = true, + .cmdPreprocessGeneratedCommandsNV = true, + .cmdBindPipelineShaderGroupNV = true, + .cmdExecuteGeneratedCommandsNV = true, + .destroyIndirectCommandsLayoutNV = true, + }, }; - pub const nv_clip_space_w_scaling = Info{ - .name = "VK_NV_clip_space_w_scaling", + pub const nv_inherited_viewport_scissor = ApiInfo{ + .name = "VK_NV_inherited_viewport_scissor", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_direct_mode_display = Info{ - .name = "VK_EXT_direct_mode_display", + pub const khr_shader_integer_dot_product = ApiInfo{ + .name = "VK_KHR_shader_integer_dot_product", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_acquire_xlib_display = Info{ - .name = "VK_EXT_acquire_xlib_display", + pub const ext_texel_buffer_alignment = ApiInfo{ + .name = "VK_EXT_texel_buffer_alignment", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_display_surface_counter = Info{ - .name = "VK_EXT_display_surface_counter", - .version = 1, + pub const qcom_render_pass_transform = ApiInfo{ + .name = "VK_QCOM_render_pass_transform", + .version = 4, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_display_control = Info{ - .name = "VK_EXT_display_control", + pub const ext_depth_bias_control = ApiInfo{ + .name = "VK_EXT_depth_bias_control", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetDepthBias2EXT = true, + }, }; - pub const google_display_timing = Info{ - .name = "VK_GOOGLE_display_timing", + pub const ext_device_memory_report = ApiInfo{ + .name = "VK_EXT_device_memory_report", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_acquire_drm_display = ApiInfo{ + .name = "VK_EXT_acquire_drm_display", .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getDrmDisplayEXT = true, + .acquireDrmDisplayEXT = true, + }, + .device_commands = .{}, }; - pub const nv_sample_mask_override_coverage = Info{ - .name = "VK_NV_sample_mask_override_coverage", + pub const ext_robustness_2 = ApiInfo{ + .name = "VK_EXT_robustness2", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_geometry_shader_passthrough = Info{ - .name = "VK_NV_geometry_shader_passthrough", + pub const ext_custom_border_color = ApiInfo{ + .name = "VK_EXT_custom_border_color", + .version = 12, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const google_user_type = ApiInfo{ + .name = "VK_GOOGLE_user_type", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_viewport_array_2 = Info{ - .name = "VK_NV_viewport_array2", + pub const khr_pipeline_library = ApiInfo{ + .name = "VK_KHR_pipeline_library", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nvx_multiview_per_view_attributes = Info{ - .name = "VK_NVX_multiview_per_view_attributes", + pub const nv_present_barrier = ApiInfo{ + .name = "VK_NV_present_barrier", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_viewport_swizzle = Info{ - .name = "VK_NV_viewport_swizzle", + pub const khr_shader_non_semantic_info = ApiInfo{ + .name = "VK_KHR_shader_non_semantic_info", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_discard_rectangles = Info{ - .name = "VK_EXT_discard_rectangles", + pub const khr_present_id = ApiInfo{ + .name = "VK_KHR_present_id", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_conservative_rasterization = Info{ - .name = "VK_EXT_conservative_rasterization", + pub const ext_private_data = ApiInfo{ + .name = "VK_EXT_private_data", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .createPrivateDataSlotEXT = true, + .setPrivateDataEXT = true, + .getPrivateDataEXT = true, + .destroyPrivateDataSlotEXT = true, + }, }; - pub const ext_depth_clip_enable = Info{ - .name = "VK_EXT_depth_clip_enable", + pub const ext_pipeline_creation_cache_control = ApiInfo{ + .name = "VK_EXT_pipeline_creation_cache_control", + .version = 3, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_video_encode_queue = ApiInfo{ + .name = "VK_KHR_video_encode_queue", + .version = 12, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = true, + }, + .device_commands = .{ + .cmdEncodeVideoKHR = true, + .getEncodedVideoSessionParametersKHR = true, + }, + }; + pub const nv_device_diagnostics_config = ApiInfo{ + .name = "VK_NV_device_diagnostics_config", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const qcom_render_pass_store_ops = ApiInfo{ + .name = "VK_QCOM_render_pass_store_ops", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const nv_cuda_kernel_launch = ApiInfo{ + .name = "VK_NV_cuda_kernel_launch", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .createCudaFunctionNV = true, + .destroyCudaModuleNV = true, + .cmdCudaLaunchKernelNV = true, + .getCudaModuleCacheNV = true, + .createCudaModuleNV = true, + .destroyCudaFunctionNV = true, + }, + }; + pub const khr_object_refresh = ApiInfo{ + .name = "VK_KHR_object_refresh", .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceRefreshableObjectTypesKHR = true, + }, + .device_commands = .{ + .cmdRefreshObjectsKHR = true, + }, }; - pub const ext_swapchain_colorspace = Info{ - .name = "VK_EXT_swapchain_colorspace", - .version = 4, + pub const nv_low_latency = ApiInfo{ + .name = "VK_NV_low_latency", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_hdr_metadata = Info{ - .name = "VK_EXT_hdr_metadata", + pub const ext_metal_objects = ApiInfo{ + .name = "VK_EXT_metal_objects", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .exportMetalObjectsEXT = true, + }, }; - pub const khr_imageless_framebuffer = Info{ - .name = "VK_KHR_imageless_framebuffer", + pub const khr_synchronization_2 = ApiInfo{ + .name = "VK_KHR_synchronization2", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdPipelineBarrier2KHR = true, + .cmdWriteTimestamp2KHR = true, + .queueSubmit2KHR = true, + .cmdResetEvent2KHR = true, + .getQueueCheckpointData2NV = true, + .cmdSetEvent2KHR = true, + .cmdWriteBufferMarker2AMD = true, + .cmdWaitEvents2KHR = true, + }, }; - pub const khr_create_renderpass_2 = Info{ - .name = "VK_KHR_create_renderpass2", + pub const ext_descriptor_buffer = ApiInfo{ + .name = "VK_EXT_descriptor_buffer", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getDescriptorSetLayoutSizeEXT = true, + .cmdBindDescriptorBufferEmbeddedSamplersEXT = true, + .getDescriptorEXT = true, + .getBufferOpaqueCaptureDescriptorDataEXT = true, + .getDescriptorSetLayoutBindingOffsetEXT = true, + .getSamplerOpaqueCaptureDescriptorDataEXT = true, + .getImageViewOpaqueCaptureDescriptorDataEXT = true, + .getAccelerationStructureOpaqueCaptureDescriptorDataEXT = true, + .cmdBindDescriptorBuffersEXT = true, + .getImageOpaqueCaptureDescriptorDataEXT = true, + .cmdSetDescriptorBufferOffsetsEXT = true, + }, }; - pub const khr_shared_presentable_image = Info{ - .name = "VK_KHR_shared_presentable_image", + pub const ext_graphics_pipeline_library = ApiInfo{ + .name = "VK_EXT_graphics_pipeline_library", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_external_fence_capabilities = Info{ - .name = "VK_KHR_external_fence_capabilities", + pub const amd_shader_early_and_late_fragment_tests = ApiInfo{ + .name = "VK_AMD_shader_early_and_late_fragment_tests", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_external_fence = Info{ - .name = "VK_KHR_external_fence", + pub const khr_fragment_shader_barycentric = ApiInfo{ + .name = "VK_KHR_fragment_shader_barycentric", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_external_fence_win_32 = Info{ - .name = "VK_KHR_external_fence_win32", + pub const khr_shader_subgroup_uniform_control_flow = ApiInfo{ + .name = "VK_KHR_shader_subgroup_uniform_control_flow", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_external_fence_fd = Info{ - .name = "VK_KHR_external_fence_fd", + pub const khr_zero_initialize_workgroup_memory = ApiInfo{ + .name = "VK_KHR_zero_initialize_workgroup_memory", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_performance_query = Info{ - .name = "VK_KHR_performance_query", + pub const nv_fragment_shading_rate_enums = ApiInfo{ + .name = "VK_NV_fragment_shading_rate_enums", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetFragmentShadingRateEnumNV = true, + }, }; - pub const khr_maintenance_2 = Info{ - .name = "VK_KHR_maintenance2", + pub const nv_ray_tracing_motion_blur = ApiInfo{ + .name = "VK_NV_ray_tracing_motion_blur", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_mesh_shader = ApiInfo{ + .name = "VK_EXT_mesh_shader", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdDrawMeshTasksEXT = true, + .cmdDrawMeshTasksIndirectEXT = true, + .cmdDrawMeshTasksIndirectCountEXT = true, + }, + }; + pub const ext_ycbcr_2plane_444_formats = ApiInfo{ + .name = "VK_EXT_ycbcr_2plane_444_formats", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_fragment_density_map_2 = ApiInfo{ + .name = "VK_EXT_fragment_density_map2", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const qcom_rotated_copy_commands = ApiInfo{ + .name = "VK_QCOM_rotated_copy_commands", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_image_robustness = ApiInfo{ + .name = "VK_EXT_image_robustness", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_workgroup_memory_explicit_layout = ApiInfo{ + .name = "VK_KHR_workgroup_memory_explicit_layout", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_copy_commands_2 = ApiInfo{ + .name = "VK_KHR_copy_commands2", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdCopyBufferToImage2KHR = true, + .cmdCopyImage2KHR = true, + .cmdResolveImage2KHR = true, + .cmdBlitImage2KHR = true, + .cmdCopyImageToBuffer2KHR = true, + .cmdCopyBuffer2KHR = true, + }, + }; + pub const ext_image_compression_control = ApiInfo{ + .name = "VK_EXT_image_compression_control", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getImageSubresourceLayout2EXT = true, + }, + }; + pub const ext_attachment_feedback_loop_layout = ApiInfo{ + .name = "VK_EXT_attachment_feedback_loop_layout", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_4444_formats = ApiInfo{ + .name = "VK_EXT_4444_formats", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_device_fault = ApiInfo{ + .name = "VK_EXT_device_fault", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getDeviceFaultInfoEXT = true, + }, + }; + pub const arm_rasterization_order_attachment_access = ApiInfo{ + .name = "VK_ARM_rasterization_order_attachment_access", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_get_surface_capabilities_2 = Info{ - .name = "VK_KHR_get_surface_capabilities2", + pub const ext_rgba_1_0x_6_formats = ApiInfo{ + .name = "VK_EXT_rgba10x6_formats", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_variable_pointers = Info{ - .name = "VK_KHR_variable_pointers", + pub const nv_acquire_winrt_display = ApiInfo{ + .name = "VK_NV_acquire_winrt_display", .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .acquireWinrtDisplayNV = true, + .getWinrtDisplayNV = true, + }, + .device_commands = .{}, }; - pub const khr_get_display_properties_2 = Info{ - .name = "VK_KHR_get_display_properties2", + pub const ext_directfb_surface = ApiInfo{ + .name = "VK_EXT_directfb_surface", .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceDirectFbPresentationSupportEXT = true, + .createDirectFbSurfaceEXT = true, + }, + .device_commands = .{}, }; - pub const mvk_ios_surface = Info{ - .name = "VK_MVK_ios_surface", - .version = 2, + pub const valve_mutable_descriptor_type = ApiInfo{ + .name = "VK_VALVE_mutable_descriptor_type", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const mvk_macos_surface = Info{ - .name = "VK_MVK_macos_surface", + pub const ext_vertex_input_dynamic_state = ApiInfo{ + .name = "VK_EXT_vertex_input_dynamic_state", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetVertexInputEXT = true, + }, }; - pub const ext_external_memory_dma_buf = Info{ - .name = "VK_EXT_external_memory_dma_buf", + pub const ext_physical_device_drm = ApiInfo{ + .name = "VK_EXT_physical_device_drm", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_queue_family_foreign = Info{ - .name = "VK_EXT_queue_family_foreign", + pub const ext_device_address_binding_report = ApiInfo{ + .name = "VK_EXT_device_address_binding_report", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_dedicated_allocation = Info{ - .name = "VK_KHR_dedicated_allocation", - .version = 3, - }; - pub const ext_debug_utils = Info{ - .name = "VK_EXT_debug_utils", + pub const ext_depth_clip_control = ApiInfo{ + .name = "VK_EXT_depth_clip_control", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const android_external_memory_android_hardware_buffer = Info{ - .name = "VK_ANDROID_external_memory_android_hardware_buffer", - .version = 3, + pub const ext_primitive_topology_list_restart = ApiInfo{ + .name = "VK_EXT_primitive_topology_list_restart", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_sampler_filter_minmax = Info{ - .name = "VK_EXT_sampler_filter_minmax", + pub const khr_format_feature_flags_2 = ApiInfo{ + .name = "VK_KHR_format_feature_flags2", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_storage_buffer_storage_class = Info{ - .name = "VK_KHR_storage_buffer_storage_class", + pub const fuchsia_external_memory = ApiInfo{ + .name = "VK_FUCHSIA_external_memory", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getMemoryZirconHandleFUCHSIA = true, + .getMemoryZirconHandlePropertiesFUCHSIA = true, + }, }; - pub const amd_gpu_shader_int_16 = Info{ - .name = "VK_AMD_gpu_shader_int16", + pub const fuchsia_external_semaphore = ApiInfo{ + .name = "VK_FUCHSIA_external_semaphore", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .importSemaphoreZirconHandleFUCHSIA = true, + .getSemaphoreZirconHandleFUCHSIA = true, + }, + }; + pub const fuchsia_buffer_collection = ApiInfo{ + .name = "VK_FUCHSIA_buffer_collection", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .setBufferCollectionBufferConstraintsFUCHSIA = true, + .destroyBufferCollectionFUCHSIA = true, + .createBufferCollectionFUCHSIA = true, + .getBufferCollectionPropertiesFUCHSIA = true, + .setBufferCollectionImageConstraintsFUCHSIA = true, + }, }; - pub const amd_mixed_attachment_samples = Info{ - .name = "VK_AMD_mixed_attachment_samples", - .version = 1, + pub const huawei_subpass_shading = ApiInfo{ + .name = "VK_HUAWEI_subpass_shading", + .version = 3, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSubpassShadingHUAWEI = true, + .getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = true, + }, }; - pub const amd_shader_fragment_mask = Info{ - .name = "VK_AMD_shader_fragment_mask", + pub const huawei_invocation_mask = ApiInfo{ + .name = "VK_HUAWEI_invocation_mask", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdBindInvocationMaskHUAWEI = true, + }, }; - pub const ext_inline_uniform_block = Info{ - .name = "VK_EXT_inline_uniform_block", + pub const nv_external_memory_rdma = ApiInfo{ + .name = "VK_NV_external_memory_rdma", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getMemoryRemoteAddressNV = true, + }, }; - pub const ext_shader_stencil_export = Info{ - .name = "VK_EXT_shader_stencil_export", + pub const ext_pipeline_properties = ApiInfo{ + .name = "VK_EXT_pipeline_properties", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getPipelinePropertiesEXT = true, + }, }; - pub const ext_sample_locations = Info{ - .name = "VK_EXT_sample_locations", - .version = 1, + pub const nv_external_sci_sync = ApiInfo{ + .name = "VK_NV_external_sci_sync", + .version = 2, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceSciSyncAttributesNV = true, + }, + .device_commands = .{ + .importFenceSciSyncFenceNV = true, + .getFenceSciSyncFenceNV = true, + .importSemaphoreSciSyncObjNV = true, + .getFenceSciSyncObjNV = true, + .importFenceSciSyncObjNV = true, + .getSemaphoreSciSyncObjNV = true, + }, }; - pub const khr_relaxed_block_layout = Info{ - .name = "VK_KHR_relaxed_block_layout", + pub const nv_external_memory_sci_buf = ApiInfo{ + .name = "VK_NV_external_memory_sci_buf", + .version = 2, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceExternalMemorySciBufPropertiesNV = true, + .getPhysicalDeviceSciBufAttributesNV = true, + }, + .device_commands = .{ + .getMemorySciBufNV = true, + }, + }; + pub const ext_frame_boundary = ApiInfo{ + .name = "VK_EXT_frame_boundary", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_get_memory_requirements_2 = Info{ - .name = "VK_KHR_get_memory_requirements2", + pub const ext_multisampled_render_to_single_sampled = ApiInfo{ + .name = "VK_EXT_multisampled_render_to_single_sampled", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_image_format_list = Info{ - .name = "VK_KHR_image_format_list", + pub const ext_extended_dynamic_state_2 = ApiInfo{ + .name = "VK_EXT_extended_dynamic_state2", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetDepthBiasEnableEXT = true, + .cmdSetLogicOpEXT = true, + .cmdSetPrimitiveRestartEnableEXT = true, + .cmdSetRasterizerDiscardEnableEXT = true, + .cmdSetPatchControlPointsEXT = true, + }, }; - pub const ext_blend_operation_advanced = Info{ - .name = "VK_EXT_blend_operation_advanced", - .version = 2, + pub const qnx_screen_surface = ApiInfo{ + .name = "VK_QNX_screen_surface", + .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceScreenPresentationSupportQNX = true, + .createScreenSurfaceQNX = true, + }, + .device_commands = .{}, }; - pub const nv_fragment_coverage_to_color = Info{ - .name = "VK_NV_fragment_coverage_to_color", + pub const ext_color_write_enable = ApiInfo{ + .name = "VK_EXT_color_write_enable", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetColorWriteEnableEXT = true, + }, }; - pub const nv_framebuffer_mixed_samples = Info{ - .name = "VK_NV_framebuffer_mixed_samples", + pub const ext_primitives_generated_query = ApiInfo{ + .name = "VK_EXT_primitives_generated_query", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_fill_rectangle = Info{ - .name = "VK_NV_fill_rectangle", + pub const khr_ray_tracing_maintenance_1 = ApiInfo{ + .name = "VK_KHR_ray_tracing_maintenance1", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdTraceRaysIndirect2KHR = true, + }, }; - pub const nv_shader_sm_builtins = Info{ - .name = "VK_NV_shader_sm_builtins", + pub const ext_global_priority_query = ApiInfo{ + .name = "VK_EXT_global_priority_query", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_post_depth_coverage = Info{ - .name = "VK_EXT_post_depth_coverage", + pub const ext_image_view_min_lod = ApiInfo{ + .name = "VK_EXT_image_view_min_lod", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_sampler_ycbcr_conversion = Info{ - .name = "VK_KHR_sampler_ycbcr_conversion", - .version = 14, + pub const ext_multi_draw = ApiInfo{ + .name = "VK_EXT_multi_draw", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdDrawMultiEXT = true, + .cmdDrawMultiIndexedEXT = true, + }, }; - pub const khr_bind_memory_2 = Info{ - .name = "VK_KHR_bind_memory2", + pub const ext_image_2d_view_of_3d = ApiInfo{ + .name = "VK_EXT_image_2d_view_of_3d", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_image_drm_format_modifier = Info{ - .name = "VK_EXT_image_drm_format_modifier", + pub const khr_portability_enumeration = ApiInfo{ + .name = "VK_KHR_portability_enumeration", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_validation_cache = Info{ - .name = "VK_EXT_validation_cache", + pub const ext_shader_tile_image = ApiInfo{ + .name = "VK_EXT_shader_tile_image", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_descriptor_indexing = Info{ - .name = "VK_EXT_descriptor_indexing", + pub const ext_opacity_micromap = ApiInfo{ + .name = "VK_EXT_opacity_micromap", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .copyMicromapEXT = true, + .copyMemoryToMicromapEXT = true, + .cmdCopyMicromapEXT = true, + .cmdCopyMicromapToMemoryEXT = true, + .getMicromapBuildSizesEXT = true, + .cmdCopyMemoryToMicromapEXT = true, + .destroyMicromapEXT = true, + .cmdWriteMicromapsPropertiesEXT = true, + .writeMicromapsPropertiesEXT = true, + .cmdBuildMicromapsEXT = true, + .getDeviceMicromapCompatibilityEXT = true, + .buildMicromapsEXT = true, + .copyMicromapToMemoryEXT = true, + .createMicromapEXT = true, + }, }; - pub const ext_shader_viewport_index_layer = Info{ - .name = "VK_EXT_shader_viewport_index_layer", - .version = 1, + pub const nv_displacement_micromap = ApiInfo{ + .name = "VK_NV_displacement_micromap", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_shading_rate_image = Info{ - .name = "VK_NV_shading_rate_image", - .version = 3, + pub const ext_load_store_op_none = ApiInfo{ + .name = "VK_EXT_load_store_op_none", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_ray_tracing = Info{ - .name = "VK_NV_ray_tracing", + pub const huawei_cluster_culling_shader = ApiInfo{ + .name = "VK_HUAWEI_cluster_culling_shader", .version = 3, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdDrawClusterHUAWEI = true, + .cmdDrawClusterIndirectHUAWEI = true, + }, }; - pub const nv_representative_fragment_test = Info{ - .name = "VK_NV_representative_fragment_test", - .version = 2, - }; - pub const khr_maintenance_3 = Info{ - .name = "VK_KHR_maintenance3", + pub const ext_border_color_swizzle = ApiInfo{ + .name = "VK_EXT_border_color_swizzle", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_draw_indirect_count = Info{ - .name = "VK_KHR_draw_indirect_count", + pub const ext_pageable_device_local_memory = ApiInfo{ + .name = "VK_EXT_pageable_device_local_memory", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .setDeviceMemoryPriorityEXT = true, + }, }; - pub const ext_filter_cubic = Info{ - .name = "VK_EXT_filter_cubic", + pub const khr_maintenance_4 = ApiInfo{ + .name = "VK_KHR_maintenance4", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getDeviceImageMemoryRequirementsKHR = true, + .getDeviceImageSparseMemoryRequirementsKHR = true, + .getDeviceBufferMemoryRequirementsKHR = true, + }, }; - pub const ext_global_priority = Info{ - .name = "VK_EXT_global_priority", + pub const arm_shader_core_properties = ApiInfo{ + .name = "VK_ARM_shader_core_properties", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const khr_shader_subgroup_rotate = ApiInfo{ + .name = "VK_KHR_shader_subgroup_rotate", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_shader_subgroup_extended_types = Info{ - .name = "VK_KHR_shader_subgroup_extended_types", + pub const arm_scheduling_controls = ApiInfo{ + .name = "VK_ARM_scheduling_controls", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_8bit_storage = Info{ - .name = "VK_KHR_8bit_storage", + pub const ext_image_sliced_view_of_3d = ApiInfo{ + .name = "VK_EXT_image_sliced_view_of_3d", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_external_memory_host = Info{ - .name = "VK_EXT_external_memory_host", + pub const valve_descriptor_set_host_mapping = ApiInfo{ + .name = "VK_VALVE_descriptor_set_host_mapping", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getDescriptorSetLayoutHostMappingInfoVALVE = true, + .getDescriptorSetHostMappingVALVE = true, + }, }; - pub const amd_buffer_marker = Info{ - .name = "VK_AMD_buffer_marker", + pub const ext_depth_clamp_zero_one = ApiInfo{ + .name = "VK_EXT_depth_clamp_zero_one", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_shader_atomic_int_64 = Info{ - .name = "VK_KHR_shader_atomic_int64", + pub const ext_non_seamless_cube_map = ApiInfo{ + .name = "VK_EXT_non_seamless_cube_map", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_shader_clock = Info{ - .name = "VK_KHR_shader_clock", + pub const arm_render_pass_striped = ApiInfo{ + .name = "VK_ARM_render_pass_striped", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const amd_pipeline_compiler_control = Info{ - .name = "VK_AMD_pipeline_compiler_control", + pub const qcom_fragment_density_map_offset = ApiInfo{ + .name = "VK_QCOM_fragment_density_map_offset", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_calibrated_timestamps = Info{ - .name = "VK_EXT_calibrated_timestamps", + pub const nv_copy_memory_indirect = ApiInfo{ + .name = "VK_NV_copy_memory_indirect", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdCopyMemoryIndirectNV = true, + .cmdCopyMemoryToImageIndirectNV = true, + }, }; - pub const amd_shader_core_properties = Info{ - .name = "VK_AMD_shader_core_properties", + pub const nv_memory_decompression = ApiInfo{ + .name = "VK_NV_memory_decompression", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdDecompressMemoryIndirectCountNV = true, + .cmdDecompressMemoryNV = true, + }, + }; + pub const nv_device_generated_commands_compute = ApiInfo{ + .name = "VK_NV_device_generated_commands_compute", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getPipelineIndirectMemoryRequirementsNV = true, + .cmdUpdatePipelineIndirectBufferNV = true, + .getPipelineIndirectDeviceAddressNV = true, + }, }; - pub const amd_memory_overallocation_behavior = Info{ - .name = "VK_AMD_memory_overallocation_behavior", + pub const nv_linear_color_attachment = ApiInfo{ + .name = "VK_NV_linear_color_attachment", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_vertex_attribute_divisor = Info{ - .name = "VK_EXT_vertex_attribute_divisor", - .version = 3, + pub const google_surfaceless_query = ApiInfo{ + .name = "VK_GOOGLE_surfaceless_query", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ggp_frame_token = Info{ - .name = "VK_GGP_frame_token", + pub const khr_shader_maximal_reconvergence = ApiInfo{ + .name = "VK_KHR_shader_maximal_reconvergence", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_pipeline_creation_feedback = Info{ - .name = "VK_EXT_pipeline_creation_feedback", + pub const ext_application_parameters = ApiInfo{ + .name = "VK_EXT_application_parameters", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_driver_properties = Info{ - .name = "VK_KHR_driver_properties", + pub const ext_image_compression_control_swapchain = ApiInfo{ + .name = "VK_EXT_image_compression_control_swapchain", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_shader_float_controls = Info{ - .name = "VK_KHR_shader_float_controls", - .version = 4, + pub const qcom_image_processing = ApiInfo{ + .name = "VK_QCOM_image_processing", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_shader_subgroup_partitioned = Info{ - .name = "VK_NV_shader_subgroup_partitioned", + pub const ext_nested_command_buffer = ApiInfo{ + .name = "VK_EXT_nested_command_buffer", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_depth_stencil_resolve = Info{ - .name = "VK_KHR_depth_stencil_resolve", + pub const ext_external_memory_acquire_unmodified = ApiInfo{ + .name = "VK_EXT_external_memory_acquire_unmodified", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_swapchain_mutable_format = Info{ - .name = "VK_KHR_swapchain_mutable_format", + pub const ext_extended_dynamic_state_3 = ApiInfo{ + .name = "VK_EXT_extended_dynamic_state3", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetRasterizationSamplesEXT = true, + .cmdSetAlphaToCoverageEnableEXT = true, + .cmdSetColorBlendAdvancedEXT = true, + .cmdSetDepthClipNegativeOneToOneEXT = true, + .cmdSetViewportWScalingEnableNV = true, + .cmdSetSampleMaskEXT = true, + .cmdSetExtraPrimitiveOverestimationSizeEXT = true, + .cmdSetCoverageModulationTableNV = true, + .cmdSetColorBlendEnableEXT = true, + .cmdSetCoverageToColorLocationNV = true, + .cmdSetCoverageModulationModeNV = true, + .cmdSetRepresentativeFragmentTestEnableNV = true, + .cmdSetViewportSwizzleNV = true, + .cmdSetLineRasterizationModeEXT = true, + .cmdSetPolygonModeEXT = true, + .cmdSetLogicOpEnableEXT = true, + .cmdSetColorBlendEquationEXT = true, + .cmdSetColorWriteMaskEXT = true, + .cmdSetSampleLocationsEnableEXT = true, + .cmdSetCoverageReductionModeNV = true, + .cmdSetCoverageModulationTableEnableNV = true, + .cmdSetShadingRateImageEnableNV = true, + .cmdSetTessellationDomainOriginEXT = true, + .cmdSetProvokingVertexModeEXT = true, + .cmdSetRasterizationStreamEXT = true, + .cmdSetLineStippleEnableEXT = true, + .cmdSetConservativeRasterizationModeEXT = true, + .cmdSetDepthClipEnableEXT = true, + .cmdSetDepthClampEnableEXT = true, + .cmdSetAlphaToOneEnableEXT = true, + .cmdSetCoverageToColorEnableNV = true, + }, + }; + pub const ext_subpass_merge_feedback = ApiInfo{ + .name = "VK_EXT_subpass_merge_feedback", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const lunarg_direct_driver_loading = ApiInfo{ + .name = "VK_LUNARG_direct_driver_loading", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_compute_shader_derivatives = Info{ - .name = "VK_NV_compute_shader_derivatives", + pub const ext_shader_module_identifier = ApiInfo{ + .name = "VK_EXT_shader_module_identifier", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getShaderModuleIdentifierEXT = true, + .getShaderModuleCreateInfoIdentifierEXT = true, + }, }; - pub const nv_mesh_shader = Info{ - .name = "VK_NV_mesh_shader", + pub const ext_rasterization_order_attachment_access = ApiInfo{ + .name = "VK_EXT_rasterization_order_attachment_access", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_fragment_shader_barycentric = Info{ - .name = "VK_NV_fragment_shader_barycentric", + pub const nv_optical_flow = ApiInfo{ + .name = "VK_NV_optical_flow", .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceOpticalFlowImageFormatsNV = true, + }, + .device_commands = .{ + .destroyOpticalFlowSessionNV = true, + .createOpticalFlowSessionNV = true, + .cmdOpticalFlowExecuteNV = true, + .bindOpticalFlowSessionImageNV = true, + }, }; - pub const nv_shader_image_footprint = Info{ - .name = "VK_NV_shader_image_footprint", + pub const ext_legacy_dithering = ApiInfo{ + .name = "VK_EXT_legacy_dithering", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_scissor_exclusive = Info{ - .name = "VK_NV_scissor_exclusive", + pub const ext_pipeline_protected_access = ApiInfo{ + .name = "VK_EXT_pipeline_protected_access", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_device_diagnostic_checkpoints = Info{ - .name = "VK_NV_device_diagnostic_checkpoints", - .version = 2, - }; - pub const khr_timeline_semaphore = Info{ - .name = "VK_KHR_timeline_semaphore", - .version = 2, + pub const android_external_format_resolve = ApiInfo{ + .name = "VK_ANDROID_external_format_resolve", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const intel_shader_integer_functions_2 = Info{ - .name = "VK_INTEL_shader_integer_functions2", + pub const khr_maintenance_5 = ApiInfo{ + .name = "VK_KHR_maintenance5", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getImageSubresourceLayout2KHR = true, + .cmdBindIndexBuffer2KHR = true, + .getDeviceImageSubresourceLayoutKHR = true, + .getRenderingAreaGranularityKHR = true, + }, }; - pub const intel_performance_query = Info{ - .name = "VK_INTEL_performance_query", + pub const khr_ray_tracing_position_fetch = ApiInfo{ + .name = "VK_KHR_ray_tracing_position_fetch", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_vulkan_memory_model = Info{ - .name = "VK_KHR_vulkan_memory_model", - .version = 3, + pub const ext_shader_object = ApiInfo{ + .name = "VK_EXT_shader_object", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetAlphaToCoverageEnableEXT = true, + .cmdSetStencilOpEXT = true, + .cmdSetViewportWScalingEnableNV = true, + .cmdSetExtraPrimitiveOverestimationSizeEXT = true, + .cmdSetCoverageModulationTableNV = true, + .cmdSetColorBlendEnableEXT = true, + .cmdSetFrontFaceEXT = true, + .cmdBindShadersEXT = true, + .cmdSetPrimitiveRestartEnableEXT = true, + .getShaderBinaryDataEXT = true, + .cmdSetDepthWriteEnableEXT = true, + .cmdSetLogicOpEnableEXT = true, + .cmdSetSampleLocationsEnableEXT = true, + .cmdSetDepthBiasEnableEXT = true, + .cmdSetCoverageReductionModeNV = true, + .cmdSetViewportWithCountEXT = true, + .cmdSetLogicOpEXT = true, + .destroyShaderEXT = true, + .cmdSetCoverageModulationTableEnableNV = true, + .cmdSetProvokingVertexModeEXT = true, + .cmdSetScissorWithCountEXT = true, + .cmdSetRasterizationStreamEXT = true, + .cmdSetLineStippleEnableEXT = true, + .cmdSetDepthBoundsTestEnableEXT = true, + .cmdSetStencilTestEnableEXT = true, + .cmdSetRasterizationSamplesEXT = true, + .cmdSetDepthCompareOpEXT = true, + .cmdSetColorBlendAdvancedEXT = true, + .createShadersEXT = true, + .cmdBindVertexBuffers2EXT = true, + .cmdSetDepthClipNegativeOneToOneEXT = true, + .cmdSetSampleMaskEXT = true, + .cmdSetVertexInputEXT = true, + .cmdSetCoverageToColorLocationNV = true, + .cmdSetCoverageModulationModeNV = true, + .cmdSetRepresentativeFragmentTestEnableNV = true, + .cmdSetViewportSwizzleNV = true, + .cmdSetPrimitiveTopologyEXT = true, + .cmdSetLineRasterizationModeEXT = true, + .cmdSetRasterizerDiscardEnableEXT = true, + .cmdSetPatchControlPointsEXT = true, + .cmdSetPolygonModeEXT = true, + .cmdSetColorBlendEquationEXT = true, + .cmdSetColorWriteMaskEXT = true, + .cmdSetDepthTestEnableEXT = true, + .cmdSetShadingRateImageEnableNV = true, + .cmdSetCullModeEXT = true, + .cmdSetTessellationDomainOriginEXT = true, + .cmdSetConservativeRasterizationModeEXT = true, + .cmdSetDepthClipEnableEXT = true, + .cmdSetDepthClampEnableEXT = true, + .cmdSetAlphaToOneEnableEXT = true, + .cmdSetCoverageToColorEnableNV = true, + }, }; - pub const ext_pci_bus_info = Info{ - .name = "VK_EXT_pci_bus_info", - .version = 2, + pub const qcom_tile_properties = ApiInfo{ + .name = "VK_QCOM_tile_properties", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getDynamicRenderingTilePropertiesQCOM = true, + .getFramebufferTilePropertiesQCOM = true, + }, }; - pub const amd_display_native_hdr = Info{ - .name = "VK_AMD_display_native_hdr", + pub const sec_amigo_profiling = ApiInfo{ + .name = "VK_SEC_amigo_profiling", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const fuchsia_imagepipe_surface = Info{ - .name = "VK_FUCHSIA_imagepipe_surface", + pub const qcom_multiview_per_view_viewports = ApiInfo{ + .name = "VK_QCOM_multiview_per_view_viewports", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_metal_surface = Info{ - .name = "VK_EXT_metal_surface", + pub const nv_external_sci_sync_2 = ApiInfo{ + .name = "VK_NV_external_sci_sync2", .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceSciSyncAttributesNV = true, + }, + .device_commands = .{ + .getFenceSciSyncFenceNV = true, + .getFenceSciSyncObjNV = true, + .createSemaphoreSciSyncPoolNV = true, + .destroySemaphoreSciSyncPoolNV = true, + .importFenceSciSyncFenceNV = true, + .importFenceSciSyncObjNV = true, + }, }; - pub const ext_fragment_density_map = Info{ - .name = "VK_EXT_fragment_density_map", + pub const nv_ray_tracing_invocation_reorder = ApiInfo{ + .name = "VK_NV_ray_tracing_invocation_reorder", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_scalar_block_layout = Info{ - .name = "VK_EXT_scalar_block_layout", + pub const nv_extended_sparse_address_space = ApiInfo{ + .name = "VK_NV_extended_sparse_address_space", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const google_hlsl_functionality_1 = Info{ - .name = "VK_GOOGLE_hlsl_functionality1", + pub const ext_mutable_descriptor_type = ApiInfo{ + .name = "VK_EXT_mutable_descriptor_type", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const google_decorate_string = Info{ - .name = "VK_GOOGLE_decorate_string", + pub const ext_legacy_vertex_attributes = ApiInfo{ + .name = "VK_EXT_legacy_vertex_attributes", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_subgroup_size_control = Info{ - .name = "VK_EXT_subgroup_size_control", + pub const ext_layer_settings = ApiInfo{ + .name = "VK_EXT_layer_settings", .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const amd_shader_core_properties_2 = Info{ - .name = "VK_AMD_shader_core_properties2", + pub const arm_shader_core_builtins = ApiInfo{ + .name = "VK_ARM_shader_core_builtins", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, + }; + pub const ext_pipeline_library_group_handles = ApiInfo{ + .name = "VK_EXT_pipeline_library_group_handles", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const amd_device_coherent_memory = Info{ - .name = "VK_AMD_device_coherent_memory", + pub const ext_dynamic_rendering_unused_attachments = ApiInfo{ + .name = "VK_EXT_dynamic_rendering_unused_attachments", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_spirv_1_4 = Info{ - .name = "VK_KHR_spirv_1_4", + pub const nv_low_latency_2 = ApiInfo{ + .name = "VK_NV_low_latency2", + .version = 2, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .setLatencyMarkerNV = true, + .setLatencySleepModeNV = true, + .latencySleepNV = true, + .getLatencyTimingsNV = true, + .queueNotifyOutOfBandNV = true, + }, + }; + pub const khr_cooperative_matrix = ApiInfo{ + .name = "VK_KHR_cooperative_matrix", + .version = 2, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceCooperativeMatrixPropertiesKHR = true, + }, + .device_commands = .{}, + }; + pub const qcom_multiview_per_view_render_areas = ApiInfo{ + .name = "VK_QCOM_multiview_per_view_render_areas", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_memory_budget = Info{ - .name = "VK_EXT_memory_budget", + pub const khr_video_decode_av_1 = ApiInfo{ + .name = "VK_KHR_video_decode_av1", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_memory_priority = Info{ - .name = "VK_EXT_memory_priority", + pub const khr_video_maintenance_1 = ApiInfo{ + .name = "VK_KHR_video_maintenance1", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_surface_protected_capabilities = Info{ - .name = "VK_KHR_surface_protected_capabilities", + pub const nv_per_stage_descriptor_set = ApiInfo{ + .name = "VK_NV_per_stage_descriptor_set", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_dedicated_allocation_image_aliasing = Info{ - .name = "VK_NV_dedicated_allocation_image_aliasing", + pub const qcom_image_processing_2 = ApiInfo{ + .name = "VK_QCOM_image_processing2", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_separate_depth_stencil_layouts = Info{ - .name = "VK_KHR_separate_depth_stencil_layouts", + pub const qcom_filter_cubic_weights = ApiInfo{ + .name = "VK_QCOM_filter_cubic_weights", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_buffer_device_address = Info{ - .name = "VK_EXT_buffer_device_address", - .version = 2, + pub const qcom_ycbcr_degamma = ApiInfo{ + .name = "VK_QCOM_ycbcr_degamma", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_tooling_info = Info{ - .name = "VK_EXT_tooling_info", + pub const qcom_filter_cubic_clamp = ApiInfo{ + .name = "VK_QCOM_filter_cubic_clamp", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_separate_stencil_usage = Info{ - .name = "VK_EXT_separate_stencil_usage", + pub const ext_attachment_feedback_loop_dynamic_state = ApiInfo{ + .name = "VK_EXT_attachment_feedback_loop_dynamic_state", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetAttachmentFeedbackLoopEnableEXT = true, + }, }; - pub const ext_validation_features = Info{ - .name = "VK_EXT_validation_features", - .version = 2, + pub const khr_vertex_attribute_divisor = ApiInfo{ + .name = "VK_KHR_vertex_attribute_divisor", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_cooperative_matrix = Info{ - .name = "VK_NV_cooperative_matrix", + pub const khr_load_store_op_none = ApiInfo{ + .name = "VK_KHR_load_store_op_none", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const nv_coverage_reduction_mode = Info{ - .name = "VK_NV_coverage_reduction_mode", + pub const khr_shader_float_controls_2 = ApiInfo{ + .name = "VK_KHR_shader_float_controls2", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_fragment_shader_interlock = Info{ - .name = "VK_EXT_fragment_shader_interlock", + pub const qnx_external_memory_screen_buffer = ApiInfo{ + .name = "VK_QNX_external_memory_screen_buffer", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .getScreenBufferPropertiesQNX = true, + }, }; - pub const ext_ycbcr_image_arrays = Info{ - .name = "VK_EXT_ycbcr_image_arrays", + pub const msft_layered_driver = ApiInfo{ + .name = "VK_MSFT_layered_driver", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_uniform_buffer_standard_layout = Info{ - .name = "VK_KHR_uniform_buffer_standard_layout", + pub const khr_index_type_uint_8 = ApiInfo{ + .name = "VK_KHR_index_type_uint8", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_full_screen_exclusive = Info{ - .name = "VK_EXT_full_screen_exclusive", - .version = 4, + pub const khr_line_rasterization = ApiInfo{ + .name = "VK_KHR_line_rasterization", + .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetLineStippleKHR = true, + }, }; - pub const ext_headless_surface = Info{ - .name = "VK_EXT_headless_surface", + pub const khr_calibrated_timestamps = ApiInfo{ + .name = "VK_KHR_calibrated_timestamps", .version = 1, + .base_commands = .{}, + .instance_commands = .{ + .getPhysicalDeviceCalibrateableTimeDomainsKHR = true, + }, + .device_commands = .{ + .getCalibratedTimestampsKHR = true, + }, }; - pub const khr_buffer_device_address = Info{ - .name = "VK_KHR_buffer_device_address", + pub const khr_shader_expect_assume = ApiInfo{ + .name = "VK_KHR_shader_expect_assume", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_line_rasterization = Info{ - .name = "VK_EXT_line_rasterization", + pub const khr_maintenance_6 = ApiInfo{ + .name = "VK_KHR_maintenance6", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{ + .cmdSetDescriptorBufferOffsets2EXT = true, + .cmdPushConstants2KHR = true, + .cmdBindDescriptorBufferEmbeddedSamplers2EXT = true, + .cmdPushDescriptorSet2KHR = true, + .cmdBindDescriptorSets2KHR = true, + .cmdPushDescriptorSetWithTemplate2KHR = true, + }, }; - pub const ext_host_query_reset = Info{ - .name = "VK_EXT_host_query_reset", + pub const nv_descriptor_pool_overallocation = ApiInfo{ + .name = "VK_NV_descriptor_pool_overallocation", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_index_type_uint_8 = Info{ - .name = "VK_EXT_index_type_uint8", + pub const nv_raw_access_chains = ApiInfo{ + .name = "VK_NV_raw_access_chains", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const khr_pipeline_executable_properties = Info{ - .name = "VK_KHR_pipeline_executable_properties", + pub const nv_shader_atomic_float_16_vector = ApiInfo{ + .name = "VK_NV_shader_atomic_float16_vector", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_shader_demote_to_helper_invocation = Info{ - .name = "VK_EXT_shader_demote_to_helper_invocation", + pub const ext_shader_replicated_composites = ApiInfo{ + .name = "VK_EXT_shader_replicated_composites", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const ext_texel_buffer_alignment = Info{ - .name = "VK_EXT_texel_buffer_alignment", + pub const nv_ray_tracing_validation = ApiInfo{ + .name = "VK_NV_ray_tracing_validation", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; - pub const google_user_type = Info{ - .name = "VK_GOOGLE_user_type", + pub const mesa_image_alignment_control = ApiInfo{ + .name = "VK_MESA_image_alignment_control", .version = 1, + .base_commands = .{}, + .instance_commands = .{}, + .device_commands = .{}, }; }; pub fn CommandFlagsMixin(comptime CommandFlags: type) type { return struct { pub fn merge(lhs: CommandFlags, rhs: CommandFlags) CommandFlags { var result: CommandFlags = .{}; + @setEvalBranchQuota(10_000); inline for (@typeInfo(CommandFlags).Struct.fields) |field| { @field(result, field.name) = @field(lhs, field.name) or @field(rhs, field.name); } @@ -11024,6 +23358,7 @@ pub fn CommandFlagsMixin(comptime CommandFlags: type) type { } pub fn intersect(lhs: CommandFlags, rhs: CommandFlags) CommandFlags { var result: CommandFlags = .{}; + @setEvalBranchQuota(10_000); inline for (@typeInfo(CommandFlags).Struct.fields) |field| { @field(result, field.name) = @field(lhs, field.name) and @field(rhs, field.name); } @@ -11031,6 +23366,7 @@ pub fn CommandFlagsMixin(comptime CommandFlags: type) type { } pub fn complement(self: CommandFlags) CommandFlags { var result: CommandFlags = .{}; + @setEvalBranchQuota(10_000); inline for (@typeInfo(CommandFlags).Struct.fields) |field| { @field(result, field.name) = !@field(self, field.name); } @@ -11038,12 +23374,14 @@ pub fn CommandFlagsMixin(comptime CommandFlags: type) type { } pub fn subtract(lhs: CommandFlags, rhs: CommandFlags) CommandFlags { var result: CommandFlags = .{}; + @setEvalBranchQuota(10_000); inline for (@typeInfo(CommandFlags).Struct.fields) |field| { @field(result, field.name) = @field(lhs, field.name) and !@field(rhs, field.name); } return result; } pub fn contains(lhs: CommandFlags, rhs: CommandFlags) bool { + @setEvalBranchQuota(10_000); inline for (@typeInfo(CommandFlags).Struct.fields) |field| { if (!@field(lhs, field.name) and @field(rhs, field.name)) { return false; @@ -11080,26 +23418,32 @@ pub const BaseCommandFlags = packed struct { } pub usingnamespace CommandFlagsMixin(BaseCommandFlags); }; -pub fn BaseWrapper(comptime cmds: BaseCommandFlags) type { +pub fn BaseWrapper(comptime apis: []const ApiInfo) type { return struct { dispatch: Dispatch, const Self = @This(); - pub const commands = cmds; + pub const commands = blk: { + var cmds: BaseCommandFlags = .{}; + for (apis) |api| { + cmds = cmds.merge(api.base_commands); + } + break :blk cmds; + }; pub const Dispatch = blk: { @setEvalBranchQuota(10_000); const Type = std.builtin.Type; const fields_len = fields_len: { var fields_len: u32 = 0; for (@typeInfo(BaseCommandFlags).Struct.fields) |field| { - fields_len += @intCast(@intFromBool(@field(cmds, field.name))); + fields_len += @intCast(@intFromBool(@field(commands, field.name))); } break :fields_len fields_len; }; var fields: [fields_len]Type.StructField = undefined; var i: usize = 0; for (@typeInfo(BaseCommandFlags).Struct.fields) |field| { - if (@field(cmds, field.name)) { + if (@field(commands, field.name)) { const field_tag = std.enums.nameCast(std.meta.FieldEnum(BaseCommandFlags), field.name); const PfnType = BaseCommandFlags.CmdType(field_tag); fields[i] = .{ @@ -11153,11 +23497,11 @@ pub fn BaseWrapper(comptime cmds: BaseCommandFlags) type { p_create_info: *const InstanceCreateInfo, p_allocator: ?*const AllocationCallbacks, ) CreateInstanceError!Instance { - var instance: Instance = undefined; + var out_instance: Instance = undefined; const result = self.dispatch.vkCreateInstance( p_create_info, p_allocator, - &instance, + &out_instance, ); switch (result) { Result.success => {}, @@ -11169,7 +23513,7 @@ pub fn BaseWrapper(comptime cmds: BaseCommandFlags) type { Result.error_incompatible_driver => return error.IncompatibleDriver, else => return error.Unknown, } - return instance; + return out_instance; } pub fn getInstanceProcAddr( self: Self, @@ -11182,20 +23526,22 @@ pub fn BaseWrapper(comptime cmds: BaseCommandFlags) type { ); } pub const EnumerateInstanceVersionError = error{ + OutOfHostMemory, Unknown, }; pub fn enumerateInstanceVersion( self: Self, ) EnumerateInstanceVersionError!u32 { - var api_version: u32 = undefined; + var out_api_version: u32 = undefined; const result = self.dispatch.vkEnumerateInstanceVersion( - &api_version, + &out_api_version, ); switch (result) { Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, else => return error.Unknown, } - return api_version; + return out_api_version; } pub const EnumerateInstanceLayerPropertiesError = error{ OutOfHostMemory, @@ -11285,13 +23631,16 @@ pub const InstanceCommandFlags = packed struct { getPhysicalDeviceXlibPresentationSupportKHR: bool = false, createXcbSurfaceKHR: bool = false, getPhysicalDeviceXcbPresentationSupportKHR: bool = false, + createDirectFbSurfaceEXT: bool = false, + getPhysicalDeviceDirectFbPresentationSupportEXT: bool = false, createImagePipeSurfaceFUCHSIA: bool = false, createStreamDescriptorSurfaceGGP: bool = false, + createScreenSurfaceQNX: bool = false, + getPhysicalDeviceScreenPresentationSupportQNX: bool = false, createDebugReportCallbackEXT: bool = false, destroyDebugReportCallbackEXT: bool = false, debugReportMessageEXT: bool = false, getPhysicalDeviceExternalImageFormatPropertiesNV: bool = false, - getPhysicalDeviceGeneratedCommandsPropertiesNVX: bool = false, getPhysicalDeviceFeatures2: bool = false, getPhysicalDeviceFeatures2KHR: bool = false, getPhysicalDeviceProperties2: bool = false, @@ -11308,13 +23657,18 @@ pub const InstanceCommandFlags = packed struct { getPhysicalDeviceSparseImageFormatProperties2KHR: bool = false, getPhysicalDeviceExternalBufferProperties: bool = false, getPhysicalDeviceExternalBufferPropertiesKHR: bool = false, + getPhysicalDeviceExternalMemorySciBufPropertiesNV: bool = false, + getPhysicalDeviceSciBufAttributesNV: bool = false, getPhysicalDeviceExternalSemaphoreProperties: bool = false, getPhysicalDeviceExternalSemaphorePropertiesKHR: bool = false, getPhysicalDeviceExternalFenceProperties: bool = false, getPhysicalDeviceExternalFencePropertiesKHR: bool = false, + getPhysicalDeviceSciSyncAttributesNV: bool = false, releaseDisplayEXT: bool = false, acquireXlibDisplayEXT: bool = false, getRandROutputDisplayEXT: bool = false, + acquireWinrtDisplayNV: bool = false, + getWinrtDisplayNV: bool = false, getPhysicalDeviceSurfaceCapabilities2EXT: bool = false, enumeratePhysicalDeviceGroups: bool = false, enumeratePhysicalDeviceGroupsKHR: bool = false, @@ -11329,6 +23683,7 @@ pub const InstanceCommandFlags = packed struct { getPhysicalDeviceDisplayPlaneProperties2KHR: bool = false, getDisplayModeProperties2KHR: bool = false, getDisplayPlaneCapabilities2KHR: bool = false, + getPhysicalDeviceCalibrateableTimeDomainsKHR: bool = false, getPhysicalDeviceCalibrateableTimeDomainsEXT: bool = false, createDebugUtilsMessengerEXT: bool = false, destroyDebugUtilsMessengerEXT: bool = false, @@ -11339,7 +23694,17 @@ pub const InstanceCommandFlags = packed struct { getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR: bool = false, createHeadlessSurfaceEXT: bool = false, getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV: bool = false, + getPhysicalDeviceToolProperties: bool = false, getPhysicalDeviceToolPropertiesEXT: bool = false, + getPhysicalDeviceRefreshableObjectTypesKHR: bool = false, + getPhysicalDeviceFragmentShadingRatesKHR: bool = false, + getPhysicalDeviceVideoCapabilitiesKHR: bool = false, + getPhysicalDeviceVideoFormatPropertiesKHR: bool = false, + getPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR: bool = false, + acquireDrmDisplayEXT: bool = false, + getDrmDisplayEXT: bool = false, + getPhysicalDeviceOpticalFlowImageFormatsNV: bool = false, + getPhysicalDeviceCooperativeMatrixPropertiesKHR: bool = false, pub fn CmdType(comptime tag: std.meta.FieldEnum(InstanceCommandFlags)) type { return switch (tag) { .destroyInstance => PfnDestroyInstance, @@ -11377,13 +23742,16 @@ pub const InstanceCommandFlags = packed struct { .getPhysicalDeviceXlibPresentationSupportKHR => PfnGetPhysicalDeviceXlibPresentationSupportKHR, .createXcbSurfaceKHR => PfnCreateXcbSurfaceKHR, .getPhysicalDeviceXcbPresentationSupportKHR => PfnGetPhysicalDeviceXcbPresentationSupportKHR, + .createDirectFbSurfaceEXT => PfnCreateDirectFBSurfaceEXT, + .getPhysicalDeviceDirectFbPresentationSupportEXT => PfnGetPhysicalDeviceDirectFBPresentationSupportEXT, .createImagePipeSurfaceFUCHSIA => PfnCreateImagePipeSurfaceFUCHSIA, .createStreamDescriptorSurfaceGGP => PfnCreateStreamDescriptorSurfaceGGP, + .createScreenSurfaceQNX => PfnCreateScreenSurfaceQNX, + .getPhysicalDeviceScreenPresentationSupportQNX => PfnGetPhysicalDeviceScreenPresentationSupportQNX, .createDebugReportCallbackEXT => PfnCreateDebugReportCallbackEXT, .destroyDebugReportCallbackEXT => PfnDestroyDebugReportCallbackEXT, .debugReportMessageEXT => PfnDebugReportMessageEXT, .getPhysicalDeviceExternalImageFormatPropertiesNV => PfnGetPhysicalDeviceExternalImageFormatPropertiesNV, - .getPhysicalDeviceGeneratedCommandsPropertiesNVX => PfnGetPhysicalDeviceGeneratedCommandsPropertiesNVX, .getPhysicalDeviceFeatures2 => PfnGetPhysicalDeviceFeatures2, .getPhysicalDeviceFeatures2KHR => PfnGetPhysicalDeviceFeatures2KHR, .getPhysicalDeviceProperties2 => PfnGetPhysicalDeviceProperties2, @@ -11400,13 +23768,18 @@ pub const InstanceCommandFlags = packed struct { .getPhysicalDeviceSparseImageFormatProperties2KHR => PfnGetPhysicalDeviceSparseImageFormatProperties2KHR, .getPhysicalDeviceExternalBufferProperties => PfnGetPhysicalDeviceExternalBufferProperties, .getPhysicalDeviceExternalBufferPropertiesKHR => PfnGetPhysicalDeviceExternalBufferPropertiesKHR, + .getPhysicalDeviceExternalMemorySciBufPropertiesNV => PfnGetPhysicalDeviceExternalMemorySciBufPropertiesNV, + .getPhysicalDeviceSciBufAttributesNV => PfnGetPhysicalDeviceSciBufAttributesNV, .getPhysicalDeviceExternalSemaphoreProperties => PfnGetPhysicalDeviceExternalSemaphoreProperties, .getPhysicalDeviceExternalSemaphorePropertiesKHR => PfnGetPhysicalDeviceExternalSemaphorePropertiesKHR, .getPhysicalDeviceExternalFenceProperties => PfnGetPhysicalDeviceExternalFenceProperties, .getPhysicalDeviceExternalFencePropertiesKHR => PfnGetPhysicalDeviceExternalFencePropertiesKHR, + .getPhysicalDeviceSciSyncAttributesNV => PfnGetPhysicalDeviceSciSyncAttributesNV, .releaseDisplayEXT => PfnReleaseDisplayEXT, .acquireXlibDisplayEXT => PfnAcquireXlibDisplayEXT, .getRandROutputDisplayEXT => PfnGetRandROutputDisplayEXT, + .acquireWinrtDisplayNV => PfnAcquireWinrtDisplayNV, + .getWinrtDisplayNV => PfnGetWinrtDisplayNV, .getPhysicalDeviceSurfaceCapabilities2EXT => PfnGetPhysicalDeviceSurfaceCapabilities2EXT, .enumeratePhysicalDeviceGroups => PfnEnumeratePhysicalDeviceGroups, .enumeratePhysicalDeviceGroupsKHR => PfnEnumeratePhysicalDeviceGroupsKHR, @@ -11421,6 +23794,7 @@ pub const InstanceCommandFlags = packed struct { .getPhysicalDeviceDisplayPlaneProperties2KHR => PfnGetPhysicalDeviceDisplayPlaneProperties2KHR, .getDisplayModeProperties2KHR => PfnGetDisplayModeProperties2KHR, .getDisplayPlaneCapabilities2KHR => PfnGetDisplayPlaneCapabilities2KHR, + .getPhysicalDeviceCalibrateableTimeDomainsKHR => PfnGetPhysicalDeviceCalibrateableTimeDomainsKHR, .getPhysicalDeviceCalibrateableTimeDomainsEXT => PfnGetPhysicalDeviceCalibrateableTimeDomainsEXT, .createDebugUtilsMessengerEXT => PfnCreateDebugUtilsMessengerEXT, .destroyDebugUtilsMessengerEXT => PfnDestroyDebugUtilsMessengerEXT, @@ -11431,7 +23805,17 @@ pub const InstanceCommandFlags = packed struct { .getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR => PfnGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR, .createHeadlessSurfaceEXT => PfnCreateHeadlessSurfaceEXT, .getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV => PfnGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV, + .getPhysicalDeviceToolProperties => PfnGetPhysicalDeviceToolProperties, .getPhysicalDeviceToolPropertiesEXT => PfnGetPhysicalDeviceToolPropertiesEXT, + .getPhysicalDeviceRefreshableObjectTypesKHR => PfnGetPhysicalDeviceRefreshableObjectTypesKHR, + .getPhysicalDeviceFragmentShadingRatesKHR => PfnGetPhysicalDeviceFragmentShadingRatesKHR, + .getPhysicalDeviceVideoCapabilitiesKHR => PfnGetPhysicalDeviceVideoCapabilitiesKHR, + .getPhysicalDeviceVideoFormatPropertiesKHR => PfnGetPhysicalDeviceVideoFormatPropertiesKHR, + .getPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR => PfnGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, + .acquireDrmDisplayEXT => PfnAcquireDrmDisplayEXT, + .getDrmDisplayEXT => PfnGetDrmDisplayEXT, + .getPhysicalDeviceOpticalFlowImageFormatsNV => PfnGetPhysicalDeviceOpticalFlowImageFormatsNV, + .getPhysicalDeviceCooperativeMatrixPropertiesKHR => PfnGetPhysicalDeviceCooperativeMatrixPropertiesKHR, }; } pub fn cmdName(tag: std.meta.FieldEnum(InstanceCommandFlags)) [:0]const u8 { @@ -11471,13 +23855,16 @@ pub const InstanceCommandFlags = packed struct { .getPhysicalDeviceXlibPresentationSupportKHR => "vkGetPhysicalDeviceXlibPresentationSupportKHR", .createXcbSurfaceKHR => "vkCreateXcbSurfaceKHR", .getPhysicalDeviceXcbPresentationSupportKHR => "vkGetPhysicalDeviceXcbPresentationSupportKHR", + .createDirectFbSurfaceEXT => "vkCreateDirectFBSurfaceEXT", + .getPhysicalDeviceDirectFbPresentationSupportEXT => "vkGetPhysicalDeviceDirectFBPresentationSupportEXT", .createImagePipeSurfaceFUCHSIA => "vkCreateImagePipeSurfaceFUCHSIA", .createStreamDescriptorSurfaceGGP => "vkCreateStreamDescriptorSurfaceGGP", + .createScreenSurfaceQNX => "vkCreateScreenSurfaceQNX", + .getPhysicalDeviceScreenPresentationSupportQNX => "vkGetPhysicalDeviceScreenPresentationSupportQNX", .createDebugReportCallbackEXT => "vkCreateDebugReportCallbackEXT", .destroyDebugReportCallbackEXT => "vkDestroyDebugReportCallbackEXT", .debugReportMessageEXT => "vkDebugReportMessageEXT", .getPhysicalDeviceExternalImageFormatPropertiesNV => "vkGetPhysicalDeviceExternalImageFormatPropertiesNV", - .getPhysicalDeviceGeneratedCommandsPropertiesNVX => "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX", .getPhysicalDeviceFeatures2 => "vkGetPhysicalDeviceFeatures2", .getPhysicalDeviceFeatures2KHR => "vkGetPhysicalDeviceFeatures2KHR", .getPhysicalDeviceProperties2 => "vkGetPhysicalDeviceProperties2", @@ -11494,13 +23881,18 @@ pub const InstanceCommandFlags = packed struct { .getPhysicalDeviceSparseImageFormatProperties2KHR => "vkGetPhysicalDeviceSparseImageFormatProperties2KHR", .getPhysicalDeviceExternalBufferProperties => "vkGetPhysicalDeviceExternalBufferProperties", .getPhysicalDeviceExternalBufferPropertiesKHR => "vkGetPhysicalDeviceExternalBufferPropertiesKHR", + .getPhysicalDeviceExternalMemorySciBufPropertiesNV => "vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV", + .getPhysicalDeviceSciBufAttributesNV => "vkGetPhysicalDeviceSciBufAttributesNV", .getPhysicalDeviceExternalSemaphoreProperties => "vkGetPhysicalDeviceExternalSemaphoreProperties", .getPhysicalDeviceExternalSemaphorePropertiesKHR => "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR", .getPhysicalDeviceExternalFenceProperties => "vkGetPhysicalDeviceExternalFenceProperties", .getPhysicalDeviceExternalFencePropertiesKHR => "vkGetPhysicalDeviceExternalFencePropertiesKHR", + .getPhysicalDeviceSciSyncAttributesNV => "vkGetPhysicalDeviceSciSyncAttributesNV", .releaseDisplayEXT => "vkReleaseDisplayEXT", .acquireXlibDisplayEXT => "vkAcquireXlibDisplayEXT", .getRandROutputDisplayEXT => "vkGetRandROutputDisplayEXT", + .acquireWinrtDisplayNV => "vkAcquireWinrtDisplayNV", + .getWinrtDisplayNV => "vkGetWinrtDisplayNV", .getPhysicalDeviceSurfaceCapabilities2EXT => "vkGetPhysicalDeviceSurfaceCapabilities2EXT", .enumeratePhysicalDeviceGroups => "vkEnumeratePhysicalDeviceGroups", .enumeratePhysicalDeviceGroupsKHR => "vkEnumeratePhysicalDeviceGroupsKHR", @@ -11515,6 +23907,7 @@ pub const InstanceCommandFlags = packed struct { .getPhysicalDeviceDisplayPlaneProperties2KHR => "vkGetPhysicalDeviceDisplayPlaneProperties2KHR", .getDisplayModeProperties2KHR => "vkGetDisplayModeProperties2KHR", .getDisplayPlaneCapabilities2KHR => "vkGetDisplayPlaneCapabilities2KHR", + .getPhysicalDeviceCalibrateableTimeDomainsKHR => "vkGetPhysicalDeviceCalibrateableTimeDomainsKHR", .getPhysicalDeviceCalibrateableTimeDomainsEXT => "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT", .createDebugUtilsMessengerEXT => "vkCreateDebugUtilsMessengerEXT", .destroyDebugUtilsMessengerEXT => "vkDestroyDebugUtilsMessengerEXT", @@ -11525,31 +23918,47 @@ pub const InstanceCommandFlags = packed struct { .getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR => "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR", .createHeadlessSurfaceEXT => "vkCreateHeadlessSurfaceEXT", .getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV => "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV", + .getPhysicalDeviceToolProperties => "vkGetPhysicalDeviceToolProperties", .getPhysicalDeviceToolPropertiesEXT => "vkGetPhysicalDeviceToolPropertiesEXT", + .getPhysicalDeviceRefreshableObjectTypesKHR => "vkGetPhysicalDeviceRefreshableObjectTypesKHR", + .getPhysicalDeviceFragmentShadingRatesKHR => "vkGetPhysicalDeviceFragmentShadingRatesKHR", + .getPhysicalDeviceVideoCapabilitiesKHR => "vkGetPhysicalDeviceVideoCapabilitiesKHR", + .getPhysicalDeviceVideoFormatPropertiesKHR => "vkGetPhysicalDeviceVideoFormatPropertiesKHR", + .getPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR => "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR", + .acquireDrmDisplayEXT => "vkAcquireDrmDisplayEXT", + .getDrmDisplayEXT => "vkGetDrmDisplayEXT", + .getPhysicalDeviceOpticalFlowImageFormatsNV => "vkGetPhysicalDeviceOpticalFlowImageFormatsNV", + .getPhysicalDeviceCooperativeMatrixPropertiesKHR => "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR", }; } pub usingnamespace CommandFlagsMixin(InstanceCommandFlags); }; -pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { +pub fn InstanceWrapper(comptime apis: []const ApiInfo) type { return struct { dispatch: Dispatch, const Self = @This(); - pub const commands = cmds; + pub const commands = blk: { + var cmds: InstanceCommandFlags = .{}; + for (apis) |api| { + cmds = cmds.merge(api.instance_commands); + } + break :blk cmds; + }; pub const Dispatch = blk: { @setEvalBranchQuota(10_000); const Type = std.builtin.Type; const fields_len = fields_len: { var fields_len: u32 = 0; for (@typeInfo(InstanceCommandFlags).Struct.fields) |field| { - fields_len += @intCast(@intFromBool(@field(cmds, field.name))); + fields_len += @intCast(@intFromBool(@field(commands, field.name))); } break :fields_len fields_len; }; var fields: [fields_len]Type.StructField = undefined; var i: usize = 0; for (@typeInfo(InstanceCommandFlags).Struct.fields) |field| { - if (@field(cmds, field.name)) { + if (@field(commands, field.name)) { const field_tag = std.enums.nameCast(std.meta.FieldEnum(InstanceCommandFlags), field.name); const PfnType = InstanceCommandFlags.CmdType(field_tag); fields[i] = .{ @@ -11640,12 +24049,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { self: Self, physical_device: PhysicalDevice, ) PhysicalDeviceProperties { - var properties: PhysicalDeviceProperties = undefined; + var out_properties: PhysicalDeviceProperties = undefined; self.dispatch.vkGetPhysicalDeviceProperties( physical_device, - &properties, + &out_properties, ); - return properties; + return out_properties; } pub fn getPhysicalDeviceQueueFamilyProperties( self: Self, @@ -11663,36 +24072,36 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { self: Self, physical_device: PhysicalDevice, ) PhysicalDeviceMemoryProperties { - var memory_properties: PhysicalDeviceMemoryProperties = undefined; + var out_memory_properties: PhysicalDeviceMemoryProperties = undefined; self.dispatch.vkGetPhysicalDeviceMemoryProperties( physical_device, - &memory_properties, + &out_memory_properties, ); - return memory_properties; + return out_memory_properties; } pub fn getPhysicalDeviceFeatures( self: Self, physical_device: PhysicalDevice, ) PhysicalDeviceFeatures { - var features: PhysicalDeviceFeatures = undefined; + var out_features: PhysicalDeviceFeatures = undefined; self.dispatch.vkGetPhysicalDeviceFeatures( physical_device, - &features, + &out_features, ); - return features; + return out_features; } pub fn getPhysicalDeviceFormatProperties( self: Self, physical_device: PhysicalDevice, format: Format, ) FormatProperties { - var format_properties: FormatProperties = undefined; + var out_format_properties: FormatProperties = undefined; self.dispatch.vkGetPhysicalDeviceFormatProperties( physical_device, format, - &format_properties, + &out_format_properties, ); - return format_properties; + return out_format_properties; } pub const GetPhysicalDeviceImageFormatPropertiesError = error{ OutOfHostMemory, @@ -11709,7 +24118,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { usage: ImageUsageFlags, flags: ImageCreateFlags, ) GetPhysicalDeviceImageFormatPropertiesError!ImageFormatProperties { - var image_format_properties: ImageFormatProperties = undefined; + var out_image_format_properties: ImageFormatProperties = undefined; const result = self.dispatch.vkGetPhysicalDeviceImageFormatProperties( physical_device, format, @@ -11717,7 +24126,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { tiling, usage, flags, - &image_format_properties, + &out_image_format_properties, ); switch (result) { Result.success => {}, @@ -11726,7 +24135,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_format_not_supported => return error.FormatNotSupported, else => return error.Unknown, } - return image_format_properties; + return out_image_format_properties; } pub const CreateDeviceError = error{ OutOfHostMemory, @@ -11744,12 +24153,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const DeviceCreateInfo, p_allocator: ?*const AllocationCallbacks, ) CreateDeviceError!Device { - var device: Device = undefined; + var out_device: Device = undefined; const result = self.dispatch.vkCreateDevice( physical_device, p_create_info, p_allocator, - &device, + &out_device, ); switch (result) { Result.success => {}, @@ -11762,7 +24171,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_device_lost => return error.DeviceLost, else => return error.Unknown, } - return device; + return out_device; } pub const EnumerateDeviceLayerPropertiesError = error{ OutOfHostMemory, @@ -11852,12 +24261,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const AndroidSurfaceCreateInfoKHR, p_allocator: ?*const AllocationCallbacks, ) CreateAndroidSurfaceKHRError!SurfaceKHR { - var surface: SurfaceKHR = undefined; + var out_surface: SurfaceKHR = undefined; const result = self.dispatch.vkCreateAndroidSurfaceKHR( instance, p_create_info, p_allocator, - &surface, + &out_surface, ); switch (result) { Result.success => {}, @@ -11866,7 +24275,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_native_window_in_use_khr => return error.NativeWindowInUseKHR, else => return error.Unknown, } - return surface; + return out_surface; } pub const GetPhysicalDeviceDisplayPropertiesKHRError = error{ OutOfHostMemory, @@ -11985,13 +24394,13 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const DisplayModeCreateInfoKHR, p_allocator: ?*const AllocationCallbacks, ) CreateDisplayModeKHRError!DisplayModeKHR { - var mode: DisplayModeKHR = undefined; + var out_mode: DisplayModeKHR = undefined; const result = self.dispatch.vkCreateDisplayModeKHR( physical_device, display, p_create_info, p_allocator, - &mode, + &out_mode, ); switch (result) { Result.success => {}, @@ -12000,7 +24409,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_initialization_failed => return error.InitializationFailed, else => return error.Unknown, } - return mode; + return out_mode; } pub const GetDisplayPlaneCapabilitiesKHRError = error{ OutOfHostMemory, @@ -12013,12 +24422,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { mode: DisplayModeKHR, plane_index: u32, ) GetDisplayPlaneCapabilitiesKHRError!DisplayPlaneCapabilitiesKHR { - var capabilities: DisplayPlaneCapabilitiesKHR = undefined; + var out_capabilities: DisplayPlaneCapabilitiesKHR = undefined; const result = self.dispatch.vkGetDisplayPlaneCapabilitiesKHR( physical_device, mode, plane_index, - &capabilities, + &out_capabilities, ); switch (result) { Result.success => {}, @@ -12026,7 +24435,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_out_of_device_memory => return error.OutOfDeviceMemory, else => return error.Unknown, } - return capabilities; + return out_capabilities; } pub const CreateDisplayPlaneSurfaceKHRError = error{ OutOfHostMemory, @@ -12039,12 +24448,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const DisplaySurfaceCreateInfoKHR, p_allocator: ?*const AllocationCallbacks, ) CreateDisplayPlaneSurfaceKHRError!SurfaceKHR { - var surface: SurfaceKHR = undefined; + var out_surface: SurfaceKHR = undefined; const result = self.dispatch.vkCreateDisplayPlaneSurfaceKHR( instance, p_create_info, p_allocator, - &surface, + &out_surface, ); switch (result) { Result.success => {}, @@ -12052,7 +24461,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_out_of_device_memory => return error.OutOfDeviceMemory, else => return error.Unknown, } - return surface; + return out_surface; } pub fn destroySurfaceKHR( self: Self, @@ -12078,12 +24487,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { queue_family_index: u32, surface: SurfaceKHR, ) GetPhysicalDeviceSurfaceSupportKHRError!Bool32 { - var supported: Bool32 = undefined; + var out_supported: Bool32 = undefined; const result = self.dispatch.vkGetPhysicalDeviceSurfaceSupportKHR( physical_device, queue_family_index, surface, - &supported, + &out_supported, ); switch (result) { Result.success => {}, @@ -12092,7 +24501,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_surface_lost_khr => return error.SurfaceLostKHR, else => return error.Unknown, } - return supported; + return out_supported; } pub const GetPhysicalDeviceSurfaceCapabilitiesKHRError = error{ OutOfHostMemory, @@ -12105,11 +24514,11 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { physical_device: PhysicalDevice, surface: SurfaceKHR, ) GetPhysicalDeviceSurfaceCapabilitiesKHRError!SurfaceCapabilitiesKHR { - var surface_capabilities: SurfaceCapabilitiesKHR = undefined; + var out_surface_capabilities: SurfaceCapabilitiesKHR = undefined; const result = self.dispatch.vkGetPhysicalDeviceSurfaceCapabilitiesKHR( physical_device, surface, - &surface_capabilities, + &out_surface_capabilities, ); switch (result) { Result.success => {}, @@ -12118,7 +24527,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_surface_lost_khr => return error.SurfaceLostKHR, else => return error.Unknown, } - return surface_capabilities; + return out_surface_capabilities; } pub const GetPhysicalDeviceSurfaceFormatsKHRError = error{ OutOfHostMemory, @@ -12190,12 +24599,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const ViSurfaceCreateInfoNN, p_allocator: ?*const AllocationCallbacks, ) CreateViSurfaceNNError!SurfaceKHR { - var surface: SurfaceKHR = undefined; + var out_surface: SurfaceKHR = undefined; const result = self.dispatch.vkCreateViSurfaceNN( instance, p_create_info, p_allocator, - &surface, + &out_surface, ); switch (result) { Result.success => {}, @@ -12204,7 +24613,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_native_window_in_use_khr => return error.NativeWindowInUseKHR, else => return error.Unknown, } - return surface; + return out_surface; } pub const CreateWaylandSurfaceKHRError = error{ OutOfHostMemory, @@ -12217,12 +24626,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const WaylandSurfaceCreateInfoKHR, p_allocator: ?*const AllocationCallbacks, ) CreateWaylandSurfaceKHRError!SurfaceKHR { - var surface: SurfaceKHR = undefined; + var out_surface: SurfaceKHR = undefined; const result = self.dispatch.vkCreateWaylandSurfaceKHR( instance, p_create_info, p_allocator, - &surface, + &out_surface, ); switch (result) { Result.success => {}, @@ -12230,7 +24639,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_out_of_device_memory => return error.OutOfDeviceMemory, else => return error.Unknown, } - return surface; + return out_surface; } pub fn getPhysicalDeviceWaylandPresentationSupportKHR( self: Self, @@ -12255,12 +24664,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const Win32SurfaceCreateInfoKHR, p_allocator: ?*const AllocationCallbacks, ) CreateWin32SurfaceKHRError!SurfaceKHR { - var surface: SurfaceKHR = undefined; + var out_surface: SurfaceKHR = undefined; const result = self.dispatch.vkCreateWin32SurfaceKHR( instance, p_create_info, p_allocator, - &surface, + &out_surface, ); switch (result) { Result.success => {}, @@ -12268,7 +24677,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_out_of_device_memory => return error.OutOfDeviceMemory, else => return error.Unknown, } - return surface; + return out_surface; } pub fn getPhysicalDeviceWin32PresentationSupportKHR( self: Self, @@ -12291,12 +24700,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const XlibSurfaceCreateInfoKHR, p_allocator: ?*const AllocationCallbacks, ) CreateXlibSurfaceKHRError!SurfaceKHR { - var surface: SurfaceKHR = undefined; + var out_surface: SurfaceKHR = undefined; const result = self.dispatch.vkCreateXlibSurfaceKHR( instance, p_create_info, p_allocator, - &surface, + &out_surface, ); switch (result) { Result.success => {}, @@ -12304,7 +24713,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_out_of_device_memory => return error.OutOfDeviceMemory, else => return error.Unknown, } - return surface; + return out_surface; } pub fn getPhysicalDeviceXlibPresentationSupportKHR( self: Self, @@ -12331,12 +24740,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const XcbSurfaceCreateInfoKHR, p_allocator: ?*const AllocationCallbacks, ) CreateXcbSurfaceKHRError!SurfaceKHR { - var surface: SurfaceKHR = undefined; + var out_surface: SurfaceKHR = undefined; const result = self.dispatch.vkCreateXcbSurfaceKHR( instance, p_create_info, p_allocator, - &surface, + &out_surface, ); switch (result) { Result.success => {}, @@ -12344,7 +24753,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_out_of_device_memory => return error.OutOfDeviceMemory, else => return error.Unknown, } - return surface; + return out_surface; } pub fn getPhysicalDeviceXcbPresentationSupportKHR( self: Self, @@ -12360,6 +24769,44 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { visual_id, ); } + pub const CreateDirectFbSurfaceEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createDirectFbSurfaceEXT( + self: Self, + instance: Instance, + p_create_info: *const DirectFBSurfaceCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) CreateDirectFbSurfaceEXTError!SurfaceKHR { + var out_surface: SurfaceKHR = undefined; + const result = self.dispatch.vkCreateDirectFBSurfaceEXT( + instance, + p_create_info, + p_allocator, + &out_surface, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_surface; + } + pub fn getPhysicalDeviceDirectFbPresentationSupportEXT( + self: Self, + physical_device: PhysicalDevice, + queue_family_index: u32, + dfb: *IDirectFB, + ) Bool32 { + return self.dispatch.vkGetPhysicalDeviceDirectFBPresentationSupportEXT( + physical_device, + queue_family_index, + dfb, + ); + } pub const CreateImagePipeSurfaceFUCHSIAError = error{ OutOfHostMemory, OutOfDeviceMemory, @@ -12371,12 +24818,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const ImagePipeSurfaceCreateInfoFUCHSIA, p_allocator: ?*const AllocationCallbacks, ) CreateImagePipeSurfaceFUCHSIAError!SurfaceKHR { - var surface: SurfaceKHR = undefined; + var out_surface: SurfaceKHR = undefined; const result = self.dispatch.vkCreateImagePipeSurfaceFUCHSIA( instance, p_create_info, p_allocator, - &surface, + &out_surface, ); switch (result) { Result.success => {}, @@ -12384,7 +24831,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_out_of_device_memory => return error.OutOfDeviceMemory, else => return error.Unknown, } - return surface; + return out_surface; } pub const CreateStreamDescriptorSurfaceGGPError = error{ OutOfHostMemory, @@ -12398,12 +24845,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const StreamDescriptorSurfaceCreateInfoGGP, p_allocator: ?*const AllocationCallbacks, ) CreateStreamDescriptorSurfaceGGPError!SurfaceKHR { - var surface: SurfaceKHR = undefined; + var out_surface: SurfaceKHR = undefined; const result = self.dispatch.vkCreateStreamDescriptorSurfaceGGP( instance, p_create_info, p_allocator, - &surface, + &out_surface, ); switch (result) { Result.success => {}, @@ -12412,7 +24859,45 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_native_window_in_use_khr => return error.NativeWindowInUseKHR, else => return error.Unknown, } - return surface; + return out_surface; + } + pub const CreateScreenSurfaceQNXError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createScreenSurfaceQNX( + self: Self, + instance: Instance, + p_create_info: *const ScreenSurfaceCreateInfoQNX, + p_allocator: ?*const AllocationCallbacks, + ) CreateScreenSurfaceQNXError!SurfaceKHR { + var out_surface: SurfaceKHR = undefined; + const result = self.dispatch.vkCreateScreenSurfaceQNX( + instance, + p_create_info, + p_allocator, + &out_surface, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_surface; + } + pub fn getPhysicalDeviceScreenPresentationSupportQNX( + self: Self, + physical_device: PhysicalDevice, + queue_family_index: u32, + window: *_screen_window, + ) Bool32 { + return self.dispatch.vkGetPhysicalDeviceScreenPresentationSupportQNX( + physical_device, + queue_family_index, + window, + ); } pub const CreateDebugReportCallbackEXTError = error{ OutOfHostMemory, @@ -12424,19 +24909,19 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const DebugReportCallbackCreateInfoEXT, p_allocator: ?*const AllocationCallbacks, ) CreateDebugReportCallbackEXTError!DebugReportCallbackEXT { - var callback: DebugReportCallbackEXT = undefined; + var out_callback: DebugReportCallbackEXT = undefined; const result = self.dispatch.vkCreateDebugReportCallbackEXT( instance, p_create_info, p_allocator, - &callback, + &out_callback, ); switch (result) { Result.success => {}, Result.error_out_of_host_memory => return error.OutOfHostMemory, else => return error.Unknown, } - return callback; + return out_callback; } pub fn destroyDebugReportCallbackEXT( self: Self, @@ -12488,7 +24973,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { flags: ImageCreateFlags, external_handle_type: ExternalMemoryHandleTypeFlagsNV, ) GetPhysicalDeviceExternalImageFormatPropertiesNVError!ExternalImageFormatPropertiesNV { - var external_image_format_properties: ExternalImageFormatPropertiesNV = undefined; + var out_external_image_format_properties: ExternalImageFormatPropertiesNV = undefined; const result = self.dispatch.vkGetPhysicalDeviceExternalImageFormatPropertiesNV( physical_device, format, @@ -12497,7 +24982,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { usage, flags, external_handle_type, - &external_image_format_properties, + &out_external_image_format_properties, ); switch (result) { Result.success => {}, @@ -12506,19 +24991,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_format_not_supported => return error.FormatNotSupported, else => return error.Unknown, } - return external_image_format_properties; - } - pub fn getPhysicalDeviceGeneratedCommandsPropertiesNVX( - self: Self, - physical_device: PhysicalDevice, - p_features: *DeviceGeneratedCommandsFeaturesNVX, - p_limits: *DeviceGeneratedCommandsLimitsNVX, - ) void { - self.dispatch.vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX( - physical_device, - p_features, - p_limits, - ); + return out_external_image_format_properties; } pub fn getPhysicalDeviceFeatures2( self: Self, @@ -12588,6 +25061,11 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { OutOfHostMemory, OutOfDeviceMemory, FormatNotSupported, + ImageUsageNotSupportedKHR, + VideoProfileOperationNotSupportedKHR, + VideoProfileFormatNotSupportedKHR, + VideoPictureLayoutNotSupportedKHR, + VideoProfileCodecNotSupportedKHR, Unknown, }; pub fn getPhysicalDeviceImageFormatProperties2( @@ -12606,6 +25084,11 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_out_of_host_memory => return error.OutOfHostMemory, Result.error_out_of_device_memory => return error.OutOfDeviceMemory, Result.error_format_not_supported => return error.FormatNotSupported, + Result.error_image_usage_not_supported_khr => return error.ImageUsageNotSupportedKHR, + Result.error_video_profile_operation_not_supported_khr => return error.VideoProfileOperationNotSupportedKHR, + Result.error_video_profile_format_not_supported_khr => return error.VideoProfileFormatNotSupportedKHR, + Result.error_video_picture_layout_not_supported_khr => return error.VideoPictureLayoutNotSupportedKHR, + Result.error_video_profile_codec_not_supported_khr => return error.VideoProfileCodecNotSupportedKHR, else => return error.Unknown, } } @@ -12613,6 +25096,11 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { OutOfHostMemory, OutOfDeviceMemory, FormatNotSupported, + ImageUsageNotSupportedKHR, + VideoProfileOperationNotSupportedKHR, + VideoProfileFormatNotSupportedKHR, + VideoPictureLayoutNotSupportedKHR, + VideoProfileCodecNotSupportedKHR, Unknown, }; pub fn getPhysicalDeviceImageFormatProperties2KHR( @@ -12631,6 +25119,11 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_out_of_host_memory => return error.OutOfHostMemory, Result.error_out_of_device_memory => return error.OutOfDeviceMemory, Result.error_format_not_supported => return error.FormatNotSupported, + Result.error_image_usage_not_supported_khr => return error.ImageUsageNotSupportedKHR, + Result.error_video_profile_operation_not_supported_khr => return error.VideoProfileOperationNotSupportedKHR, + Result.error_video_profile_format_not_supported_khr => return error.VideoProfileFormatNotSupportedKHR, + Result.error_video_picture_layout_not_supported_khr => return error.VideoPictureLayoutNotSupportedKHR, + Result.error_video_profile_codec_not_supported_khr => return error.VideoProfileCodecNotSupportedKHR, else => return error.Unknown, } } @@ -12726,9 +25219,55 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { ) void { self.dispatch.vkGetPhysicalDeviceExternalBufferPropertiesKHR( physical_device, - p_external_buffer_info, - p_external_buffer_properties, + p_external_buffer_info, + p_external_buffer_properties, + ); + } + pub const GetPhysicalDeviceExternalMemorySciBufPropertiesNVError = error{ + InitializationFailed, + InvalidExternalHandle, + Unknown, + }; + pub fn getPhysicalDeviceExternalMemorySciBufPropertiesNV( + self: Self, + physical_device: PhysicalDevice, + handle_type: ExternalMemoryHandleTypeFlags, + handle: NvSciBufObj, + p_memory_sci_buf_properties: *MemorySciBufPropertiesNV, + ) GetPhysicalDeviceExternalMemorySciBufPropertiesNVError!void { + const result = self.dispatch.vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV( + physical_device, + handle_type, + handle, + p_memory_sci_buf_properties, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + else => return error.Unknown, + } + } + pub const GetPhysicalDeviceSciBufAttributesNVError = error{ + OutOfHostMemory, + InitializationFailed, + Unknown, + }; + pub fn getPhysicalDeviceSciBufAttributesNV( + self: Self, + physical_device: PhysicalDevice, + p_attributes: NvSciBufAttrList, + ) GetPhysicalDeviceSciBufAttributesNVError!void { + const result = self.dispatch.vkGetPhysicalDeviceSciBufAttributesNV( + physical_device, + p_attributes, ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } } pub fn getPhysicalDeviceExternalSemaphoreProperties( self: Self, @@ -12778,6 +25317,27 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_external_fence_properties, ); } + pub const GetPhysicalDeviceSciSyncAttributesNVError = error{ + InitializationFailed, + Unknown, + }; + pub fn getPhysicalDeviceSciSyncAttributesNV( + self: Self, + physical_device: PhysicalDevice, + p_sci_sync_attributes_info: *const SciSyncAttributesInfoNV, + p_attributes: NvSciSyncAttrList, + ) GetPhysicalDeviceSciSyncAttributesNVError!void { + const result = self.dispatch.vkGetPhysicalDeviceSciSyncAttributesNV( + physical_device, + p_sci_sync_attributes_info, + p_attributes, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } + } pub const ReleaseDisplayEXTError = error{ Unknown, }; @@ -12796,6 +25356,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { } } pub const AcquireXlibDisplayEXTError = error{ + OutOfHostMemory, InitializationFailed, Unknown, }; @@ -12812,11 +25373,13 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { ); switch (result) { Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, Result.error_initialization_failed => return error.InitializationFailed, else => return error.Unknown, } } pub const GetRandROutputDisplayEXTError = error{ + OutOfHostMemory, Unknown, }; pub fn getRandROutputDisplayEXT( @@ -12825,18 +25388,68 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { dpy: *Display, rr_output: RROutput, ) GetRandROutputDisplayEXTError!DisplayKHR { - var display: DisplayKHR = undefined; + var out_display: DisplayKHR = undefined; const result = self.dispatch.vkGetRandROutputDisplayEXT( physical_device, dpy, rr_output, - &display, + &out_display, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_display; + } + pub const AcquireWinrtDisplayNVError = error{ + OutOfHostMemory, + DeviceLost, + InitializationFailed, + Unknown, + }; + pub fn acquireWinrtDisplayNV( + self: Self, + physical_device: PhysicalDevice, + display: DisplayKHR, + ) AcquireWinrtDisplayNVError!void { + const result = self.dispatch.vkAcquireWinrtDisplayNV( + physical_device, + display, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_device_lost => return error.DeviceLost, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } + } + pub const GetWinrtDisplayNVError = error{ + OutOfHostMemory, + DeviceLost, + InitializationFailed, + Unknown, + }; + pub fn getWinrtDisplayNV( + self: Self, + physical_device: PhysicalDevice, + device_relative_id: u32, + ) GetWinrtDisplayNVError!DisplayKHR { + var out_display: DisplayKHR = undefined; + const result = self.dispatch.vkGetWinrtDisplayNV( + physical_device, + device_relative_id, + &out_display, ); switch (result) { Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_device_lost => return error.DeviceLost, + Result.error_initialization_failed => return error.InitializationFailed, else => return error.Unknown, } - return display; + return out_display; } pub const GetPhysicalDeviceSurfaceCapabilities2EXTError = error{ OutOfHostMemory, @@ -12956,12 +25569,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const IOSSurfaceCreateInfoMVK, p_allocator: ?*const AllocationCallbacks, ) CreateIosSurfaceMVKError!SurfaceKHR { - var surface: SurfaceKHR = undefined; + var out_surface: SurfaceKHR = undefined; const result = self.dispatch.vkCreateIOSSurfaceMVK( instance, p_create_info, p_allocator, - &surface, + &out_surface, ); switch (result) { Result.success => {}, @@ -12970,7 +25583,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_native_window_in_use_khr => return error.NativeWindowInUseKHR, else => return error.Unknown, } - return surface; + return out_surface; } pub const CreateMacOsSurfaceMVKError = error{ OutOfHostMemory, @@ -12984,12 +25597,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const MacOSSurfaceCreateInfoMVK, p_allocator: ?*const AllocationCallbacks, ) CreateMacOsSurfaceMVKError!SurfaceKHR { - var surface: SurfaceKHR = undefined; + var out_surface: SurfaceKHR = undefined; const result = self.dispatch.vkCreateMacOSSurfaceMVK( instance, p_create_info, p_allocator, - &surface, + &out_surface, ); switch (result) { Result.success => {}, @@ -12998,7 +25611,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_native_window_in_use_khr => return error.NativeWindowInUseKHR, else => return error.Unknown, } - return surface; + return out_surface; } pub const CreateMetalSurfaceEXTError = error{ OutOfHostMemory, @@ -13012,12 +25625,12 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const MetalSurfaceCreateInfoEXT, p_allocator: ?*const AllocationCallbacks, ) CreateMetalSurfaceEXTError!SurfaceKHR { - var surface: SurfaceKHR = undefined; + var out_surface: SurfaceKHR = undefined; const result = self.dispatch.vkCreateMetalSurfaceEXT( instance, p_create_info, p_allocator, - &surface, + &out_surface, ); switch (result) { Result.success => {}, @@ -13026,7 +25639,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { Result.error_native_window_in_use_khr => return error.NativeWindowInUseKHR, else => return error.Unknown, } - return surface; + return out_surface; } pub fn getPhysicalDeviceMultisamplePropertiesEXT( self: Self, @@ -13194,6 +25807,31 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { else => return error.Unknown, } } + pub const GetPhysicalDeviceCalibrateableTimeDomainsKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getPhysicalDeviceCalibrateableTimeDomainsKHR( + self: Self, + physical_device: PhysicalDevice, + p_time_domain_count: *u32, + p_time_domains: ?[*]TimeDomainKHR, + ) GetPhysicalDeviceCalibrateableTimeDomainsKHRError!Result { + const result = self.dispatch.vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( + physical_device, + p_time_domain_count, + p_time_domains, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } pub const GetPhysicalDeviceCalibrateableTimeDomainsEXTError = error{ OutOfHostMemory, OutOfDeviceMemory, @@ -13203,7 +25841,7 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { self: Self, physical_device: PhysicalDevice, p_time_domain_count: *u32, - p_time_domains: ?[*]TimeDomainEXT, + p_time_domains: ?[*]TimeDomainKHR, ) GetPhysicalDeviceCalibrateableTimeDomainsEXTError!Result { const result = self.dispatch.vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( physical_device, @@ -13229,19 +25867,19 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const DebugUtilsMessengerCreateInfoEXT, p_allocator: ?*const AllocationCallbacks, ) CreateDebugUtilsMessengerEXTError!DebugUtilsMessengerEXT { - var messenger: DebugUtilsMessengerEXT = undefined; + var out_messenger: DebugUtilsMessengerEXT = undefined; const result = self.dispatch.vkCreateDebugUtilsMessengerEXT( instance, p_create_info, p_allocator, - &messenger, + &out_messenger, ); switch (result) { Result.success => {}, Result.error_out_of_host_memory => return error.OutOfHostMemory, else => return error.Unknown, } - return messenger; + return out_messenger; } pub fn destroyDebugUtilsMessengerEXT( self: Self, @@ -13359,13 +25997,13 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { physical_device: PhysicalDevice, p_performance_query_create_info: *const QueryPoolPerformanceCreateInfoKHR, ) u32 { - var num_passes: u32 = undefined; + var out_num_passes: u32 = undefined; self.dispatch.vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( physical_device, p_performance_query_create_info, - &num_passes, + &out_num_passes, ); - return num_passes; + return out_num_passes; } pub const CreateHeadlessSurfaceEXTError = error{ OutOfHostMemory, @@ -13378,63 +26016,332 @@ pub fn InstanceWrapper(comptime cmds: InstanceCommandFlags) type { p_create_info: *const HeadlessSurfaceCreateInfoEXT, p_allocator: ?*const AllocationCallbacks, ) CreateHeadlessSurfaceEXTError!SurfaceKHR { - var surface: SurfaceKHR = undefined; + var out_surface: SurfaceKHR = undefined; const result = self.dispatch.vkCreateHeadlessSurfaceEXT( instance, p_create_info, p_allocator, - &surface, + &out_surface, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_surface; + } + pub const GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( + self: Self, + physical_device: PhysicalDevice, + p_combination_count: *u32, + p_combinations: ?[*]FramebufferMixedSamplesCombinationNV, + ) GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVError!Result { + const result = self.dispatch.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( + physical_device, + p_combination_count, + p_combinations, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub const GetPhysicalDeviceToolPropertiesError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn getPhysicalDeviceToolProperties( + self: Self, + physical_device: PhysicalDevice, + p_tool_count: *u32, + p_tool_properties: ?[*]PhysicalDeviceToolProperties, + ) GetPhysicalDeviceToolPropertiesError!Result { + const result = self.dispatch.vkGetPhysicalDeviceToolProperties( + physical_device, + p_tool_count, + p_tool_properties, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return result; + } + pub const GetPhysicalDeviceToolPropertiesEXTError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn getPhysicalDeviceToolPropertiesEXT( + self: Self, + physical_device: PhysicalDevice, + p_tool_count: *u32, + p_tool_properties: ?[*]PhysicalDeviceToolProperties, + ) GetPhysicalDeviceToolPropertiesEXTError!Result { + const result = self.dispatch.vkGetPhysicalDeviceToolPropertiesEXT( + physical_device, + p_tool_count, + p_tool_properties, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return result; + } + pub const GetPhysicalDeviceRefreshableObjectTypesKHRError = error{ + Unknown, + }; + pub fn getPhysicalDeviceRefreshableObjectTypesKHR( + self: Self, + physical_device: PhysicalDevice, + p_refreshable_object_type_count: *u32, + p_refreshable_object_types: ?[*]ObjectType, + ) GetPhysicalDeviceRefreshableObjectTypesKHRError!Result { + const result = self.dispatch.vkGetPhysicalDeviceRefreshableObjectTypesKHR( + physical_device, + p_refreshable_object_type_count, + p_refreshable_object_types, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + else => return error.Unknown, + } + return result; + } + pub const GetPhysicalDeviceFragmentShadingRatesKHRError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn getPhysicalDeviceFragmentShadingRatesKHR( + self: Self, + physical_device: PhysicalDevice, + p_fragment_shading_rate_count: *u32, + p_fragment_shading_rates: ?[*]PhysicalDeviceFragmentShadingRateKHR, + ) GetPhysicalDeviceFragmentShadingRatesKHRError!Result { + const result = self.dispatch.vkGetPhysicalDeviceFragmentShadingRatesKHR( + physical_device, + p_fragment_shading_rate_count, + p_fragment_shading_rates, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return result; + } + pub const GetPhysicalDeviceVideoCapabilitiesKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + VideoProfileOperationNotSupportedKHR, + VideoProfileFormatNotSupportedKHR, + VideoPictureLayoutNotSupportedKHR, + VideoProfileCodecNotSupportedKHR, + Unknown, + }; + pub fn getPhysicalDeviceVideoCapabilitiesKHR( + self: Self, + physical_device: PhysicalDevice, + p_video_profile: *const VideoProfileInfoKHR, + p_capabilities: *VideoCapabilitiesKHR, + ) GetPhysicalDeviceVideoCapabilitiesKHRError!void { + const result = self.dispatch.vkGetPhysicalDeviceVideoCapabilitiesKHR( + physical_device, + p_video_profile, + p_capabilities, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_video_profile_operation_not_supported_khr => return error.VideoProfileOperationNotSupportedKHR, + Result.error_video_profile_format_not_supported_khr => return error.VideoProfileFormatNotSupportedKHR, + Result.error_video_picture_layout_not_supported_khr => return error.VideoPictureLayoutNotSupportedKHR, + Result.error_video_profile_codec_not_supported_khr => return error.VideoProfileCodecNotSupportedKHR, + else => return error.Unknown, + } + } + pub const GetPhysicalDeviceVideoFormatPropertiesKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + ImageUsageNotSupportedKHR, + VideoProfileOperationNotSupportedKHR, + VideoProfileFormatNotSupportedKHR, + VideoPictureLayoutNotSupportedKHR, + VideoProfileCodecNotSupportedKHR, + Unknown, + }; + pub fn getPhysicalDeviceVideoFormatPropertiesKHR( + self: Self, + physical_device: PhysicalDevice, + p_video_format_info: *const PhysicalDeviceVideoFormatInfoKHR, + p_video_format_property_count: *u32, + p_video_format_properties: ?[*]VideoFormatPropertiesKHR, + ) GetPhysicalDeviceVideoFormatPropertiesKHRError!Result { + const result = self.dispatch.vkGetPhysicalDeviceVideoFormatPropertiesKHR( + physical_device, + p_video_format_info, + p_video_format_property_count, + p_video_format_properties, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_image_usage_not_supported_khr => return error.ImageUsageNotSupportedKHR, + Result.error_video_profile_operation_not_supported_khr => return error.VideoProfileOperationNotSupportedKHR, + Result.error_video_profile_format_not_supported_khr => return error.VideoProfileFormatNotSupportedKHR, + Result.error_video_picture_layout_not_supported_khr => return error.VideoPictureLayoutNotSupportedKHR, + Result.error_video_profile_codec_not_supported_khr => return error.VideoProfileCodecNotSupportedKHR, + else => return error.Unknown, + } + return result; + } + pub const GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + VideoProfileOperationNotSupportedKHR, + VideoProfileFormatNotSupportedKHR, + VideoPictureLayoutNotSupportedKHR, + VideoProfileCodecNotSupportedKHR, + Unknown, + }; + pub fn getPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( + self: Self, + physical_device: PhysicalDevice, + p_quality_level_info: *const PhysicalDeviceVideoEncodeQualityLevelInfoKHR, + p_quality_level_properties: *VideoEncodeQualityLevelPropertiesKHR, + ) GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHRError!void { + const result = self.dispatch.vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( + physical_device, + p_quality_level_info, + p_quality_level_properties, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_video_profile_operation_not_supported_khr => return error.VideoProfileOperationNotSupportedKHR, + Result.error_video_profile_format_not_supported_khr => return error.VideoProfileFormatNotSupportedKHR, + Result.error_video_picture_layout_not_supported_khr => return error.VideoPictureLayoutNotSupportedKHR, + Result.error_video_profile_codec_not_supported_khr => return error.VideoProfileCodecNotSupportedKHR, + else => return error.Unknown, + } + } + pub const AcquireDrmDisplayEXTError = error{ + InitializationFailed, + Unknown, + }; + pub fn acquireDrmDisplayEXT( + self: Self, + physical_device: PhysicalDevice, + drm_fd: i32, + display: DisplayKHR, + ) AcquireDrmDisplayEXTError!void { + const result = self.dispatch.vkAcquireDrmDisplayEXT( + physical_device, + drm_fd, + display, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } + } + pub const GetDrmDisplayEXTError = error{ + InitializationFailed, + OutOfHostMemory, + Unknown, + }; + pub fn getDrmDisplayEXT( + self: Self, + physical_device: PhysicalDevice, + drm_fd: i32, + connector_id: u32, + ) GetDrmDisplayEXTError!DisplayKHR { + var out_display: DisplayKHR = undefined; + const result = self.dispatch.vkGetDrmDisplayEXT( + physical_device, + drm_fd, + connector_id, + &out_display, ); switch (result) { Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, else => return error.Unknown, } - return surface; + return out_display; } - pub const GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVError = error{ - OutOfHostMemory, - OutOfDeviceMemory, + pub const GetPhysicalDeviceOpticalFlowImageFormatsNVError = error{ + ExtensionNotPresent, + InitializationFailed, + FormatNotSupported, Unknown, }; - pub fn getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( + pub fn getPhysicalDeviceOpticalFlowImageFormatsNV( self: Self, physical_device: PhysicalDevice, - p_combination_count: *u32, - p_combinations: ?[*]FramebufferMixedSamplesCombinationNV, - ) GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVError!Result { - const result = self.dispatch.vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( + p_optical_flow_image_format_info: *const OpticalFlowImageFormatInfoNV, + p_format_count: *u32, + p_image_format_properties: ?[*]OpticalFlowImageFormatPropertiesNV, + ) GetPhysicalDeviceOpticalFlowImageFormatsNVError!Result { + const result = self.dispatch.vkGetPhysicalDeviceOpticalFlowImageFormatsNV( physical_device, - p_combination_count, - p_combinations, + p_optical_flow_image_format_info, + p_format_count, + p_image_format_properties, ); switch (result) { Result.success => {}, Result.incomplete => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_extension_not_present => return error.ExtensionNotPresent, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_format_not_supported => return error.FormatNotSupported, else => return error.Unknown, } return result; } - pub const GetPhysicalDeviceToolPropertiesEXTError = error{ + pub const GetPhysicalDeviceCooperativeMatrixPropertiesKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, Unknown, }; - pub fn getPhysicalDeviceToolPropertiesEXT( + pub fn getPhysicalDeviceCooperativeMatrixPropertiesKHR( self: Self, physical_device: PhysicalDevice, - p_tool_count: *u32, - p_tool_properties: ?[*]PhysicalDeviceToolPropertiesEXT, - ) GetPhysicalDeviceToolPropertiesEXTError!Result { - const result = self.dispatch.vkGetPhysicalDeviceToolPropertiesEXT( + p_property_count: *u32, + p_properties: ?[*]CooperativeMatrixPropertiesKHR, + ) GetPhysicalDeviceCooperativeMatrixPropertiesKHRError!Result { + const result = self.dispatch.vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( physical_device, - p_tool_count, - p_tool_properties, + p_property_count, + p_properties, ); switch (result) { Result.success => {}, Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, else => return error.Unknown, } return result; @@ -13475,6 +26382,7 @@ pub const DeviceCommandFlags = packed struct { createQueryPool: bool = false, destroyQueryPool: bool = false, getQueryPoolResults: bool = false, + resetQueryPool: bool = false, resetQueryPoolEXT: bool = false, createBuffer: bool = false, destroyBuffer: bool = false, @@ -13493,6 +26401,7 @@ pub const DeviceCommandFlags = packed struct { mergePipelineCaches: bool = false, createGraphicsPipelines: bool = false, createComputePipelines: bool = false, + getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI: bool = false, destroyPipeline: bool = false, createPipelineLayout: bool = false, destroyPipelineLayout: bool = false, @@ -13511,6 +26420,7 @@ pub const DeviceCommandFlags = packed struct { createRenderPass: bool = false, destroyRenderPass: bool = false, getRenderAreaGranularity: bool = false, + getRenderingAreaGranularityKHR: bool = false, createCommandPool: bool = false, destroyCommandPool: bool = false, resetCommandPool: bool = false, @@ -13520,6 +26430,7 @@ pub const DeviceCommandFlags = packed struct { endCommandBuffer: bool = false, resetCommandBuffer: bool = false, cmdBindPipeline: bool = false, + cmdSetAttachmentFeedbackLoopEnableEXT: bool = false, cmdSetViewport: bool = false, cmdSetScissor: bool = false, cmdSetLineWidth: bool = false, @@ -13534,15 +26445,23 @@ pub const DeviceCommandFlags = packed struct { cmdBindVertexBuffers: bool = false, cmdDraw: bool = false, cmdDrawIndexed: bool = false, + cmdDrawMultiEXT: bool = false, + cmdDrawMultiIndexedEXT: bool = false, cmdDrawIndirect: bool = false, cmdDrawIndexedIndirect: bool = false, cmdDispatch: bool = false, cmdDispatchIndirect: bool = false, + cmdSubpassShadingHUAWEI: bool = false, + cmdDrawClusterHUAWEI: bool = false, + cmdDrawClusterIndirectHUAWEI: bool = false, + cmdUpdatePipelineIndirectBufferNV: bool = false, cmdCopyBuffer: bool = false, cmdCopyImage: bool = false, cmdBlitImage: bool = false, cmdCopyBufferToImage: bool = false, cmdCopyImageToBuffer: bool = false, + cmdCopyMemoryIndirectNV: bool = false, + cmdCopyMemoryToImageIndirectNV: bool = false, cmdUpdateBuffer: bool = false, cmdFillBuffer: bool = false, cmdClearColorImage: bool = false, @@ -13577,14 +26496,12 @@ pub const DeviceCommandFlags = packed struct { cmdDebugMarkerEndEXT: bool = false, cmdDebugMarkerInsertEXT: bool = false, getMemoryWin32HandleNV: bool = false, - cmdProcessCommandsNVX: bool = false, - cmdReserveSpaceForCommandsNVX: bool = false, - createIndirectCommandsLayoutNVX: bool = false, - destroyIndirectCommandsLayoutNVX: bool = false, - createObjectTableNVX: bool = false, - destroyObjectTableNVX: bool = false, - registerObjectsNVX: bool = false, - unregisterObjectsNVX: bool = false, + cmdExecuteGeneratedCommandsNV: bool = false, + cmdPreprocessGeneratedCommandsNV: bool = false, + cmdBindPipelineShaderGroupNV: bool = false, + getGeneratedCommandsMemoryRequirementsNV: bool = false, + createIndirectCommandsLayoutNV: bool = false, + destroyIndirectCommandsLayoutNV: bool = false, cmdPushDescriptorSetKHR: bool = false, trimCommandPool: bool = false, trimCommandPoolKHR: bool = false, @@ -13592,14 +26509,28 @@ pub const DeviceCommandFlags = packed struct { getMemoryWin32HandlePropertiesKHR: bool = false, getMemoryFdKHR: bool = false, getMemoryFdPropertiesKHR: bool = false, + getMemoryZirconHandleFUCHSIA: bool = false, + getMemoryZirconHandlePropertiesFUCHSIA: bool = false, + getMemoryRemoteAddressNV: bool = false, + getMemorySciBufNV: bool = false, getSemaphoreWin32HandleKHR: bool = false, importSemaphoreWin32HandleKHR: bool = false, getSemaphoreFdKHR: bool = false, importSemaphoreFdKHR: bool = false, + getSemaphoreZirconHandleFUCHSIA: bool = false, + importSemaphoreZirconHandleFUCHSIA: bool = false, getFenceWin32HandleKHR: bool = false, importFenceWin32HandleKHR: bool = false, getFenceFdKHR: bool = false, importFenceFdKHR: bool = false, + getFenceSciSyncFenceNV: bool = false, + getFenceSciSyncObjNV: bool = false, + importFenceSciSyncFenceNV: bool = false, + importFenceSciSyncObjNV: bool = false, + getSemaphoreSciSyncObjNV: bool = false, + importSemaphoreSciSyncObjNV: bool = false, + createSemaphoreSciSyncPoolNV: bool = false, + destroySemaphoreSciSyncPoolNV: bool = false, displayPowerControlEXT: bool = false, registerDeviceEventEXT: bool = false, registerDisplayEventEXT: bool = false, @@ -13630,6 +26561,8 @@ pub const DeviceCommandFlags = packed struct { getPastPresentationTimingGOOGLE: bool = false, cmdSetViewportWScalingNV: bool = false, cmdSetDiscardRectangleEXT: bool = false, + cmdSetDiscardRectangleEnableEXT: bool = false, + cmdSetDiscardRectangleModeEXT: bool = false, cmdSetSampleLocationsEXT: bool = false, getBufferMemoryRequirements2: bool = false, getBufferMemoryRequirements2KHR: bool = false, @@ -13637,6 +26570,12 @@ pub const DeviceCommandFlags = packed struct { getImageMemoryRequirements2KHR: bool = false, getImageSparseMemoryRequirements2: bool = false, getImageSparseMemoryRequirements2KHR: bool = false, + getDeviceBufferMemoryRequirements: bool = false, + getDeviceBufferMemoryRequirementsKHR: bool = false, + getDeviceImageMemoryRequirements: bool = false, + getDeviceImageMemoryRequirementsKHR: bool = false, + getDeviceImageSparseMemoryRequirements: bool = false, + getDeviceImageSparseMemoryRequirementsKHR: bool = false, createSamplerYcbcrConversion: bool = false, createSamplerYcbcrConversionKHR: bool = false, destroySamplerYcbcrConversion: bool = false, @@ -13654,6 +26593,7 @@ pub const DeviceCommandFlags = packed struct { queueSignalReleaseImageANDROID: bool = false, getShaderInfoAMD: bool = false, setLocalDimmingAMD: bool = false, + getCalibratedTimestampsKHR: bool = false, getCalibratedTimestampsEXT: bool = false, setDebugUtilsObjectNameEXT: bool = false, setDebugUtilsObjectTagEXT: bool = false, @@ -13665,17 +26605,26 @@ pub const DeviceCommandFlags = packed struct { cmdInsertDebugUtilsLabelEXT: bool = false, getMemoryHostPointerPropertiesEXT: bool = false, cmdWriteBufferMarkerAMD: bool = false, + createRenderPass2: bool = false, createRenderPass2KHR: bool = false, + cmdBeginRenderPass2: bool = false, cmdBeginRenderPass2KHR: bool = false, + cmdNextSubpass2: bool = false, cmdNextSubpass2KHR: bool = false, + cmdEndRenderPass2: bool = false, cmdEndRenderPass2KHR: bool = false, + getSemaphoreCounterValue: bool = false, getSemaphoreCounterValueKHR: bool = false, + waitSemaphores: bool = false, waitSemaphoresKHR: bool = false, + signalSemaphore: bool = false, signalSemaphoreKHR: bool = false, getAndroidHardwareBufferPropertiesANDROID: bool = false, getMemoryAndroidHardwareBufferANDROID: bool = false, + cmdDrawIndirectCount: bool = false, cmdDrawIndirectCountKHR: bool = false, cmdDrawIndirectCountAMD: bool = false, + cmdDrawIndexedIndirectCount: bool = false, cmdDrawIndexedIndirectCountKHR: bool = false, cmdDrawIndexedIndirectCountAMD: bool = false, cmdSetCheckpointNV: bool = false, @@ -13687,32 +26636,58 @@ pub const DeviceCommandFlags = packed struct { cmdEndQueryIndexedEXT: bool = false, cmdDrawIndirectByteCountEXT: bool = false, cmdSetExclusiveScissorNV: bool = false, + cmdSetExclusiveScissorEnableNV: bool = false, cmdBindShadingRateImageNV: bool = false, cmdSetViewportShadingRatePaletteNV: bool = false, cmdSetCoarseSampleOrderNV: bool = false, cmdDrawMeshTasksNV: bool = false, cmdDrawMeshTasksIndirectNV: bool = false, cmdDrawMeshTasksIndirectCountNV: bool = false, + cmdDrawMeshTasksEXT: bool = false, + cmdDrawMeshTasksIndirectEXT: bool = false, + cmdDrawMeshTasksIndirectCountEXT: bool = false, compileDeferredNV: bool = false, createAccelerationStructureNV: bool = false, + cmdBindInvocationMaskHUAWEI: bool = false, + destroyAccelerationStructureKHR: bool = false, destroyAccelerationStructureNV: bool = false, getAccelerationStructureMemoryRequirementsNV: bool = false, bindAccelerationStructureMemoryNV: bool = false, cmdCopyAccelerationStructureNV: bool = false, + cmdCopyAccelerationStructureKHR: bool = false, + copyAccelerationStructureKHR: bool = false, + cmdCopyAccelerationStructureToMemoryKHR: bool = false, + copyAccelerationStructureToMemoryKHR: bool = false, + cmdCopyMemoryToAccelerationStructureKHR: bool = false, + copyMemoryToAccelerationStructureKHR: bool = false, + cmdWriteAccelerationStructuresPropertiesKHR: bool = false, cmdWriteAccelerationStructuresPropertiesNV: bool = false, cmdBuildAccelerationStructureNV: bool = false, + writeAccelerationStructuresPropertiesKHR: bool = false, + cmdTraceRaysKHR: bool = false, cmdTraceRaysNV: bool = false, + getRayTracingShaderGroupHandlesKHR: bool = false, getRayTracingShaderGroupHandlesNV: bool = false, + getRayTracingCaptureReplayShaderGroupHandlesKHR: bool = false, getAccelerationStructureHandleNV: bool = false, createRayTracingPipelinesNV: bool = false, + createRayTracingPipelinesKHR: bool = false, + cmdTraceRaysIndirectKHR: bool = false, + cmdTraceRaysIndirect2KHR: bool = false, + getDeviceAccelerationStructureCompatibilityKHR: bool = false, + getRayTracingShaderGroupStackSizeKHR: bool = false, + cmdSetRayTracingPipelineStackSizeKHR: bool = false, getImageViewHandleNVX: bool = false, + getImageViewAddressNVX: bool = false, getDeviceGroupSurfacePresentModes2EXT: bool = false, acquireFullScreenExclusiveModeEXT: bool = false, releaseFullScreenExclusiveModeEXT: bool = false, acquireProfilingLockKHR: bool = false, releaseProfilingLockKHR: bool = false, getImageDrmFormatModifierPropertiesEXT: bool = false, + getBufferOpaqueCaptureAddress: bool = false, getBufferOpaqueCaptureAddressKHR: bool = false, + getBufferDeviceAddress: bool = false, getBufferDeviceAddressKHR: bool = false, getBufferDeviceAddressEXT: bool = false, initializePerformanceApiINTEL: bool = false, @@ -13724,11 +26699,242 @@ pub const DeviceCommandFlags = packed struct { releasePerformanceConfigurationINTEL: bool = false, queueSetPerformanceConfigurationINTEL: bool = false, getPerformanceParameterINTEL: bool = false, + getDeviceMemoryOpaqueCaptureAddress: bool = false, getDeviceMemoryOpaqueCaptureAddressKHR: bool = false, getPipelineExecutablePropertiesKHR: bool = false, getPipelineExecutableStatisticsKHR: bool = false, getPipelineExecutableInternalRepresentationsKHR: bool = false, + cmdSetLineStippleKHR: bool = false, cmdSetLineStippleEXT: bool = false, + getFaultData: bool = false, + createAccelerationStructureKHR: bool = false, + cmdBuildAccelerationStructuresKHR: bool = false, + cmdBuildAccelerationStructuresIndirectKHR: bool = false, + buildAccelerationStructuresKHR: bool = false, + getAccelerationStructureDeviceAddressKHR: bool = false, + createDeferredOperationKHR: bool = false, + destroyDeferredOperationKHR: bool = false, + getDeferredOperationMaxConcurrencyKHR: bool = false, + getDeferredOperationResultKHR: bool = false, + deferredOperationJoinKHR: bool = false, + getPipelineIndirectMemoryRequirementsNV: bool = false, + getPipelineIndirectDeviceAddressNV: bool = false, + cmdSetCullMode: bool = false, + cmdSetCullModeEXT: bool = false, + cmdSetFrontFace: bool = false, + cmdSetFrontFaceEXT: bool = false, + cmdSetPrimitiveTopology: bool = false, + cmdSetPrimitiveTopologyEXT: bool = false, + cmdSetViewportWithCount: bool = false, + cmdSetViewportWithCountEXT: bool = false, + cmdSetScissorWithCount: bool = false, + cmdSetScissorWithCountEXT: bool = false, + cmdBindIndexBuffer2KHR: bool = false, + cmdBindVertexBuffers2: bool = false, + cmdBindVertexBuffers2EXT: bool = false, + cmdSetDepthTestEnable: bool = false, + cmdSetDepthTestEnableEXT: bool = false, + cmdSetDepthWriteEnable: bool = false, + cmdSetDepthWriteEnableEXT: bool = false, + cmdSetDepthCompareOp: bool = false, + cmdSetDepthCompareOpEXT: bool = false, + cmdSetDepthBoundsTestEnable: bool = false, + cmdSetDepthBoundsTestEnableEXT: bool = false, + cmdSetStencilTestEnable: bool = false, + cmdSetStencilTestEnableEXT: bool = false, + cmdSetStencilOp: bool = false, + cmdSetStencilOpEXT: bool = false, + cmdSetPatchControlPointsEXT: bool = false, + cmdSetRasterizerDiscardEnable: bool = false, + cmdSetRasterizerDiscardEnableEXT: bool = false, + cmdSetDepthBiasEnable: bool = false, + cmdSetDepthBiasEnableEXT: bool = false, + cmdSetLogicOpEXT: bool = false, + cmdSetPrimitiveRestartEnable: bool = false, + cmdSetPrimitiveRestartEnableEXT: bool = false, + cmdSetTessellationDomainOriginEXT: bool = false, + cmdSetDepthClampEnableEXT: bool = false, + cmdSetPolygonModeEXT: bool = false, + cmdSetRasterizationSamplesEXT: bool = false, + cmdSetSampleMaskEXT: bool = false, + cmdSetAlphaToCoverageEnableEXT: bool = false, + cmdSetAlphaToOneEnableEXT: bool = false, + cmdSetLogicOpEnableEXT: bool = false, + cmdSetColorBlendEnableEXT: bool = false, + cmdSetColorBlendEquationEXT: bool = false, + cmdSetColorWriteMaskEXT: bool = false, + cmdSetRasterizationStreamEXT: bool = false, + cmdSetConservativeRasterizationModeEXT: bool = false, + cmdSetExtraPrimitiveOverestimationSizeEXT: bool = false, + cmdSetDepthClipEnableEXT: bool = false, + cmdSetSampleLocationsEnableEXT: bool = false, + cmdSetColorBlendAdvancedEXT: bool = false, + cmdSetProvokingVertexModeEXT: bool = false, + cmdSetLineRasterizationModeEXT: bool = false, + cmdSetLineStippleEnableEXT: bool = false, + cmdSetDepthClipNegativeOneToOneEXT: bool = false, + cmdSetViewportWScalingEnableNV: bool = false, + cmdSetViewportSwizzleNV: bool = false, + cmdSetCoverageToColorEnableNV: bool = false, + cmdSetCoverageToColorLocationNV: bool = false, + cmdSetCoverageModulationModeNV: bool = false, + cmdSetCoverageModulationTableEnableNV: bool = false, + cmdSetCoverageModulationTableNV: bool = false, + cmdSetShadingRateImageEnableNV: bool = false, + cmdSetCoverageReductionModeNV: bool = false, + cmdSetRepresentativeFragmentTestEnableNV: bool = false, + createPrivateDataSlot: bool = false, + createPrivateDataSlotEXT: bool = false, + destroyPrivateDataSlot: bool = false, + destroyPrivateDataSlotEXT: bool = false, + setPrivateData: bool = false, + setPrivateDataEXT: bool = false, + getPrivateData: bool = false, + getPrivateDataEXT: bool = false, + cmdCopyBuffer2: bool = false, + cmdCopyBuffer2KHR: bool = false, + cmdCopyImage2: bool = false, + cmdCopyImage2KHR: bool = false, + cmdBlitImage2: bool = false, + cmdBlitImage2KHR: bool = false, + cmdCopyBufferToImage2: bool = false, + cmdCopyBufferToImage2KHR: bool = false, + cmdCopyImageToBuffer2: bool = false, + cmdCopyImageToBuffer2KHR: bool = false, + cmdResolveImage2: bool = false, + cmdResolveImage2KHR: bool = false, + cmdRefreshObjectsKHR: bool = false, + cmdSetFragmentShadingRateKHR: bool = false, + cmdSetFragmentShadingRateEnumNV: bool = false, + getAccelerationStructureBuildSizesKHR: bool = false, + cmdSetVertexInputEXT: bool = false, + cmdSetColorWriteEnableEXT: bool = false, + cmdSetEvent2: bool = false, + cmdSetEvent2KHR: bool = false, + cmdResetEvent2: bool = false, + cmdResetEvent2KHR: bool = false, + cmdWaitEvents2: bool = false, + cmdWaitEvents2KHR: bool = false, + cmdPipelineBarrier2: bool = false, + cmdPipelineBarrier2KHR: bool = false, + queueSubmit2: bool = false, + queueSubmit2KHR: bool = false, + cmdWriteTimestamp2: bool = false, + cmdWriteTimestamp2KHR: bool = false, + cmdWriteBufferMarker2AMD: bool = false, + getQueueCheckpointData2NV: bool = false, + copyMemoryToImageEXT: bool = false, + copyImageToMemoryEXT: bool = false, + copyImageToImageEXT: bool = false, + transitionImageLayoutEXT: bool = false, + getCommandPoolMemoryConsumption: bool = false, + createVideoSessionKHR: bool = false, + destroyVideoSessionKHR: bool = false, + createVideoSessionParametersKHR: bool = false, + updateVideoSessionParametersKHR: bool = false, + getEncodedVideoSessionParametersKHR: bool = false, + destroyVideoSessionParametersKHR: bool = false, + getVideoSessionMemoryRequirementsKHR: bool = false, + bindVideoSessionMemoryKHR: bool = false, + cmdDecodeVideoKHR: bool = false, + cmdBeginVideoCodingKHR: bool = false, + cmdControlVideoCodingKHR: bool = false, + cmdEndVideoCodingKHR: bool = false, + cmdEncodeVideoKHR: bool = false, + cmdDecompressMemoryNV: bool = false, + cmdDecompressMemoryIndirectCountNV: bool = false, + createCuModuleNVX: bool = false, + createCuFunctionNVX: bool = false, + destroyCuModuleNVX: bool = false, + destroyCuFunctionNVX: bool = false, + cmdCuLaunchKernelNVX: bool = false, + getDescriptorSetLayoutSizeEXT: bool = false, + getDescriptorSetLayoutBindingOffsetEXT: bool = false, + getDescriptorEXT: bool = false, + cmdBindDescriptorBuffersEXT: bool = false, + cmdSetDescriptorBufferOffsetsEXT: bool = false, + cmdBindDescriptorBufferEmbeddedSamplersEXT: bool = false, + getBufferOpaqueCaptureDescriptorDataEXT: bool = false, + getImageOpaqueCaptureDescriptorDataEXT: bool = false, + getImageViewOpaqueCaptureDescriptorDataEXT: bool = false, + getSamplerOpaqueCaptureDescriptorDataEXT: bool = false, + getAccelerationStructureOpaqueCaptureDescriptorDataEXT: bool = false, + setDeviceMemoryPriorityEXT: bool = false, + waitForPresentKHR: bool = false, + createBufferCollectionFUCHSIA: bool = false, + setBufferCollectionBufferConstraintsFUCHSIA: bool = false, + setBufferCollectionImageConstraintsFUCHSIA: bool = false, + destroyBufferCollectionFUCHSIA: bool = false, + getBufferCollectionPropertiesFUCHSIA: bool = false, + createCudaModuleNV: bool = false, + getCudaModuleCacheNV: bool = false, + createCudaFunctionNV: bool = false, + destroyCudaModuleNV: bool = false, + destroyCudaFunctionNV: bool = false, + cmdCudaLaunchKernelNV: bool = false, + cmdBeginRendering: bool = false, + cmdBeginRenderingKHR: bool = false, + cmdEndRendering: bool = false, + cmdEndRenderingKHR: bool = false, + getDescriptorSetLayoutHostMappingInfoVALVE: bool = false, + getDescriptorSetHostMappingVALVE: bool = false, + createMicromapEXT: bool = false, + cmdBuildMicromapsEXT: bool = false, + buildMicromapsEXT: bool = false, + destroyMicromapEXT: bool = false, + cmdCopyMicromapEXT: bool = false, + copyMicromapEXT: bool = false, + cmdCopyMicromapToMemoryEXT: bool = false, + copyMicromapToMemoryEXT: bool = false, + cmdCopyMemoryToMicromapEXT: bool = false, + copyMemoryToMicromapEXT: bool = false, + cmdWriteMicromapsPropertiesEXT: bool = false, + writeMicromapsPropertiesEXT: bool = false, + getDeviceMicromapCompatibilityEXT: bool = false, + getMicromapBuildSizesEXT: bool = false, + getShaderModuleIdentifierEXT: bool = false, + getShaderModuleCreateInfoIdentifierEXT: bool = false, + getImageSubresourceLayout2KHR: bool = false, + getImageSubresourceLayout2EXT: bool = false, + getPipelinePropertiesEXT: bool = false, + exportMetalObjectsEXT: bool = false, + getFramebufferTilePropertiesQCOM: bool = false, + getDynamicRenderingTilePropertiesQCOM: bool = false, + createOpticalFlowSessionNV: bool = false, + destroyOpticalFlowSessionNV: bool = false, + bindOpticalFlowSessionImageNV: bool = false, + cmdOpticalFlowExecuteNV: bool = false, + getDeviceFaultInfoEXT: bool = false, + cmdSetDepthBias2EXT: bool = false, + releaseSwapchainImagesEXT: bool = false, + getDeviceImageSubresourceLayoutKHR: bool = false, + mapMemory2KHR: bool = false, + unmapMemory2KHR: bool = false, + createShadersEXT: bool = false, + destroyShaderEXT: bool = false, + getShaderBinaryDataEXT: bool = false, + cmdBindShadersEXT: bool = false, + getScreenBufferPropertiesQNX: bool = false, + getExecutionGraphPipelineScratchSizeAMDX: bool = false, + getExecutionGraphPipelineNodeIndexAMDX: bool = false, + createExecutionGraphPipelinesAMDX: bool = false, + cmdInitializeGraphScratchMemoryAMDX: bool = false, + cmdDispatchGraphAMDX: bool = false, + cmdDispatchGraphIndirectAMDX: bool = false, + cmdDispatchGraphIndirectCountAMDX: bool = false, + cmdBindDescriptorSets2KHR: bool = false, + cmdPushConstants2KHR: bool = false, + cmdPushDescriptorSet2KHR: bool = false, + cmdPushDescriptorSetWithTemplate2KHR: bool = false, + cmdSetDescriptorBufferOffsets2EXT: bool = false, + cmdBindDescriptorBufferEmbeddedSamplers2EXT: bool = false, + setLatencySleepModeNV: bool = false, + latencySleepNV: bool = false, + setLatencyMarkerNV: bool = false, + getLatencyTimingsNV: bool = false, + queueNotifyOutOfBandNV: bool = false, + cmdSetRenderingAttachmentLocationsKHR: bool = false, + cmdSetRenderingInputAttachmentIndicesKHR: bool = false, pub fn CmdType(comptime tag: std.meta.FieldEnum(DeviceCommandFlags)) type { return switch (tag) { .destroyDevice => PfnDestroyDevice, @@ -13764,6 +26970,7 @@ pub const DeviceCommandFlags = packed struct { .createQueryPool => PfnCreateQueryPool, .destroyQueryPool => PfnDestroyQueryPool, .getQueryPoolResults => PfnGetQueryPoolResults, + .resetQueryPool => PfnResetQueryPool, .resetQueryPoolEXT => PfnResetQueryPoolEXT, .createBuffer => PfnCreateBuffer, .destroyBuffer => PfnDestroyBuffer, @@ -13782,6 +26989,7 @@ pub const DeviceCommandFlags = packed struct { .mergePipelineCaches => PfnMergePipelineCaches, .createGraphicsPipelines => PfnCreateGraphicsPipelines, .createComputePipelines => PfnCreateComputePipelines, + .getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI => PfnGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI, .destroyPipeline => PfnDestroyPipeline, .createPipelineLayout => PfnCreatePipelineLayout, .destroyPipelineLayout => PfnDestroyPipelineLayout, @@ -13800,6 +27008,7 @@ pub const DeviceCommandFlags = packed struct { .createRenderPass => PfnCreateRenderPass, .destroyRenderPass => PfnDestroyRenderPass, .getRenderAreaGranularity => PfnGetRenderAreaGranularity, + .getRenderingAreaGranularityKHR => PfnGetRenderingAreaGranularityKHR, .createCommandPool => PfnCreateCommandPool, .destroyCommandPool => PfnDestroyCommandPool, .resetCommandPool => PfnResetCommandPool, @@ -13809,6 +27018,7 @@ pub const DeviceCommandFlags = packed struct { .endCommandBuffer => PfnEndCommandBuffer, .resetCommandBuffer => PfnResetCommandBuffer, .cmdBindPipeline => PfnCmdBindPipeline, + .cmdSetAttachmentFeedbackLoopEnableEXT => PfnCmdSetAttachmentFeedbackLoopEnableEXT, .cmdSetViewport => PfnCmdSetViewport, .cmdSetScissor => PfnCmdSetScissor, .cmdSetLineWidth => PfnCmdSetLineWidth, @@ -13823,15 +27033,23 @@ pub const DeviceCommandFlags = packed struct { .cmdBindVertexBuffers => PfnCmdBindVertexBuffers, .cmdDraw => PfnCmdDraw, .cmdDrawIndexed => PfnCmdDrawIndexed, + .cmdDrawMultiEXT => PfnCmdDrawMultiEXT, + .cmdDrawMultiIndexedEXT => PfnCmdDrawMultiIndexedEXT, .cmdDrawIndirect => PfnCmdDrawIndirect, .cmdDrawIndexedIndirect => PfnCmdDrawIndexedIndirect, .cmdDispatch => PfnCmdDispatch, .cmdDispatchIndirect => PfnCmdDispatchIndirect, + .cmdSubpassShadingHUAWEI => PfnCmdSubpassShadingHUAWEI, + .cmdDrawClusterHUAWEI => PfnCmdDrawClusterHUAWEI, + .cmdDrawClusterIndirectHUAWEI => PfnCmdDrawClusterIndirectHUAWEI, + .cmdUpdatePipelineIndirectBufferNV => PfnCmdUpdatePipelineIndirectBufferNV, .cmdCopyBuffer => PfnCmdCopyBuffer, .cmdCopyImage => PfnCmdCopyImage, .cmdBlitImage => PfnCmdBlitImage, .cmdCopyBufferToImage => PfnCmdCopyBufferToImage, .cmdCopyImageToBuffer => PfnCmdCopyImageToBuffer, + .cmdCopyMemoryIndirectNV => PfnCmdCopyMemoryIndirectNV, + .cmdCopyMemoryToImageIndirectNV => PfnCmdCopyMemoryToImageIndirectNV, .cmdUpdateBuffer => PfnCmdUpdateBuffer, .cmdFillBuffer => PfnCmdFillBuffer, .cmdClearColorImage => PfnCmdClearColorImage, @@ -13866,14 +27084,12 @@ pub const DeviceCommandFlags = packed struct { .cmdDebugMarkerEndEXT => PfnCmdDebugMarkerEndEXT, .cmdDebugMarkerInsertEXT => PfnCmdDebugMarkerInsertEXT, .getMemoryWin32HandleNV => PfnGetMemoryWin32HandleNV, - .cmdProcessCommandsNVX => PfnCmdProcessCommandsNVX, - .cmdReserveSpaceForCommandsNVX => PfnCmdReserveSpaceForCommandsNVX, - .createIndirectCommandsLayoutNVX => PfnCreateIndirectCommandsLayoutNVX, - .destroyIndirectCommandsLayoutNVX => PfnDestroyIndirectCommandsLayoutNVX, - .createObjectTableNVX => PfnCreateObjectTableNVX, - .destroyObjectTableNVX => PfnDestroyObjectTableNVX, - .registerObjectsNVX => PfnRegisterObjectsNVX, - .unregisterObjectsNVX => PfnUnregisterObjectsNVX, + .cmdExecuteGeneratedCommandsNV => PfnCmdExecuteGeneratedCommandsNV, + .cmdPreprocessGeneratedCommandsNV => PfnCmdPreprocessGeneratedCommandsNV, + .cmdBindPipelineShaderGroupNV => PfnCmdBindPipelineShaderGroupNV, + .getGeneratedCommandsMemoryRequirementsNV => PfnGetGeneratedCommandsMemoryRequirementsNV, + .createIndirectCommandsLayoutNV => PfnCreateIndirectCommandsLayoutNV, + .destroyIndirectCommandsLayoutNV => PfnDestroyIndirectCommandsLayoutNV, .cmdPushDescriptorSetKHR => PfnCmdPushDescriptorSetKHR, .trimCommandPool => PfnTrimCommandPool, .trimCommandPoolKHR => PfnTrimCommandPoolKHR, @@ -13881,14 +27097,28 @@ pub const DeviceCommandFlags = packed struct { .getMemoryWin32HandlePropertiesKHR => PfnGetMemoryWin32HandlePropertiesKHR, .getMemoryFdKHR => PfnGetMemoryFdKHR, .getMemoryFdPropertiesKHR => PfnGetMemoryFdPropertiesKHR, + .getMemoryZirconHandleFUCHSIA => PfnGetMemoryZirconHandleFUCHSIA, + .getMemoryZirconHandlePropertiesFUCHSIA => PfnGetMemoryZirconHandlePropertiesFUCHSIA, + .getMemoryRemoteAddressNV => PfnGetMemoryRemoteAddressNV, + .getMemorySciBufNV => PfnGetMemorySciBufNV, .getSemaphoreWin32HandleKHR => PfnGetSemaphoreWin32HandleKHR, .importSemaphoreWin32HandleKHR => PfnImportSemaphoreWin32HandleKHR, .getSemaphoreFdKHR => PfnGetSemaphoreFdKHR, .importSemaphoreFdKHR => PfnImportSemaphoreFdKHR, + .getSemaphoreZirconHandleFUCHSIA => PfnGetSemaphoreZirconHandleFUCHSIA, + .importSemaphoreZirconHandleFUCHSIA => PfnImportSemaphoreZirconHandleFUCHSIA, .getFenceWin32HandleKHR => PfnGetFenceWin32HandleKHR, .importFenceWin32HandleKHR => PfnImportFenceWin32HandleKHR, .getFenceFdKHR => PfnGetFenceFdKHR, .importFenceFdKHR => PfnImportFenceFdKHR, + .getFenceSciSyncFenceNV => PfnGetFenceSciSyncFenceNV, + .getFenceSciSyncObjNV => PfnGetFenceSciSyncObjNV, + .importFenceSciSyncFenceNV => PfnImportFenceSciSyncFenceNV, + .importFenceSciSyncObjNV => PfnImportFenceSciSyncObjNV, + .getSemaphoreSciSyncObjNV => PfnGetSemaphoreSciSyncObjNV, + .importSemaphoreSciSyncObjNV => PfnImportSemaphoreSciSyncObjNV, + .createSemaphoreSciSyncPoolNV => PfnCreateSemaphoreSciSyncPoolNV, + .destroySemaphoreSciSyncPoolNV => PfnDestroySemaphoreSciSyncPoolNV, .displayPowerControlEXT => PfnDisplayPowerControlEXT, .registerDeviceEventEXT => PfnRegisterDeviceEventEXT, .registerDisplayEventEXT => PfnRegisterDisplayEventEXT, @@ -13919,6 +27149,8 @@ pub const DeviceCommandFlags = packed struct { .getPastPresentationTimingGOOGLE => PfnGetPastPresentationTimingGOOGLE, .cmdSetViewportWScalingNV => PfnCmdSetViewportWScalingNV, .cmdSetDiscardRectangleEXT => PfnCmdSetDiscardRectangleEXT, + .cmdSetDiscardRectangleEnableEXT => PfnCmdSetDiscardRectangleEnableEXT, + .cmdSetDiscardRectangleModeEXT => PfnCmdSetDiscardRectangleModeEXT, .cmdSetSampleLocationsEXT => PfnCmdSetSampleLocationsEXT, .getBufferMemoryRequirements2 => PfnGetBufferMemoryRequirements2, .getBufferMemoryRequirements2KHR => PfnGetBufferMemoryRequirements2KHR, @@ -13926,6 +27158,12 @@ pub const DeviceCommandFlags = packed struct { .getImageMemoryRequirements2KHR => PfnGetImageMemoryRequirements2KHR, .getImageSparseMemoryRequirements2 => PfnGetImageSparseMemoryRequirements2, .getImageSparseMemoryRequirements2KHR => PfnGetImageSparseMemoryRequirements2KHR, + .getDeviceBufferMemoryRequirements => PfnGetDeviceBufferMemoryRequirements, + .getDeviceBufferMemoryRequirementsKHR => PfnGetDeviceBufferMemoryRequirementsKHR, + .getDeviceImageMemoryRequirements => PfnGetDeviceImageMemoryRequirements, + .getDeviceImageMemoryRequirementsKHR => PfnGetDeviceImageMemoryRequirementsKHR, + .getDeviceImageSparseMemoryRequirements => PfnGetDeviceImageSparseMemoryRequirements, + .getDeviceImageSparseMemoryRequirementsKHR => PfnGetDeviceImageSparseMemoryRequirementsKHR, .createSamplerYcbcrConversion => PfnCreateSamplerYcbcrConversion, .createSamplerYcbcrConversionKHR => PfnCreateSamplerYcbcrConversionKHR, .destroySamplerYcbcrConversion => PfnDestroySamplerYcbcrConversion, @@ -13943,6 +27181,7 @@ pub const DeviceCommandFlags = packed struct { .queueSignalReleaseImageANDROID => PfnQueueSignalReleaseImageANDROID, .getShaderInfoAMD => PfnGetShaderInfoAMD, .setLocalDimmingAMD => PfnSetLocalDimmingAMD, + .getCalibratedTimestampsKHR => PfnGetCalibratedTimestampsKHR, .getCalibratedTimestampsEXT => PfnGetCalibratedTimestampsEXT, .setDebugUtilsObjectNameEXT => PfnSetDebugUtilsObjectNameEXT, .setDebugUtilsObjectTagEXT => PfnSetDebugUtilsObjectTagEXT, @@ -13954,17 +27193,26 @@ pub const DeviceCommandFlags = packed struct { .cmdInsertDebugUtilsLabelEXT => PfnCmdInsertDebugUtilsLabelEXT, .getMemoryHostPointerPropertiesEXT => PfnGetMemoryHostPointerPropertiesEXT, .cmdWriteBufferMarkerAMD => PfnCmdWriteBufferMarkerAMD, + .createRenderPass2 => PfnCreateRenderPass2, .createRenderPass2KHR => PfnCreateRenderPass2KHR, + .cmdBeginRenderPass2 => PfnCmdBeginRenderPass2, .cmdBeginRenderPass2KHR => PfnCmdBeginRenderPass2KHR, + .cmdNextSubpass2 => PfnCmdNextSubpass2, .cmdNextSubpass2KHR => PfnCmdNextSubpass2KHR, + .cmdEndRenderPass2 => PfnCmdEndRenderPass2, .cmdEndRenderPass2KHR => PfnCmdEndRenderPass2KHR, + .getSemaphoreCounterValue => PfnGetSemaphoreCounterValue, .getSemaphoreCounterValueKHR => PfnGetSemaphoreCounterValueKHR, + .waitSemaphores => PfnWaitSemaphores, .waitSemaphoresKHR => PfnWaitSemaphoresKHR, + .signalSemaphore => PfnSignalSemaphore, .signalSemaphoreKHR => PfnSignalSemaphoreKHR, .getAndroidHardwareBufferPropertiesANDROID => PfnGetAndroidHardwareBufferPropertiesANDROID, .getMemoryAndroidHardwareBufferANDROID => PfnGetMemoryAndroidHardwareBufferANDROID, + .cmdDrawIndirectCount => PfnCmdDrawIndirectCount, .cmdDrawIndirectCountKHR => PfnCmdDrawIndirectCountKHR, .cmdDrawIndirectCountAMD => PfnCmdDrawIndirectCountAMD, + .cmdDrawIndexedIndirectCount => PfnCmdDrawIndexedIndirectCount, .cmdDrawIndexedIndirectCountKHR => PfnCmdDrawIndexedIndirectCountKHR, .cmdDrawIndexedIndirectCountAMD => PfnCmdDrawIndexedIndirectCountAMD, .cmdSetCheckpointNV => PfnCmdSetCheckpointNV, @@ -13976,32 +27224,58 @@ pub const DeviceCommandFlags = packed struct { .cmdEndQueryIndexedEXT => PfnCmdEndQueryIndexedEXT, .cmdDrawIndirectByteCountEXT => PfnCmdDrawIndirectByteCountEXT, .cmdSetExclusiveScissorNV => PfnCmdSetExclusiveScissorNV, + .cmdSetExclusiveScissorEnableNV => PfnCmdSetExclusiveScissorEnableNV, .cmdBindShadingRateImageNV => PfnCmdBindShadingRateImageNV, .cmdSetViewportShadingRatePaletteNV => PfnCmdSetViewportShadingRatePaletteNV, .cmdSetCoarseSampleOrderNV => PfnCmdSetCoarseSampleOrderNV, .cmdDrawMeshTasksNV => PfnCmdDrawMeshTasksNV, .cmdDrawMeshTasksIndirectNV => PfnCmdDrawMeshTasksIndirectNV, .cmdDrawMeshTasksIndirectCountNV => PfnCmdDrawMeshTasksIndirectCountNV, + .cmdDrawMeshTasksEXT => PfnCmdDrawMeshTasksEXT, + .cmdDrawMeshTasksIndirectEXT => PfnCmdDrawMeshTasksIndirectEXT, + .cmdDrawMeshTasksIndirectCountEXT => PfnCmdDrawMeshTasksIndirectCountEXT, .compileDeferredNV => PfnCompileDeferredNV, .createAccelerationStructureNV => PfnCreateAccelerationStructureNV, + .cmdBindInvocationMaskHUAWEI => PfnCmdBindInvocationMaskHUAWEI, + .destroyAccelerationStructureKHR => PfnDestroyAccelerationStructureKHR, .destroyAccelerationStructureNV => PfnDestroyAccelerationStructureNV, .getAccelerationStructureMemoryRequirementsNV => PfnGetAccelerationStructureMemoryRequirementsNV, .bindAccelerationStructureMemoryNV => PfnBindAccelerationStructureMemoryNV, .cmdCopyAccelerationStructureNV => PfnCmdCopyAccelerationStructureNV, + .cmdCopyAccelerationStructureKHR => PfnCmdCopyAccelerationStructureKHR, + .copyAccelerationStructureKHR => PfnCopyAccelerationStructureKHR, + .cmdCopyAccelerationStructureToMemoryKHR => PfnCmdCopyAccelerationStructureToMemoryKHR, + .copyAccelerationStructureToMemoryKHR => PfnCopyAccelerationStructureToMemoryKHR, + .cmdCopyMemoryToAccelerationStructureKHR => PfnCmdCopyMemoryToAccelerationStructureKHR, + .copyMemoryToAccelerationStructureKHR => PfnCopyMemoryToAccelerationStructureKHR, + .cmdWriteAccelerationStructuresPropertiesKHR => PfnCmdWriteAccelerationStructuresPropertiesKHR, .cmdWriteAccelerationStructuresPropertiesNV => PfnCmdWriteAccelerationStructuresPropertiesNV, .cmdBuildAccelerationStructureNV => PfnCmdBuildAccelerationStructureNV, + .writeAccelerationStructuresPropertiesKHR => PfnWriteAccelerationStructuresPropertiesKHR, + .cmdTraceRaysKHR => PfnCmdTraceRaysKHR, .cmdTraceRaysNV => PfnCmdTraceRaysNV, + .getRayTracingShaderGroupHandlesKHR => PfnGetRayTracingShaderGroupHandlesKHR, .getRayTracingShaderGroupHandlesNV => PfnGetRayTracingShaderGroupHandlesNV, + .getRayTracingCaptureReplayShaderGroupHandlesKHR => PfnGetRayTracingCaptureReplayShaderGroupHandlesKHR, .getAccelerationStructureHandleNV => PfnGetAccelerationStructureHandleNV, .createRayTracingPipelinesNV => PfnCreateRayTracingPipelinesNV, + .createRayTracingPipelinesKHR => PfnCreateRayTracingPipelinesKHR, + .cmdTraceRaysIndirectKHR => PfnCmdTraceRaysIndirectKHR, + .cmdTraceRaysIndirect2KHR => PfnCmdTraceRaysIndirect2KHR, + .getDeviceAccelerationStructureCompatibilityKHR => PfnGetDeviceAccelerationStructureCompatibilityKHR, + .getRayTracingShaderGroupStackSizeKHR => PfnGetRayTracingShaderGroupStackSizeKHR, + .cmdSetRayTracingPipelineStackSizeKHR => PfnCmdSetRayTracingPipelineStackSizeKHR, .getImageViewHandleNVX => PfnGetImageViewHandleNVX, + .getImageViewAddressNVX => PfnGetImageViewAddressNVX, .getDeviceGroupSurfacePresentModes2EXT => PfnGetDeviceGroupSurfacePresentModes2EXT, .acquireFullScreenExclusiveModeEXT => PfnAcquireFullScreenExclusiveModeEXT, .releaseFullScreenExclusiveModeEXT => PfnReleaseFullScreenExclusiveModeEXT, .acquireProfilingLockKHR => PfnAcquireProfilingLockKHR, .releaseProfilingLockKHR => PfnReleaseProfilingLockKHR, .getImageDrmFormatModifierPropertiesEXT => PfnGetImageDrmFormatModifierPropertiesEXT, + .getBufferOpaqueCaptureAddress => PfnGetBufferOpaqueCaptureAddress, .getBufferOpaqueCaptureAddressKHR => PfnGetBufferOpaqueCaptureAddressKHR, + .getBufferDeviceAddress => PfnGetBufferDeviceAddress, .getBufferDeviceAddressKHR => PfnGetBufferDeviceAddressKHR, .getBufferDeviceAddressEXT => PfnGetBufferDeviceAddressEXT, .initializePerformanceApiINTEL => PfnInitializePerformanceApiINTEL, @@ -14013,11 +27287,242 @@ pub const DeviceCommandFlags = packed struct { .releasePerformanceConfigurationINTEL => PfnReleasePerformanceConfigurationINTEL, .queueSetPerformanceConfigurationINTEL => PfnQueueSetPerformanceConfigurationINTEL, .getPerformanceParameterINTEL => PfnGetPerformanceParameterINTEL, + .getDeviceMemoryOpaqueCaptureAddress => PfnGetDeviceMemoryOpaqueCaptureAddress, .getDeviceMemoryOpaqueCaptureAddressKHR => PfnGetDeviceMemoryOpaqueCaptureAddressKHR, .getPipelineExecutablePropertiesKHR => PfnGetPipelineExecutablePropertiesKHR, .getPipelineExecutableStatisticsKHR => PfnGetPipelineExecutableStatisticsKHR, .getPipelineExecutableInternalRepresentationsKHR => PfnGetPipelineExecutableInternalRepresentationsKHR, + .cmdSetLineStippleKHR => PfnCmdSetLineStippleKHR, .cmdSetLineStippleEXT => PfnCmdSetLineStippleEXT, + .getFaultData => PfnGetFaultData, + .createAccelerationStructureKHR => PfnCreateAccelerationStructureKHR, + .cmdBuildAccelerationStructuresKHR => PfnCmdBuildAccelerationStructuresKHR, + .cmdBuildAccelerationStructuresIndirectKHR => PfnCmdBuildAccelerationStructuresIndirectKHR, + .buildAccelerationStructuresKHR => PfnBuildAccelerationStructuresKHR, + .getAccelerationStructureDeviceAddressKHR => PfnGetAccelerationStructureDeviceAddressKHR, + .createDeferredOperationKHR => PfnCreateDeferredOperationKHR, + .destroyDeferredOperationKHR => PfnDestroyDeferredOperationKHR, + .getDeferredOperationMaxConcurrencyKHR => PfnGetDeferredOperationMaxConcurrencyKHR, + .getDeferredOperationResultKHR => PfnGetDeferredOperationResultKHR, + .deferredOperationJoinKHR => PfnDeferredOperationJoinKHR, + .getPipelineIndirectMemoryRequirementsNV => PfnGetPipelineIndirectMemoryRequirementsNV, + .getPipelineIndirectDeviceAddressNV => PfnGetPipelineIndirectDeviceAddressNV, + .cmdSetCullMode => PfnCmdSetCullMode, + .cmdSetCullModeEXT => PfnCmdSetCullModeEXT, + .cmdSetFrontFace => PfnCmdSetFrontFace, + .cmdSetFrontFaceEXT => PfnCmdSetFrontFaceEXT, + .cmdSetPrimitiveTopology => PfnCmdSetPrimitiveTopology, + .cmdSetPrimitiveTopologyEXT => PfnCmdSetPrimitiveTopologyEXT, + .cmdSetViewportWithCount => PfnCmdSetViewportWithCount, + .cmdSetViewportWithCountEXT => PfnCmdSetViewportWithCountEXT, + .cmdSetScissorWithCount => PfnCmdSetScissorWithCount, + .cmdSetScissorWithCountEXT => PfnCmdSetScissorWithCountEXT, + .cmdBindIndexBuffer2KHR => PfnCmdBindIndexBuffer2KHR, + .cmdBindVertexBuffers2 => PfnCmdBindVertexBuffers2, + .cmdBindVertexBuffers2EXT => PfnCmdBindVertexBuffers2EXT, + .cmdSetDepthTestEnable => PfnCmdSetDepthTestEnable, + .cmdSetDepthTestEnableEXT => PfnCmdSetDepthTestEnableEXT, + .cmdSetDepthWriteEnable => PfnCmdSetDepthWriteEnable, + .cmdSetDepthWriteEnableEXT => PfnCmdSetDepthWriteEnableEXT, + .cmdSetDepthCompareOp => PfnCmdSetDepthCompareOp, + .cmdSetDepthCompareOpEXT => PfnCmdSetDepthCompareOpEXT, + .cmdSetDepthBoundsTestEnable => PfnCmdSetDepthBoundsTestEnable, + .cmdSetDepthBoundsTestEnableEXT => PfnCmdSetDepthBoundsTestEnableEXT, + .cmdSetStencilTestEnable => PfnCmdSetStencilTestEnable, + .cmdSetStencilTestEnableEXT => PfnCmdSetStencilTestEnableEXT, + .cmdSetStencilOp => PfnCmdSetStencilOp, + .cmdSetStencilOpEXT => PfnCmdSetStencilOpEXT, + .cmdSetPatchControlPointsEXT => PfnCmdSetPatchControlPointsEXT, + .cmdSetRasterizerDiscardEnable => PfnCmdSetRasterizerDiscardEnable, + .cmdSetRasterizerDiscardEnableEXT => PfnCmdSetRasterizerDiscardEnableEXT, + .cmdSetDepthBiasEnable => PfnCmdSetDepthBiasEnable, + .cmdSetDepthBiasEnableEXT => PfnCmdSetDepthBiasEnableEXT, + .cmdSetLogicOpEXT => PfnCmdSetLogicOpEXT, + .cmdSetPrimitiveRestartEnable => PfnCmdSetPrimitiveRestartEnable, + .cmdSetPrimitiveRestartEnableEXT => PfnCmdSetPrimitiveRestartEnableEXT, + .cmdSetTessellationDomainOriginEXT => PfnCmdSetTessellationDomainOriginEXT, + .cmdSetDepthClampEnableEXT => PfnCmdSetDepthClampEnableEXT, + .cmdSetPolygonModeEXT => PfnCmdSetPolygonModeEXT, + .cmdSetRasterizationSamplesEXT => PfnCmdSetRasterizationSamplesEXT, + .cmdSetSampleMaskEXT => PfnCmdSetSampleMaskEXT, + .cmdSetAlphaToCoverageEnableEXT => PfnCmdSetAlphaToCoverageEnableEXT, + .cmdSetAlphaToOneEnableEXT => PfnCmdSetAlphaToOneEnableEXT, + .cmdSetLogicOpEnableEXT => PfnCmdSetLogicOpEnableEXT, + .cmdSetColorBlendEnableEXT => PfnCmdSetColorBlendEnableEXT, + .cmdSetColorBlendEquationEXT => PfnCmdSetColorBlendEquationEXT, + .cmdSetColorWriteMaskEXT => PfnCmdSetColorWriteMaskEXT, + .cmdSetRasterizationStreamEXT => PfnCmdSetRasterizationStreamEXT, + .cmdSetConservativeRasterizationModeEXT => PfnCmdSetConservativeRasterizationModeEXT, + .cmdSetExtraPrimitiveOverestimationSizeEXT => PfnCmdSetExtraPrimitiveOverestimationSizeEXT, + .cmdSetDepthClipEnableEXT => PfnCmdSetDepthClipEnableEXT, + .cmdSetSampleLocationsEnableEXT => PfnCmdSetSampleLocationsEnableEXT, + .cmdSetColorBlendAdvancedEXT => PfnCmdSetColorBlendAdvancedEXT, + .cmdSetProvokingVertexModeEXT => PfnCmdSetProvokingVertexModeEXT, + .cmdSetLineRasterizationModeEXT => PfnCmdSetLineRasterizationModeEXT, + .cmdSetLineStippleEnableEXT => PfnCmdSetLineStippleEnableEXT, + .cmdSetDepthClipNegativeOneToOneEXT => PfnCmdSetDepthClipNegativeOneToOneEXT, + .cmdSetViewportWScalingEnableNV => PfnCmdSetViewportWScalingEnableNV, + .cmdSetViewportSwizzleNV => PfnCmdSetViewportSwizzleNV, + .cmdSetCoverageToColorEnableNV => PfnCmdSetCoverageToColorEnableNV, + .cmdSetCoverageToColorLocationNV => PfnCmdSetCoverageToColorLocationNV, + .cmdSetCoverageModulationModeNV => PfnCmdSetCoverageModulationModeNV, + .cmdSetCoverageModulationTableEnableNV => PfnCmdSetCoverageModulationTableEnableNV, + .cmdSetCoverageModulationTableNV => PfnCmdSetCoverageModulationTableNV, + .cmdSetShadingRateImageEnableNV => PfnCmdSetShadingRateImageEnableNV, + .cmdSetCoverageReductionModeNV => PfnCmdSetCoverageReductionModeNV, + .cmdSetRepresentativeFragmentTestEnableNV => PfnCmdSetRepresentativeFragmentTestEnableNV, + .createPrivateDataSlot => PfnCreatePrivateDataSlot, + .createPrivateDataSlotEXT => PfnCreatePrivateDataSlotEXT, + .destroyPrivateDataSlot => PfnDestroyPrivateDataSlot, + .destroyPrivateDataSlotEXT => PfnDestroyPrivateDataSlotEXT, + .setPrivateData => PfnSetPrivateData, + .setPrivateDataEXT => PfnSetPrivateDataEXT, + .getPrivateData => PfnGetPrivateData, + .getPrivateDataEXT => PfnGetPrivateDataEXT, + .cmdCopyBuffer2 => PfnCmdCopyBuffer2, + .cmdCopyBuffer2KHR => PfnCmdCopyBuffer2KHR, + .cmdCopyImage2 => PfnCmdCopyImage2, + .cmdCopyImage2KHR => PfnCmdCopyImage2KHR, + .cmdBlitImage2 => PfnCmdBlitImage2, + .cmdBlitImage2KHR => PfnCmdBlitImage2KHR, + .cmdCopyBufferToImage2 => PfnCmdCopyBufferToImage2, + .cmdCopyBufferToImage2KHR => PfnCmdCopyBufferToImage2KHR, + .cmdCopyImageToBuffer2 => PfnCmdCopyImageToBuffer2, + .cmdCopyImageToBuffer2KHR => PfnCmdCopyImageToBuffer2KHR, + .cmdResolveImage2 => PfnCmdResolveImage2, + .cmdResolveImage2KHR => PfnCmdResolveImage2KHR, + .cmdRefreshObjectsKHR => PfnCmdRefreshObjectsKHR, + .cmdSetFragmentShadingRateKHR => PfnCmdSetFragmentShadingRateKHR, + .cmdSetFragmentShadingRateEnumNV => PfnCmdSetFragmentShadingRateEnumNV, + .getAccelerationStructureBuildSizesKHR => PfnGetAccelerationStructureBuildSizesKHR, + .cmdSetVertexInputEXT => PfnCmdSetVertexInputEXT, + .cmdSetColorWriteEnableEXT => PfnCmdSetColorWriteEnableEXT, + .cmdSetEvent2 => PfnCmdSetEvent2, + .cmdSetEvent2KHR => PfnCmdSetEvent2KHR, + .cmdResetEvent2 => PfnCmdResetEvent2, + .cmdResetEvent2KHR => PfnCmdResetEvent2KHR, + .cmdWaitEvents2 => PfnCmdWaitEvents2, + .cmdWaitEvents2KHR => PfnCmdWaitEvents2KHR, + .cmdPipelineBarrier2 => PfnCmdPipelineBarrier2, + .cmdPipelineBarrier2KHR => PfnCmdPipelineBarrier2KHR, + .queueSubmit2 => PfnQueueSubmit2, + .queueSubmit2KHR => PfnQueueSubmit2KHR, + .cmdWriteTimestamp2 => PfnCmdWriteTimestamp2, + .cmdWriteTimestamp2KHR => PfnCmdWriteTimestamp2KHR, + .cmdWriteBufferMarker2AMD => PfnCmdWriteBufferMarker2AMD, + .getQueueCheckpointData2NV => PfnGetQueueCheckpointData2NV, + .copyMemoryToImageEXT => PfnCopyMemoryToImageEXT, + .copyImageToMemoryEXT => PfnCopyImageToMemoryEXT, + .copyImageToImageEXT => PfnCopyImageToImageEXT, + .transitionImageLayoutEXT => PfnTransitionImageLayoutEXT, + .getCommandPoolMemoryConsumption => PfnGetCommandPoolMemoryConsumption, + .createVideoSessionKHR => PfnCreateVideoSessionKHR, + .destroyVideoSessionKHR => PfnDestroyVideoSessionKHR, + .createVideoSessionParametersKHR => PfnCreateVideoSessionParametersKHR, + .updateVideoSessionParametersKHR => PfnUpdateVideoSessionParametersKHR, + .getEncodedVideoSessionParametersKHR => PfnGetEncodedVideoSessionParametersKHR, + .destroyVideoSessionParametersKHR => PfnDestroyVideoSessionParametersKHR, + .getVideoSessionMemoryRequirementsKHR => PfnGetVideoSessionMemoryRequirementsKHR, + .bindVideoSessionMemoryKHR => PfnBindVideoSessionMemoryKHR, + .cmdDecodeVideoKHR => PfnCmdDecodeVideoKHR, + .cmdBeginVideoCodingKHR => PfnCmdBeginVideoCodingKHR, + .cmdControlVideoCodingKHR => PfnCmdControlVideoCodingKHR, + .cmdEndVideoCodingKHR => PfnCmdEndVideoCodingKHR, + .cmdEncodeVideoKHR => PfnCmdEncodeVideoKHR, + .cmdDecompressMemoryNV => PfnCmdDecompressMemoryNV, + .cmdDecompressMemoryIndirectCountNV => PfnCmdDecompressMemoryIndirectCountNV, + .createCuModuleNVX => PfnCreateCuModuleNVX, + .createCuFunctionNVX => PfnCreateCuFunctionNVX, + .destroyCuModuleNVX => PfnDestroyCuModuleNVX, + .destroyCuFunctionNVX => PfnDestroyCuFunctionNVX, + .cmdCuLaunchKernelNVX => PfnCmdCuLaunchKernelNVX, + .getDescriptorSetLayoutSizeEXT => PfnGetDescriptorSetLayoutSizeEXT, + .getDescriptorSetLayoutBindingOffsetEXT => PfnGetDescriptorSetLayoutBindingOffsetEXT, + .getDescriptorEXT => PfnGetDescriptorEXT, + .cmdBindDescriptorBuffersEXT => PfnCmdBindDescriptorBuffersEXT, + .cmdSetDescriptorBufferOffsetsEXT => PfnCmdSetDescriptorBufferOffsetsEXT, + .cmdBindDescriptorBufferEmbeddedSamplersEXT => PfnCmdBindDescriptorBufferEmbeddedSamplersEXT, + .getBufferOpaqueCaptureDescriptorDataEXT => PfnGetBufferOpaqueCaptureDescriptorDataEXT, + .getImageOpaqueCaptureDescriptorDataEXT => PfnGetImageOpaqueCaptureDescriptorDataEXT, + .getImageViewOpaqueCaptureDescriptorDataEXT => PfnGetImageViewOpaqueCaptureDescriptorDataEXT, + .getSamplerOpaqueCaptureDescriptorDataEXT => PfnGetSamplerOpaqueCaptureDescriptorDataEXT, + .getAccelerationStructureOpaqueCaptureDescriptorDataEXT => PfnGetAccelerationStructureOpaqueCaptureDescriptorDataEXT, + .setDeviceMemoryPriorityEXT => PfnSetDeviceMemoryPriorityEXT, + .waitForPresentKHR => PfnWaitForPresentKHR, + .createBufferCollectionFUCHSIA => PfnCreateBufferCollectionFUCHSIA, + .setBufferCollectionBufferConstraintsFUCHSIA => PfnSetBufferCollectionBufferConstraintsFUCHSIA, + .setBufferCollectionImageConstraintsFUCHSIA => PfnSetBufferCollectionImageConstraintsFUCHSIA, + .destroyBufferCollectionFUCHSIA => PfnDestroyBufferCollectionFUCHSIA, + .getBufferCollectionPropertiesFUCHSIA => PfnGetBufferCollectionPropertiesFUCHSIA, + .createCudaModuleNV => PfnCreateCudaModuleNV, + .getCudaModuleCacheNV => PfnGetCudaModuleCacheNV, + .createCudaFunctionNV => PfnCreateCudaFunctionNV, + .destroyCudaModuleNV => PfnDestroyCudaModuleNV, + .destroyCudaFunctionNV => PfnDestroyCudaFunctionNV, + .cmdCudaLaunchKernelNV => PfnCmdCudaLaunchKernelNV, + .cmdBeginRendering => PfnCmdBeginRendering, + .cmdBeginRenderingKHR => PfnCmdBeginRenderingKHR, + .cmdEndRendering => PfnCmdEndRendering, + .cmdEndRenderingKHR => PfnCmdEndRenderingKHR, + .getDescriptorSetLayoutHostMappingInfoVALVE => PfnGetDescriptorSetLayoutHostMappingInfoVALVE, + .getDescriptorSetHostMappingVALVE => PfnGetDescriptorSetHostMappingVALVE, + .createMicromapEXT => PfnCreateMicromapEXT, + .cmdBuildMicromapsEXT => PfnCmdBuildMicromapsEXT, + .buildMicromapsEXT => PfnBuildMicromapsEXT, + .destroyMicromapEXT => PfnDestroyMicromapEXT, + .cmdCopyMicromapEXT => PfnCmdCopyMicromapEXT, + .copyMicromapEXT => PfnCopyMicromapEXT, + .cmdCopyMicromapToMemoryEXT => PfnCmdCopyMicromapToMemoryEXT, + .copyMicromapToMemoryEXT => PfnCopyMicromapToMemoryEXT, + .cmdCopyMemoryToMicromapEXT => PfnCmdCopyMemoryToMicromapEXT, + .copyMemoryToMicromapEXT => PfnCopyMemoryToMicromapEXT, + .cmdWriteMicromapsPropertiesEXT => PfnCmdWriteMicromapsPropertiesEXT, + .writeMicromapsPropertiesEXT => PfnWriteMicromapsPropertiesEXT, + .getDeviceMicromapCompatibilityEXT => PfnGetDeviceMicromapCompatibilityEXT, + .getMicromapBuildSizesEXT => PfnGetMicromapBuildSizesEXT, + .getShaderModuleIdentifierEXT => PfnGetShaderModuleIdentifierEXT, + .getShaderModuleCreateInfoIdentifierEXT => PfnGetShaderModuleCreateInfoIdentifierEXT, + .getImageSubresourceLayout2KHR => PfnGetImageSubresourceLayout2KHR, + .getImageSubresourceLayout2EXT => PfnGetImageSubresourceLayout2EXT, + .getPipelinePropertiesEXT => PfnGetPipelinePropertiesEXT, + .exportMetalObjectsEXT => PfnExportMetalObjectsEXT, + .getFramebufferTilePropertiesQCOM => PfnGetFramebufferTilePropertiesQCOM, + .getDynamicRenderingTilePropertiesQCOM => PfnGetDynamicRenderingTilePropertiesQCOM, + .createOpticalFlowSessionNV => PfnCreateOpticalFlowSessionNV, + .destroyOpticalFlowSessionNV => PfnDestroyOpticalFlowSessionNV, + .bindOpticalFlowSessionImageNV => PfnBindOpticalFlowSessionImageNV, + .cmdOpticalFlowExecuteNV => PfnCmdOpticalFlowExecuteNV, + .getDeviceFaultInfoEXT => PfnGetDeviceFaultInfoEXT, + .cmdSetDepthBias2EXT => PfnCmdSetDepthBias2EXT, + .releaseSwapchainImagesEXT => PfnReleaseSwapchainImagesEXT, + .getDeviceImageSubresourceLayoutKHR => PfnGetDeviceImageSubresourceLayoutKHR, + .mapMemory2KHR => PfnMapMemory2KHR, + .unmapMemory2KHR => PfnUnmapMemory2KHR, + .createShadersEXT => PfnCreateShadersEXT, + .destroyShaderEXT => PfnDestroyShaderEXT, + .getShaderBinaryDataEXT => PfnGetShaderBinaryDataEXT, + .cmdBindShadersEXT => PfnCmdBindShadersEXT, + .getScreenBufferPropertiesQNX => PfnGetScreenBufferPropertiesQNX, + .getExecutionGraphPipelineScratchSizeAMDX => PfnGetExecutionGraphPipelineScratchSizeAMDX, + .getExecutionGraphPipelineNodeIndexAMDX => PfnGetExecutionGraphPipelineNodeIndexAMDX, + .createExecutionGraphPipelinesAMDX => PfnCreateExecutionGraphPipelinesAMDX, + .cmdInitializeGraphScratchMemoryAMDX => PfnCmdInitializeGraphScratchMemoryAMDX, + .cmdDispatchGraphAMDX => PfnCmdDispatchGraphAMDX, + .cmdDispatchGraphIndirectAMDX => PfnCmdDispatchGraphIndirectAMDX, + .cmdDispatchGraphIndirectCountAMDX => PfnCmdDispatchGraphIndirectCountAMDX, + .cmdBindDescriptorSets2KHR => PfnCmdBindDescriptorSets2KHR, + .cmdPushConstants2KHR => PfnCmdPushConstants2KHR, + .cmdPushDescriptorSet2KHR => PfnCmdPushDescriptorSet2KHR, + .cmdPushDescriptorSetWithTemplate2KHR => PfnCmdPushDescriptorSetWithTemplate2KHR, + .cmdSetDescriptorBufferOffsets2EXT => PfnCmdSetDescriptorBufferOffsets2EXT, + .cmdBindDescriptorBufferEmbeddedSamplers2EXT => PfnCmdBindDescriptorBufferEmbeddedSamplers2EXT, + .setLatencySleepModeNV => PfnSetLatencySleepModeNV, + .latencySleepNV => PfnLatencySleepNV, + .setLatencyMarkerNV => PfnSetLatencyMarkerNV, + .getLatencyTimingsNV => PfnGetLatencyTimingsNV, + .queueNotifyOutOfBandNV => PfnQueueNotifyOutOfBandNV, + .cmdSetRenderingAttachmentLocationsKHR => PfnCmdSetRenderingAttachmentLocationsKHR, + .cmdSetRenderingInputAttachmentIndicesKHR => PfnCmdSetRenderingInputAttachmentIndicesKHR, }; } pub fn cmdName(tag: std.meta.FieldEnum(DeviceCommandFlags)) [:0]const u8 { @@ -14055,6 +27560,7 @@ pub const DeviceCommandFlags = packed struct { .createQueryPool => "vkCreateQueryPool", .destroyQueryPool => "vkDestroyQueryPool", .getQueryPoolResults => "vkGetQueryPoolResults", + .resetQueryPool => "vkResetQueryPool", .resetQueryPoolEXT => "vkResetQueryPoolEXT", .createBuffer => "vkCreateBuffer", .destroyBuffer => "vkDestroyBuffer", @@ -14073,6 +27579,7 @@ pub const DeviceCommandFlags = packed struct { .mergePipelineCaches => "vkMergePipelineCaches", .createGraphicsPipelines => "vkCreateGraphicsPipelines", .createComputePipelines => "vkCreateComputePipelines", + .getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI => "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI", .destroyPipeline => "vkDestroyPipeline", .createPipelineLayout => "vkCreatePipelineLayout", .destroyPipelineLayout => "vkDestroyPipelineLayout", @@ -14091,6 +27598,7 @@ pub const DeviceCommandFlags = packed struct { .createRenderPass => "vkCreateRenderPass", .destroyRenderPass => "vkDestroyRenderPass", .getRenderAreaGranularity => "vkGetRenderAreaGranularity", + .getRenderingAreaGranularityKHR => "vkGetRenderingAreaGranularityKHR", .createCommandPool => "vkCreateCommandPool", .destroyCommandPool => "vkDestroyCommandPool", .resetCommandPool => "vkResetCommandPool", @@ -14100,6 +27608,7 @@ pub const DeviceCommandFlags = packed struct { .endCommandBuffer => "vkEndCommandBuffer", .resetCommandBuffer => "vkResetCommandBuffer", .cmdBindPipeline => "vkCmdBindPipeline", + .cmdSetAttachmentFeedbackLoopEnableEXT => "vkCmdSetAttachmentFeedbackLoopEnableEXT", .cmdSetViewport => "vkCmdSetViewport", .cmdSetScissor => "vkCmdSetScissor", .cmdSetLineWidth => "vkCmdSetLineWidth", @@ -14114,15 +27623,23 @@ pub const DeviceCommandFlags = packed struct { .cmdBindVertexBuffers => "vkCmdBindVertexBuffers", .cmdDraw => "vkCmdDraw", .cmdDrawIndexed => "vkCmdDrawIndexed", + .cmdDrawMultiEXT => "vkCmdDrawMultiEXT", + .cmdDrawMultiIndexedEXT => "vkCmdDrawMultiIndexedEXT", .cmdDrawIndirect => "vkCmdDrawIndirect", .cmdDrawIndexedIndirect => "vkCmdDrawIndexedIndirect", .cmdDispatch => "vkCmdDispatch", .cmdDispatchIndirect => "vkCmdDispatchIndirect", + .cmdSubpassShadingHUAWEI => "vkCmdSubpassShadingHUAWEI", + .cmdDrawClusterHUAWEI => "vkCmdDrawClusterHUAWEI", + .cmdDrawClusterIndirectHUAWEI => "vkCmdDrawClusterIndirectHUAWEI", + .cmdUpdatePipelineIndirectBufferNV => "vkCmdUpdatePipelineIndirectBufferNV", .cmdCopyBuffer => "vkCmdCopyBuffer", .cmdCopyImage => "vkCmdCopyImage", .cmdBlitImage => "vkCmdBlitImage", .cmdCopyBufferToImage => "vkCmdCopyBufferToImage", .cmdCopyImageToBuffer => "vkCmdCopyImageToBuffer", + .cmdCopyMemoryIndirectNV => "vkCmdCopyMemoryIndirectNV", + .cmdCopyMemoryToImageIndirectNV => "vkCmdCopyMemoryToImageIndirectNV", .cmdUpdateBuffer => "vkCmdUpdateBuffer", .cmdFillBuffer => "vkCmdFillBuffer", .cmdClearColorImage => "vkCmdClearColorImage", @@ -14157,14 +27674,12 @@ pub const DeviceCommandFlags = packed struct { .cmdDebugMarkerEndEXT => "vkCmdDebugMarkerEndEXT", .cmdDebugMarkerInsertEXT => "vkCmdDebugMarkerInsertEXT", .getMemoryWin32HandleNV => "vkGetMemoryWin32HandleNV", - .cmdProcessCommandsNVX => "vkCmdProcessCommandsNVX", - .cmdReserveSpaceForCommandsNVX => "vkCmdReserveSpaceForCommandsNVX", - .createIndirectCommandsLayoutNVX => "vkCreateIndirectCommandsLayoutNVX", - .destroyIndirectCommandsLayoutNVX => "vkDestroyIndirectCommandsLayoutNVX", - .createObjectTableNVX => "vkCreateObjectTableNVX", - .destroyObjectTableNVX => "vkDestroyObjectTableNVX", - .registerObjectsNVX => "vkRegisterObjectsNVX", - .unregisterObjectsNVX => "vkUnregisterObjectsNVX", + .cmdExecuteGeneratedCommandsNV => "vkCmdExecuteGeneratedCommandsNV", + .cmdPreprocessGeneratedCommandsNV => "vkCmdPreprocessGeneratedCommandsNV", + .cmdBindPipelineShaderGroupNV => "vkCmdBindPipelineShaderGroupNV", + .getGeneratedCommandsMemoryRequirementsNV => "vkGetGeneratedCommandsMemoryRequirementsNV", + .createIndirectCommandsLayoutNV => "vkCreateIndirectCommandsLayoutNV", + .destroyIndirectCommandsLayoutNV => "vkDestroyIndirectCommandsLayoutNV", .cmdPushDescriptorSetKHR => "vkCmdPushDescriptorSetKHR", .trimCommandPool => "vkTrimCommandPool", .trimCommandPoolKHR => "vkTrimCommandPoolKHR", @@ -14172,14 +27687,28 @@ pub const DeviceCommandFlags = packed struct { .getMemoryWin32HandlePropertiesKHR => "vkGetMemoryWin32HandlePropertiesKHR", .getMemoryFdKHR => "vkGetMemoryFdKHR", .getMemoryFdPropertiesKHR => "vkGetMemoryFdPropertiesKHR", + .getMemoryZirconHandleFUCHSIA => "vkGetMemoryZirconHandleFUCHSIA", + .getMemoryZirconHandlePropertiesFUCHSIA => "vkGetMemoryZirconHandlePropertiesFUCHSIA", + .getMemoryRemoteAddressNV => "vkGetMemoryRemoteAddressNV", + .getMemorySciBufNV => "vkGetMemorySciBufNV", .getSemaphoreWin32HandleKHR => "vkGetSemaphoreWin32HandleKHR", .importSemaphoreWin32HandleKHR => "vkImportSemaphoreWin32HandleKHR", .getSemaphoreFdKHR => "vkGetSemaphoreFdKHR", .importSemaphoreFdKHR => "vkImportSemaphoreFdKHR", + .getSemaphoreZirconHandleFUCHSIA => "vkGetSemaphoreZirconHandleFUCHSIA", + .importSemaphoreZirconHandleFUCHSIA => "vkImportSemaphoreZirconHandleFUCHSIA", .getFenceWin32HandleKHR => "vkGetFenceWin32HandleKHR", .importFenceWin32HandleKHR => "vkImportFenceWin32HandleKHR", .getFenceFdKHR => "vkGetFenceFdKHR", .importFenceFdKHR => "vkImportFenceFdKHR", + .getFenceSciSyncFenceNV => "vkGetFenceSciSyncFenceNV", + .getFenceSciSyncObjNV => "vkGetFenceSciSyncObjNV", + .importFenceSciSyncFenceNV => "vkImportFenceSciSyncFenceNV", + .importFenceSciSyncObjNV => "vkImportFenceSciSyncObjNV", + .getSemaphoreSciSyncObjNV => "vkGetSemaphoreSciSyncObjNV", + .importSemaphoreSciSyncObjNV => "vkImportSemaphoreSciSyncObjNV", + .createSemaphoreSciSyncPoolNV => "vkCreateSemaphoreSciSyncPoolNV", + .destroySemaphoreSciSyncPoolNV => "vkDestroySemaphoreSciSyncPoolNV", .displayPowerControlEXT => "vkDisplayPowerControlEXT", .registerDeviceEventEXT => "vkRegisterDeviceEventEXT", .registerDisplayEventEXT => "vkRegisterDisplayEventEXT", @@ -14210,6 +27739,8 @@ pub const DeviceCommandFlags = packed struct { .getPastPresentationTimingGOOGLE => "vkGetPastPresentationTimingGOOGLE", .cmdSetViewportWScalingNV => "vkCmdSetViewportWScalingNV", .cmdSetDiscardRectangleEXT => "vkCmdSetDiscardRectangleEXT", + .cmdSetDiscardRectangleEnableEXT => "vkCmdSetDiscardRectangleEnableEXT", + .cmdSetDiscardRectangleModeEXT => "vkCmdSetDiscardRectangleModeEXT", .cmdSetSampleLocationsEXT => "vkCmdSetSampleLocationsEXT", .getBufferMemoryRequirements2 => "vkGetBufferMemoryRequirements2", .getBufferMemoryRequirements2KHR => "vkGetBufferMemoryRequirements2KHR", @@ -14217,6 +27748,12 @@ pub const DeviceCommandFlags = packed struct { .getImageMemoryRequirements2KHR => "vkGetImageMemoryRequirements2KHR", .getImageSparseMemoryRequirements2 => "vkGetImageSparseMemoryRequirements2", .getImageSparseMemoryRequirements2KHR => "vkGetImageSparseMemoryRequirements2KHR", + .getDeviceBufferMemoryRequirements => "vkGetDeviceBufferMemoryRequirements", + .getDeviceBufferMemoryRequirementsKHR => "vkGetDeviceBufferMemoryRequirementsKHR", + .getDeviceImageMemoryRequirements => "vkGetDeviceImageMemoryRequirements", + .getDeviceImageMemoryRequirementsKHR => "vkGetDeviceImageMemoryRequirementsKHR", + .getDeviceImageSparseMemoryRequirements => "vkGetDeviceImageSparseMemoryRequirements", + .getDeviceImageSparseMemoryRequirementsKHR => "vkGetDeviceImageSparseMemoryRequirementsKHR", .createSamplerYcbcrConversion => "vkCreateSamplerYcbcrConversion", .createSamplerYcbcrConversionKHR => "vkCreateSamplerYcbcrConversionKHR", .destroySamplerYcbcrConversion => "vkDestroySamplerYcbcrConversion", @@ -14234,6 +27771,7 @@ pub const DeviceCommandFlags = packed struct { .queueSignalReleaseImageANDROID => "vkQueueSignalReleaseImageANDROID", .getShaderInfoAMD => "vkGetShaderInfoAMD", .setLocalDimmingAMD => "vkSetLocalDimmingAMD", + .getCalibratedTimestampsKHR => "vkGetCalibratedTimestampsKHR", .getCalibratedTimestampsEXT => "vkGetCalibratedTimestampsEXT", .setDebugUtilsObjectNameEXT => "vkSetDebugUtilsObjectNameEXT", .setDebugUtilsObjectTagEXT => "vkSetDebugUtilsObjectTagEXT", @@ -14245,17 +27783,26 @@ pub const DeviceCommandFlags = packed struct { .cmdInsertDebugUtilsLabelEXT => "vkCmdInsertDebugUtilsLabelEXT", .getMemoryHostPointerPropertiesEXT => "vkGetMemoryHostPointerPropertiesEXT", .cmdWriteBufferMarkerAMD => "vkCmdWriteBufferMarkerAMD", + .createRenderPass2 => "vkCreateRenderPass2", .createRenderPass2KHR => "vkCreateRenderPass2KHR", + .cmdBeginRenderPass2 => "vkCmdBeginRenderPass2", .cmdBeginRenderPass2KHR => "vkCmdBeginRenderPass2KHR", + .cmdNextSubpass2 => "vkCmdNextSubpass2", .cmdNextSubpass2KHR => "vkCmdNextSubpass2KHR", + .cmdEndRenderPass2 => "vkCmdEndRenderPass2", .cmdEndRenderPass2KHR => "vkCmdEndRenderPass2KHR", + .getSemaphoreCounterValue => "vkGetSemaphoreCounterValue", .getSemaphoreCounterValueKHR => "vkGetSemaphoreCounterValueKHR", + .waitSemaphores => "vkWaitSemaphores", .waitSemaphoresKHR => "vkWaitSemaphoresKHR", + .signalSemaphore => "vkSignalSemaphore", .signalSemaphoreKHR => "vkSignalSemaphoreKHR", .getAndroidHardwareBufferPropertiesANDROID => "vkGetAndroidHardwareBufferPropertiesANDROID", .getMemoryAndroidHardwareBufferANDROID => "vkGetMemoryAndroidHardwareBufferANDROID", + .cmdDrawIndirectCount => "vkCmdDrawIndirectCount", .cmdDrawIndirectCountKHR => "vkCmdDrawIndirectCountKHR", .cmdDrawIndirectCountAMD => "vkCmdDrawIndirectCountAMD", + .cmdDrawIndexedIndirectCount => "vkCmdDrawIndexedIndirectCount", .cmdDrawIndexedIndirectCountKHR => "vkCmdDrawIndexedIndirectCountKHR", .cmdDrawIndexedIndirectCountAMD => "vkCmdDrawIndexedIndirectCountAMD", .cmdSetCheckpointNV => "vkCmdSetCheckpointNV", @@ -14267,32 +27814,58 @@ pub const DeviceCommandFlags = packed struct { .cmdEndQueryIndexedEXT => "vkCmdEndQueryIndexedEXT", .cmdDrawIndirectByteCountEXT => "vkCmdDrawIndirectByteCountEXT", .cmdSetExclusiveScissorNV => "vkCmdSetExclusiveScissorNV", + .cmdSetExclusiveScissorEnableNV => "vkCmdSetExclusiveScissorEnableNV", .cmdBindShadingRateImageNV => "vkCmdBindShadingRateImageNV", .cmdSetViewportShadingRatePaletteNV => "vkCmdSetViewportShadingRatePaletteNV", .cmdSetCoarseSampleOrderNV => "vkCmdSetCoarseSampleOrderNV", .cmdDrawMeshTasksNV => "vkCmdDrawMeshTasksNV", .cmdDrawMeshTasksIndirectNV => "vkCmdDrawMeshTasksIndirectNV", .cmdDrawMeshTasksIndirectCountNV => "vkCmdDrawMeshTasksIndirectCountNV", + .cmdDrawMeshTasksEXT => "vkCmdDrawMeshTasksEXT", + .cmdDrawMeshTasksIndirectEXT => "vkCmdDrawMeshTasksIndirectEXT", + .cmdDrawMeshTasksIndirectCountEXT => "vkCmdDrawMeshTasksIndirectCountEXT", .compileDeferredNV => "vkCompileDeferredNV", .createAccelerationStructureNV => "vkCreateAccelerationStructureNV", + .cmdBindInvocationMaskHUAWEI => "vkCmdBindInvocationMaskHUAWEI", + .destroyAccelerationStructureKHR => "vkDestroyAccelerationStructureKHR", .destroyAccelerationStructureNV => "vkDestroyAccelerationStructureNV", .getAccelerationStructureMemoryRequirementsNV => "vkGetAccelerationStructureMemoryRequirementsNV", .bindAccelerationStructureMemoryNV => "vkBindAccelerationStructureMemoryNV", .cmdCopyAccelerationStructureNV => "vkCmdCopyAccelerationStructureNV", + .cmdCopyAccelerationStructureKHR => "vkCmdCopyAccelerationStructureKHR", + .copyAccelerationStructureKHR => "vkCopyAccelerationStructureKHR", + .cmdCopyAccelerationStructureToMemoryKHR => "vkCmdCopyAccelerationStructureToMemoryKHR", + .copyAccelerationStructureToMemoryKHR => "vkCopyAccelerationStructureToMemoryKHR", + .cmdCopyMemoryToAccelerationStructureKHR => "vkCmdCopyMemoryToAccelerationStructureKHR", + .copyMemoryToAccelerationStructureKHR => "vkCopyMemoryToAccelerationStructureKHR", + .cmdWriteAccelerationStructuresPropertiesKHR => "vkCmdWriteAccelerationStructuresPropertiesKHR", .cmdWriteAccelerationStructuresPropertiesNV => "vkCmdWriteAccelerationStructuresPropertiesNV", .cmdBuildAccelerationStructureNV => "vkCmdBuildAccelerationStructureNV", + .writeAccelerationStructuresPropertiesKHR => "vkWriteAccelerationStructuresPropertiesKHR", + .cmdTraceRaysKHR => "vkCmdTraceRaysKHR", .cmdTraceRaysNV => "vkCmdTraceRaysNV", + .getRayTracingShaderGroupHandlesKHR => "vkGetRayTracingShaderGroupHandlesKHR", .getRayTracingShaderGroupHandlesNV => "vkGetRayTracingShaderGroupHandlesNV", + .getRayTracingCaptureReplayShaderGroupHandlesKHR => "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR", .getAccelerationStructureHandleNV => "vkGetAccelerationStructureHandleNV", .createRayTracingPipelinesNV => "vkCreateRayTracingPipelinesNV", + .createRayTracingPipelinesKHR => "vkCreateRayTracingPipelinesKHR", + .cmdTraceRaysIndirectKHR => "vkCmdTraceRaysIndirectKHR", + .cmdTraceRaysIndirect2KHR => "vkCmdTraceRaysIndirect2KHR", + .getDeviceAccelerationStructureCompatibilityKHR => "vkGetDeviceAccelerationStructureCompatibilityKHR", + .getRayTracingShaderGroupStackSizeKHR => "vkGetRayTracingShaderGroupStackSizeKHR", + .cmdSetRayTracingPipelineStackSizeKHR => "vkCmdSetRayTracingPipelineStackSizeKHR", .getImageViewHandleNVX => "vkGetImageViewHandleNVX", + .getImageViewAddressNVX => "vkGetImageViewAddressNVX", .getDeviceGroupSurfacePresentModes2EXT => "vkGetDeviceGroupSurfacePresentModes2EXT", .acquireFullScreenExclusiveModeEXT => "vkAcquireFullScreenExclusiveModeEXT", .releaseFullScreenExclusiveModeEXT => "vkReleaseFullScreenExclusiveModeEXT", .acquireProfilingLockKHR => "vkAcquireProfilingLockKHR", .releaseProfilingLockKHR => "vkReleaseProfilingLockKHR", .getImageDrmFormatModifierPropertiesEXT => "vkGetImageDrmFormatModifierPropertiesEXT", + .getBufferOpaqueCaptureAddress => "vkGetBufferOpaqueCaptureAddress", .getBufferOpaqueCaptureAddressKHR => "vkGetBufferOpaqueCaptureAddressKHR", + .getBufferDeviceAddress => "vkGetBufferDeviceAddress", .getBufferDeviceAddressKHR => "vkGetBufferDeviceAddressKHR", .getBufferDeviceAddressEXT => "vkGetBufferDeviceAddressEXT", .initializePerformanceApiINTEL => "vkInitializePerformanceApiINTEL", @@ -14304,5485 +27877,22320 @@ pub const DeviceCommandFlags = packed struct { .releasePerformanceConfigurationINTEL => "vkReleasePerformanceConfigurationINTEL", .queueSetPerformanceConfigurationINTEL => "vkQueueSetPerformanceConfigurationINTEL", .getPerformanceParameterINTEL => "vkGetPerformanceParameterINTEL", + .getDeviceMemoryOpaqueCaptureAddress => "vkGetDeviceMemoryOpaqueCaptureAddress", .getDeviceMemoryOpaqueCaptureAddressKHR => "vkGetDeviceMemoryOpaqueCaptureAddressKHR", .getPipelineExecutablePropertiesKHR => "vkGetPipelineExecutablePropertiesKHR", .getPipelineExecutableStatisticsKHR => "vkGetPipelineExecutableStatisticsKHR", .getPipelineExecutableInternalRepresentationsKHR => "vkGetPipelineExecutableInternalRepresentationsKHR", + .cmdSetLineStippleKHR => "vkCmdSetLineStippleKHR", .cmdSetLineStippleEXT => "vkCmdSetLineStippleEXT", + .getFaultData => "vkGetFaultData", + .createAccelerationStructureKHR => "vkCreateAccelerationStructureKHR", + .cmdBuildAccelerationStructuresKHR => "vkCmdBuildAccelerationStructuresKHR", + .cmdBuildAccelerationStructuresIndirectKHR => "vkCmdBuildAccelerationStructuresIndirectKHR", + .buildAccelerationStructuresKHR => "vkBuildAccelerationStructuresKHR", + .getAccelerationStructureDeviceAddressKHR => "vkGetAccelerationStructureDeviceAddressKHR", + .createDeferredOperationKHR => "vkCreateDeferredOperationKHR", + .destroyDeferredOperationKHR => "vkDestroyDeferredOperationKHR", + .getDeferredOperationMaxConcurrencyKHR => "vkGetDeferredOperationMaxConcurrencyKHR", + .getDeferredOperationResultKHR => "vkGetDeferredOperationResultKHR", + .deferredOperationJoinKHR => "vkDeferredOperationJoinKHR", + .getPipelineIndirectMemoryRequirementsNV => "vkGetPipelineIndirectMemoryRequirementsNV", + .getPipelineIndirectDeviceAddressNV => "vkGetPipelineIndirectDeviceAddressNV", + .cmdSetCullMode => "vkCmdSetCullMode", + .cmdSetCullModeEXT => "vkCmdSetCullModeEXT", + .cmdSetFrontFace => "vkCmdSetFrontFace", + .cmdSetFrontFaceEXT => "vkCmdSetFrontFaceEXT", + .cmdSetPrimitiveTopology => "vkCmdSetPrimitiveTopology", + .cmdSetPrimitiveTopologyEXT => "vkCmdSetPrimitiveTopologyEXT", + .cmdSetViewportWithCount => "vkCmdSetViewportWithCount", + .cmdSetViewportWithCountEXT => "vkCmdSetViewportWithCountEXT", + .cmdSetScissorWithCount => "vkCmdSetScissorWithCount", + .cmdSetScissorWithCountEXT => "vkCmdSetScissorWithCountEXT", + .cmdBindIndexBuffer2KHR => "vkCmdBindIndexBuffer2KHR", + .cmdBindVertexBuffers2 => "vkCmdBindVertexBuffers2", + .cmdBindVertexBuffers2EXT => "vkCmdBindVertexBuffers2EXT", + .cmdSetDepthTestEnable => "vkCmdSetDepthTestEnable", + .cmdSetDepthTestEnableEXT => "vkCmdSetDepthTestEnableEXT", + .cmdSetDepthWriteEnable => "vkCmdSetDepthWriteEnable", + .cmdSetDepthWriteEnableEXT => "vkCmdSetDepthWriteEnableEXT", + .cmdSetDepthCompareOp => "vkCmdSetDepthCompareOp", + .cmdSetDepthCompareOpEXT => "vkCmdSetDepthCompareOpEXT", + .cmdSetDepthBoundsTestEnable => "vkCmdSetDepthBoundsTestEnable", + .cmdSetDepthBoundsTestEnableEXT => "vkCmdSetDepthBoundsTestEnableEXT", + .cmdSetStencilTestEnable => "vkCmdSetStencilTestEnable", + .cmdSetStencilTestEnableEXT => "vkCmdSetStencilTestEnableEXT", + .cmdSetStencilOp => "vkCmdSetStencilOp", + .cmdSetStencilOpEXT => "vkCmdSetStencilOpEXT", + .cmdSetPatchControlPointsEXT => "vkCmdSetPatchControlPointsEXT", + .cmdSetRasterizerDiscardEnable => "vkCmdSetRasterizerDiscardEnable", + .cmdSetRasterizerDiscardEnableEXT => "vkCmdSetRasterizerDiscardEnableEXT", + .cmdSetDepthBiasEnable => "vkCmdSetDepthBiasEnable", + .cmdSetDepthBiasEnableEXT => "vkCmdSetDepthBiasEnableEXT", + .cmdSetLogicOpEXT => "vkCmdSetLogicOpEXT", + .cmdSetPrimitiveRestartEnable => "vkCmdSetPrimitiveRestartEnable", + .cmdSetPrimitiveRestartEnableEXT => "vkCmdSetPrimitiveRestartEnableEXT", + .cmdSetTessellationDomainOriginEXT => "vkCmdSetTessellationDomainOriginEXT", + .cmdSetDepthClampEnableEXT => "vkCmdSetDepthClampEnableEXT", + .cmdSetPolygonModeEXT => "vkCmdSetPolygonModeEXT", + .cmdSetRasterizationSamplesEXT => "vkCmdSetRasterizationSamplesEXT", + .cmdSetSampleMaskEXT => "vkCmdSetSampleMaskEXT", + .cmdSetAlphaToCoverageEnableEXT => "vkCmdSetAlphaToCoverageEnableEXT", + .cmdSetAlphaToOneEnableEXT => "vkCmdSetAlphaToOneEnableEXT", + .cmdSetLogicOpEnableEXT => "vkCmdSetLogicOpEnableEXT", + .cmdSetColorBlendEnableEXT => "vkCmdSetColorBlendEnableEXT", + .cmdSetColorBlendEquationEXT => "vkCmdSetColorBlendEquationEXT", + .cmdSetColorWriteMaskEXT => "vkCmdSetColorWriteMaskEXT", + .cmdSetRasterizationStreamEXT => "vkCmdSetRasterizationStreamEXT", + .cmdSetConservativeRasterizationModeEXT => "vkCmdSetConservativeRasterizationModeEXT", + .cmdSetExtraPrimitiveOverestimationSizeEXT => "vkCmdSetExtraPrimitiveOverestimationSizeEXT", + .cmdSetDepthClipEnableEXT => "vkCmdSetDepthClipEnableEXT", + .cmdSetSampleLocationsEnableEXT => "vkCmdSetSampleLocationsEnableEXT", + .cmdSetColorBlendAdvancedEXT => "vkCmdSetColorBlendAdvancedEXT", + .cmdSetProvokingVertexModeEXT => "vkCmdSetProvokingVertexModeEXT", + .cmdSetLineRasterizationModeEXT => "vkCmdSetLineRasterizationModeEXT", + .cmdSetLineStippleEnableEXT => "vkCmdSetLineStippleEnableEXT", + .cmdSetDepthClipNegativeOneToOneEXT => "vkCmdSetDepthClipNegativeOneToOneEXT", + .cmdSetViewportWScalingEnableNV => "vkCmdSetViewportWScalingEnableNV", + .cmdSetViewportSwizzleNV => "vkCmdSetViewportSwizzleNV", + .cmdSetCoverageToColorEnableNV => "vkCmdSetCoverageToColorEnableNV", + .cmdSetCoverageToColorLocationNV => "vkCmdSetCoverageToColorLocationNV", + .cmdSetCoverageModulationModeNV => "vkCmdSetCoverageModulationModeNV", + .cmdSetCoverageModulationTableEnableNV => "vkCmdSetCoverageModulationTableEnableNV", + .cmdSetCoverageModulationTableNV => "vkCmdSetCoverageModulationTableNV", + .cmdSetShadingRateImageEnableNV => "vkCmdSetShadingRateImageEnableNV", + .cmdSetCoverageReductionModeNV => "vkCmdSetCoverageReductionModeNV", + .cmdSetRepresentativeFragmentTestEnableNV => "vkCmdSetRepresentativeFragmentTestEnableNV", + .createPrivateDataSlot => "vkCreatePrivateDataSlot", + .createPrivateDataSlotEXT => "vkCreatePrivateDataSlotEXT", + .destroyPrivateDataSlot => "vkDestroyPrivateDataSlot", + .destroyPrivateDataSlotEXT => "vkDestroyPrivateDataSlotEXT", + .setPrivateData => "vkSetPrivateData", + .setPrivateDataEXT => "vkSetPrivateDataEXT", + .getPrivateData => "vkGetPrivateData", + .getPrivateDataEXT => "vkGetPrivateDataEXT", + .cmdCopyBuffer2 => "vkCmdCopyBuffer2", + .cmdCopyBuffer2KHR => "vkCmdCopyBuffer2KHR", + .cmdCopyImage2 => "vkCmdCopyImage2", + .cmdCopyImage2KHR => "vkCmdCopyImage2KHR", + .cmdBlitImage2 => "vkCmdBlitImage2", + .cmdBlitImage2KHR => "vkCmdBlitImage2KHR", + .cmdCopyBufferToImage2 => "vkCmdCopyBufferToImage2", + .cmdCopyBufferToImage2KHR => "vkCmdCopyBufferToImage2KHR", + .cmdCopyImageToBuffer2 => "vkCmdCopyImageToBuffer2", + .cmdCopyImageToBuffer2KHR => "vkCmdCopyImageToBuffer2KHR", + .cmdResolveImage2 => "vkCmdResolveImage2", + .cmdResolveImage2KHR => "vkCmdResolveImage2KHR", + .cmdRefreshObjectsKHR => "vkCmdRefreshObjectsKHR", + .cmdSetFragmentShadingRateKHR => "vkCmdSetFragmentShadingRateKHR", + .cmdSetFragmentShadingRateEnumNV => "vkCmdSetFragmentShadingRateEnumNV", + .getAccelerationStructureBuildSizesKHR => "vkGetAccelerationStructureBuildSizesKHR", + .cmdSetVertexInputEXT => "vkCmdSetVertexInputEXT", + .cmdSetColorWriteEnableEXT => "vkCmdSetColorWriteEnableEXT", + .cmdSetEvent2 => "vkCmdSetEvent2", + .cmdSetEvent2KHR => "vkCmdSetEvent2KHR", + .cmdResetEvent2 => "vkCmdResetEvent2", + .cmdResetEvent2KHR => "vkCmdResetEvent2KHR", + .cmdWaitEvents2 => "vkCmdWaitEvents2", + .cmdWaitEvents2KHR => "vkCmdWaitEvents2KHR", + .cmdPipelineBarrier2 => "vkCmdPipelineBarrier2", + .cmdPipelineBarrier2KHR => "vkCmdPipelineBarrier2KHR", + .queueSubmit2 => "vkQueueSubmit2", + .queueSubmit2KHR => "vkQueueSubmit2KHR", + .cmdWriteTimestamp2 => "vkCmdWriteTimestamp2", + .cmdWriteTimestamp2KHR => "vkCmdWriteTimestamp2KHR", + .cmdWriteBufferMarker2AMD => "vkCmdWriteBufferMarker2AMD", + .getQueueCheckpointData2NV => "vkGetQueueCheckpointData2NV", + .copyMemoryToImageEXT => "vkCopyMemoryToImageEXT", + .copyImageToMemoryEXT => "vkCopyImageToMemoryEXT", + .copyImageToImageEXT => "vkCopyImageToImageEXT", + .transitionImageLayoutEXT => "vkTransitionImageLayoutEXT", + .getCommandPoolMemoryConsumption => "vkGetCommandPoolMemoryConsumption", + .createVideoSessionKHR => "vkCreateVideoSessionKHR", + .destroyVideoSessionKHR => "vkDestroyVideoSessionKHR", + .createVideoSessionParametersKHR => "vkCreateVideoSessionParametersKHR", + .updateVideoSessionParametersKHR => "vkUpdateVideoSessionParametersKHR", + .getEncodedVideoSessionParametersKHR => "vkGetEncodedVideoSessionParametersKHR", + .destroyVideoSessionParametersKHR => "vkDestroyVideoSessionParametersKHR", + .getVideoSessionMemoryRequirementsKHR => "vkGetVideoSessionMemoryRequirementsKHR", + .bindVideoSessionMemoryKHR => "vkBindVideoSessionMemoryKHR", + .cmdDecodeVideoKHR => "vkCmdDecodeVideoKHR", + .cmdBeginVideoCodingKHR => "vkCmdBeginVideoCodingKHR", + .cmdControlVideoCodingKHR => "vkCmdControlVideoCodingKHR", + .cmdEndVideoCodingKHR => "vkCmdEndVideoCodingKHR", + .cmdEncodeVideoKHR => "vkCmdEncodeVideoKHR", + .cmdDecompressMemoryNV => "vkCmdDecompressMemoryNV", + .cmdDecompressMemoryIndirectCountNV => "vkCmdDecompressMemoryIndirectCountNV", + .createCuModuleNVX => "vkCreateCuModuleNVX", + .createCuFunctionNVX => "vkCreateCuFunctionNVX", + .destroyCuModuleNVX => "vkDestroyCuModuleNVX", + .destroyCuFunctionNVX => "vkDestroyCuFunctionNVX", + .cmdCuLaunchKernelNVX => "vkCmdCuLaunchKernelNVX", + .getDescriptorSetLayoutSizeEXT => "vkGetDescriptorSetLayoutSizeEXT", + .getDescriptorSetLayoutBindingOffsetEXT => "vkGetDescriptorSetLayoutBindingOffsetEXT", + .getDescriptorEXT => "vkGetDescriptorEXT", + .cmdBindDescriptorBuffersEXT => "vkCmdBindDescriptorBuffersEXT", + .cmdSetDescriptorBufferOffsetsEXT => "vkCmdSetDescriptorBufferOffsetsEXT", + .cmdBindDescriptorBufferEmbeddedSamplersEXT => "vkCmdBindDescriptorBufferEmbeddedSamplersEXT", + .getBufferOpaqueCaptureDescriptorDataEXT => "vkGetBufferOpaqueCaptureDescriptorDataEXT", + .getImageOpaqueCaptureDescriptorDataEXT => "vkGetImageOpaqueCaptureDescriptorDataEXT", + .getImageViewOpaqueCaptureDescriptorDataEXT => "vkGetImageViewOpaqueCaptureDescriptorDataEXT", + .getSamplerOpaqueCaptureDescriptorDataEXT => "vkGetSamplerOpaqueCaptureDescriptorDataEXT", + .getAccelerationStructureOpaqueCaptureDescriptorDataEXT => "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT", + .setDeviceMemoryPriorityEXT => "vkSetDeviceMemoryPriorityEXT", + .waitForPresentKHR => "vkWaitForPresentKHR", + .createBufferCollectionFUCHSIA => "vkCreateBufferCollectionFUCHSIA", + .setBufferCollectionBufferConstraintsFUCHSIA => "vkSetBufferCollectionBufferConstraintsFUCHSIA", + .setBufferCollectionImageConstraintsFUCHSIA => "vkSetBufferCollectionImageConstraintsFUCHSIA", + .destroyBufferCollectionFUCHSIA => "vkDestroyBufferCollectionFUCHSIA", + .getBufferCollectionPropertiesFUCHSIA => "vkGetBufferCollectionPropertiesFUCHSIA", + .createCudaModuleNV => "vkCreateCudaModuleNV", + .getCudaModuleCacheNV => "vkGetCudaModuleCacheNV", + .createCudaFunctionNV => "vkCreateCudaFunctionNV", + .destroyCudaModuleNV => "vkDestroyCudaModuleNV", + .destroyCudaFunctionNV => "vkDestroyCudaFunctionNV", + .cmdCudaLaunchKernelNV => "vkCmdCudaLaunchKernelNV", + .cmdBeginRendering => "vkCmdBeginRendering", + .cmdBeginRenderingKHR => "vkCmdBeginRenderingKHR", + .cmdEndRendering => "vkCmdEndRendering", + .cmdEndRenderingKHR => "vkCmdEndRenderingKHR", + .getDescriptorSetLayoutHostMappingInfoVALVE => "vkGetDescriptorSetLayoutHostMappingInfoVALVE", + .getDescriptorSetHostMappingVALVE => "vkGetDescriptorSetHostMappingVALVE", + .createMicromapEXT => "vkCreateMicromapEXT", + .cmdBuildMicromapsEXT => "vkCmdBuildMicromapsEXT", + .buildMicromapsEXT => "vkBuildMicromapsEXT", + .destroyMicromapEXT => "vkDestroyMicromapEXT", + .cmdCopyMicromapEXT => "vkCmdCopyMicromapEXT", + .copyMicromapEXT => "vkCopyMicromapEXT", + .cmdCopyMicromapToMemoryEXT => "vkCmdCopyMicromapToMemoryEXT", + .copyMicromapToMemoryEXT => "vkCopyMicromapToMemoryEXT", + .cmdCopyMemoryToMicromapEXT => "vkCmdCopyMemoryToMicromapEXT", + .copyMemoryToMicromapEXT => "vkCopyMemoryToMicromapEXT", + .cmdWriteMicromapsPropertiesEXT => "vkCmdWriteMicromapsPropertiesEXT", + .writeMicromapsPropertiesEXT => "vkWriteMicromapsPropertiesEXT", + .getDeviceMicromapCompatibilityEXT => "vkGetDeviceMicromapCompatibilityEXT", + .getMicromapBuildSizesEXT => "vkGetMicromapBuildSizesEXT", + .getShaderModuleIdentifierEXT => "vkGetShaderModuleIdentifierEXT", + .getShaderModuleCreateInfoIdentifierEXT => "vkGetShaderModuleCreateInfoIdentifierEXT", + .getImageSubresourceLayout2KHR => "vkGetImageSubresourceLayout2KHR", + .getImageSubresourceLayout2EXT => "vkGetImageSubresourceLayout2EXT", + .getPipelinePropertiesEXT => "vkGetPipelinePropertiesEXT", + .exportMetalObjectsEXT => "vkExportMetalObjectsEXT", + .getFramebufferTilePropertiesQCOM => "vkGetFramebufferTilePropertiesQCOM", + .getDynamicRenderingTilePropertiesQCOM => "vkGetDynamicRenderingTilePropertiesQCOM", + .createOpticalFlowSessionNV => "vkCreateOpticalFlowSessionNV", + .destroyOpticalFlowSessionNV => "vkDestroyOpticalFlowSessionNV", + .bindOpticalFlowSessionImageNV => "vkBindOpticalFlowSessionImageNV", + .cmdOpticalFlowExecuteNV => "vkCmdOpticalFlowExecuteNV", + .getDeviceFaultInfoEXT => "vkGetDeviceFaultInfoEXT", + .cmdSetDepthBias2EXT => "vkCmdSetDepthBias2EXT", + .releaseSwapchainImagesEXT => "vkReleaseSwapchainImagesEXT", + .getDeviceImageSubresourceLayoutKHR => "vkGetDeviceImageSubresourceLayoutKHR", + .mapMemory2KHR => "vkMapMemory2KHR", + .unmapMemory2KHR => "vkUnmapMemory2KHR", + .createShadersEXT => "vkCreateShadersEXT", + .destroyShaderEXT => "vkDestroyShaderEXT", + .getShaderBinaryDataEXT => "vkGetShaderBinaryDataEXT", + .cmdBindShadersEXT => "vkCmdBindShadersEXT", + .getScreenBufferPropertiesQNX => "vkGetScreenBufferPropertiesQNX", + .getExecutionGraphPipelineScratchSizeAMDX => "vkGetExecutionGraphPipelineScratchSizeAMDX", + .getExecutionGraphPipelineNodeIndexAMDX => "vkGetExecutionGraphPipelineNodeIndexAMDX", + .createExecutionGraphPipelinesAMDX => "vkCreateExecutionGraphPipelinesAMDX", + .cmdInitializeGraphScratchMemoryAMDX => "vkCmdInitializeGraphScratchMemoryAMDX", + .cmdDispatchGraphAMDX => "vkCmdDispatchGraphAMDX", + .cmdDispatchGraphIndirectAMDX => "vkCmdDispatchGraphIndirectAMDX", + .cmdDispatchGraphIndirectCountAMDX => "vkCmdDispatchGraphIndirectCountAMDX", + .cmdBindDescriptorSets2KHR => "vkCmdBindDescriptorSets2KHR", + .cmdPushConstants2KHR => "vkCmdPushConstants2KHR", + .cmdPushDescriptorSet2KHR => "vkCmdPushDescriptorSet2KHR", + .cmdPushDescriptorSetWithTemplate2KHR => "vkCmdPushDescriptorSetWithTemplate2KHR", + .cmdSetDescriptorBufferOffsets2EXT => "vkCmdSetDescriptorBufferOffsets2EXT", + .cmdBindDescriptorBufferEmbeddedSamplers2EXT => "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT", + .setLatencySleepModeNV => "vkSetLatencySleepModeNV", + .latencySleepNV => "vkLatencySleepNV", + .setLatencyMarkerNV => "vkSetLatencyMarkerNV", + .getLatencyTimingsNV => "vkGetLatencyTimingsNV", + .queueNotifyOutOfBandNV => "vkQueueNotifyOutOfBandNV", + .cmdSetRenderingAttachmentLocationsKHR => "vkCmdSetRenderingAttachmentLocationsKHR", + .cmdSetRenderingInputAttachmentIndicesKHR => "vkCmdSetRenderingInputAttachmentIndicesKHR", + }; + } + pub usingnamespace CommandFlagsMixin(DeviceCommandFlags); +}; +pub fn DeviceWrapper(comptime apis: []const ApiInfo) type { + return struct { + dispatch: Dispatch, + + const Self = @This(); + pub const commands = blk: { + var cmds: DeviceCommandFlags = .{}; + for (apis) |api| { + cmds = cmds.merge(api.device_commands); + } + break :blk cmds; + }; + pub const Dispatch = blk: { + @setEvalBranchQuota(10_000); + const Type = std.builtin.Type; + const fields_len = fields_len: { + var fields_len: u32 = 0; + for (@typeInfo(DeviceCommandFlags).Struct.fields) |field| { + fields_len += @intCast(@intFromBool(@field(commands, field.name))); + } + break :fields_len fields_len; + }; + var fields: [fields_len]Type.StructField = undefined; + var i: usize = 0; + for (@typeInfo(DeviceCommandFlags).Struct.fields) |field| { + if (@field(commands, field.name)) { + const field_tag = std.enums.nameCast(std.meta.FieldEnum(DeviceCommandFlags), field.name); + const PfnType = DeviceCommandFlags.CmdType(field_tag); + fields[i] = .{ + .name = DeviceCommandFlags.cmdName(field_tag), + .type = PfnType, + .default_value = null, + .is_comptime = false, + .alignment = @alignOf(PfnType), + }; + i += 1; + } + } + break :blk @Type(.{ + .Struct = .{ + .layout = .auto, + .fields = &fields, + .decls = &[_]std.builtin.Type.Declaration{}, + .is_tuple = false, + }, + }); + }; + pub fn load(device: Device, loader: anytype) error{CommandLoadFailure}!Self { + var self: Self = undefined; + inline for (std.meta.fields(Dispatch)) |field| { + const name: [*:0]const u8 = @ptrCast(field.name ++ "\x00"); + const cmd_ptr = loader(device, name) orelse return error.CommandLoadFailure; + @field(self.dispatch, field.name) = @ptrCast(cmd_ptr); + } + return self; + } + pub fn loadNoFail(device: Device, loader: anytype) Self { + var self: Self = undefined; + inline for (std.meta.fields(Dispatch)) |field| { + const name: [*:0]const u8 = @ptrCast(field.name ++ "\x00"); + const cmd_ptr = loader(device, name) orelse undefined; + @field(self.dispatch, field.name) = @ptrCast(cmd_ptr); + } + return self; + } + pub fn destroyDevice( + self: Self, + device: Device, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyDevice( + device, + p_allocator, + ); + } + pub fn getDeviceQueue( + self: Self, + device: Device, + queue_family_index: u32, + queue_index: u32, + ) Queue { + var out_queue: Queue = undefined; + self.dispatch.vkGetDeviceQueue( + device, + queue_family_index, + queue_index, + &out_queue, + ); + return out_queue; + } + pub const QueueSubmitError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn queueSubmit( + self: Self, + queue: Queue, + submit_count: u32, + p_submits: ?[*]const SubmitInfo, + fence: Fence, + ) QueueSubmitError!void { + const result = self.dispatch.vkQueueSubmit( + queue, + submit_count, + p_submits, + fence, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + } + pub const QueueWaitIdleError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn queueWaitIdle( + self: Self, + queue: Queue, + ) QueueWaitIdleError!void { + const result = self.dispatch.vkQueueWaitIdle( + queue, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + } + pub const DeviceWaitIdleError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn deviceWaitIdle( + self: Self, + device: Device, + ) DeviceWaitIdleError!void { + const result = self.dispatch.vkDeviceWaitIdle( + device, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + } + pub const AllocateMemoryError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidExternalHandle, + InvalidOpaqueCaptureAddressKHR, + Unknown, + }; + pub fn allocateMemory( + self: Self, + device: Device, + p_allocate_info: *const MemoryAllocateInfo, + p_allocator: ?*const AllocationCallbacks, + ) AllocateMemoryError!DeviceMemory { + var out_memory: DeviceMemory = undefined; + const result = self.dispatch.vkAllocateMemory( + device, + p_allocate_info, + p_allocator, + &out_memory, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, + else => return error.Unknown, + } + return out_memory; + } + pub fn freeMemory( + self: Self, + device: Device, + memory: DeviceMemory, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkFreeMemory( + device, + memory, + p_allocator, + ); + } + pub const MapMemoryError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + MemoryMapFailed, + Unknown, + }; + pub fn mapMemory( + self: Self, + device: Device, + memory: DeviceMemory, + offset: DeviceSize, + size: DeviceSize, + flags: MemoryMapFlags, + ) MapMemoryError!?*anyopaque { + var out_pp_data: ?*anyopaque = undefined; + const result = self.dispatch.vkMapMemory( + device, + memory, + offset, + size, + flags, + &out_pp_data, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_memory_map_failed => return error.MemoryMapFailed, + else => return error.Unknown, + } + return out_pp_data; + } + pub fn unmapMemory( + self: Self, + device: Device, + memory: DeviceMemory, + ) void { + self.dispatch.vkUnmapMemory( + device, + memory, + ); + } + pub const FlushMappedMemoryRangesError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn flushMappedMemoryRanges( + self: Self, + device: Device, + memory_range_count: u32, + p_memory_ranges: [*]const MappedMemoryRange, + ) FlushMappedMemoryRangesError!void { + const result = self.dispatch.vkFlushMappedMemoryRanges( + device, + memory_range_count, + p_memory_ranges, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const InvalidateMappedMemoryRangesError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn invalidateMappedMemoryRanges( + self: Self, + device: Device, + memory_range_count: u32, + p_memory_ranges: [*]const MappedMemoryRange, + ) InvalidateMappedMemoryRangesError!void { + const result = self.dispatch.vkInvalidateMappedMemoryRanges( + device, + memory_range_count, + p_memory_ranges, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub fn getDeviceMemoryCommitment( + self: Self, + device: Device, + memory: DeviceMemory, + ) DeviceSize { + var out_committed_memory_in_bytes: DeviceSize = undefined; + self.dispatch.vkGetDeviceMemoryCommitment( + device, + memory, + &out_committed_memory_in_bytes, + ); + return out_committed_memory_in_bytes; + } + pub fn getBufferMemoryRequirements( + self: Self, + device: Device, + buffer: Buffer, + ) MemoryRequirements { + var out_memory_requirements: MemoryRequirements = undefined; + self.dispatch.vkGetBufferMemoryRequirements( + device, + buffer, + &out_memory_requirements, + ); + return out_memory_requirements; + } + pub const BindBufferMemoryError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidOpaqueCaptureAddressKHR, + Unknown, + }; + pub fn bindBufferMemory( + self: Self, + device: Device, + buffer: Buffer, + memory: DeviceMemory, + memory_offset: DeviceSize, + ) BindBufferMemoryError!void { + const result = self.dispatch.vkBindBufferMemory( + device, + buffer, + memory, + memory_offset, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, + else => return error.Unknown, + } + } + pub fn getImageMemoryRequirements( + self: Self, + device: Device, + image: Image, + ) MemoryRequirements { + var out_memory_requirements: MemoryRequirements = undefined; + self.dispatch.vkGetImageMemoryRequirements( + device, + image, + &out_memory_requirements, + ); + return out_memory_requirements; + } + pub const BindImageMemoryError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn bindImageMemory( + self: Self, + device: Device, + image: Image, + memory: DeviceMemory, + memory_offset: DeviceSize, + ) BindImageMemoryError!void { + const result = self.dispatch.vkBindImageMemory( + device, + image, + memory, + memory_offset, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub fn getImageSparseMemoryRequirements( + self: Self, + device: Device, + image: Image, + p_sparse_memory_requirement_count: *u32, + p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements, + ) void { + self.dispatch.vkGetImageSparseMemoryRequirements( + device, + image, + p_sparse_memory_requirement_count, + p_sparse_memory_requirements, + ); + } + pub const QueueBindSparseError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn queueBindSparse( + self: Self, + queue: Queue, + bind_info_count: u32, + p_bind_info: ?[*]const BindSparseInfo, + fence: Fence, + ) QueueBindSparseError!void { + const result = self.dispatch.vkQueueBindSparse( + queue, + bind_info_count, + p_bind_info, + fence, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + } + pub const CreateFenceError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createFence( + self: Self, + device: Device, + p_create_info: *const FenceCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateFenceError!Fence { + var out_fence: Fence = undefined; + const result = self.dispatch.vkCreateFence( + device, + p_create_info, + p_allocator, + &out_fence, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_fence; + } + pub fn destroyFence( + self: Self, + device: Device, + fence: Fence, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyFence( + device, + fence, + p_allocator, + ); + } + pub const ResetFencesError = error{ + OutOfDeviceMemory, + Unknown, + }; + pub fn resetFences( + self: Self, + device: Device, + fence_count: u32, + p_fences: [*]const Fence, + ) ResetFencesError!void { + const result = self.dispatch.vkResetFences( + device, + fence_count, + p_fences, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const GetFenceStatusError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn getFenceStatus( + self: Self, + device: Device, + fence: Fence, + ) GetFenceStatusError!Result { + const result = self.dispatch.vkGetFenceStatus( + device, + fence, + ); + switch (result) { + Result.success => {}, + Result.not_ready => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + return result; + } + pub const WaitForFencesError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn waitForFences( + self: Self, + device: Device, + fence_count: u32, + p_fences: [*]const Fence, + wait_all: Bool32, + timeout: u64, + ) WaitForFencesError!Result { + const result = self.dispatch.vkWaitForFences( + device, + fence_count, + p_fences, + wait_all, + timeout, + ); + switch (result) { + Result.success => {}, + Result.timeout => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + return result; + } + pub const CreateSemaphoreError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createSemaphore( + self: Self, + device: Device, + p_create_info: *const SemaphoreCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateSemaphoreError!Semaphore { + var out_semaphore: Semaphore = undefined; + const result = self.dispatch.vkCreateSemaphore( + device, + p_create_info, + p_allocator, + &out_semaphore, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_semaphore; + } + pub fn destroySemaphore( + self: Self, + device: Device, + semaphore: Semaphore, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroySemaphore( + device, + semaphore, + p_allocator, + ); + } + pub const CreateEventError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createEvent( + self: Self, + device: Device, + p_create_info: *const EventCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateEventError!Event { + var out_event: Event = undefined; + const result = self.dispatch.vkCreateEvent( + device, + p_create_info, + p_allocator, + &out_event, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_event; + } + pub fn destroyEvent( + self: Self, + device: Device, + event: Event, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyEvent( + device, + event, + p_allocator, + ); + } + pub const GetEventStatusError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn getEventStatus( + self: Self, + device: Device, + event: Event, + ) GetEventStatusError!Result { + const result = self.dispatch.vkGetEventStatus( + device, + event, + ); + switch (result) { + Result.event_set => {}, + Result.event_reset => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + return result; + } + pub const SetEventError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn setEvent( + self: Self, + device: Device, + event: Event, + ) SetEventError!void { + const result = self.dispatch.vkSetEvent( + device, + event, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const ResetEventError = error{ + OutOfDeviceMemory, + Unknown, + }; + pub fn resetEvent( + self: Self, + device: Device, + event: Event, + ) ResetEventError!void { + const result = self.dispatch.vkResetEvent( + device, + event, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const CreateQueryPoolError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createQueryPool( + self: Self, + device: Device, + p_create_info: *const QueryPoolCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateQueryPoolError!QueryPool { + var out_query_pool: QueryPool = undefined; + const result = self.dispatch.vkCreateQueryPool( + device, + p_create_info, + p_allocator, + &out_query_pool, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_query_pool; + } + pub fn destroyQueryPool( + self: Self, + device: Device, + query_pool: QueryPool, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyQueryPool( + device, + query_pool, + p_allocator, + ); + } + pub const GetQueryPoolResultsError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn getQueryPoolResults( + self: Self, + device: Device, + query_pool: QueryPool, + first_query: u32, + query_count: u32, + data_size: usize, + p_data: *anyopaque, + stride: DeviceSize, + flags: QueryResultFlags, + ) GetQueryPoolResultsError!Result { + const result = self.dispatch.vkGetQueryPoolResults( + device, + query_pool, + first_query, + query_count, + data_size, + p_data, + stride, + flags, + ); + switch (result) { + Result.success => {}, + Result.not_ready => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + return result; + } + pub fn resetQueryPool( + self: Self, + device: Device, + query_pool: QueryPool, + first_query: u32, + query_count: u32, + ) void { + self.dispatch.vkResetQueryPool( + device, + query_pool, + first_query, + query_count, + ); + } + pub fn resetQueryPoolEXT( + self: Self, + device: Device, + query_pool: QueryPool, + first_query: u32, + query_count: u32, + ) void { + self.dispatch.vkResetQueryPoolEXT( + device, + query_pool, + first_query, + query_count, + ); + } + pub const CreateBufferError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidOpaqueCaptureAddressKHR, + Unknown, + }; + pub fn createBuffer( + self: Self, + device: Device, + p_create_info: *const BufferCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateBufferError!Buffer { + var out_buffer: Buffer = undefined; + const result = self.dispatch.vkCreateBuffer( + device, + p_create_info, + p_allocator, + &out_buffer, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, + else => return error.Unknown, + } + return out_buffer; + } + pub fn destroyBuffer( + self: Self, + device: Device, + buffer: Buffer, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyBuffer( + device, + buffer, + p_allocator, + ); + } + pub const CreateBufferViewError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createBufferView( + self: Self, + device: Device, + p_create_info: *const BufferViewCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateBufferViewError!BufferView { + var out_view: BufferView = undefined; + const result = self.dispatch.vkCreateBufferView( + device, + p_create_info, + p_allocator, + &out_view, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_view; + } + pub fn destroyBufferView( + self: Self, + device: Device, + buffer_view: BufferView, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyBufferView( + device, + buffer_view, + p_allocator, + ); + } + pub const CreateImageError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + CompressionExhaustedEXT, + InvalidOpaqueCaptureAddressKHR, + Unknown, + }; + pub fn createImage( + self: Self, + device: Device, + p_create_info: *const ImageCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateImageError!Image { + var out_image: Image = undefined; + const result = self.dispatch.vkCreateImage( + device, + p_create_info, + p_allocator, + &out_image, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_compression_exhausted_ext => return error.CompressionExhaustedEXT, + Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, + else => return error.Unknown, + } + return out_image; + } + pub fn destroyImage( + self: Self, + device: Device, + image: Image, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyImage( + device, + image, + p_allocator, + ); + } + pub fn getImageSubresourceLayout( + self: Self, + device: Device, + image: Image, + p_subresource: *const ImageSubresource, + ) SubresourceLayout { + var out_layout: SubresourceLayout = undefined; + self.dispatch.vkGetImageSubresourceLayout( + device, + image, + p_subresource, + &out_layout, + ); + return out_layout; + } + pub const CreateImageViewError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidOpaqueCaptureAddressKHR, + Unknown, + }; + pub fn createImageView( + self: Self, + device: Device, + p_create_info: *const ImageViewCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateImageViewError!ImageView { + var out_view: ImageView = undefined; + const result = self.dispatch.vkCreateImageView( + device, + p_create_info, + p_allocator, + &out_view, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, + else => return error.Unknown, + } + return out_view; + } + pub fn destroyImageView( + self: Self, + device: Device, + image_view: ImageView, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyImageView( + device, + image_view, + p_allocator, + ); + } + pub const CreateShaderModuleError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidShaderNV, + Unknown, + }; + pub fn createShaderModule( + self: Self, + device: Device, + p_create_info: *const ShaderModuleCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateShaderModuleError!ShaderModule { + var out_shader_module: ShaderModule = undefined; + const result = self.dispatch.vkCreateShaderModule( + device, + p_create_info, + p_allocator, + &out_shader_module, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_shader_nv => return error.InvalidShaderNV, + else => return error.Unknown, + } + return out_shader_module; + } + pub fn destroyShaderModule( + self: Self, + device: Device, + shader_module: ShaderModule, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyShaderModule( + device, + shader_module, + p_allocator, + ); + } + pub const CreatePipelineCacheError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createPipelineCache( + self: Self, + device: Device, + p_create_info: *const PipelineCacheCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreatePipelineCacheError!PipelineCache { + var out_pipeline_cache: PipelineCache = undefined; + const result = self.dispatch.vkCreatePipelineCache( + device, + p_create_info, + p_allocator, + &out_pipeline_cache, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_pipeline_cache; + } + pub fn destroyPipelineCache( + self: Self, + device: Device, + pipeline_cache: PipelineCache, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyPipelineCache( + device, + pipeline_cache, + p_allocator, + ); + } + pub const GetPipelineCacheDataError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getPipelineCacheData( + self: Self, + device: Device, + pipeline_cache: PipelineCache, + p_data_size: *usize, + p_data: ?*anyopaque, + ) GetPipelineCacheDataError!Result { + const result = self.dispatch.vkGetPipelineCacheData( + device, + pipeline_cache, + p_data_size, + p_data, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub const MergePipelineCachesError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn mergePipelineCaches( + self: Self, + device: Device, + dst_cache: PipelineCache, + src_cache_count: u32, + p_src_caches: [*]const PipelineCache, + ) MergePipelineCachesError!void { + const result = self.dispatch.vkMergePipelineCaches( + device, + dst_cache, + src_cache_count, + p_src_caches, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const CreateGraphicsPipelinesError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidShaderNV, + Unknown, + }; + pub fn createGraphicsPipelines( + self: Self, + device: Device, + pipeline_cache: PipelineCache, + create_info_count: u32, + p_create_infos: [*]const GraphicsPipelineCreateInfo, + p_allocator: ?*const AllocationCallbacks, + p_pipelines: [*]Pipeline, + ) CreateGraphicsPipelinesError!Result { + const result = self.dispatch.vkCreateGraphicsPipelines( + device, + pipeline_cache, + create_info_count, + p_create_infos, + p_allocator, + p_pipelines, + ); + switch (result) { + Result.success => {}, + Result.pipeline_compile_required_ext => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_shader_nv => return error.InvalidShaderNV, + else => return error.Unknown, + } + return result; + } + pub const CreateComputePipelinesError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidShaderNV, + Unknown, + }; + pub fn createComputePipelines( + self: Self, + device: Device, + pipeline_cache: PipelineCache, + create_info_count: u32, + p_create_infos: [*]const ComputePipelineCreateInfo, + p_allocator: ?*const AllocationCallbacks, + p_pipelines: [*]Pipeline, + ) CreateComputePipelinesError!Result { + const result = self.dispatch.vkCreateComputePipelines( + device, + pipeline_cache, + create_info_count, + p_create_infos, + p_allocator, + p_pipelines, + ); + switch (result) { + Result.success => {}, + Result.pipeline_compile_required_ext => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_shader_nv => return error.InvalidShaderNV, + else => return error.Unknown, + } + return result; + } + pub const GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + SurfaceLostKHR, + Unknown, + }; + pub fn getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( + self: Self, + device: Device, + renderpass: RenderPass, + p_max_workgroup_size: [*]Extent2D, + ) GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIError!void { + const result = self.dispatch.vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( + device, + renderpass, + p_max_workgroup_size, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + else => return error.Unknown, + } + } + pub fn destroyPipeline( + self: Self, + device: Device, + pipeline: Pipeline, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyPipeline( + device, + pipeline, + p_allocator, + ); + } + pub const CreatePipelineLayoutError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createPipelineLayout( + self: Self, + device: Device, + p_create_info: *const PipelineLayoutCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreatePipelineLayoutError!PipelineLayout { + var out_pipeline_layout: PipelineLayout = undefined; + const result = self.dispatch.vkCreatePipelineLayout( + device, + p_create_info, + p_allocator, + &out_pipeline_layout, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_pipeline_layout; + } + pub fn destroyPipelineLayout( + self: Self, + device: Device, + pipeline_layout: PipelineLayout, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyPipelineLayout( + device, + pipeline_layout, + p_allocator, + ); + } + pub const CreateSamplerError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidOpaqueCaptureAddressKHR, + Unknown, + }; + pub fn createSampler( + self: Self, + device: Device, + p_create_info: *const SamplerCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateSamplerError!Sampler { + var out_sampler: Sampler = undefined; + const result = self.dispatch.vkCreateSampler( + device, + p_create_info, + p_allocator, + &out_sampler, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, + else => return error.Unknown, + } + return out_sampler; + } + pub fn destroySampler( + self: Self, + device: Device, + sampler: Sampler, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroySampler( + device, + sampler, + p_allocator, + ); + } + pub const CreateDescriptorSetLayoutError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createDescriptorSetLayout( + self: Self, + device: Device, + p_create_info: *const DescriptorSetLayoutCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateDescriptorSetLayoutError!DescriptorSetLayout { + var out_set_layout: DescriptorSetLayout = undefined; + const result = self.dispatch.vkCreateDescriptorSetLayout( + device, + p_create_info, + p_allocator, + &out_set_layout, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_set_layout; + } + pub fn destroyDescriptorSetLayout( + self: Self, + device: Device, + descriptor_set_layout: DescriptorSetLayout, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyDescriptorSetLayout( + device, + descriptor_set_layout, + p_allocator, + ); + } + pub const CreateDescriptorPoolError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + FragmentationEXT, + Unknown, + }; + pub fn createDescriptorPool( + self: Self, + device: Device, + p_create_info: *const DescriptorPoolCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateDescriptorPoolError!DescriptorPool { + var out_descriptor_pool: DescriptorPool = undefined; + const result = self.dispatch.vkCreateDescriptorPool( + device, + p_create_info, + p_allocator, + &out_descriptor_pool, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_fragmentation_ext => return error.FragmentationEXT, + else => return error.Unknown, + } + return out_descriptor_pool; + } + pub fn destroyDescriptorPool( + self: Self, + device: Device, + descriptor_pool: DescriptorPool, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyDescriptorPool( + device, + descriptor_pool, + p_allocator, + ); + } + pub const ResetDescriptorPoolError = error{ + Unknown, + }; + pub fn resetDescriptorPool( + self: Self, + device: Device, + descriptor_pool: DescriptorPool, + flags: DescriptorPoolResetFlags, + ) ResetDescriptorPoolError!void { + const result = self.dispatch.vkResetDescriptorPool( + device, + descriptor_pool, + flags, + ); + switch (result) { + Result.success => {}, + else => return error.Unknown, + } + } + pub const AllocateDescriptorSetsError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + FragmentedPool, + OutOfPoolMemory, + Unknown, + }; + pub fn allocateDescriptorSets( + self: Self, + device: Device, + p_allocate_info: *const DescriptorSetAllocateInfo, + p_descriptor_sets: [*]DescriptorSet, + ) AllocateDescriptorSetsError!void { + const result = self.dispatch.vkAllocateDescriptorSets( + device, + p_allocate_info, + p_descriptor_sets, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_fragmented_pool => return error.FragmentedPool, + Result.error_out_of_pool_memory => return error.OutOfPoolMemory, + else => return error.Unknown, + } + } + pub const FreeDescriptorSetsError = error{ + Unknown, + }; + pub fn freeDescriptorSets( + self: Self, + device: Device, + descriptor_pool: DescriptorPool, + descriptor_set_count: u32, + p_descriptor_sets: [*]const DescriptorSet, + ) FreeDescriptorSetsError!void { + const result = self.dispatch.vkFreeDescriptorSets( + device, + descriptor_pool, + descriptor_set_count, + p_descriptor_sets, + ); + switch (result) { + Result.success => {}, + else => return error.Unknown, + } + } + pub fn updateDescriptorSets( + self: Self, + device: Device, + descriptor_write_count: u32, + p_descriptor_writes: ?[*]const WriteDescriptorSet, + descriptor_copy_count: u32, + p_descriptor_copies: ?[*]const CopyDescriptorSet, + ) void { + self.dispatch.vkUpdateDescriptorSets( + device, + descriptor_write_count, + p_descriptor_writes, + descriptor_copy_count, + p_descriptor_copies, + ); + } + pub const CreateFramebufferError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createFramebuffer( + self: Self, + device: Device, + p_create_info: *const FramebufferCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateFramebufferError!Framebuffer { + var out_framebuffer: Framebuffer = undefined; + const result = self.dispatch.vkCreateFramebuffer( + device, + p_create_info, + p_allocator, + &out_framebuffer, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_framebuffer; + } + pub fn destroyFramebuffer( + self: Self, + device: Device, + framebuffer: Framebuffer, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyFramebuffer( + device, + framebuffer, + p_allocator, + ); + } + pub const CreateRenderPassError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createRenderPass( + self: Self, + device: Device, + p_create_info: *const RenderPassCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateRenderPassError!RenderPass { + var out_render_pass: RenderPass = undefined; + const result = self.dispatch.vkCreateRenderPass( + device, + p_create_info, + p_allocator, + &out_render_pass, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_render_pass; + } + pub fn destroyRenderPass( + self: Self, + device: Device, + render_pass: RenderPass, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyRenderPass( + device, + render_pass, + p_allocator, + ); + } + pub fn getRenderAreaGranularity( + self: Self, + device: Device, + render_pass: RenderPass, + ) Extent2D { + var out_granularity: Extent2D = undefined; + self.dispatch.vkGetRenderAreaGranularity( + device, + render_pass, + &out_granularity, + ); + return out_granularity; + } + pub fn getRenderingAreaGranularityKHR( + self: Self, + device: Device, + p_rendering_area_info: *const RenderingAreaInfoKHR, + ) Extent2D { + var out_granularity: Extent2D = undefined; + self.dispatch.vkGetRenderingAreaGranularityKHR( + device, + p_rendering_area_info, + &out_granularity, + ); + return out_granularity; + } + pub const CreateCommandPoolError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createCommandPool( + self: Self, + device: Device, + p_create_info: *const CommandPoolCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateCommandPoolError!CommandPool { + var out_command_pool: CommandPool = undefined; + const result = self.dispatch.vkCreateCommandPool( + device, + p_create_info, + p_allocator, + &out_command_pool, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_command_pool; + } + pub fn destroyCommandPool( + self: Self, + device: Device, + command_pool: CommandPool, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyCommandPool( + device, + command_pool, + p_allocator, + ); + } + pub const ResetCommandPoolError = error{ + OutOfDeviceMemory, + Unknown, + }; + pub fn resetCommandPool( + self: Self, + device: Device, + command_pool: CommandPool, + flags: CommandPoolResetFlags, + ) ResetCommandPoolError!void { + const result = self.dispatch.vkResetCommandPool( + device, + command_pool, + flags, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const AllocateCommandBuffersError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn allocateCommandBuffers( + self: Self, + device: Device, + p_allocate_info: *const CommandBufferAllocateInfo, + p_command_buffers: [*]CommandBuffer, + ) AllocateCommandBuffersError!void { + const result = self.dispatch.vkAllocateCommandBuffers( + device, + p_allocate_info, + p_command_buffers, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub fn freeCommandBuffers( + self: Self, + device: Device, + command_pool: CommandPool, + command_buffer_count: u32, + p_command_buffers: [*]const CommandBuffer, + ) void { + self.dispatch.vkFreeCommandBuffers( + device, + command_pool, + command_buffer_count, + p_command_buffers, + ); + } + pub const BeginCommandBufferError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn beginCommandBuffer( + self: Self, + command_buffer: CommandBuffer, + p_begin_info: *const CommandBufferBeginInfo, + ) BeginCommandBufferError!void { + const result = self.dispatch.vkBeginCommandBuffer( + command_buffer, + p_begin_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const EndCommandBufferError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidVideoStdParametersKHR, + Unknown, + }; + pub fn endCommandBuffer( + self: Self, + command_buffer: CommandBuffer, + ) EndCommandBufferError!void { + const result = self.dispatch.vkEndCommandBuffer( + command_buffer, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_video_std_parameters_khr => return error.InvalidVideoStdParametersKHR, + else => return error.Unknown, + } + } + pub const ResetCommandBufferError = error{ + OutOfDeviceMemory, + Unknown, + }; + pub fn resetCommandBuffer( + self: Self, + command_buffer: CommandBuffer, + flags: CommandBufferResetFlags, + ) ResetCommandBufferError!void { + const result = self.dispatch.vkResetCommandBuffer( + command_buffer, + flags, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub fn cmdBindPipeline( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + pipeline: Pipeline, + ) void { + self.dispatch.vkCmdBindPipeline( + command_buffer, + pipeline_bind_point, + pipeline, + ); + } + pub fn cmdSetAttachmentFeedbackLoopEnableEXT( + self: Self, + command_buffer: CommandBuffer, + aspect_mask: ImageAspectFlags, + ) void { + self.dispatch.vkCmdSetAttachmentFeedbackLoopEnableEXT( + command_buffer, + aspect_mask, + ); + } + pub fn cmdSetViewport( + self: Self, + command_buffer: CommandBuffer, + first_viewport: u32, + viewport_count: u32, + p_viewports: [*]const Viewport, + ) void { + self.dispatch.vkCmdSetViewport( + command_buffer, + first_viewport, + viewport_count, + p_viewports, + ); + } + pub fn cmdSetScissor( + self: Self, + command_buffer: CommandBuffer, + first_scissor: u32, + scissor_count: u32, + p_scissors: [*]const Rect2D, + ) void { + self.dispatch.vkCmdSetScissor( + command_buffer, + first_scissor, + scissor_count, + p_scissors, + ); + } + pub fn cmdSetLineWidth( + self: Self, + command_buffer: CommandBuffer, + line_width: f32, + ) void { + self.dispatch.vkCmdSetLineWidth( + command_buffer, + line_width, + ); + } + pub fn cmdSetDepthBias( + self: Self, + command_buffer: CommandBuffer, + depth_bias_constant_factor: f32, + depth_bias_clamp: f32, + depth_bias_slope_factor: f32, + ) void { + self.dispatch.vkCmdSetDepthBias( + command_buffer, + depth_bias_constant_factor, + depth_bias_clamp, + depth_bias_slope_factor, + ); + } + pub fn cmdSetBlendConstants( + self: Self, + command_buffer: CommandBuffer, + blend_constants: *const [4]f32, + ) void { + self.dispatch.vkCmdSetBlendConstants( + command_buffer, + blend_constants, + ); + } + pub fn cmdSetDepthBounds( + self: Self, + command_buffer: CommandBuffer, + min_depth_bounds: f32, + max_depth_bounds: f32, + ) void { + self.dispatch.vkCmdSetDepthBounds( + command_buffer, + min_depth_bounds, + max_depth_bounds, + ); + } + pub fn cmdSetStencilCompareMask( + self: Self, + command_buffer: CommandBuffer, + face_mask: StencilFaceFlags, + compare_mask: u32, + ) void { + self.dispatch.vkCmdSetStencilCompareMask( + command_buffer, + face_mask, + compare_mask, + ); + } + pub fn cmdSetStencilWriteMask( + self: Self, + command_buffer: CommandBuffer, + face_mask: StencilFaceFlags, + write_mask: u32, + ) void { + self.dispatch.vkCmdSetStencilWriteMask( + command_buffer, + face_mask, + write_mask, + ); + } + pub fn cmdSetStencilReference( + self: Self, + command_buffer: CommandBuffer, + face_mask: StencilFaceFlags, + reference: u32, + ) void { + self.dispatch.vkCmdSetStencilReference( + command_buffer, + face_mask, + reference, + ); + } + pub fn cmdBindDescriptorSets( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + first_set: u32, + descriptor_set_count: u32, + p_descriptor_sets: [*]const DescriptorSet, + dynamic_offset_count: u32, + p_dynamic_offsets: ?[*]const u32, + ) void { + self.dispatch.vkCmdBindDescriptorSets( + command_buffer, + pipeline_bind_point, + layout, + first_set, + descriptor_set_count, + p_descriptor_sets, + dynamic_offset_count, + p_dynamic_offsets, + ); + } + pub fn cmdBindIndexBuffer( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + index_type: IndexType, + ) void { + self.dispatch.vkCmdBindIndexBuffer( + command_buffer, + buffer, + offset, + index_type, + ); + } + pub fn cmdBindVertexBuffers( + self: Self, + command_buffer: CommandBuffer, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + ) void { + self.dispatch.vkCmdBindVertexBuffers( + command_buffer, + first_binding, + binding_count, + p_buffers, + p_offsets, + ); + } + pub fn cmdDraw( + self: Self, + command_buffer: CommandBuffer, + vertex_count: u32, + instance_count: u32, + first_vertex: u32, + first_instance: u32, + ) void { + self.dispatch.vkCmdDraw( + command_buffer, + vertex_count, + instance_count, + first_vertex, + first_instance, + ); + } + pub fn cmdDrawIndexed( + self: Self, + command_buffer: CommandBuffer, + index_count: u32, + instance_count: u32, + first_index: u32, + vertex_offset: i32, + first_instance: u32, + ) void { + self.dispatch.vkCmdDrawIndexed( + command_buffer, + index_count, + instance_count, + first_index, + vertex_offset, + first_instance, + ); + } + pub fn cmdDrawMultiEXT( + self: Self, + command_buffer: CommandBuffer, + draw_count: u32, + p_vertex_info: ?[*]const MultiDrawInfoEXT, + instance_count: u32, + first_instance: u32, + stride: u32, + ) void { + self.dispatch.vkCmdDrawMultiEXT( + command_buffer, + draw_count, + p_vertex_info, + instance_count, + first_instance, + stride, + ); + } + pub fn cmdDrawMultiIndexedEXT( + self: Self, + command_buffer: CommandBuffer, + draw_count: u32, + p_index_info: ?[*]const MultiDrawIndexedInfoEXT, + instance_count: u32, + first_instance: u32, + stride: u32, + p_vertex_offset: ?*const i32, + ) void { + self.dispatch.vkCmdDrawMultiIndexedEXT( + command_buffer, + draw_count, + p_index_info, + instance_count, + first_instance, + stride, + p_vertex_offset, + ); + } + pub fn cmdDrawIndirect( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, + ) void { + self.dispatch.vkCmdDrawIndirect( + command_buffer, + buffer, + offset, + draw_count, + stride, + ); + } + pub fn cmdDrawIndexedIndirect( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, + ) void { + self.dispatch.vkCmdDrawIndexedIndirect( + command_buffer, + buffer, + offset, + draw_count, + stride, + ); + } + pub fn cmdDispatch( + self: Self, + command_buffer: CommandBuffer, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, + ) void { + self.dispatch.vkCmdDispatch( + command_buffer, + group_count_x, + group_count_y, + group_count_z, + ); + } + pub fn cmdDispatchIndirect( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + ) void { + self.dispatch.vkCmdDispatchIndirect( + command_buffer, + buffer, + offset, + ); + } + pub fn cmdSubpassShadingHUAWEI( + self: Self, + command_buffer: CommandBuffer, + ) void { + self.dispatch.vkCmdSubpassShadingHUAWEI( + command_buffer, + ); + } + pub fn cmdDrawClusterHUAWEI( + self: Self, + command_buffer: CommandBuffer, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, + ) void { + self.dispatch.vkCmdDrawClusterHUAWEI( + command_buffer, + group_count_x, + group_count_y, + group_count_z, + ); + } + pub fn cmdDrawClusterIndirectHUAWEI( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + ) void { + self.dispatch.vkCmdDrawClusterIndirectHUAWEI( + command_buffer, + buffer, + offset, + ); + } + pub fn cmdUpdatePipelineIndirectBufferNV( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + pipeline: Pipeline, + ) void { + self.dispatch.vkCmdUpdatePipelineIndirectBufferNV( + command_buffer, + pipeline_bind_point, + pipeline, + ); + } + pub fn cmdCopyBuffer( + self: Self, + command_buffer: CommandBuffer, + src_buffer: Buffer, + dst_buffer: Buffer, + region_count: u32, + p_regions: [*]const BufferCopy, + ) void { + self.dispatch.vkCmdCopyBuffer( + command_buffer, + src_buffer, + dst_buffer, + region_count, + p_regions, + ); + } + pub fn cmdCopyImage( + self: Self, + command_buffer: CommandBuffer, + src_image: Image, + src_image_layout: ImageLayout, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageCopy, + ) void { + self.dispatch.vkCmdCopyImage( + command_buffer, + src_image, + src_image_layout, + dst_image, + dst_image_layout, + region_count, + p_regions, + ); + } + pub fn cmdBlitImage( + self: Self, + command_buffer: CommandBuffer, + src_image: Image, + src_image_layout: ImageLayout, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageBlit, + filter: Filter, + ) void { + self.dispatch.vkCmdBlitImage( + command_buffer, + src_image, + src_image_layout, + dst_image, + dst_image_layout, + region_count, + p_regions, + filter, + ); + } + pub fn cmdCopyBufferToImage( + self: Self, + command_buffer: CommandBuffer, + src_buffer: Buffer, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const BufferImageCopy, + ) void { + self.dispatch.vkCmdCopyBufferToImage( + command_buffer, + src_buffer, + dst_image, + dst_image_layout, + region_count, + p_regions, + ); + } + pub fn cmdCopyImageToBuffer( + self: Self, + command_buffer: CommandBuffer, + src_image: Image, + src_image_layout: ImageLayout, + dst_buffer: Buffer, + region_count: u32, + p_regions: [*]const BufferImageCopy, + ) void { + self.dispatch.vkCmdCopyImageToBuffer( + command_buffer, + src_image, + src_image_layout, + dst_buffer, + region_count, + p_regions, + ); + } + pub fn cmdCopyMemoryIndirectNV( + self: Self, + command_buffer: CommandBuffer, + copy_buffer_address: DeviceAddress, + copy_count: u32, + stride: u32, + ) void { + self.dispatch.vkCmdCopyMemoryIndirectNV( + command_buffer, + copy_buffer_address, + copy_count, + stride, + ); + } + pub fn cmdCopyMemoryToImageIndirectNV( + self: Self, + command_buffer: CommandBuffer, + copy_buffer_address: DeviceAddress, + copy_count: u32, + stride: u32, + dst_image: Image, + dst_image_layout: ImageLayout, + p_image_subresources: [*]const ImageSubresourceLayers, + ) void { + self.dispatch.vkCmdCopyMemoryToImageIndirectNV( + command_buffer, + copy_buffer_address, + copy_count, + stride, + dst_image, + dst_image_layout, + p_image_subresources, + ); + } + pub fn cmdUpdateBuffer( + self: Self, + command_buffer: CommandBuffer, + dst_buffer: Buffer, + dst_offset: DeviceSize, + data_size: DeviceSize, + p_data: *const anyopaque, + ) void { + self.dispatch.vkCmdUpdateBuffer( + command_buffer, + dst_buffer, + dst_offset, + data_size, + p_data, + ); + } + pub fn cmdFillBuffer( + self: Self, + command_buffer: CommandBuffer, + dst_buffer: Buffer, + dst_offset: DeviceSize, + size: DeviceSize, + data: u32, + ) void { + self.dispatch.vkCmdFillBuffer( + command_buffer, + dst_buffer, + dst_offset, + size, + data, + ); + } + pub fn cmdClearColorImage( + self: Self, + command_buffer: CommandBuffer, + image: Image, + image_layout: ImageLayout, + p_color: *const ClearColorValue, + range_count: u32, + p_ranges: [*]const ImageSubresourceRange, + ) void { + self.dispatch.vkCmdClearColorImage( + command_buffer, + image, + image_layout, + p_color, + range_count, + p_ranges, + ); + } + pub fn cmdClearDepthStencilImage( + self: Self, + command_buffer: CommandBuffer, + image: Image, + image_layout: ImageLayout, + p_depth_stencil: *const ClearDepthStencilValue, + range_count: u32, + p_ranges: [*]const ImageSubresourceRange, + ) void { + self.dispatch.vkCmdClearDepthStencilImage( + command_buffer, + image, + image_layout, + p_depth_stencil, + range_count, + p_ranges, + ); + } + pub fn cmdClearAttachments( + self: Self, + command_buffer: CommandBuffer, + attachment_count: u32, + p_attachments: [*]const ClearAttachment, + rect_count: u32, + p_rects: [*]const ClearRect, + ) void { + self.dispatch.vkCmdClearAttachments( + command_buffer, + attachment_count, + p_attachments, + rect_count, + p_rects, + ); + } + pub fn cmdResolveImage( + self: Self, + command_buffer: CommandBuffer, + src_image: Image, + src_image_layout: ImageLayout, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageResolve, + ) void { + self.dispatch.vkCmdResolveImage( + command_buffer, + src_image, + src_image_layout, + dst_image, + dst_image_layout, + region_count, + p_regions, + ); + } + pub fn cmdSetEvent( + self: Self, + command_buffer: CommandBuffer, + event: Event, + stage_mask: PipelineStageFlags, + ) void { + self.dispatch.vkCmdSetEvent( + command_buffer, + event, + stage_mask, + ); + } + pub fn cmdResetEvent( + self: Self, + command_buffer: CommandBuffer, + event: Event, + stage_mask: PipelineStageFlags, + ) void { + self.dispatch.vkCmdResetEvent( + command_buffer, + event, + stage_mask, + ); + } + pub fn cmdWaitEvents( + self: Self, + command_buffer: CommandBuffer, + event_count: u32, + p_events: [*]const Event, + src_stage_mask: PipelineStageFlags, + dst_stage_mask: PipelineStageFlags, + memory_barrier_count: u32, + p_memory_barriers: ?[*]const MemoryBarrier, + buffer_memory_barrier_count: u32, + p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier, + image_memory_barrier_count: u32, + p_image_memory_barriers: ?[*]const ImageMemoryBarrier, + ) void { + self.dispatch.vkCmdWaitEvents( + command_buffer, + event_count, + p_events, + src_stage_mask, + dst_stage_mask, + memory_barrier_count, + p_memory_barriers, + buffer_memory_barrier_count, + p_buffer_memory_barriers, + image_memory_barrier_count, + p_image_memory_barriers, + ); + } + pub fn cmdPipelineBarrier( + self: Self, + command_buffer: CommandBuffer, + src_stage_mask: PipelineStageFlags, + dst_stage_mask: PipelineStageFlags, + dependency_flags: DependencyFlags, + memory_barrier_count: u32, + p_memory_barriers: ?[*]const MemoryBarrier, + buffer_memory_barrier_count: u32, + p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier, + image_memory_barrier_count: u32, + p_image_memory_barriers: ?[*]const ImageMemoryBarrier, + ) void { + self.dispatch.vkCmdPipelineBarrier( + command_buffer, + src_stage_mask, + dst_stage_mask, + dependency_flags, + memory_barrier_count, + p_memory_barriers, + buffer_memory_barrier_count, + p_buffer_memory_barriers, + image_memory_barrier_count, + p_image_memory_barriers, + ); + } + pub fn cmdBeginQuery( + self: Self, + command_buffer: CommandBuffer, + query_pool: QueryPool, + query: u32, + flags: QueryControlFlags, + ) void { + self.dispatch.vkCmdBeginQuery( + command_buffer, + query_pool, + query, + flags, + ); + } + pub fn cmdEndQuery( + self: Self, + command_buffer: CommandBuffer, + query_pool: QueryPool, + query: u32, + ) void { + self.dispatch.vkCmdEndQuery( + command_buffer, + query_pool, + query, + ); + } + pub fn cmdBeginConditionalRenderingEXT( + self: Self, + command_buffer: CommandBuffer, + p_conditional_rendering_begin: *const ConditionalRenderingBeginInfoEXT, + ) void { + self.dispatch.vkCmdBeginConditionalRenderingEXT( + command_buffer, + p_conditional_rendering_begin, + ); + } + pub fn cmdEndConditionalRenderingEXT( + self: Self, + command_buffer: CommandBuffer, + ) void { + self.dispatch.vkCmdEndConditionalRenderingEXT( + command_buffer, + ); + } + pub fn cmdResetQueryPool( + self: Self, + command_buffer: CommandBuffer, + query_pool: QueryPool, + first_query: u32, + query_count: u32, + ) void { + self.dispatch.vkCmdResetQueryPool( + command_buffer, + query_pool, + first_query, + query_count, + ); + } + pub fn cmdWriteTimestamp( + self: Self, + command_buffer: CommandBuffer, + pipeline_stage: PipelineStageFlags, + query_pool: QueryPool, + query: u32, + ) void { + self.dispatch.vkCmdWriteTimestamp( + command_buffer, + pipeline_stage, + query_pool, + query, + ); + } + pub fn cmdCopyQueryPoolResults( + self: Self, + command_buffer: CommandBuffer, + query_pool: QueryPool, + first_query: u32, + query_count: u32, + dst_buffer: Buffer, + dst_offset: DeviceSize, + stride: DeviceSize, + flags: QueryResultFlags, + ) void { + self.dispatch.vkCmdCopyQueryPoolResults( + command_buffer, + query_pool, + first_query, + query_count, + dst_buffer, + dst_offset, + stride, + flags, + ); + } + pub fn cmdPushConstants( + self: Self, + command_buffer: CommandBuffer, + layout: PipelineLayout, + stage_flags: ShaderStageFlags, + offset: u32, + size: u32, + p_values: *const anyopaque, + ) void { + self.dispatch.vkCmdPushConstants( + command_buffer, + layout, + stage_flags, + offset, + size, + p_values, + ); + } + pub fn cmdBeginRenderPass( + self: Self, + command_buffer: CommandBuffer, + p_render_pass_begin: *const RenderPassBeginInfo, + contents: SubpassContents, + ) void { + self.dispatch.vkCmdBeginRenderPass( + command_buffer, + p_render_pass_begin, + contents, + ); + } + pub fn cmdNextSubpass( + self: Self, + command_buffer: CommandBuffer, + contents: SubpassContents, + ) void { + self.dispatch.vkCmdNextSubpass( + command_buffer, + contents, + ); + } + pub fn cmdEndRenderPass( + self: Self, + command_buffer: CommandBuffer, + ) void { + self.dispatch.vkCmdEndRenderPass( + command_buffer, + ); + } + pub fn cmdExecuteCommands( + self: Self, + command_buffer: CommandBuffer, + command_buffer_count: u32, + p_command_buffers: [*]const CommandBuffer, + ) void { + self.dispatch.vkCmdExecuteCommands( + command_buffer, + command_buffer_count, + p_command_buffers, + ); + } + pub const CreateSharedSwapchainsKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + IncompatibleDisplayKHR, + DeviceLost, + SurfaceLostKHR, + Unknown, + }; + pub fn createSharedSwapchainsKHR( + self: Self, + device: Device, + swapchain_count: u32, + p_create_infos: [*]const SwapchainCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_swapchains: [*]SwapchainKHR, + ) CreateSharedSwapchainsKHRError!void { + const result = self.dispatch.vkCreateSharedSwapchainsKHR( + device, + swapchain_count, + p_create_infos, + p_allocator, + p_swapchains, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_incompatible_display_khr => return error.IncompatibleDisplayKHR, + Result.error_device_lost => return error.DeviceLost, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + else => return error.Unknown, + } + } + pub const CreateSwapchainKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + SurfaceLostKHR, + NativeWindowInUseKHR, + InitializationFailed, + CompressionExhaustedEXT, + Unknown, + }; + pub fn createSwapchainKHR( + self: Self, + device: Device, + p_create_info: *const SwapchainCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateSwapchainKHRError!SwapchainKHR { + var out_swapchain: SwapchainKHR = undefined; + const result = self.dispatch.vkCreateSwapchainKHR( + device, + p_create_info, + p_allocator, + &out_swapchain, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + Result.error_native_window_in_use_khr => return error.NativeWindowInUseKHR, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_compression_exhausted_ext => return error.CompressionExhaustedEXT, + else => return error.Unknown, + } + return out_swapchain; + } + pub fn destroySwapchainKHR( + self: Self, + device: Device, + swapchain: SwapchainKHR, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroySwapchainKHR( + device, + swapchain, + p_allocator, + ); + } + pub const GetSwapchainImagesKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getSwapchainImagesKHR( + self: Self, + device: Device, + swapchain: SwapchainKHR, + p_swapchain_image_count: *u32, + p_swapchain_images: ?[*]Image, + ) GetSwapchainImagesKHRError!Result { + const result = self.dispatch.vkGetSwapchainImagesKHR( + device, + swapchain, + p_swapchain_image_count, + p_swapchain_images, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub const AcquireNextImageKHRResult = struct { + result: Result, + image_index: u32, + }; + pub const AcquireNextImageKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + OutOfDateKHR, + SurfaceLostKHR, + FullScreenExclusiveModeLostEXT, + Unknown, + }; + pub fn acquireNextImageKHR( + self: Self, + device: Device, + swapchain: SwapchainKHR, + timeout: u64, + semaphore: Semaphore, + fence: Fence, + ) AcquireNextImageKHRError!AcquireNextImageKHRResult { + var return_values: AcquireNextImageKHRResult = undefined; + const result = self.dispatch.vkAcquireNextImageKHR( + device, + swapchain, + timeout, + semaphore, + fence, + &return_values.image_index, + ); + switch (result) { + Result.success => {}, + Result.timeout => {}, + Result.not_ready => {}, + Result.suboptimal_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + Result.error_out_of_date_khr => return error.OutOfDateKHR, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + Result.error_full_screen_exclusive_mode_lost_ext => return error.FullScreenExclusiveModeLostEXT, + else => return error.Unknown, + } + return_values.result = result; + return return_values; + } + pub const QueuePresentKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + OutOfDateKHR, + SurfaceLostKHR, + FullScreenExclusiveModeLostEXT, + Unknown, + }; + pub fn queuePresentKHR( + self: Self, + queue: Queue, + p_present_info: *const PresentInfoKHR, + ) QueuePresentKHRError!Result { + const result = self.dispatch.vkQueuePresentKHR( + queue, + p_present_info, + ); + switch (result) { + Result.success => {}, + Result.suboptimal_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + Result.error_out_of_date_khr => return error.OutOfDateKHR, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + Result.error_full_screen_exclusive_mode_lost_ext => return error.FullScreenExclusiveModeLostEXT, + else => return error.Unknown, + } + return result; + } + pub const DebugMarkerSetObjectNameEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn debugMarkerSetObjectNameEXT( + self: Self, + device: Device, + p_name_info: *const DebugMarkerObjectNameInfoEXT, + ) DebugMarkerSetObjectNameEXTError!void { + const result = self.dispatch.vkDebugMarkerSetObjectNameEXT( + device, + p_name_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const DebugMarkerSetObjectTagEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn debugMarkerSetObjectTagEXT( + self: Self, + device: Device, + p_tag_info: *const DebugMarkerObjectTagInfoEXT, + ) DebugMarkerSetObjectTagEXTError!void { + const result = self.dispatch.vkDebugMarkerSetObjectTagEXT( + device, + p_tag_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub fn cmdDebugMarkerBeginEXT( + self: Self, + command_buffer: CommandBuffer, + p_marker_info: *const DebugMarkerMarkerInfoEXT, + ) void { + self.dispatch.vkCmdDebugMarkerBeginEXT( + command_buffer, + p_marker_info, + ); + } + pub fn cmdDebugMarkerEndEXT( + self: Self, + command_buffer: CommandBuffer, + ) void { + self.dispatch.vkCmdDebugMarkerEndEXT( + command_buffer, + ); + } + pub fn cmdDebugMarkerInsertEXT( + self: Self, + command_buffer: CommandBuffer, + p_marker_info: *const DebugMarkerMarkerInfoEXT, + ) void { + self.dispatch.vkCmdDebugMarkerInsertEXT( + command_buffer, + p_marker_info, + ); + } + pub const GetMemoryWin32HandleNVError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn getMemoryWin32HandleNV( + self: Self, + device: Device, + memory: DeviceMemory, + handle_type: ExternalMemoryHandleTypeFlagsNV, + p_handle: *HANDLE, + ) GetMemoryWin32HandleNVError!void { + const result = self.dispatch.vkGetMemoryWin32HandleNV( + device, + memory, + handle_type, + p_handle, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub fn cmdExecuteGeneratedCommandsNV( + self: Self, + command_buffer: CommandBuffer, + is_preprocessed: Bool32, + p_generated_commands_info: *const GeneratedCommandsInfoNV, + ) void { + self.dispatch.vkCmdExecuteGeneratedCommandsNV( + command_buffer, + is_preprocessed, + p_generated_commands_info, + ); + } + pub fn cmdPreprocessGeneratedCommandsNV( + self: Self, + command_buffer: CommandBuffer, + p_generated_commands_info: *const GeneratedCommandsInfoNV, + ) void { + self.dispatch.vkCmdPreprocessGeneratedCommandsNV( + command_buffer, + p_generated_commands_info, + ); + } + pub fn cmdBindPipelineShaderGroupNV( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + pipeline: Pipeline, + group_index: u32, + ) void { + self.dispatch.vkCmdBindPipelineShaderGroupNV( + command_buffer, + pipeline_bind_point, + pipeline, + group_index, + ); + } + pub fn getGeneratedCommandsMemoryRequirementsNV( + self: Self, + device: Device, + p_info: *const GeneratedCommandsMemoryRequirementsInfoNV, + p_memory_requirements: *MemoryRequirements2, + ) void { + self.dispatch.vkGetGeneratedCommandsMemoryRequirementsNV( + device, + p_info, + p_memory_requirements, + ); + } + pub const CreateIndirectCommandsLayoutNVError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createIndirectCommandsLayoutNV( + self: Self, + device: Device, + p_create_info: *const IndirectCommandsLayoutCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + ) CreateIndirectCommandsLayoutNVError!IndirectCommandsLayoutNV { + var out_indirect_commands_layout: IndirectCommandsLayoutNV = undefined; + const result = self.dispatch.vkCreateIndirectCommandsLayoutNV( + device, + p_create_info, + p_allocator, + &out_indirect_commands_layout, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_indirect_commands_layout; + } + pub fn destroyIndirectCommandsLayoutNV( + self: Self, + device: Device, + indirect_commands_layout: IndirectCommandsLayoutNV, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyIndirectCommandsLayoutNV( + device, + indirect_commands_layout, + p_allocator, + ); + } + pub fn cmdPushDescriptorSetKHR( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + set: u32, + descriptor_write_count: u32, + p_descriptor_writes: [*]const WriteDescriptorSet, + ) void { + self.dispatch.vkCmdPushDescriptorSetKHR( + command_buffer, + pipeline_bind_point, + layout, + set, + descriptor_write_count, + p_descriptor_writes, + ); + } + pub fn trimCommandPool( + self: Self, + device: Device, + command_pool: CommandPool, + flags: CommandPoolTrimFlags, + ) void { + self.dispatch.vkTrimCommandPool( + device, + command_pool, + flags, + ); + } + pub fn trimCommandPoolKHR( + self: Self, + device: Device, + command_pool: CommandPool, + flags: CommandPoolTrimFlags, + ) void { + self.dispatch.vkTrimCommandPoolKHR( + device, + command_pool, + flags, + ); + } + pub const GetMemoryWin32HandleKHRError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn getMemoryWin32HandleKHR( + self: Self, + device: Device, + p_get_win_32_handle_info: *const MemoryGetWin32HandleInfoKHR, + p_handle: *HANDLE, + ) GetMemoryWin32HandleKHRError!void { + const result = self.dispatch.vkGetMemoryWin32HandleKHR( + device, + p_get_win_32_handle_info, + p_handle, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const GetMemoryWin32HandlePropertiesKHRError = error{ + OutOfHostMemory, + InvalidExternalHandle, + Unknown, + }; + pub fn getMemoryWin32HandlePropertiesKHR( + self: Self, + device: Device, + handle_type: ExternalMemoryHandleTypeFlags, + handle: HANDLE, + p_memory_win_32_handle_properties: *MemoryWin32HandlePropertiesKHR, + ) GetMemoryWin32HandlePropertiesKHRError!void { + const result = self.dispatch.vkGetMemoryWin32HandlePropertiesKHR( + device, + handle_type, + handle, + p_memory_win_32_handle_properties, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + else => return error.Unknown, + } + } + pub const GetMemoryFdKHRError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn getMemoryFdKHR( + self: Self, + device: Device, + p_get_fd_info: *const MemoryGetFdInfoKHR, + ) GetMemoryFdKHRError!c_int { + var out_fd: c_int = undefined; + const result = self.dispatch.vkGetMemoryFdKHR( + device, + p_get_fd_info, + &out_fd, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_fd; + } + pub const GetMemoryFdPropertiesKHRError = error{ + OutOfHostMemory, + InvalidExternalHandle, + Unknown, + }; + pub fn getMemoryFdPropertiesKHR( + self: Self, + device: Device, + handle_type: ExternalMemoryHandleTypeFlags, + fd: c_int, + p_memory_fd_properties: *MemoryFdPropertiesKHR, + ) GetMemoryFdPropertiesKHRError!void { + const result = self.dispatch.vkGetMemoryFdPropertiesKHR( + device, + handle_type, + fd, + p_memory_fd_properties, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + else => return error.Unknown, + } + } + pub const GetMemoryZirconHandleFUCHSIAError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn getMemoryZirconHandleFUCHSIA( + self: Self, + device: Device, + p_get_zircon_handle_info: *const MemoryGetZirconHandleInfoFUCHSIA, + p_zircon_handle: *zx_handle_t, + ) GetMemoryZirconHandleFUCHSIAError!void { + const result = self.dispatch.vkGetMemoryZirconHandleFUCHSIA( + device, + p_get_zircon_handle_info, + p_zircon_handle, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const GetMemoryZirconHandlePropertiesFUCHSIAError = error{ + InvalidExternalHandle, + Unknown, + }; + pub fn getMemoryZirconHandlePropertiesFUCHSIA( + self: Self, + device: Device, + handle_type: ExternalMemoryHandleTypeFlags, + zircon_handle: zx_handle_t, + p_memory_zircon_handle_properties: *MemoryZirconHandlePropertiesFUCHSIA, + ) GetMemoryZirconHandlePropertiesFUCHSIAError!void { + const result = self.dispatch.vkGetMemoryZirconHandlePropertiesFUCHSIA( + device, + handle_type, + zircon_handle, + p_memory_zircon_handle_properties, + ); + switch (result) { + Result.success => {}, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + else => return error.Unknown, + } + } + pub const GetMemoryRemoteAddressNVError = error{ + InvalidExternalHandle, + Unknown, + }; + pub fn getMemoryRemoteAddressNV( + self: Self, + device: Device, + p_memory_get_remote_address_info: *const MemoryGetRemoteAddressInfoNV, + ) GetMemoryRemoteAddressNVError!RemoteAddressNV { + var out_address: RemoteAddressNV = undefined; + const result = self.dispatch.vkGetMemoryRemoteAddressNV( + device, + p_memory_get_remote_address_info, + &out_address, + ); + switch (result) { + Result.success => {}, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + else => return error.Unknown, + } + return out_address; + } + pub const GetMemorySciBufNVError = error{ + InitializationFailed, + Unknown, + }; + pub fn getMemorySciBufNV( + self: Self, + device: Device, + p_get_sci_buf_info: *const MemoryGetSciBufInfoNV, + p_handle: *NvSciBufObj, + ) GetMemorySciBufNVError!void { + const result = self.dispatch.vkGetMemorySciBufNV( + device, + p_get_sci_buf_info, + p_handle, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } + } + pub const GetSemaphoreWin32HandleKHRError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn getSemaphoreWin32HandleKHR( + self: Self, + device: Device, + p_get_win_32_handle_info: *const SemaphoreGetWin32HandleInfoKHR, + p_handle: *HANDLE, + ) GetSemaphoreWin32HandleKHRError!void { + const result = self.dispatch.vkGetSemaphoreWin32HandleKHR( + device, + p_get_win_32_handle_info, + p_handle, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const ImportSemaphoreWin32HandleKHRError = error{ + OutOfHostMemory, + InvalidExternalHandle, + Unknown, + }; + pub fn importSemaphoreWin32HandleKHR( + self: Self, + device: Device, + p_import_semaphore_win_32_handle_info: *const ImportSemaphoreWin32HandleInfoKHR, + ) ImportSemaphoreWin32HandleKHRError!void { + const result = self.dispatch.vkImportSemaphoreWin32HandleKHR( + device, + p_import_semaphore_win_32_handle_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + else => return error.Unknown, + } + } + pub const GetSemaphoreFdKHRError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn getSemaphoreFdKHR( + self: Self, + device: Device, + p_get_fd_info: *const SemaphoreGetFdInfoKHR, + ) GetSemaphoreFdKHRError!c_int { + var out_fd: c_int = undefined; + const result = self.dispatch.vkGetSemaphoreFdKHR( + device, + p_get_fd_info, + &out_fd, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_fd; + } + pub const ImportSemaphoreFdKHRError = error{ + OutOfHostMemory, + InvalidExternalHandle, + Unknown, + }; + pub fn importSemaphoreFdKHR( + self: Self, + device: Device, + p_import_semaphore_fd_info: *const ImportSemaphoreFdInfoKHR, + ) ImportSemaphoreFdKHRError!void { + const result = self.dispatch.vkImportSemaphoreFdKHR( + device, + p_import_semaphore_fd_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + else => return error.Unknown, + } + } + pub const GetSemaphoreZirconHandleFUCHSIAError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn getSemaphoreZirconHandleFUCHSIA( + self: Self, + device: Device, + p_get_zircon_handle_info: *const SemaphoreGetZirconHandleInfoFUCHSIA, + p_zircon_handle: *zx_handle_t, + ) GetSemaphoreZirconHandleFUCHSIAError!void { + const result = self.dispatch.vkGetSemaphoreZirconHandleFUCHSIA( + device, + p_get_zircon_handle_info, + p_zircon_handle, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const ImportSemaphoreZirconHandleFUCHSIAError = error{ + OutOfHostMemory, + InvalidExternalHandle, + Unknown, + }; + pub fn importSemaphoreZirconHandleFUCHSIA( + self: Self, + device: Device, + p_import_semaphore_zircon_handle_info: *const ImportSemaphoreZirconHandleInfoFUCHSIA, + ) ImportSemaphoreZirconHandleFUCHSIAError!void { + const result = self.dispatch.vkImportSemaphoreZirconHandleFUCHSIA( + device, + p_import_semaphore_zircon_handle_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + else => return error.Unknown, + } + } + pub const GetFenceWin32HandleKHRError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn getFenceWin32HandleKHR( + self: Self, + device: Device, + p_get_win_32_handle_info: *const FenceGetWin32HandleInfoKHR, + p_handle: *HANDLE, + ) GetFenceWin32HandleKHRError!void { + const result = self.dispatch.vkGetFenceWin32HandleKHR( + device, + p_get_win_32_handle_info, + p_handle, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const ImportFenceWin32HandleKHRError = error{ + OutOfHostMemory, + InvalidExternalHandle, + Unknown, + }; + pub fn importFenceWin32HandleKHR( + self: Self, + device: Device, + p_import_fence_win_32_handle_info: *const ImportFenceWin32HandleInfoKHR, + ) ImportFenceWin32HandleKHRError!void { + const result = self.dispatch.vkImportFenceWin32HandleKHR( + device, + p_import_fence_win_32_handle_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + else => return error.Unknown, + } + } + pub const GetFenceFdKHRError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn getFenceFdKHR( + self: Self, + device: Device, + p_get_fd_info: *const FenceGetFdInfoKHR, + ) GetFenceFdKHRError!c_int { + var out_fd: c_int = undefined; + const result = self.dispatch.vkGetFenceFdKHR( + device, + p_get_fd_info, + &out_fd, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_fd; + } + pub const ImportFenceFdKHRError = error{ + OutOfHostMemory, + InvalidExternalHandle, + Unknown, + }; + pub fn importFenceFdKHR( + self: Self, + device: Device, + p_import_fence_fd_info: *const ImportFenceFdInfoKHR, + ) ImportFenceFdKHRError!void { + const result = self.dispatch.vkImportFenceFdKHR( + device, + p_import_fence_fd_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + else => return error.Unknown, + } + } + pub const GetFenceSciSyncFenceNVError = error{ + InvalidExternalHandle, + NotPermittedEXT, + Unknown, + }; + pub fn getFenceSciSyncFenceNV( + self: Self, + device: Device, + p_get_sci_sync_handle_info: *const FenceGetSciSyncInfoNV, + p_handle: *anyopaque, + ) GetFenceSciSyncFenceNVError!void { + const result = self.dispatch.vkGetFenceSciSyncFenceNV( + device, + p_get_sci_sync_handle_info, + p_handle, + ); + switch (result) { + Result.success => {}, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + Result.error_not_permitted_ext => return error.NotPermittedEXT, + else => return error.Unknown, + } + } + pub const GetFenceSciSyncObjNVError = error{ + InvalidExternalHandle, + NotPermittedEXT, + Unknown, + }; + pub fn getFenceSciSyncObjNV( + self: Self, + device: Device, + p_get_sci_sync_handle_info: *const FenceGetSciSyncInfoNV, + p_handle: *anyopaque, + ) GetFenceSciSyncObjNVError!void { + const result = self.dispatch.vkGetFenceSciSyncObjNV( + device, + p_get_sci_sync_handle_info, + p_handle, + ); + switch (result) { + Result.success => {}, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + Result.error_not_permitted_ext => return error.NotPermittedEXT, + else => return error.Unknown, + } + } + pub const ImportFenceSciSyncFenceNVError = error{ + InvalidExternalHandle, + NotPermittedEXT, + Unknown, + }; + pub fn importFenceSciSyncFenceNV( + self: Self, + device: Device, + p_import_fence_sci_sync_info: *const ImportFenceSciSyncInfoNV, + ) ImportFenceSciSyncFenceNVError!void { + const result = self.dispatch.vkImportFenceSciSyncFenceNV( + device, + p_import_fence_sci_sync_info, + ); + switch (result) { + Result.success => {}, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + Result.error_not_permitted_ext => return error.NotPermittedEXT, + else => return error.Unknown, + } + } + pub const ImportFenceSciSyncObjNVError = error{ + InvalidExternalHandle, + NotPermittedEXT, + Unknown, + }; + pub fn importFenceSciSyncObjNV( + self: Self, + device: Device, + p_import_fence_sci_sync_info: *const ImportFenceSciSyncInfoNV, + ) ImportFenceSciSyncObjNVError!void { + const result = self.dispatch.vkImportFenceSciSyncObjNV( + device, + p_import_fence_sci_sync_info, + ); + switch (result) { + Result.success => {}, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + Result.error_not_permitted_ext => return error.NotPermittedEXT, + else => return error.Unknown, + } + } + pub const GetSemaphoreSciSyncObjNVError = error{ + InvalidExternalHandle, + NotPermittedEXT, + Unknown, + }; + pub fn getSemaphoreSciSyncObjNV( + self: Self, + device: Device, + p_get_sci_sync_info: *const SemaphoreGetSciSyncInfoNV, + p_handle: *anyopaque, + ) GetSemaphoreSciSyncObjNVError!void { + const result = self.dispatch.vkGetSemaphoreSciSyncObjNV( + device, + p_get_sci_sync_info, + p_handle, + ); + switch (result) { + Result.success => {}, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + Result.error_not_permitted_ext => return error.NotPermittedEXT, + else => return error.Unknown, + } + } + pub const ImportSemaphoreSciSyncObjNVError = error{ + InvalidExternalHandle, + NotPermittedEXT, + OutOfHostMemory, + Unknown, + }; + pub fn importSemaphoreSciSyncObjNV( + self: Self, + device: Device, + p_import_semaphore_sci_sync_info: *const ImportSemaphoreSciSyncInfoNV, + ) ImportSemaphoreSciSyncObjNVError!void { + const result = self.dispatch.vkImportSemaphoreSciSyncObjNV( + device, + p_import_semaphore_sci_sync_info, + ); + switch (result) { + Result.success => {}, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + Result.error_not_permitted_ext => return error.NotPermittedEXT, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const CreateSemaphoreSciSyncPoolNVError = error{ + InitializationFailed, + OutOfHostMemory, + Unknown, + }; + pub fn createSemaphoreSciSyncPoolNV( + self: Self, + device: Device, + p_create_info: *const SemaphoreSciSyncPoolCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + ) CreateSemaphoreSciSyncPoolNVError!SemaphoreSciSyncPoolNV { + var out_semaphore_pool: SemaphoreSciSyncPoolNV = undefined; + const result = self.dispatch.vkCreateSemaphoreSciSyncPoolNV( + device, + p_create_info, + p_allocator, + &out_semaphore_pool, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_semaphore_pool; + } + pub fn destroySemaphoreSciSyncPoolNV( + self: Self, + device: Device, + semaphore_pool: SemaphoreSciSyncPoolNV, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroySemaphoreSciSyncPoolNV( + device, + semaphore_pool, + p_allocator, + ); + } + pub const DisplayPowerControlEXTError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn displayPowerControlEXT( + self: Self, + device: Device, + display: DisplayKHR, + p_display_power_info: *const DisplayPowerInfoEXT, + ) DisplayPowerControlEXTError!void { + const result = self.dispatch.vkDisplayPowerControlEXT( + device, + display, + p_display_power_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const RegisterDeviceEventEXTError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn registerDeviceEventEXT( + self: Self, + device: Device, + p_device_event_info: *const DeviceEventInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) RegisterDeviceEventEXTError!Fence { + var out_fence: Fence = undefined; + const result = self.dispatch.vkRegisterDeviceEventEXT( + device, + p_device_event_info, + p_allocator, + &out_fence, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_fence; + } + pub const RegisterDisplayEventEXTError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn registerDisplayEventEXT( + self: Self, + device: Device, + display: DisplayKHR, + p_display_event_info: *const DisplayEventInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) RegisterDisplayEventEXTError!Fence { + var out_fence: Fence = undefined; + const result = self.dispatch.vkRegisterDisplayEventEXT( + device, + display, + p_display_event_info, + p_allocator, + &out_fence, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_fence; + } + pub const GetSwapchainCounterEXTError = error{ + OutOfHostMemory, + DeviceLost, + OutOfDateKHR, + Unknown, + }; + pub fn getSwapchainCounterEXT( + self: Self, + device: Device, + swapchain: SwapchainKHR, + counter: SurfaceCounterFlagsEXT, + ) GetSwapchainCounterEXTError!u64 { + var out_counter_value: u64 = undefined; + const result = self.dispatch.vkGetSwapchainCounterEXT( + device, + swapchain, + counter, + &out_counter_value, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_device_lost => return error.DeviceLost, + Result.error_out_of_date_khr => return error.OutOfDateKHR, + else => return error.Unknown, + } + return out_counter_value; + } + pub fn getDeviceGroupPeerMemoryFeatures( + self: Self, + device: Device, + heap_index: u32, + local_device_index: u32, + remote_device_index: u32, + ) PeerMemoryFeatureFlags { + var out_peer_memory_features: PeerMemoryFeatureFlags = undefined; + self.dispatch.vkGetDeviceGroupPeerMemoryFeatures( + device, + heap_index, + local_device_index, + remote_device_index, + &out_peer_memory_features, + ); + return out_peer_memory_features; + } + pub fn getDeviceGroupPeerMemoryFeaturesKHR( + self: Self, + device: Device, + heap_index: u32, + local_device_index: u32, + remote_device_index: u32, + ) PeerMemoryFeatureFlags { + var out_peer_memory_features: PeerMemoryFeatureFlags = undefined; + self.dispatch.vkGetDeviceGroupPeerMemoryFeaturesKHR( + device, + heap_index, + local_device_index, + remote_device_index, + &out_peer_memory_features, + ); + return out_peer_memory_features; + } + pub const BindBufferMemory2Error = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidOpaqueCaptureAddressKHR, + Unknown, + }; + pub fn bindBufferMemory2( + self: Self, + device: Device, + bind_info_count: u32, + p_bind_infos: [*]const BindBufferMemoryInfo, + ) BindBufferMemory2Error!void { + const result = self.dispatch.vkBindBufferMemory2( + device, + bind_info_count, + p_bind_infos, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, + else => return error.Unknown, + } + } + pub const BindBufferMemory2KHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidOpaqueCaptureAddressKHR, + Unknown, + }; + pub fn bindBufferMemory2KHR( + self: Self, + device: Device, + bind_info_count: u32, + p_bind_infos: [*]const BindBufferMemoryInfo, + ) BindBufferMemory2KHRError!void { + const result = self.dispatch.vkBindBufferMemory2KHR( + device, + bind_info_count, + p_bind_infos, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, + else => return error.Unknown, + } + } + pub const BindImageMemory2Error = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn bindImageMemory2( + self: Self, + device: Device, + bind_info_count: u32, + p_bind_infos: [*]const BindImageMemoryInfo, + ) BindImageMemory2Error!void { + const result = self.dispatch.vkBindImageMemory2( + device, + bind_info_count, + p_bind_infos, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const BindImageMemory2KHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn bindImageMemory2KHR( + self: Self, + device: Device, + bind_info_count: u32, + p_bind_infos: [*]const BindImageMemoryInfo, + ) BindImageMemory2KHRError!void { + const result = self.dispatch.vkBindImageMemory2KHR( + device, + bind_info_count, + p_bind_infos, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub fn cmdSetDeviceMask( + self: Self, + command_buffer: CommandBuffer, + device_mask: u32, + ) void { + self.dispatch.vkCmdSetDeviceMask( + command_buffer, + device_mask, + ); + } + pub fn cmdSetDeviceMaskKHR( + self: Self, + command_buffer: CommandBuffer, + device_mask: u32, + ) void { + self.dispatch.vkCmdSetDeviceMaskKHR( + command_buffer, + device_mask, + ); + } + pub const GetDeviceGroupPresentCapabilitiesKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getDeviceGroupPresentCapabilitiesKHR( + self: Self, + device: Device, + p_device_group_present_capabilities: *DeviceGroupPresentCapabilitiesKHR, + ) GetDeviceGroupPresentCapabilitiesKHRError!void { + const result = self.dispatch.vkGetDeviceGroupPresentCapabilitiesKHR( + device, + p_device_group_present_capabilities, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const GetDeviceGroupSurfacePresentModesKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + SurfaceLostKHR, + Unknown, + }; + pub fn getDeviceGroupSurfacePresentModesKHR( + self: Self, + device: Device, + surface: SurfaceKHR, + ) GetDeviceGroupSurfacePresentModesKHRError!DeviceGroupPresentModeFlagsKHR { + var out_modes: DeviceGroupPresentModeFlagsKHR = undefined; + const result = self.dispatch.vkGetDeviceGroupSurfacePresentModesKHR( + device, + surface, + &out_modes, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + else => return error.Unknown, + } + return out_modes; + } + pub const AcquireNextImage2KHRResult = struct { + result: Result, + image_index: u32, + }; + pub const AcquireNextImage2KHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + OutOfDateKHR, + SurfaceLostKHR, + FullScreenExclusiveModeLostEXT, + Unknown, + }; + pub fn acquireNextImage2KHR( + self: Self, + device: Device, + p_acquire_info: *const AcquireNextImageInfoKHR, + ) AcquireNextImage2KHRError!AcquireNextImage2KHRResult { + var return_values: AcquireNextImage2KHRResult = undefined; + const result = self.dispatch.vkAcquireNextImage2KHR( + device, + p_acquire_info, + &return_values.image_index, + ); + switch (result) { + Result.success => {}, + Result.timeout => {}, + Result.not_ready => {}, + Result.suboptimal_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + Result.error_out_of_date_khr => return error.OutOfDateKHR, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + Result.error_full_screen_exclusive_mode_lost_ext => return error.FullScreenExclusiveModeLostEXT, + else => return error.Unknown, + } + return_values.result = result; + return return_values; + } + pub fn cmdDispatchBase( + self: Self, + command_buffer: CommandBuffer, + base_group_x: u32, + base_group_y: u32, + base_group_z: u32, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, + ) void { + self.dispatch.vkCmdDispatchBase( + command_buffer, + base_group_x, + base_group_y, + base_group_z, + group_count_x, + group_count_y, + group_count_z, + ); + } + pub fn cmdDispatchBaseKHR( + self: Self, + command_buffer: CommandBuffer, + base_group_x: u32, + base_group_y: u32, + base_group_z: u32, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, + ) void { + self.dispatch.vkCmdDispatchBaseKHR( + command_buffer, + base_group_x, + base_group_y, + base_group_z, + group_count_x, + group_count_y, + group_count_z, + ); + } + pub const CreateDescriptorUpdateTemplateError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createDescriptorUpdateTemplate( + self: Self, + device: Device, + p_create_info: *const DescriptorUpdateTemplateCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateDescriptorUpdateTemplateError!DescriptorUpdateTemplate { + var out_descriptor_update_template: DescriptorUpdateTemplate = undefined; + const result = self.dispatch.vkCreateDescriptorUpdateTemplate( + device, + p_create_info, + p_allocator, + &out_descriptor_update_template, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_descriptor_update_template; + } + pub const CreateDescriptorUpdateTemplateKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createDescriptorUpdateTemplateKHR( + self: Self, + device: Device, + p_create_info: *const DescriptorUpdateTemplateCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateDescriptorUpdateTemplateKHRError!DescriptorUpdateTemplate { + var out_descriptor_update_template: DescriptorUpdateTemplate = undefined; + const result = self.dispatch.vkCreateDescriptorUpdateTemplateKHR( + device, + p_create_info, + p_allocator, + &out_descriptor_update_template, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_descriptor_update_template; + } + pub fn destroyDescriptorUpdateTemplate( + self: Self, + device: Device, + descriptor_update_template: DescriptorUpdateTemplate, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyDescriptorUpdateTemplate( + device, + descriptor_update_template, + p_allocator, + ); + } + pub fn destroyDescriptorUpdateTemplateKHR( + self: Self, + device: Device, + descriptor_update_template: DescriptorUpdateTemplate, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyDescriptorUpdateTemplateKHR( + device, + descriptor_update_template, + p_allocator, + ); + } + pub fn updateDescriptorSetWithTemplate( + self: Self, + device: Device, + descriptor_set: DescriptorSet, + descriptor_update_template: DescriptorUpdateTemplate, + p_data: *const anyopaque, + ) void { + self.dispatch.vkUpdateDescriptorSetWithTemplate( + device, + descriptor_set, + descriptor_update_template, + p_data, + ); + } + pub fn updateDescriptorSetWithTemplateKHR( + self: Self, + device: Device, + descriptor_set: DescriptorSet, + descriptor_update_template: DescriptorUpdateTemplate, + p_data: *const anyopaque, + ) void { + self.dispatch.vkUpdateDescriptorSetWithTemplateKHR( + device, + descriptor_set, + descriptor_update_template, + p_data, + ); + } + pub fn cmdPushDescriptorSetWithTemplateKHR( + self: Self, + command_buffer: CommandBuffer, + descriptor_update_template: DescriptorUpdateTemplate, + layout: PipelineLayout, + set: u32, + p_data: *const anyopaque, + ) void { + self.dispatch.vkCmdPushDescriptorSetWithTemplateKHR( + command_buffer, + descriptor_update_template, + layout, + set, + p_data, + ); + } + pub fn setHdrMetadataEXT( + self: Self, + device: Device, + swapchain_count: u32, + p_swapchains: [*]const SwapchainKHR, + p_metadata: [*]const HdrMetadataEXT, + ) void { + self.dispatch.vkSetHdrMetadataEXT( + device, + swapchain_count, + p_swapchains, + p_metadata, + ); + } + pub const GetSwapchainStatusKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + OutOfDateKHR, + SurfaceLostKHR, + FullScreenExclusiveModeLostEXT, + Unknown, + }; + pub fn getSwapchainStatusKHR( + self: Self, + device: Device, + swapchain: SwapchainKHR, + ) GetSwapchainStatusKHRError!Result { + const result = self.dispatch.vkGetSwapchainStatusKHR( + device, + swapchain, + ); + switch (result) { + Result.success => {}, + Result.suboptimal_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + Result.error_out_of_date_khr => return error.OutOfDateKHR, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + Result.error_full_screen_exclusive_mode_lost_ext => return error.FullScreenExclusiveModeLostEXT, + else => return error.Unknown, + } + return result; + } + pub const GetRefreshCycleDurationGOOGLEError = error{ + OutOfHostMemory, + DeviceLost, + SurfaceLostKHR, + Unknown, + }; + pub fn getRefreshCycleDurationGOOGLE( + self: Self, + device: Device, + swapchain: SwapchainKHR, + ) GetRefreshCycleDurationGOOGLEError!RefreshCycleDurationGOOGLE { + var out_display_timing_properties: RefreshCycleDurationGOOGLE = undefined; + const result = self.dispatch.vkGetRefreshCycleDurationGOOGLE( + device, + swapchain, + &out_display_timing_properties, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_device_lost => return error.DeviceLost, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + else => return error.Unknown, + } + return out_display_timing_properties; + } + pub const GetPastPresentationTimingGOOGLEError = error{ + OutOfHostMemory, + DeviceLost, + OutOfDateKHR, + SurfaceLostKHR, + Unknown, + }; + pub fn getPastPresentationTimingGOOGLE( + self: Self, + device: Device, + swapchain: SwapchainKHR, + p_presentation_timing_count: *u32, + p_presentation_timings: ?[*]PastPresentationTimingGOOGLE, + ) GetPastPresentationTimingGOOGLEError!Result { + const result = self.dispatch.vkGetPastPresentationTimingGOOGLE( + device, + swapchain, + p_presentation_timing_count, + p_presentation_timings, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_device_lost => return error.DeviceLost, + Result.error_out_of_date_khr => return error.OutOfDateKHR, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + else => return error.Unknown, + } + return result; + } + pub fn cmdSetViewportWScalingNV( + self: Self, + command_buffer: CommandBuffer, + first_viewport: u32, + viewport_count: u32, + p_viewport_w_scalings: [*]const ViewportWScalingNV, + ) void { + self.dispatch.vkCmdSetViewportWScalingNV( + command_buffer, + first_viewport, + viewport_count, + p_viewport_w_scalings, + ); + } + pub fn cmdSetDiscardRectangleEXT( + self: Self, + command_buffer: CommandBuffer, + first_discard_rectangle: u32, + discard_rectangle_count: u32, + p_discard_rectangles: [*]const Rect2D, + ) void { + self.dispatch.vkCmdSetDiscardRectangleEXT( + command_buffer, + first_discard_rectangle, + discard_rectangle_count, + p_discard_rectangles, + ); + } + pub fn cmdSetDiscardRectangleEnableEXT( + self: Self, + command_buffer: CommandBuffer, + discard_rectangle_enable: Bool32, + ) void { + self.dispatch.vkCmdSetDiscardRectangleEnableEXT( + command_buffer, + discard_rectangle_enable, + ); + } + pub fn cmdSetDiscardRectangleModeEXT( + self: Self, + command_buffer: CommandBuffer, + discard_rectangle_mode: DiscardRectangleModeEXT, + ) void { + self.dispatch.vkCmdSetDiscardRectangleModeEXT( + command_buffer, + discard_rectangle_mode, + ); + } + pub fn cmdSetSampleLocationsEXT( + self: Self, + command_buffer: CommandBuffer, + p_sample_locations_info: *const SampleLocationsInfoEXT, + ) void { + self.dispatch.vkCmdSetSampleLocationsEXT( + command_buffer, + p_sample_locations_info, + ); + } + pub fn getBufferMemoryRequirements2( + self: Self, + device: Device, + p_info: *const BufferMemoryRequirementsInfo2, + p_memory_requirements: *MemoryRequirements2, + ) void { + self.dispatch.vkGetBufferMemoryRequirements2( + device, + p_info, + p_memory_requirements, + ); + } + pub fn getBufferMemoryRequirements2KHR( + self: Self, + device: Device, + p_info: *const BufferMemoryRequirementsInfo2, + p_memory_requirements: *MemoryRequirements2, + ) void { + self.dispatch.vkGetBufferMemoryRequirements2KHR( + device, + p_info, + p_memory_requirements, + ); + } + pub fn getImageMemoryRequirements2( + self: Self, + device: Device, + p_info: *const ImageMemoryRequirementsInfo2, + p_memory_requirements: *MemoryRequirements2, + ) void { + self.dispatch.vkGetImageMemoryRequirements2( + device, + p_info, + p_memory_requirements, + ); + } + pub fn getImageMemoryRequirements2KHR( + self: Self, + device: Device, + p_info: *const ImageMemoryRequirementsInfo2, + p_memory_requirements: *MemoryRequirements2, + ) void { + self.dispatch.vkGetImageMemoryRequirements2KHR( + device, + p_info, + p_memory_requirements, + ); + } + pub fn getImageSparseMemoryRequirements2( + self: Self, + device: Device, + p_info: *const ImageSparseMemoryRequirementsInfo2, + p_sparse_memory_requirement_count: *u32, + p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements2, + ) void { + self.dispatch.vkGetImageSparseMemoryRequirements2( + device, + p_info, + p_sparse_memory_requirement_count, + p_sparse_memory_requirements, + ); + } + pub fn getImageSparseMemoryRequirements2KHR( + self: Self, + device: Device, + p_info: *const ImageSparseMemoryRequirementsInfo2, + p_sparse_memory_requirement_count: *u32, + p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements2, + ) void { + self.dispatch.vkGetImageSparseMemoryRequirements2KHR( + device, + p_info, + p_sparse_memory_requirement_count, + p_sparse_memory_requirements, + ); + } + pub fn getDeviceBufferMemoryRequirements( + self: Self, + device: Device, + p_info: *const DeviceBufferMemoryRequirements, + p_memory_requirements: *MemoryRequirements2, + ) void { + self.dispatch.vkGetDeviceBufferMemoryRequirements( + device, + p_info, + p_memory_requirements, + ); + } + pub fn getDeviceBufferMemoryRequirementsKHR( + self: Self, + device: Device, + p_info: *const DeviceBufferMemoryRequirements, + p_memory_requirements: *MemoryRequirements2, + ) void { + self.dispatch.vkGetDeviceBufferMemoryRequirementsKHR( + device, + p_info, + p_memory_requirements, + ); + } + pub fn getDeviceImageMemoryRequirements( + self: Self, + device: Device, + p_info: *const DeviceImageMemoryRequirements, + p_memory_requirements: *MemoryRequirements2, + ) void { + self.dispatch.vkGetDeviceImageMemoryRequirements( + device, + p_info, + p_memory_requirements, + ); + } + pub fn getDeviceImageMemoryRequirementsKHR( + self: Self, + device: Device, + p_info: *const DeviceImageMemoryRequirements, + p_memory_requirements: *MemoryRequirements2, + ) void { + self.dispatch.vkGetDeviceImageMemoryRequirementsKHR( + device, + p_info, + p_memory_requirements, + ); + } + pub fn getDeviceImageSparseMemoryRequirements( + self: Self, + device: Device, + p_info: *const DeviceImageMemoryRequirements, + p_sparse_memory_requirement_count: *u32, + p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements2, + ) void { + self.dispatch.vkGetDeviceImageSparseMemoryRequirements( + device, + p_info, + p_sparse_memory_requirement_count, + p_sparse_memory_requirements, + ); + } + pub fn getDeviceImageSparseMemoryRequirementsKHR( + self: Self, + device: Device, + p_info: *const DeviceImageMemoryRequirements, + p_sparse_memory_requirement_count: *u32, + p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements2, + ) void { + self.dispatch.vkGetDeviceImageSparseMemoryRequirementsKHR( + device, + p_info, + p_sparse_memory_requirement_count, + p_sparse_memory_requirements, + ); + } + pub const CreateSamplerYcbcrConversionError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createSamplerYcbcrConversion( + self: Self, + device: Device, + p_create_info: *const SamplerYcbcrConversionCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateSamplerYcbcrConversionError!SamplerYcbcrConversion { + var out_ycbcr_conversion: SamplerYcbcrConversion = undefined; + const result = self.dispatch.vkCreateSamplerYcbcrConversion( + device, + p_create_info, + p_allocator, + &out_ycbcr_conversion, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_ycbcr_conversion; + } + pub const CreateSamplerYcbcrConversionKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createSamplerYcbcrConversionKHR( + self: Self, + device: Device, + p_create_info: *const SamplerYcbcrConversionCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateSamplerYcbcrConversionKHRError!SamplerYcbcrConversion { + var out_ycbcr_conversion: SamplerYcbcrConversion = undefined; + const result = self.dispatch.vkCreateSamplerYcbcrConversionKHR( + device, + p_create_info, + p_allocator, + &out_ycbcr_conversion, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_ycbcr_conversion; + } + pub fn destroySamplerYcbcrConversion( + self: Self, + device: Device, + ycbcr_conversion: SamplerYcbcrConversion, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroySamplerYcbcrConversion( + device, + ycbcr_conversion, + p_allocator, + ); + } + pub fn destroySamplerYcbcrConversionKHR( + self: Self, + device: Device, + ycbcr_conversion: SamplerYcbcrConversion, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroySamplerYcbcrConversionKHR( + device, + ycbcr_conversion, + p_allocator, + ); + } + pub fn getDeviceQueue2( + self: Self, + device: Device, + p_queue_info: *const DeviceQueueInfo2, + ) Queue { + var out_queue: Queue = undefined; + self.dispatch.vkGetDeviceQueue2( + device, + p_queue_info, + &out_queue, + ); + return out_queue; + } + pub const CreateValidationCacheEXTError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn createValidationCacheEXT( + self: Self, + device: Device, + p_create_info: *const ValidationCacheCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) CreateValidationCacheEXTError!ValidationCacheEXT { + var out_validation_cache: ValidationCacheEXT = undefined; + const result = self.dispatch.vkCreateValidationCacheEXT( + device, + p_create_info, + p_allocator, + &out_validation_cache, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_validation_cache; + } + pub fn destroyValidationCacheEXT( + self: Self, + device: Device, + validation_cache: ValidationCacheEXT, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyValidationCacheEXT( + device, + validation_cache, + p_allocator, + ); + } + pub const GetValidationCacheDataEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getValidationCacheDataEXT( + self: Self, + device: Device, + validation_cache: ValidationCacheEXT, + p_data_size: *usize, + p_data: ?*anyopaque, + ) GetValidationCacheDataEXTError!Result { + const result = self.dispatch.vkGetValidationCacheDataEXT( + device, + validation_cache, + p_data_size, + p_data, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub const MergeValidationCachesEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn mergeValidationCachesEXT( + self: Self, + device: Device, + dst_cache: ValidationCacheEXT, + src_cache_count: u32, + p_src_caches: [*]const ValidationCacheEXT, + ) MergeValidationCachesEXTError!void { + const result = self.dispatch.vkMergeValidationCachesEXT( + device, + dst_cache, + src_cache_count, + p_src_caches, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub fn getDescriptorSetLayoutSupport( + self: Self, + device: Device, + p_create_info: *const DescriptorSetLayoutCreateInfo, + p_support: *DescriptorSetLayoutSupport, + ) void { + self.dispatch.vkGetDescriptorSetLayoutSupport( + device, + p_create_info, + p_support, + ); + } + pub fn getDescriptorSetLayoutSupportKHR( + self: Self, + device: Device, + p_create_info: *const DescriptorSetLayoutCreateInfo, + p_support: *DescriptorSetLayoutSupport, + ) void { + self.dispatch.vkGetDescriptorSetLayoutSupportKHR( + device, + p_create_info, + p_support, + ); + } + pub const GetSwapchainGrallocUsageANDROIDError = error{ + Unknown, + }; + pub fn getSwapchainGrallocUsageANDROID( + self: Self, + device: Device, + format: Format, + image_usage: ImageUsageFlags, + ) GetSwapchainGrallocUsageANDROIDError!c_int { + var out_gralloc_usage: c_int = undefined; + const result = self.dispatch.vkGetSwapchainGrallocUsageANDROID( + device, + format, + image_usage, + &out_gralloc_usage, + ); + switch (result) { + else => return error.Unknown, + } + return out_gralloc_usage; + } + pub const GetSwapchainGrallocUsage2ANDROIDResult = struct { + gralloc_consumer_usage: u64, + gralloc_producer_usage: u64, + }; + pub const GetSwapchainGrallocUsage2ANDROIDError = error{ + Unknown, + }; + pub fn getSwapchainGrallocUsage2ANDROID( + self: Self, + device: Device, + format: Format, + image_usage: ImageUsageFlags, + swapchain_image_usage: SwapchainImageUsageFlagsANDROID, + ) GetSwapchainGrallocUsage2ANDROIDError!GetSwapchainGrallocUsage2ANDROIDResult { + var return_values: GetSwapchainGrallocUsage2ANDROIDResult = undefined; + const result = self.dispatch.vkGetSwapchainGrallocUsage2ANDROID( + device, + format, + image_usage, + swapchain_image_usage, + &return_values.gralloc_consumer_usage, + &return_values.gralloc_producer_usage, + ); + switch (result) { + else => return error.Unknown, + } + return return_values; + } + pub const AcquireImageANDROIDError = error{ + Unknown, + }; + pub fn acquireImageANDROID( + self: Self, + device: Device, + image: Image, + native_fence_fd: c_int, + semaphore: Semaphore, + fence: Fence, + ) AcquireImageANDROIDError!void { + const result = self.dispatch.vkAcquireImageANDROID( + device, + image, + native_fence_fd, + semaphore, + fence, + ); + switch (result) { + else => return error.Unknown, + } + } + pub const QueueSignalReleaseImageANDROIDError = error{ + Unknown, + }; + pub fn queueSignalReleaseImageANDROID( + self: Self, + queue: Queue, + wait_semaphore_count: u32, + p_wait_semaphores: [*]const Semaphore, + image: Image, + ) QueueSignalReleaseImageANDROIDError!c_int { + var out_native_fence_fd: c_int = undefined; + const result = self.dispatch.vkQueueSignalReleaseImageANDROID( + queue, + wait_semaphore_count, + p_wait_semaphores, + image, + &out_native_fence_fd, + ); + switch (result) { + else => return error.Unknown, + } + return out_native_fence_fd; + } + pub const GetShaderInfoAMDError = error{ + FeatureNotPresent, + OutOfHostMemory, + Unknown, + }; + pub fn getShaderInfoAMD( + self: Self, + device: Device, + pipeline: Pipeline, + shader_stage: ShaderStageFlags, + info_type: ShaderInfoTypeAMD, + p_info_size: *usize, + p_info: ?*anyopaque, + ) GetShaderInfoAMDError!Result { + const result = self.dispatch.vkGetShaderInfoAMD( + device, + pipeline, + shader_stage, + info_type, + p_info_size, + p_info, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_feature_not_present => return error.FeatureNotPresent, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return result; + } + pub fn setLocalDimmingAMD( + self: Self, + device: Device, + swap_chain: SwapchainKHR, + local_dimming_enable: Bool32, + ) void { + self.dispatch.vkSetLocalDimmingAMD( + device, + swap_chain, + local_dimming_enable, + ); + } + pub const GetCalibratedTimestampsKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getCalibratedTimestampsKHR( + self: Self, + device: Device, + timestamp_count: u32, + p_timestamp_infos: [*]const CalibratedTimestampInfoKHR, + p_timestamps: [*]u64, + ) GetCalibratedTimestampsKHRError!u64 { + var out_max_deviation: u64 = undefined; + const result = self.dispatch.vkGetCalibratedTimestampsKHR( + device, + timestamp_count, + p_timestamp_infos, + p_timestamps, + &out_max_deviation, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_max_deviation; + } + pub const GetCalibratedTimestampsEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getCalibratedTimestampsEXT( + self: Self, + device: Device, + timestamp_count: u32, + p_timestamp_infos: [*]const CalibratedTimestampInfoKHR, + p_timestamps: [*]u64, + ) GetCalibratedTimestampsEXTError!u64 { + var out_max_deviation: u64 = undefined; + const result = self.dispatch.vkGetCalibratedTimestampsEXT( + device, + timestamp_count, + p_timestamp_infos, + p_timestamps, + &out_max_deviation, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_max_deviation; + } + pub const SetDebugUtilsObjectNameEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn setDebugUtilsObjectNameEXT( + self: Self, + device: Device, + p_name_info: *const DebugUtilsObjectNameInfoEXT, + ) SetDebugUtilsObjectNameEXTError!void { + const result = self.dispatch.vkSetDebugUtilsObjectNameEXT( + device, + p_name_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const SetDebugUtilsObjectTagEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn setDebugUtilsObjectTagEXT( + self: Self, + device: Device, + p_tag_info: *const DebugUtilsObjectTagInfoEXT, + ) SetDebugUtilsObjectTagEXTError!void { + const result = self.dispatch.vkSetDebugUtilsObjectTagEXT( + device, + p_tag_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub fn queueBeginDebugUtilsLabelEXT( + self: Self, + queue: Queue, + p_label_info: *const DebugUtilsLabelEXT, + ) void { + self.dispatch.vkQueueBeginDebugUtilsLabelEXT( + queue, + p_label_info, + ); + } + pub fn queueEndDebugUtilsLabelEXT( + self: Self, + queue: Queue, + ) void { + self.dispatch.vkQueueEndDebugUtilsLabelEXT( + queue, + ); + } + pub fn queueInsertDebugUtilsLabelEXT( + self: Self, + queue: Queue, + p_label_info: *const DebugUtilsLabelEXT, + ) void { + self.dispatch.vkQueueInsertDebugUtilsLabelEXT( + queue, + p_label_info, + ); + } + pub fn cmdBeginDebugUtilsLabelEXT( + self: Self, + command_buffer: CommandBuffer, + p_label_info: *const DebugUtilsLabelEXT, + ) void { + self.dispatch.vkCmdBeginDebugUtilsLabelEXT( + command_buffer, + p_label_info, + ); + } + pub fn cmdEndDebugUtilsLabelEXT( + self: Self, + command_buffer: CommandBuffer, + ) void { + self.dispatch.vkCmdEndDebugUtilsLabelEXT( + command_buffer, + ); + } + pub fn cmdInsertDebugUtilsLabelEXT( + self: Self, + command_buffer: CommandBuffer, + p_label_info: *const DebugUtilsLabelEXT, + ) void { + self.dispatch.vkCmdInsertDebugUtilsLabelEXT( + command_buffer, + p_label_info, + ); + } + pub const GetMemoryHostPointerPropertiesEXTError = error{ + OutOfHostMemory, + InvalidExternalHandle, + Unknown, + }; + pub fn getMemoryHostPointerPropertiesEXT( + self: Self, + device: Device, + handle_type: ExternalMemoryHandleTypeFlags, + p_host_pointer: *const anyopaque, + p_memory_host_pointer_properties: *MemoryHostPointerPropertiesEXT, + ) GetMemoryHostPointerPropertiesEXTError!void { + const result = self.dispatch.vkGetMemoryHostPointerPropertiesEXT( + device, + handle_type, + p_host_pointer, + p_memory_host_pointer_properties, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + else => return error.Unknown, + } + } + pub fn cmdWriteBufferMarkerAMD( + self: Self, + command_buffer: CommandBuffer, + pipeline_stage: PipelineStageFlags, + dst_buffer: Buffer, + dst_offset: DeviceSize, + marker: u32, + ) void { + self.dispatch.vkCmdWriteBufferMarkerAMD( + command_buffer, + pipeline_stage, + dst_buffer, + dst_offset, + marker, + ); + } + pub const CreateRenderPass2Error = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createRenderPass2( + self: Self, + device: Device, + p_create_info: *const RenderPassCreateInfo2, + p_allocator: ?*const AllocationCallbacks, + ) CreateRenderPass2Error!RenderPass { + var out_render_pass: RenderPass = undefined; + const result = self.dispatch.vkCreateRenderPass2( + device, + p_create_info, + p_allocator, + &out_render_pass, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_render_pass; + } + pub const CreateRenderPass2KHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createRenderPass2KHR( + self: Self, + device: Device, + p_create_info: *const RenderPassCreateInfo2, + p_allocator: ?*const AllocationCallbacks, + ) CreateRenderPass2KHRError!RenderPass { + var out_render_pass: RenderPass = undefined; + const result = self.dispatch.vkCreateRenderPass2KHR( + device, + p_create_info, + p_allocator, + &out_render_pass, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return out_render_pass; + } + pub fn cmdBeginRenderPass2( + self: Self, + command_buffer: CommandBuffer, + p_render_pass_begin: *const RenderPassBeginInfo, + p_subpass_begin_info: *const SubpassBeginInfo, + ) void { + self.dispatch.vkCmdBeginRenderPass2( + command_buffer, + p_render_pass_begin, + p_subpass_begin_info, + ); + } + pub fn cmdBeginRenderPass2KHR( + self: Self, + command_buffer: CommandBuffer, + p_render_pass_begin: *const RenderPassBeginInfo, + p_subpass_begin_info: *const SubpassBeginInfo, + ) void { + self.dispatch.vkCmdBeginRenderPass2KHR( + command_buffer, + p_render_pass_begin, + p_subpass_begin_info, + ); + } + pub fn cmdNextSubpass2( + self: Self, + command_buffer: CommandBuffer, + p_subpass_begin_info: *const SubpassBeginInfo, + p_subpass_end_info: *const SubpassEndInfo, + ) void { + self.dispatch.vkCmdNextSubpass2( + command_buffer, + p_subpass_begin_info, + p_subpass_end_info, + ); + } + pub fn cmdNextSubpass2KHR( + self: Self, + command_buffer: CommandBuffer, + p_subpass_begin_info: *const SubpassBeginInfo, + p_subpass_end_info: *const SubpassEndInfo, + ) void { + self.dispatch.vkCmdNextSubpass2KHR( + command_buffer, + p_subpass_begin_info, + p_subpass_end_info, + ); + } + pub fn cmdEndRenderPass2( + self: Self, + command_buffer: CommandBuffer, + p_subpass_end_info: *const SubpassEndInfo, + ) void { + self.dispatch.vkCmdEndRenderPass2( + command_buffer, + p_subpass_end_info, + ); + } + pub fn cmdEndRenderPass2KHR( + self: Self, + command_buffer: CommandBuffer, + p_subpass_end_info: *const SubpassEndInfo, + ) void { + self.dispatch.vkCmdEndRenderPass2KHR( + command_buffer, + p_subpass_end_info, + ); + } + pub const GetSemaphoreCounterValueError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn getSemaphoreCounterValue( + self: Self, + device: Device, + semaphore: Semaphore, + ) GetSemaphoreCounterValueError!u64 { + var out_value: u64 = undefined; + const result = self.dispatch.vkGetSemaphoreCounterValue( + device, + semaphore, + &out_value, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + return out_value; + } + pub const GetSemaphoreCounterValueKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn getSemaphoreCounterValueKHR( + self: Self, + device: Device, + semaphore: Semaphore, + ) GetSemaphoreCounterValueKHRError!u64 { + var out_value: u64 = undefined; + const result = self.dispatch.vkGetSemaphoreCounterValueKHR( + device, + semaphore, + &out_value, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + return out_value; + } + pub const WaitSemaphoresError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn waitSemaphores( + self: Self, + device: Device, + p_wait_info: *const SemaphoreWaitInfo, + timeout: u64, + ) WaitSemaphoresError!Result { + const result = self.dispatch.vkWaitSemaphores( + device, + p_wait_info, + timeout, + ); + switch (result) { + Result.success => {}, + Result.timeout => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + return result; + } + pub const WaitSemaphoresKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn waitSemaphoresKHR( + self: Self, + device: Device, + p_wait_info: *const SemaphoreWaitInfo, + timeout: u64, + ) WaitSemaphoresKHRError!Result { + const result = self.dispatch.vkWaitSemaphoresKHR( + device, + p_wait_info, + timeout, + ); + switch (result) { + Result.success => {}, + Result.timeout => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + return result; + } + pub const SignalSemaphoreError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn signalSemaphore( + self: Self, + device: Device, + p_signal_info: *const SemaphoreSignalInfo, + ) SignalSemaphoreError!void { + const result = self.dispatch.vkSignalSemaphore( + device, + p_signal_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const SignalSemaphoreKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn signalSemaphoreKHR( + self: Self, + device: Device, + p_signal_info: *const SemaphoreSignalInfo, + ) SignalSemaphoreKHRError!void { + const result = self.dispatch.vkSignalSemaphoreKHR( + device, + p_signal_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const GetAndroidHardwareBufferPropertiesANDROIDError = error{ + OutOfHostMemory, + InvalidExternalHandleKHR, + Unknown, + }; + pub fn getAndroidHardwareBufferPropertiesANDROID( + self: Self, + device: Device, + buffer: *const AHardwareBuffer, + p_properties: *AndroidHardwareBufferPropertiesANDROID, + ) GetAndroidHardwareBufferPropertiesANDROIDError!void { + const result = self.dispatch.vkGetAndroidHardwareBufferPropertiesANDROID( + device, + buffer, + p_properties, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_invalid_external_handle_khr => return error.InvalidExternalHandleKHR, + else => return error.Unknown, + } + } + pub const GetMemoryAndroidHardwareBufferANDROIDError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn getMemoryAndroidHardwareBufferANDROID( + self: Self, + device: Device, + p_info: *const MemoryGetAndroidHardwareBufferInfoANDROID, + ) GetMemoryAndroidHardwareBufferANDROIDError!*AHardwareBuffer { + var out_buffer: *AHardwareBuffer = undefined; + const result = self.dispatch.vkGetMemoryAndroidHardwareBufferANDROID( + device, + p_info, + &out_buffer, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_buffer; + } + pub fn cmdDrawIndirectCount( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + self.dispatch.vkCmdDrawIndirectCount( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdDrawIndirectCountKHR( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + self.dispatch.vkCmdDrawIndirectCountKHR( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdDrawIndirectCountAMD( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + self.dispatch.vkCmdDrawIndirectCountAMD( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdDrawIndexedIndirectCount( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + self.dispatch.vkCmdDrawIndexedIndirectCount( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdDrawIndexedIndirectCountKHR( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + self.dispatch.vkCmdDrawIndexedIndirectCountKHR( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdDrawIndexedIndirectCountAMD( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + self.dispatch.vkCmdDrawIndexedIndirectCountAMD( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdSetCheckpointNV( + self: Self, + command_buffer: CommandBuffer, + p_checkpoint_marker: *const anyopaque, + ) void { + self.dispatch.vkCmdSetCheckpointNV( + command_buffer, + p_checkpoint_marker, + ); + } + pub fn getQueueCheckpointDataNV( + self: Self, + queue: Queue, + p_checkpoint_data_count: *u32, + p_checkpoint_data: ?[*]CheckpointDataNV, + ) void { + self.dispatch.vkGetQueueCheckpointDataNV( + queue, + p_checkpoint_data_count, + p_checkpoint_data, + ); + } + pub fn cmdBindTransformFeedbackBuffersEXT( + self: Self, + command_buffer: CommandBuffer, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + p_sizes: ?[*]const DeviceSize, + ) void { + self.dispatch.vkCmdBindTransformFeedbackBuffersEXT( + command_buffer, + first_binding, + binding_count, + p_buffers, + p_offsets, + p_sizes, + ); + } + pub fn cmdBeginTransformFeedbackEXT( + self: Self, + command_buffer: CommandBuffer, + first_counter_buffer: u32, + counter_buffer_count: u32, + p_counter_buffers: ?[*]const Buffer, + p_counter_buffer_offsets: ?[*]const DeviceSize, + ) void { + self.dispatch.vkCmdBeginTransformFeedbackEXT( + command_buffer, + first_counter_buffer, + counter_buffer_count, + p_counter_buffers, + p_counter_buffer_offsets, + ); + } + pub fn cmdEndTransformFeedbackEXT( + self: Self, + command_buffer: CommandBuffer, + first_counter_buffer: u32, + counter_buffer_count: u32, + p_counter_buffers: ?[*]const Buffer, + p_counter_buffer_offsets: ?[*]const DeviceSize, + ) void { + self.dispatch.vkCmdEndTransformFeedbackEXT( + command_buffer, + first_counter_buffer, + counter_buffer_count, + p_counter_buffers, + p_counter_buffer_offsets, + ); + } + pub fn cmdBeginQueryIndexedEXT( + self: Self, + command_buffer: CommandBuffer, + query_pool: QueryPool, + query: u32, + flags: QueryControlFlags, + index: u32, + ) void { + self.dispatch.vkCmdBeginQueryIndexedEXT( + command_buffer, + query_pool, + query, + flags, + index, + ); + } + pub fn cmdEndQueryIndexedEXT( + self: Self, + command_buffer: CommandBuffer, + query_pool: QueryPool, + query: u32, + index: u32, + ) void { + self.dispatch.vkCmdEndQueryIndexedEXT( + command_buffer, + query_pool, + query, + index, + ); + } + pub fn cmdDrawIndirectByteCountEXT( + self: Self, + command_buffer: CommandBuffer, + instance_count: u32, + first_instance: u32, + counter_buffer: Buffer, + counter_buffer_offset: DeviceSize, + counter_offset: u32, + vertex_stride: u32, + ) void { + self.dispatch.vkCmdDrawIndirectByteCountEXT( + command_buffer, + instance_count, + first_instance, + counter_buffer, + counter_buffer_offset, + counter_offset, + vertex_stride, + ); + } + pub fn cmdSetExclusiveScissorNV( + self: Self, + command_buffer: CommandBuffer, + first_exclusive_scissor: u32, + exclusive_scissor_count: u32, + p_exclusive_scissors: [*]const Rect2D, + ) void { + self.dispatch.vkCmdSetExclusiveScissorNV( + command_buffer, + first_exclusive_scissor, + exclusive_scissor_count, + p_exclusive_scissors, + ); + } + pub fn cmdSetExclusiveScissorEnableNV( + self: Self, + command_buffer: CommandBuffer, + first_exclusive_scissor: u32, + exclusive_scissor_count: u32, + p_exclusive_scissor_enables: [*]const Bool32, + ) void { + self.dispatch.vkCmdSetExclusiveScissorEnableNV( + command_buffer, + first_exclusive_scissor, + exclusive_scissor_count, + p_exclusive_scissor_enables, + ); + } + pub fn cmdBindShadingRateImageNV( + self: Self, + command_buffer: CommandBuffer, + image_view: ImageView, + image_layout: ImageLayout, + ) void { + self.dispatch.vkCmdBindShadingRateImageNV( + command_buffer, + image_view, + image_layout, + ); + } + pub fn cmdSetViewportShadingRatePaletteNV( + self: Self, + command_buffer: CommandBuffer, + first_viewport: u32, + viewport_count: u32, + p_shading_rate_palettes: [*]const ShadingRatePaletteNV, + ) void { + self.dispatch.vkCmdSetViewportShadingRatePaletteNV( + command_buffer, + first_viewport, + viewport_count, + p_shading_rate_palettes, + ); + } + pub fn cmdSetCoarseSampleOrderNV( + self: Self, + command_buffer: CommandBuffer, + sample_order_type: CoarseSampleOrderTypeNV, + custom_sample_order_count: u32, + p_custom_sample_orders: ?[*]const CoarseSampleOrderCustomNV, + ) void { + self.dispatch.vkCmdSetCoarseSampleOrderNV( + command_buffer, + sample_order_type, + custom_sample_order_count, + p_custom_sample_orders, + ); + } + pub fn cmdDrawMeshTasksNV( + self: Self, + command_buffer: CommandBuffer, + task_count: u32, + first_task: u32, + ) void { + self.dispatch.vkCmdDrawMeshTasksNV( + command_buffer, + task_count, + first_task, + ); + } + pub fn cmdDrawMeshTasksIndirectNV( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, + ) void { + self.dispatch.vkCmdDrawMeshTasksIndirectNV( + command_buffer, + buffer, + offset, + draw_count, + stride, + ); + } + pub fn cmdDrawMeshTasksIndirectCountNV( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + self.dispatch.vkCmdDrawMeshTasksIndirectCountNV( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdDrawMeshTasksEXT( + self: Self, + command_buffer: CommandBuffer, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, + ) void { + self.dispatch.vkCmdDrawMeshTasksEXT( + command_buffer, + group_count_x, + group_count_y, + group_count_z, + ); + } + pub fn cmdDrawMeshTasksIndirectEXT( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, + ) void { + self.dispatch.vkCmdDrawMeshTasksIndirectEXT( + command_buffer, + buffer, + offset, + draw_count, + stride, + ); + } + pub fn cmdDrawMeshTasksIndirectCountEXT( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + self.dispatch.vkCmdDrawMeshTasksIndirectCountEXT( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub const CompileDeferredNVError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn compileDeferredNV( + self: Self, + device: Device, + pipeline: Pipeline, + shader: u32, + ) CompileDeferredNVError!void { + const result = self.dispatch.vkCompileDeferredNV( + device, + pipeline, + shader, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const CreateAccelerationStructureNVError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn createAccelerationStructureNV( + self: Self, + device: Device, + p_create_info: *const AccelerationStructureCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + ) CreateAccelerationStructureNVError!AccelerationStructureNV { + var out_acceleration_structure: AccelerationStructureNV = undefined; + const result = self.dispatch.vkCreateAccelerationStructureNV( + device, + p_create_info, + p_allocator, + &out_acceleration_structure, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_acceleration_structure; + } + pub fn cmdBindInvocationMaskHUAWEI( + self: Self, + command_buffer: CommandBuffer, + image_view: ImageView, + image_layout: ImageLayout, + ) void { + self.dispatch.vkCmdBindInvocationMaskHUAWEI( + command_buffer, + image_view, + image_layout, + ); + } + pub fn destroyAccelerationStructureKHR( + self: Self, + device: Device, + acceleration_structure: AccelerationStructureKHR, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyAccelerationStructureKHR( + device, + acceleration_structure, + p_allocator, + ); + } + pub fn destroyAccelerationStructureNV( + self: Self, + device: Device, + acceleration_structure: AccelerationStructureNV, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyAccelerationStructureNV( + device, + acceleration_structure, + p_allocator, + ); + } + pub fn getAccelerationStructureMemoryRequirementsNV( + self: Self, + device: Device, + p_info: *const AccelerationStructureMemoryRequirementsInfoNV, + p_memory_requirements: *MemoryRequirements2KHR, + ) void { + self.dispatch.vkGetAccelerationStructureMemoryRequirementsNV( + device, + p_info, + p_memory_requirements, + ); + } + pub const BindAccelerationStructureMemoryNVError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn bindAccelerationStructureMemoryNV( + self: Self, + device: Device, + bind_info_count: u32, + p_bind_infos: [*]const BindAccelerationStructureMemoryInfoNV, + ) BindAccelerationStructureMemoryNVError!void { + const result = self.dispatch.vkBindAccelerationStructureMemoryNV( + device, + bind_info_count, + p_bind_infos, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub fn cmdCopyAccelerationStructureNV( + self: Self, + command_buffer: CommandBuffer, + dst: AccelerationStructureNV, + src: AccelerationStructureNV, + mode: CopyAccelerationStructureModeKHR, + ) void { + self.dispatch.vkCmdCopyAccelerationStructureNV( + command_buffer, + dst, + src, + mode, + ); + } + pub fn cmdCopyAccelerationStructureKHR( + self: Self, + command_buffer: CommandBuffer, + p_info: *const CopyAccelerationStructureInfoKHR, + ) void { + self.dispatch.vkCmdCopyAccelerationStructureKHR( + command_buffer, + p_info, + ); + } + pub const CopyAccelerationStructureKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn copyAccelerationStructureKHR( + self: Self, + device: Device, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyAccelerationStructureInfoKHR, + ) CopyAccelerationStructureKHRError!Result { + const result = self.dispatch.vkCopyAccelerationStructureKHR( + device, + deferred_operation, + p_info, + ); + switch (result) { + Result.success => {}, + Result.operation_deferred_khr => {}, + Result.operation_not_deferred_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub fn cmdCopyAccelerationStructureToMemoryKHR( + self: Self, + command_buffer: CommandBuffer, + p_info: *const CopyAccelerationStructureToMemoryInfoKHR, + ) void { + self.dispatch.vkCmdCopyAccelerationStructureToMemoryKHR( + command_buffer, + p_info, + ); + } + pub const CopyAccelerationStructureToMemoryKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn copyAccelerationStructureToMemoryKHR( + self: Self, + device: Device, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyAccelerationStructureToMemoryInfoKHR, + ) CopyAccelerationStructureToMemoryKHRError!Result { + const result = self.dispatch.vkCopyAccelerationStructureToMemoryKHR( + device, + deferred_operation, + p_info, + ); + switch (result) { + Result.success => {}, + Result.operation_deferred_khr => {}, + Result.operation_not_deferred_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub fn cmdCopyMemoryToAccelerationStructureKHR( + self: Self, + command_buffer: CommandBuffer, + p_info: *const CopyMemoryToAccelerationStructureInfoKHR, + ) void { + self.dispatch.vkCmdCopyMemoryToAccelerationStructureKHR( + command_buffer, + p_info, + ); + } + pub const CopyMemoryToAccelerationStructureKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn copyMemoryToAccelerationStructureKHR( + self: Self, + device: Device, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyMemoryToAccelerationStructureInfoKHR, + ) CopyMemoryToAccelerationStructureKHRError!Result { + const result = self.dispatch.vkCopyMemoryToAccelerationStructureKHR( + device, + deferred_operation, + p_info, + ); + switch (result) { + Result.success => {}, + Result.operation_deferred_khr => {}, + Result.operation_not_deferred_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub fn cmdWriteAccelerationStructuresPropertiesKHR( + self: Self, + command_buffer: CommandBuffer, + acceleration_structure_count: u32, + p_acceleration_structures: [*]const AccelerationStructureKHR, + query_type: QueryType, + query_pool: QueryPool, + first_query: u32, + ) void { + self.dispatch.vkCmdWriteAccelerationStructuresPropertiesKHR( + command_buffer, + acceleration_structure_count, + p_acceleration_structures, + query_type, + query_pool, + first_query, + ); + } + pub fn cmdWriteAccelerationStructuresPropertiesNV( + self: Self, + command_buffer: CommandBuffer, + acceleration_structure_count: u32, + p_acceleration_structures: [*]const AccelerationStructureNV, + query_type: QueryType, + query_pool: QueryPool, + first_query: u32, + ) void { + self.dispatch.vkCmdWriteAccelerationStructuresPropertiesNV( + command_buffer, + acceleration_structure_count, + p_acceleration_structures, + query_type, + query_pool, + first_query, + ); + } + pub fn cmdBuildAccelerationStructureNV( + self: Self, + command_buffer: CommandBuffer, + p_info: *const AccelerationStructureInfoNV, + instance_data: Buffer, + instance_offset: DeviceSize, + update: Bool32, + dst: AccelerationStructureNV, + src: AccelerationStructureNV, + scratch: Buffer, + scratch_offset: DeviceSize, + ) void { + self.dispatch.vkCmdBuildAccelerationStructureNV( + command_buffer, + p_info, + instance_data, + instance_offset, + update, + dst, + src, + scratch, + scratch_offset, + ); + } + pub const WriteAccelerationStructuresPropertiesKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn writeAccelerationStructuresPropertiesKHR( + self: Self, + device: Device, + acceleration_structure_count: u32, + p_acceleration_structures: [*]const AccelerationStructureKHR, + query_type: QueryType, + data_size: usize, + p_data: *anyopaque, + stride: usize, + ) WriteAccelerationStructuresPropertiesKHRError!void { + const result = self.dispatch.vkWriteAccelerationStructuresPropertiesKHR( + device, + acceleration_structure_count, + p_acceleration_structures, + query_type, + data_size, + p_data, + stride, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub fn cmdTraceRaysKHR( + self: Self, + command_buffer: CommandBuffer, + p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR, + width: u32, + height: u32, + depth: u32, + ) void { + self.dispatch.vkCmdTraceRaysKHR( + command_buffer, + p_raygen_shader_binding_table, + p_miss_shader_binding_table, + p_hit_shader_binding_table, + p_callable_shader_binding_table, + width, + height, + depth, + ); + } + pub fn cmdTraceRaysNV( + self: Self, + command_buffer: CommandBuffer, + raygen_shader_binding_table_buffer: Buffer, + raygen_shader_binding_offset: DeviceSize, + miss_shader_binding_table_buffer: Buffer, + miss_shader_binding_offset: DeviceSize, + miss_shader_binding_stride: DeviceSize, + hit_shader_binding_table_buffer: Buffer, + hit_shader_binding_offset: DeviceSize, + hit_shader_binding_stride: DeviceSize, + callable_shader_binding_table_buffer: Buffer, + callable_shader_binding_offset: DeviceSize, + callable_shader_binding_stride: DeviceSize, + width: u32, + height: u32, + depth: u32, + ) void { + self.dispatch.vkCmdTraceRaysNV( + command_buffer, + raygen_shader_binding_table_buffer, + raygen_shader_binding_offset, + miss_shader_binding_table_buffer, + miss_shader_binding_offset, + miss_shader_binding_stride, + hit_shader_binding_table_buffer, + hit_shader_binding_offset, + hit_shader_binding_stride, + callable_shader_binding_table_buffer, + callable_shader_binding_offset, + callable_shader_binding_stride, + width, + height, + depth, + ); + } + pub const GetRayTracingShaderGroupHandlesKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getRayTracingShaderGroupHandlesKHR( + self: Self, + device: Device, + pipeline: Pipeline, + first_group: u32, + group_count: u32, + data_size: usize, + p_data: *anyopaque, + ) GetRayTracingShaderGroupHandlesKHRError!void { + const result = self.dispatch.vkGetRayTracingShaderGroupHandlesKHR( + device, + pipeline, + first_group, + group_count, + data_size, + p_data, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const GetRayTracingShaderGroupHandlesNVError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getRayTracingShaderGroupHandlesNV( + self: Self, + device: Device, + pipeline: Pipeline, + first_group: u32, + group_count: u32, + data_size: usize, + p_data: *anyopaque, + ) GetRayTracingShaderGroupHandlesNVError!void { + const result = self.dispatch.vkGetRayTracingShaderGroupHandlesNV( + device, + pipeline, + first_group, + group_count, + data_size, + p_data, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const GetRayTracingCaptureReplayShaderGroupHandlesKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getRayTracingCaptureReplayShaderGroupHandlesKHR( + self: Self, + device: Device, + pipeline: Pipeline, + first_group: u32, + group_count: u32, + data_size: usize, + p_data: *anyopaque, + ) GetRayTracingCaptureReplayShaderGroupHandlesKHRError!void { + const result = self.dispatch.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( + device, + pipeline, + first_group, + group_count, + data_size, + p_data, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const GetAccelerationStructureHandleNVError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getAccelerationStructureHandleNV( + self: Self, + device: Device, + acceleration_structure: AccelerationStructureNV, + data_size: usize, + p_data: *anyopaque, + ) GetAccelerationStructureHandleNVError!void { + const result = self.dispatch.vkGetAccelerationStructureHandleNV( + device, + acceleration_structure, + data_size, + p_data, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const CreateRayTracingPipelinesNVError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidShaderNV, + Unknown, + }; + pub fn createRayTracingPipelinesNV( + self: Self, + device: Device, + pipeline_cache: PipelineCache, + create_info_count: u32, + p_create_infos: [*]const RayTracingPipelineCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + p_pipelines: [*]Pipeline, + ) CreateRayTracingPipelinesNVError!Result { + const result = self.dispatch.vkCreateRayTracingPipelinesNV( + device, + pipeline_cache, + create_info_count, + p_create_infos, + p_allocator, + p_pipelines, + ); + switch (result) { + Result.success => {}, + Result.pipeline_compile_required_ext => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_shader_nv => return error.InvalidShaderNV, + else => return error.Unknown, + } + return result; + } + pub const CreateRayTracingPipelinesKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidOpaqueCaptureAddress, + Unknown, + }; + pub fn createRayTracingPipelinesKHR( + self: Self, + device: Device, + deferred_operation: DeferredOperationKHR, + pipeline_cache: PipelineCache, + create_info_count: u32, + p_create_infos: [*]const RayTracingPipelineCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_pipelines: [*]Pipeline, + ) CreateRayTracingPipelinesKHRError!Result { + const result = self.dispatch.vkCreateRayTracingPipelinesKHR( + device, + deferred_operation, + pipeline_cache, + create_info_count, + p_create_infos, + p_allocator, + p_pipelines, + ); + switch (result) { + Result.success => {}, + Result.operation_deferred_khr => {}, + Result.operation_not_deferred_khr => {}, + Result.pipeline_compile_required_ext => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_opaque_capture_address => return error.InvalidOpaqueCaptureAddress, + else => return error.Unknown, + } + return result; + } + pub fn cmdTraceRaysIndirectKHR( + self: Self, + command_buffer: CommandBuffer, + p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR, + indirect_device_address: DeviceAddress, + ) void { + self.dispatch.vkCmdTraceRaysIndirectKHR( + command_buffer, + p_raygen_shader_binding_table, + p_miss_shader_binding_table, + p_hit_shader_binding_table, + p_callable_shader_binding_table, + indirect_device_address, + ); + } + pub fn cmdTraceRaysIndirect2KHR( + self: Self, + command_buffer: CommandBuffer, + indirect_device_address: DeviceAddress, + ) void { + self.dispatch.vkCmdTraceRaysIndirect2KHR( + command_buffer, + indirect_device_address, + ); + } + pub fn getDeviceAccelerationStructureCompatibilityKHR( + self: Self, + device: Device, + p_version_info: *const AccelerationStructureVersionInfoKHR, + ) AccelerationStructureCompatibilityKHR { + var out_compatibility: AccelerationStructureCompatibilityKHR = undefined; + self.dispatch.vkGetDeviceAccelerationStructureCompatibilityKHR( + device, + p_version_info, + &out_compatibility, + ); + return out_compatibility; + } + pub fn getRayTracingShaderGroupStackSizeKHR( + self: Self, + device: Device, + pipeline: Pipeline, + group: u32, + group_shader: ShaderGroupShaderKHR, + ) DeviceSize { + return self.dispatch.vkGetRayTracingShaderGroupStackSizeKHR( + device, + pipeline, + group, + group_shader, + ); + } + pub fn cmdSetRayTracingPipelineStackSizeKHR( + self: Self, + command_buffer: CommandBuffer, + pipeline_stack_size: u32, + ) void { + self.dispatch.vkCmdSetRayTracingPipelineStackSizeKHR( + command_buffer, + pipeline_stack_size, + ); + } + pub fn getImageViewHandleNVX( + self: Self, + device: Device, + p_info: *const ImageViewHandleInfoNVX, + ) u32 { + return self.dispatch.vkGetImageViewHandleNVX( + device, + p_info, + ); + } + pub const GetImageViewAddressNVXError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn getImageViewAddressNVX( + self: Self, + device: Device, + image_view: ImageView, + p_properties: *ImageViewAddressPropertiesNVX, + ) GetImageViewAddressNVXError!void { + const result = self.dispatch.vkGetImageViewAddressNVX( + device, + image_view, + p_properties, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const GetDeviceGroupSurfacePresentModes2EXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + SurfaceLostKHR, + Unknown, + }; + pub fn getDeviceGroupSurfacePresentModes2EXT( + self: Self, + device: Device, + p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, + ) GetDeviceGroupSurfacePresentModes2EXTError!DeviceGroupPresentModeFlagsKHR { + var out_modes: DeviceGroupPresentModeFlagsKHR = undefined; + const result = self.dispatch.vkGetDeviceGroupSurfacePresentModes2EXT( + device, + p_surface_info, + &out_modes, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + else => return error.Unknown, + } + return out_modes; + } + pub const AcquireFullScreenExclusiveModeEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InitializationFailed, + SurfaceLostKHR, + Unknown, + }; + pub fn acquireFullScreenExclusiveModeEXT( + self: Self, + device: Device, + swapchain: SwapchainKHR, + ) AcquireFullScreenExclusiveModeEXTError!void { + const result = self.dispatch.vkAcquireFullScreenExclusiveModeEXT( + device, + swapchain, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + else => return error.Unknown, + } + } + pub const ReleaseFullScreenExclusiveModeEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + SurfaceLostKHR, + Unknown, + }; + pub fn releaseFullScreenExclusiveModeEXT( + self: Self, + device: Device, + swapchain: SwapchainKHR, + ) ReleaseFullScreenExclusiveModeEXTError!void { + const result = self.dispatch.vkReleaseFullScreenExclusiveModeEXT( + device, + swapchain, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + else => return error.Unknown, + } + } + pub const AcquireProfilingLockKHRError = error{ + OutOfHostMemory, + Timeout, + Unknown, + }; + pub fn acquireProfilingLockKHR( + self: Self, + device: Device, + p_info: *const AcquireProfilingLockInfoKHR, + ) AcquireProfilingLockKHRError!void { + const result = self.dispatch.vkAcquireProfilingLockKHR( + device, + p_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.timeout => return error.Timeout, + else => return error.Unknown, + } + } + pub fn releaseProfilingLockKHR( + self: Self, + device: Device, + ) void { + self.dispatch.vkReleaseProfilingLockKHR( + device, + ); + } + pub const GetImageDrmFormatModifierPropertiesEXTError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn getImageDrmFormatModifierPropertiesEXT( + self: Self, + device: Device, + image: Image, + p_properties: *ImageDrmFormatModifierPropertiesEXT, + ) GetImageDrmFormatModifierPropertiesEXTError!void { + const result = self.dispatch.vkGetImageDrmFormatModifierPropertiesEXT( + device, + image, + p_properties, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub fn getBufferOpaqueCaptureAddress( + self: Self, + device: Device, + p_info: *const BufferDeviceAddressInfo, + ) u64 { + return self.dispatch.vkGetBufferOpaqueCaptureAddress( + device, + p_info, + ); + } + pub fn getBufferOpaqueCaptureAddressKHR( + self: Self, + device: Device, + p_info: *const BufferDeviceAddressInfo, + ) u64 { + return self.dispatch.vkGetBufferOpaqueCaptureAddressKHR( + device, + p_info, + ); + } + pub fn getBufferDeviceAddress( + self: Self, + device: Device, + p_info: *const BufferDeviceAddressInfo, + ) DeviceAddress { + return self.dispatch.vkGetBufferDeviceAddress( + device, + p_info, + ); + } + pub fn getBufferDeviceAddressKHR( + self: Self, + device: Device, + p_info: *const BufferDeviceAddressInfo, + ) DeviceAddress { + return self.dispatch.vkGetBufferDeviceAddressKHR( + device, + p_info, + ); + } + pub fn getBufferDeviceAddressEXT( + self: Self, + device: Device, + p_info: *const BufferDeviceAddressInfo, + ) DeviceAddress { + return self.dispatch.vkGetBufferDeviceAddressEXT( + device, + p_info, + ); + } + pub const InitializePerformanceApiINTELError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn initializePerformanceApiINTEL( + self: Self, + device: Device, + p_initialize_info: *const InitializePerformanceApiInfoINTEL, + ) InitializePerformanceApiINTELError!void { + const result = self.dispatch.vkInitializePerformanceApiINTEL( + device, + p_initialize_info, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub fn uninitializePerformanceApiINTEL( + self: Self, + device: Device, + ) void { + self.dispatch.vkUninitializePerformanceApiINTEL( + device, + ); + } + pub const CmdSetPerformanceMarkerINTELError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn cmdSetPerformanceMarkerINTEL( + self: Self, + command_buffer: CommandBuffer, + p_marker_info: *const PerformanceMarkerInfoINTEL, + ) CmdSetPerformanceMarkerINTELError!void { + const result = self.dispatch.vkCmdSetPerformanceMarkerINTEL( + command_buffer, + p_marker_info, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const CmdSetPerformanceStreamMarkerINTELError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn cmdSetPerformanceStreamMarkerINTEL( + self: Self, + command_buffer: CommandBuffer, + p_marker_info: *const PerformanceStreamMarkerInfoINTEL, + ) CmdSetPerformanceStreamMarkerINTELError!void { + const result = self.dispatch.vkCmdSetPerformanceStreamMarkerINTEL( + command_buffer, + p_marker_info, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const CmdSetPerformanceOverrideINTELError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn cmdSetPerformanceOverrideINTEL( + self: Self, + command_buffer: CommandBuffer, + p_override_info: *const PerformanceOverrideInfoINTEL, + ) CmdSetPerformanceOverrideINTELError!void { + const result = self.dispatch.vkCmdSetPerformanceOverrideINTEL( + command_buffer, + p_override_info, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const AcquirePerformanceConfigurationINTELError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn acquirePerformanceConfigurationINTEL( + self: Self, + device: Device, + p_acquire_info: *const PerformanceConfigurationAcquireInfoINTEL, + ) AcquirePerformanceConfigurationINTELError!PerformanceConfigurationINTEL { + var out_configuration: PerformanceConfigurationINTEL = undefined; + const result = self.dispatch.vkAcquirePerformanceConfigurationINTEL( + device, + p_acquire_info, + &out_configuration, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_configuration; + } + pub const ReleasePerformanceConfigurationINTELError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn releasePerformanceConfigurationINTEL( + self: Self, + device: Device, + configuration: PerformanceConfigurationINTEL, + ) ReleasePerformanceConfigurationINTELError!void { + const result = self.dispatch.vkReleasePerformanceConfigurationINTEL( + device, + configuration, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const QueueSetPerformanceConfigurationINTELError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn queueSetPerformanceConfigurationINTEL( + self: Self, + queue: Queue, + configuration: PerformanceConfigurationINTEL, + ) QueueSetPerformanceConfigurationINTELError!void { + const result = self.dispatch.vkQueueSetPerformanceConfigurationINTEL( + queue, + configuration, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const GetPerformanceParameterINTELError = error{ + TooManyObjects, + OutOfHostMemory, + Unknown, + }; + pub fn getPerformanceParameterINTEL( + self: Self, + device: Device, + parameter: PerformanceParameterTypeINTEL, + ) GetPerformanceParameterINTELError!PerformanceValueINTEL { + var out_value: PerformanceValueINTEL = undefined; + const result = self.dispatch.vkGetPerformanceParameterINTEL( + device, + parameter, + &out_value, + ); + switch (result) { + Result.success => {}, + Result.error_too_many_objects => return error.TooManyObjects, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_value; + } + pub fn getDeviceMemoryOpaqueCaptureAddress( + self: Self, + device: Device, + p_info: *const DeviceMemoryOpaqueCaptureAddressInfo, + ) u64 { + return self.dispatch.vkGetDeviceMemoryOpaqueCaptureAddress( + device, + p_info, + ); + } + pub fn getDeviceMemoryOpaqueCaptureAddressKHR( + self: Self, + device: Device, + p_info: *const DeviceMemoryOpaqueCaptureAddressInfo, + ) u64 { + return self.dispatch.vkGetDeviceMemoryOpaqueCaptureAddressKHR( + device, + p_info, + ); + } + pub const GetPipelineExecutablePropertiesKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getPipelineExecutablePropertiesKHR( + self: Self, + device: Device, + p_pipeline_info: *const PipelineInfoKHR, + p_executable_count: *u32, + p_properties: ?[*]PipelineExecutablePropertiesKHR, + ) GetPipelineExecutablePropertiesKHRError!Result { + const result = self.dispatch.vkGetPipelineExecutablePropertiesKHR( + device, + p_pipeline_info, + p_executable_count, + p_properties, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub const GetPipelineExecutableStatisticsKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getPipelineExecutableStatisticsKHR( + self: Self, + device: Device, + p_executable_info: *const PipelineExecutableInfoKHR, + p_statistic_count: *u32, + p_statistics: ?[*]PipelineExecutableStatisticKHR, + ) GetPipelineExecutableStatisticsKHRError!Result { + const result = self.dispatch.vkGetPipelineExecutableStatisticsKHR( + device, + p_executable_info, + p_statistic_count, + p_statistics, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub const GetPipelineExecutableInternalRepresentationsKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getPipelineExecutableInternalRepresentationsKHR( + self: Self, + device: Device, + p_executable_info: *const PipelineExecutableInfoKHR, + p_internal_representation_count: *u32, + p_internal_representations: ?[*]PipelineExecutableInternalRepresentationKHR, + ) GetPipelineExecutableInternalRepresentationsKHRError!Result { + const result = self.dispatch.vkGetPipelineExecutableInternalRepresentationsKHR( + device, + p_executable_info, + p_internal_representation_count, + p_internal_representations, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub fn cmdSetLineStippleKHR( + self: Self, + command_buffer: CommandBuffer, + line_stipple_factor: u32, + line_stipple_pattern: u16, + ) void { + self.dispatch.vkCmdSetLineStippleKHR( + command_buffer, + line_stipple_factor, + line_stipple_pattern, + ); + } + pub fn cmdSetLineStippleEXT( + self: Self, + command_buffer: CommandBuffer, + line_stipple_factor: u32, + line_stipple_pattern: u16, + ) void { + self.dispatch.vkCmdSetLineStippleEXT( + command_buffer, + line_stipple_factor, + line_stipple_pattern, + ); + } + pub const GetFaultDataResult = struct { + result: Result, + unrecorded_faults: Bool32, + }; + pub const GetFaultDataError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getFaultData( + self: Self, + device: Device, + fault_query_behavior: FaultQueryBehavior, + p_fault_count: *u32, + p_faults: ?[*]FaultData, + ) GetFaultDataError!GetFaultDataResult { + var return_values: GetFaultDataResult = undefined; + const result = self.dispatch.vkGetFaultData( + device, + fault_query_behavior, + &return_values.unrecorded_faults, + p_fault_count, + p_faults, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return_values.result = result; + return return_values; + } + pub const CreateAccelerationStructureKHRError = error{ + OutOfHostMemory, + InvalidOpaqueCaptureAddressKHR, + Unknown, + }; + pub fn createAccelerationStructureKHR( + self: Self, + device: Device, + p_create_info: *const AccelerationStructureCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateAccelerationStructureKHRError!AccelerationStructureKHR { + var out_acceleration_structure: AccelerationStructureKHR = undefined; + const result = self.dispatch.vkCreateAccelerationStructureKHR( + device, + p_create_info, + p_allocator, + &out_acceleration_structure, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, + else => return error.Unknown, + } + return out_acceleration_structure; + } + pub fn cmdBuildAccelerationStructuresKHR( + self: Self, + command_buffer: CommandBuffer, + info_count: u32, + p_infos: [*]const AccelerationStructureBuildGeometryInfoKHR, + pp_build_range_infos: [*]const [*]const AccelerationStructureBuildRangeInfoKHR, + ) void { + self.dispatch.vkCmdBuildAccelerationStructuresKHR( + command_buffer, + info_count, + p_infos, + pp_build_range_infos, + ); + } + pub fn cmdBuildAccelerationStructuresIndirectKHR( + self: Self, + command_buffer: CommandBuffer, + info_count: u32, + p_infos: [*]const AccelerationStructureBuildGeometryInfoKHR, + p_indirect_device_addresses: [*]const DeviceAddress, + p_indirect_strides: [*]const u32, + pp_max_primitive_counts: [*]const [*]const u32, + ) void { + self.dispatch.vkCmdBuildAccelerationStructuresIndirectKHR( + command_buffer, + info_count, + p_infos, + p_indirect_device_addresses, + p_indirect_strides, + pp_max_primitive_counts, + ); + } + pub const BuildAccelerationStructuresKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn buildAccelerationStructuresKHR( + self: Self, + device: Device, + deferred_operation: DeferredOperationKHR, + info_count: u32, + p_infos: [*]const AccelerationStructureBuildGeometryInfoKHR, + pp_build_range_infos: [*]const [*]const AccelerationStructureBuildRangeInfoKHR, + ) BuildAccelerationStructuresKHRError!Result { + const result = self.dispatch.vkBuildAccelerationStructuresKHR( + device, + deferred_operation, + info_count, + p_infos, + pp_build_range_infos, + ); + switch (result) { + Result.success => {}, + Result.operation_deferred_khr => {}, + Result.operation_not_deferred_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub fn getAccelerationStructureDeviceAddressKHR( + self: Self, + device: Device, + p_info: *const AccelerationStructureDeviceAddressInfoKHR, + ) DeviceAddress { + return self.dispatch.vkGetAccelerationStructureDeviceAddressKHR( + device, + p_info, + ); + } + pub const CreateDeferredOperationKHRError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn createDeferredOperationKHR( + self: Self, + device: Device, + p_allocator: ?*const AllocationCallbacks, + ) CreateDeferredOperationKHRError!DeferredOperationKHR { + var out_deferred_operation: DeferredOperationKHR = undefined; + const result = self.dispatch.vkCreateDeferredOperationKHR( + device, + p_allocator, + &out_deferred_operation, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_deferred_operation; + } + pub fn destroyDeferredOperationKHR( + self: Self, + device: Device, + operation: DeferredOperationKHR, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyDeferredOperationKHR( + device, + operation, + p_allocator, + ); + } + pub fn getDeferredOperationMaxConcurrencyKHR( + self: Self, + device: Device, + operation: DeferredOperationKHR, + ) u32 { + return self.dispatch.vkGetDeferredOperationMaxConcurrencyKHR( + device, + operation, + ); + } + pub const GetDeferredOperationResultKHRError = error{ + Unknown, + }; + pub fn getDeferredOperationResultKHR( + self: Self, + device: Device, + operation: DeferredOperationKHR, + ) GetDeferredOperationResultKHRError!Result { + const result = self.dispatch.vkGetDeferredOperationResultKHR( + device, + operation, + ); + switch (result) { + Result.success => {}, + Result.not_ready => {}, + else => return error.Unknown, + } + return result; + } + pub const DeferredOperationJoinKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn deferredOperationJoinKHR( + self: Self, + device: Device, + operation: DeferredOperationKHR, + ) DeferredOperationJoinKHRError!Result { + const result = self.dispatch.vkDeferredOperationJoinKHR( + device, + operation, + ); + switch (result) { + Result.success => {}, + Result.thread_done_khr => {}, + Result.thread_idle_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub fn getPipelineIndirectMemoryRequirementsNV( + self: Self, + device: Device, + p_create_info: *const ComputePipelineCreateInfo, + p_memory_requirements: *MemoryRequirements2, + ) void { + self.dispatch.vkGetPipelineIndirectMemoryRequirementsNV( + device, + p_create_info, + p_memory_requirements, + ); + } + pub fn getPipelineIndirectDeviceAddressNV( + self: Self, + device: Device, + p_info: *const PipelineIndirectDeviceAddressInfoNV, + ) DeviceAddress { + return self.dispatch.vkGetPipelineIndirectDeviceAddressNV( + device, + p_info, + ); + } + pub fn cmdSetCullMode( + self: Self, + command_buffer: CommandBuffer, + cull_mode: CullModeFlags, + ) void { + self.dispatch.vkCmdSetCullMode( + command_buffer, + cull_mode, + ); + } + pub fn cmdSetCullModeEXT( + self: Self, + command_buffer: CommandBuffer, + cull_mode: CullModeFlags, + ) void { + self.dispatch.vkCmdSetCullModeEXT( + command_buffer, + cull_mode, + ); + } + pub fn cmdSetFrontFace( + self: Self, + command_buffer: CommandBuffer, + front_face: FrontFace, + ) void { + self.dispatch.vkCmdSetFrontFace( + command_buffer, + front_face, + ); + } + pub fn cmdSetFrontFaceEXT( + self: Self, + command_buffer: CommandBuffer, + front_face: FrontFace, + ) void { + self.dispatch.vkCmdSetFrontFaceEXT( + command_buffer, + front_face, + ); + } + pub fn cmdSetPrimitiveTopology( + self: Self, + command_buffer: CommandBuffer, + primitive_topology: PrimitiveTopology, + ) void { + self.dispatch.vkCmdSetPrimitiveTopology( + command_buffer, + primitive_topology, + ); + } + pub fn cmdSetPrimitiveTopologyEXT( + self: Self, + command_buffer: CommandBuffer, + primitive_topology: PrimitiveTopology, + ) void { + self.dispatch.vkCmdSetPrimitiveTopologyEXT( + command_buffer, + primitive_topology, + ); + } + pub fn cmdSetViewportWithCount( + self: Self, + command_buffer: CommandBuffer, + viewport_count: u32, + p_viewports: [*]const Viewport, + ) void { + self.dispatch.vkCmdSetViewportWithCount( + command_buffer, + viewport_count, + p_viewports, + ); + } + pub fn cmdSetViewportWithCountEXT( + self: Self, + command_buffer: CommandBuffer, + viewport_count: u32, + p_viewports: [*]const Viewport, + ) void { + self.dispatch.vkCmdSetViewportWithCountEXT( + command_buffer, + viewport_count, + p_viewports, + ); + } + pub fn cmdSetScissorWithCount( + self: Self, + command_buffer: CommandBuffer, + scissor_count: u32, + p_scissors: [*]const Rect2D, + ) void { + self.dispatch.vkCmdSetScissorWithCount( + command_buffer, + scissor_count, + p_scissors, + ); + } + pub fn cmdSetScissorWithCountEXT( + self: Self, + command_buffer: CommandBuffer, + scissor_count: u32, + p_scissors: [*]const Rect2D, + ) void { + self.dispatch.vkCmdSetScissorWithCountEXT( + command_buffer, + scissor_count, + p_scissors, + ); + } + pub fn cmdBindIndexBuffer2KHR( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + size: DeviceSize, + index_type: IndexType, + ) void { + self.dispatch.vkCmdBindIndexBuffer2KHR( + command_buffer, + buffer, + offset, + size, + index_type, + ); + } + pub fn cmdBindVertexBuffers2( + self: Self, + command_buffer: CommandBuffer, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + p_sizes: ?[*]const DeviceSize, + p_strides: ?[*]const DeviceSize, + ) void { + self.dispatch.vkCmdBindVertexBuffers2( + command_buffer, + first_binding, + binding_count, + p_buffers, + p_offsets, + p_sizes, + p_strides, + ); + } + pub fn cmdBindVertexBuffers2EXT( + self: Self, + command_buffer: CommandBuffer, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + p_sizes: ?[*]const DeviceSize, + p_strides: ?[*]const DeviceSize, + ) void { + self.dispatch.vkCmdBindVertexBuffers2EXT( + command_buffer, + first_binding, + binding_count, + p_buffers, + p_offsets, + p_sizes, + p_strides, + ); + } + pub fn cmdSetDepthTestEnable( + self: Self, + command_buffer: CommandBuffer, + depth_test_enable: Bool32, + ) void { + self.dispatch.vkCmdSetDepthTestEnable( + command_buffer, + depth_test_enable, + ); + } + pub fn cmdSetDepthTestEnableEXT( + self: Self, + command_buffer: CommandBuffer, + depth_test_enable: Bool32, + ) void { + self.dispatch.vkCmdSetDepthTestEnableEXT( + command_buffer, + depth_test_enable, + ); + } + pub fn cmdSetDepthWriteEnable( + self: Self, + command_buffer: CommandBuffer, + depth_write_enable: Bool32, + ) void { + self.dispatch.vkCmdSetDepthWriteEnable( + command_buffer, + depth_write_enable, + ); + } + pub fn cmdSetDepthWriteEnableEXT( + self: Self, + command_buffer: CommandBuffer, + depth_write_enable: Bool32, + ) void { + self.dispatch.vkCmdSetDepthWriteEnableEXT( + command_buffer, + depth_write_enable, + ); + } + pub fn cmdSetDepthCompareOp( + self: Self, + command_buffer: CommandBuffer, + depth_compare_op: CompareOp, + ) void { + self.dispatch.vkCmdSetDepthCompareOp( + command_buffer, + depth_compare_op, + ); + } + pub fn cmdSetDepthCompareOpEXT( + self: Self, + command_buffer: CommandBuffer, + depth_compare_op: CompareOp, + ) void { + self.dispatch.vkCmdSetDepthCompareOpEXT( + command_buffer, + depth_compare_op, + ); + } + pub fn cmdSetDepthBoundsTestEnable( + self: Self, + command_buffer: CommandBuffer, + depth_bounds_test_enable: Bool32, + ) void { + self.dispatch.vkCmdSetDepthBoundsTestEnable( + command_buffer, + depth_bounds_test_enable, + ); + } + pub fn cmdSetDepthBoundsTestEnableEXT( + self: Self, + command_buffer: CommandBuffer, + depth_bounds_test_enable: Bool32, + ) void { + self.dispatch.vkCmdSetDepthBoundsTestEnableEXT( + command_buffer, + depth_bounds_test_enable, + ); + } + pub fn cmdSetStencilTestEnable( + self: Self, + command_buffer: CommandBuffer, + stencil_test_enable: Bool32, + ) void { + self.dispatch.vkCmdSetStencilTestEnable( + command_buffer, + stencil_test_enable, + ); + } + pub fn cmdSetStencilTestEnableEXT( + self: Self, + command_buffer: CommandBuffer, + stencil_test_enable: Bool32, + ) void { + self.dispatch.vkCmdSetStencilTestEnableEXT( + command_buffer, + stencil_test_enable, + ); + } + pub fn cmdSetStencilOp( + self: Self, + command_buffer: CommandBuffer, + face_mask: StencilFaceFlags, + fail_op: StencilOp, + pass_op: StencilOp, + depth_fail_op: StencilOp, + compare_op: CompareOp, + ) void { + self.dispatch.vkCmdSetStencilOp( + command_buffer, + face_mask, + fail_op, + pass_op, + depth_fail_op, + compare_op, + ); + } + pub fn cmdSetStencilOpEXT( + self: Self, + command_buffer: CommandBuffer, + face_mask: StencilFaceFlags, + fail_op: StencilOp, + pass_op: StencilOp, + depth_fail_op: StencilOp, + compare_op: CompareOp, + ) void { + self.dispatch.vkCmdSetStencilOpEXT( + command_buffer, + face_mask, + fail_op, + pass_op, + depth_fail_op, + compare_op, + ); + } + pub fn cmdSetPatchControlPointsEXT( + self: Self, + command_buffer: CommandBuffer, + patch_control_points: u32, + ) void { + self.dispatch.vkCmdSetPatchControlPointsEXT( + command_buffer, + patch_control_points, + ); + } + pub fn cmdSetRasterizerDiscardEnable( + self: Self, + command_buffer: CommandBuffer, + rasterizer_discard_enable: Bool32, + ) void { + self.dispatch.vkCmdSetRasterizerDiscardEnable( + command_buffer, + rasterizer_discard_enable, + ); + } + pub fn cmdSetRasterizerDiscardEnableEXT( + self: Self, + command_buffer: CommandBuffer, + rasterizer_discard_enable: Bool32, + ) void { + self.dispatch.vkCmdSetRasterizerDiscardEnableEXT( + command_buffer, + rasterizer_discard_enable, + ); + } + pub fn cmdSetDepthBiasEnable( + self: Self, + command_buffer: CommandBuffer, + depth_bias_enable: Bool32, + ) void { + self.dispatch.vkCmdSetDepthBiasEnable( + command_buffer, + depth_bias_enable, + ); + } + pub fn cmdSetDepthBiasEnableEXT( + self: Self, + command_buffer: CommandBuffer, + depth_bias_enable: Bool32, + ) void { + self.dispatch.vkCmdSetDepthBiasEnableEXT( + command_buffer, + depth_bias_enable, + ); + } + pub fn cmdSetLogicOpEXT( + self: Self, + command_buffer: CommandBuffer, + logic_op: LogicOp, + ) void { + self.dispatch.vkCmdSetLogicOpEXT( + command_buffer, + logic_op, + ); + } + pub fn cmdSetPrimitiveRestartEnable( + self: Self, + command_buffer: CommandBuffer, + primitive_restart_enable: Bool32, + ) void { + self.dispatch.vkCmdSetPrimitiveRestartEnable( + command_buffer, + primitive_restart_enable, + ); + } + pub fn cmdSetPrimitiveRestartEnableEXT( + self: Self, + command_buffer: CommandBuffer, + primitive_restart_enable: Bool32, + ) void { + self.dispatch.vkCmdSetPrimitiveRestartEnableEXT( + command_buffer, + primitive_restart_enable, + ); + } + pub fn cmdSetTessellationDomainOriginEXT( + self: Self, + command_buffer: CommandBuffer, + domain_origin: TessellationDomainOrigin, + ) void { + self.dispatch.vkCmdSetTessellationDomainOriginEXT( + command_buffer, + domain_origin, + ); + } + pub fn cmdSetDepthClampEnableEXT( + self: Self, + command_buffer: CommandBuffer, + depth_clamp_enable: Bool32, + ) void { + self.dispatch.vkCmdSetDepthClampEnableEXT( + command_buffer, + depth_clamp_enable, + ); + } + pub fn cmdSetPolygonModeEXT( + self: Self, + command_buffer: CommandBuffer, + polygon_mode: PolygonMode, + ) void { + self.dispatch.vkCmdSetPolygonModeEXT( + command_buffer, + polygon_mode, + ); + } + pub fn cmdSetRasterizationSamplesEXT( + self: Self, + command_buffer: CommandBuffer, + rasterization_samples: SampleCountFlags, + ) void { + self.dispatch.vkCmdSetRasterizationSamplesEXT( + command_buffer, + rasterization_samples, + ); + } + pub fn cmdSetSampleMaskEXT( + self: Self, + command_buffer: CommandBuffer, + samples: SampleCountFlags, + p_sample_mask: [*]const SampleMask, + ) void { + self.dispatch.vkCmdSetSampleMaskEXT( + command_buffer, + samples, + p_sample_mask, + ); + } + pub fn cmdSetAlphaToCoverageEnableEXT( + self: Self, + command_buffer: CommandBuffer, + alpha_to_coverage_enable: Bool32, + ) void { + self.dispatch.vkCmdSetAlphaToCoverageEnableEXT( + command_buffer, + alpha_to_coverage_enable, + ); + } + pub fn cmdSetAlphaToOneEnableEXT( + self: Self, + command_buffer: CommandBuffer, + alpha_to_one_enable: Bool32, + ) void { + self.dispatch.vkCmdSetAlphaToOneEnableEXT( + command_buffer, + alpha_to_one_enable, + ); + } + pub fn cmdSetLogicOpEnableEXT( + self: Self, + command_buffer: CommandBuffer, + logic_op_enable: Bool32, + ) void { + self.dispatch.vkCmdSetLogicOpEnableEXT( + command_buffer, + logic_op_enable, + ); + } + pub fn cmdSetColorBlendEnableEXT( + self: Self, + command_buffer: CommandBuffer, + first_attachment: u32, + attachment_count: u32, + p_color_blend_enables: [*]const Bool32, + ) void { + self.dispatch.vkCmdSetColorBlendEnableEXT( + command_buffer, + first_attachment, + attachment_count, + p_color_blend_enables, + ); + } + pub fn cmdSetColorBlendEquationEXT( + self: Self, + command_buffer: CommandBuffer, + first_attachment: u32, + attachment_count: u32, + p_color_blend_equations: [*]const ColorBlendEquationEXT, + ) void { + self.dispatch.vkCmdSetColorBlendEquationEXT( + command_buffer, + first_attachment, + attachment_count, + p_color_blend_equations, + ); + } + pub fn cmdSetColorWriteMaskEXT( + self: Self, + command_buffer: CommandBuffer, + first_attachment: u32, + attachment_count: u32, + p_color_write_masks: [*]const ColorComponentFlags, + ) void { + self.dispatch.vkCmdSetColorWriteMaskEXT( + command_buffer, + first_attachment, + attachment_count, + p_color_write_masks, + ); + } + pub fn cmdSetRasterizationStreamEXT( + self: Self, + command_buffer: CommandBuffer, + rasterization_stream: u32, + ) void { + self.dispatch.vkCmdSetRasterizationStreamEXT( + command_buffer, + rasterization_stream, + ); + } + pub fn cmdSetConservativeRasterizationModeEXT( + self: Self, + command_buffer: CommandBuffer, + conservative_rasterization_mode: ConservativeRasterizationModeEXT, + ) void { + self.dispatch.vkCmdSetConservativeRasterizationModeEXT( + command_buffer, + conservative_rasterization_mode, + ); + } + pub fn cmdSetExtraPrimitiveOverestimationSizeEXT( + self: Self, + command_buffer: CommandBuffer, + extra_primitive_overestimation_size: f32, + ) void { + self.dispatch.vkCmdSetExtraPrimitiveOverestimationSizeEXT( + command_buffer, + extra_primitive_overestimation_size, + ); + } + pub fn cmdSetDepthClipEnableEXT( + self: Self, + command_buffer: CommandBuffer, + depth_clip_enable: Bool32, + ) void { + self.dispatch.vkCmdSetDepthClipEnableEXT( + command_buffer, + depth_clip_enable, + ); + } + pub fn cmdSetSampleLocationsEnableEXT( + self: Self, + command_buffer: CommandBuffer, + sample_locations_enable: Bool32, + ) void { + self.dispatch.vkCmdSetSampleLocationsEnableEXT( + command_buffer, + sample_locations_enable, + ); + } + pub fn cmdSetColorBlendAdvancedEXT( + self: Self, + command_buffer: CommandBuffer, + first_attachment: u32, + attachment_count: u32, + p_color_blend_advanced: [*]const ColorBlendAdvancedEXT, + ) void { + self.dispatch.vkCmdSetColorBlendAdvancedEXT( + command_buffer, + first_attachment, + attachment_count, + p_color_blend_advanced, + ); + } + pub fn cmdSetProvokingVertexModeEXT( + self: Self, + command_buffer: CommandBuffer, + provoking_vertex_mode: ProvokingVertexModeEXT, + ) void { + self.dispatch.vkCmdSetProvokingVertexModeEXT( + command_buffer, + provoking_vertex_mode, + ); + } + pub fn cmdSetLineRasterizationModeEXT( + self: Self, + command_buffer: CommandBuffer, + line_rasterization_mode: LineRasterizationModeEXT, + ) void { + self.dispatch.vkCmdSetLineRasterizationModeEXT( + command_buffer, + line_rasterization_mode, + ); + } + pub fn cmdSetLineStippleEnableEXT( + self: Self, + command_buffer: CommandBuffer, + stippled_line_enable: Bool32, + ) void { + self.dispatch.vkCmdSetLineStippleEnableEXT( + command_buffer, + stippled_line_enable, + ); + } + pub fn cmdSetDepthClipNegativeOneToOneEXT( + self: Self, + command_buffer: CommandBuffer, + negative_one_to_one: Bool32, + ) void { + self.dispatch.vkCmdSetDepthClipNegativeOneToOneEXT( + command_buffer, + negative_one_to_one, + ); + } + pub fn cmdSetViewportWScalingEnableNV( + self: Self, + command_buffer: CommandBuffer, + viewport_w_scaling_enable: Bool32, + ) void { + self.dispatch.vkCmdSetViewportWScalingEnableNV( + command_buffer, + viewport_w_scaling_enable, + ); + } + pub fn cmdSetViewportSwizzleNV( + self: Self, + command_buffer: CommandBuffer, + first_viewport: u32, + viewport_count: u32, + p_viewport_swizzles: [*]const ViewportSwizzleNV, + ) void { + self.dispatch.vkCmdSetViewportSwizzleNV( + command_buffer, + first_viewport, + viewport_count, + p_viewport_swizzles, + ); + } + pub fn cmdSetCoverageToColorEnableNV( + self: Self, + command_buffer: CommandBuffer, + coverage_to_color_enable: Bool32, + ) void { + self.dispatch.vkCmdSetCoverageToColorEnableNV( + command_buffer, + coverage_to_color_enable, + ); + } + pub fn cmdSetCoverageToColorLocationNV( + self: Self, + command_buffer: CommandBuffer, + coverage_to_color_location: u32, + ) void { + self.dispatch.vkCmdSetCoverageToColorLocationNV( + command_buffer, + coverage_to_color_location, + ); + } + pub fn cmdSetCoverageModulationModeNV( + self: Self, + command_buffer: CommandBuffer, + coverage_modulation_mode: CoverageModulationModeNV, + ) void { + self.dispatch.vkCmdSetCoverageModulationModeNV( + command_buffer, + coverage_modulation_mode, + ); + } + pub fn cmdSetCoverageModulationTableEnableNV( + self: Self, + command_buffer: CommandBuffer, + coverage_modulation_table_enable: Bool32, + ) void { + self.dispatch.vkCmdSetCoverageModulationTableEnableNV( + command_buffer, + coverage_modulation_table_enable, + ); + } + pub fn cmdSetCoverageModulationTableNV( + self: Self, + command_buffer: CommandBuffer, + coverage_modulation_table_count: u32, + p_coverage_modulation_table: [*]const f32, + ) void { + self.dispatch.vkCmdSetCoverageModulationTableNV( + command_buffer, + coverage_modulation_table_count, + p_coverage_modulation_table, + ); + } + pub fn cmdSetShadingRateImageEnableNV( + self: Self, + command_buffer: CommandBuffer, + shading_rate_image_enable: Bool32, + ) void { + self.dispatch.vkCmdSetShadingRateImageEnableNV( + command_buffer, + shading_rate_image_enable, + ); + } + pub fn cmdSetCoverageReductionModeNV( + self: Self, + command_buffer: CommandBuffer, + coverage_reduction_mode: CoverageReductionModeNV, + ) void { + self.dispatch.vkCmdSetCoverageReductionModeNV( + command_buffer, + coverage_reduction_mode, + ); + } + pub fn cmdSetRepresentativeFragmentTestEnableNV( + self: Self, + command_buffer: CommandBuffer, + representative_fragment_test_enable: Bool32, + ) void { + self.dispatch.vkCmdSetRepresentativeFragmentTestEnableNV( + command_buffer, + representative_fragment_test_enable, + ); + } + pub const CreatePrivateDataSlotError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn createPrivateDataSlot( + self: Self, + device: Device, + p_create_info: *const PrivateDataSlotCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreatePrivateDataSlotError!PrivateDataSlot { + var out_private_data_slot: PrivateDataSlot = undefined; + const result = self.dispatch.vkCreatePrivateDataSlot( + device, + p_create_info, + p_allocator, + &out_private_data_slot, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_private_data_slot; + } + pub const CreatePrivateDataSlotEXTError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn createPrivateDataSlotEXT( + self: Self, + device: Device, + p_create_info: *const PrivateDataSlotCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreatePrivateDataSlotEXTError!PrivateDataSlot { + var out_private_data_slot: PrivateDataSlot = undefined; + const result = self.dispatch.vkCreatePrivateDataSlotEXT( + device, + p_create_info, + p_allocator, + &out_private_data_slot, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_private_data_slot; + } + pub fn destroyPrivateDataSlot( + self: Self, + device: Device, + private_data_slot: PrivateDataSlot, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyPrivateDataSlot( + device, + private_data_slot, + p_allocator, + ); + } + pub fn destroyPrivateDataSlotEXT( + self: Self, + device: Device, + private_data_slot: PrivateDataSlot, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyPrivateDataSlotEXT( + device, + private_data_slot, + p_allocator, + ); + } + pub const SetPrivateDataError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn setPrivateData( + self: Self, + device: Device, + object_type: ObjectType, + object_handle: u64, + private_data_slot: PrivateDataSlot, + data: u64, + ) SetPrivateDataError!void { + const result = self.dispatch.vkSetPrivateData( + device, + object_type, + object_handle, + private_data_slot, + data, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const SetPrivateDataEXTError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn setPrivateDataEXT( + self: Self, + device: Device, + object_type: ObjectType, + object_handle: u64, + private_data_slot: PrivateDataSlot, + data: u64, + ) SetPrivateDataEXTError!void { + const result = self.dispatch.vkSetPrivateDataEXT( + device, + object_type, + object_handle, + private_data_slot, + data, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub fn getPrivateData( + self: Self, + device: Device, + object_type: ObjectType, + object_handle: u64, + private_data_slot: PrivateDataSlot, + ) u64 { + var out_data: u64 = undefined; + self.dispatch.vkGetPrivateData( + device, + object_type, + object_handle, + private_data_slot, + &out_data, + ); + return out_data; + } + pub fn getPrivateDataEXT( + self: Self, + device: Device, + object_type: ObjectType, + object_handle: u64, + private_data_slot: PrivateDataSlot, + ) u64 { + var out_data: u64 = undefined; + self.dispatch.vkGetPrivateDataEXT( + device, + object_type, + object_handle, + private_data_slot, + &out_data, + ); + return out_data; + } + pub fn cmdCopyBuffer2( + self: Self, + command_buffer: CommandBuffer, + p_copy_buffer_info: *const CopyBufferInfo2, + ) void { + self.dispatch.vkCmdCopyBuffer2( + command_buffer, + p_copy_buffer_info, + ); + } + pub fn cmdCopyBuffer2KHR( + self: Self, + command_buffer: CommandBuffer, + p_copy_buffer_info: *const CopyBufferInfo2, + ) void { + self.dispatch.vkCmdCopyBuffer2KHR( + command_buffer, + p_copy_buffer_info, + ); + } + pub fn cmdCopyImage2( + self: Self, + command_buffer: CommandBuffer, + p_copy_image_info: *const CopyImageInfo2, + ) void { + self.dispatch.vkCmdCopyImage2( + command_buffer, + p_copy_image_info, + ); + } + pub fn cmdCopyImage2KHR( + self: Self, + command_buffer: CommandBuffer, + p_copy_image_info: *const CopyImageInfo2, + ) void { + self.dispatch.vkCmdCopyImage2KHR( + command_buffer, + p_copy_image_info, + ); + } + pub fn cmdBlitImage2( + self: Self, + command_buffer: CommandBuffer, + p_blit_image_info: *const BlitImageInfo2, + ) void { + self.dispatch.vkCmdBlitImage2( + command_buffer, + p_blit_image_info, + ); + } + pub fn cmdBlitImage2KHR( + self: Self, + command_buffer: CommandBuffer, + p_blit_image_info: *const BlitImageInfo2, + ) void { + self.dispatch.vkCmdBlitImage2KHR( + command_buffer, + p_blit_image_info, + ); + } + pub fn cmdCopyBufferToImage2( + self: Self, + command_buffer: CommandBuffer, + p_copy_buffer_to_image_info: *const CopyBufferToImageInfo2, + ) void { + self.dispatch.vkCmdCopyBufferToImage2( + command_buffer, + p_copy_buffer_to_image_info, + ); + } + pub fn cmdCopyBufferToImage2KHR( + self: Self, + command_buffer: CommandBuffer, + p_copy_buffer_to_image_info: *const CopyBufferToImageInfo2, + ) void { + self.dispatch.vkCmdCopyBufferToImage2KHR( + command_buffer, + p_copy_buffer_to_image_info, + ); + } + pub fn cmdCopyImageToBuffer2( + self: Self, + command_buffer: CommandBuffer, + p_copy_image_to_buffer_info: *const CopyImageToBufferInfo2, + ) void { + self.dispatch.vkCmdCopyImageToBuffer2( + command_buffer, + p_copy_image_to_buffer_info, + ); + } + pub fn cmdCopyImageToBuffer2KHR( + self: Self, + command_buffer: CommandBuffer, + p_copy_image_to_buffer_info: *const CopyImageToBufferInfo2, + ) void { + self.dispatch.vkCmdCopyImageToBuffer2KHR( + command_buffer, + p_copy_image_to_buffer_info, + ); + } + pub fn cmdResolveImage2( + self: Self, + command_buffer: CommandBuffer, + p_resolve_image_info: *const ResolveImageInfo2, + ) void { + self.dispatch.vkCmdResolveImage2( + command_buffer, + p_resolve_image_info, + ); + } + pub fn cmdResolveImage2KHR( + self: Self, + command_buffer: CommandBuffer, + p_resolve_image_info: *const ResolveImageInfo2, + ) void { + self.dispatch.vkCmdResolveImage2KHR( + command_buffer, + p_resolve_image_info, + ); + } + pub fn cmdRefreshObjectsKHR( + self: Self, + command_buffer: CommandBuffer, + p_refresh_objects: *const RefreshObjectListKHR, + ) void { + self.dispatch.vkCmdRefreshObjectsKHR( + command_buffer, + p_refresh_objects, + ); + } + pub fn cmdSetFragmentShadingRateKHR( + self: Self, + command_buffer: CommandBuffer, + p_fragment_size: *const Extent2D, + combiner_ops: *const [2]FragmentShadingRateCombinerOpKHR, + ) void { + self.dispatch.vkCmdSetFragmentShadingRateKHR( + command_buffer, + p_fragment_size, + combiner_ops, + ); + } + pub fn cmdSetFragmentShadingRateEnumNV( + self: Self, + command_buffer: CommandBuffer, + shading_rate: FragmentShadingRateNV, + combiner_ops: *const [2]FragmentShadingRateCombinerOpKHR, + ) void { + self.dispatch.vkCmdSetFragmentShadingRateEnumNV( + command_buffer, + shading_rate, + combiner_ops, + ); + } + pub fn getAccelerationStructureBuildSizesKHR( + self: Self, + device: Device, + build_type: AccelerationStructureBuildTypeKHR, + p_build_info: *const AccelerationStructureBuildGeometryInfoKHR, + p_max_primitive_counts: ?[*]const u32, + p_size_info: *AccelerationStructureBuildSizesInfoKHR, + ) void { + self.dispatch.vkGetAccelerationStructureBuildSizesKHR( + device, + build_type, + p_build_info, + p_max_primitive_counts, + p_size_info, + ); + } + pub fn cmdSetVertexInputEXT( + self: Self, + command_buffer: CommandBuffer, + vertex_binding_description_count: u32, + p_vertex_binding_descriptions: ?[*]const VertexInputBindingDescription2EXT, + vertex_attribute_description_count: u32, + p_vertex_attribute_descriptions: ?[*]const VertexInputAttributeDescription2EXT, + ) void { + self.dispatch.vkCmdSetVertexInputEXT( + command_buffer, + vertex_binding_description_count, + p_vertex_binding_descriptions, + vertex_attribute_description_count, + p_vertex_attribute_descriptions, + ); + } + pub fn cmdSetColorWriteEnableEXT( + self: Self, + command_buffer: CommandBuffer, + attachment_count: u32, + p_color_write_enables: [*]const Bool32, + ) void { + self.dispatch.vkCmdSetColorWriteEnableEXT( + command_buffer, + attachment_count, + p_color_write_enables, + ); + } + pub fn cmdSetEvent2( + self: Self, + command_buffer: CommandBuffer, + event: Event, + p_dependency_info: *const DependencyInfo, + ) void { + self.dispatch.vkCmdSetEvent2( + command_buffer, + event, + p_dependency_info, + ); + } + pub fn cmdSetEvent2KHR( + self: Self, + command_buffer: CommandBuffer, + event: Event, + p_dependency_info: *const DependencyInfo, + ) void { + self.dispatch.vkCmdSetEvent2KHR( + command_buffer, + event, + p_dependency_info, + ); + } + pub fn cmdResetEvent2( + self: Self, + command_buffer: CommandBuffer, + event: Event, + stage_mask: PipelineStageFlags2, + ) void { + self.dispatch.vkCmdResetEvent2( + command_buffer, + event, + stage_mask, + ); + } + pub fn cmdResetEvent2KHR( + self: Self, + command_buffer: CommandBuffer, + event: Event, + stage_mask: PipelineStageFlags2, + ) void { + self.dispatch.vkCmdResetEvent2KHR( + command_buffer, + event, + stage_mask, + ); + } + pub fn cmdWaitEvents2( + self: Self, + command_buffer: CommandBuffer, + event_count: u32, + p_events: [*]const Event, + p_dependency_infos: [*]const DependencyInfo, + ) void { + self.dispatch.vkCmdWaitEvents2( + command_buffer, + event_count, + p_events, + p_dependency_infos, + ); + } + pub fn cmdWaitEvents2KHR( + self: Self, + command_buffer: CommandBuffer, + event_count: u32, + p_events: [*]const Event, + p_dependency_infos: [*]const DependencyInfo, + ) void { + self.dispatch.vkCmdWaitEvents2KHR( + command_buffer, + event_count, + p_events, + p_dependency_infos, + ); + } + pub fn cmdPipelineBarrier2( + self: Self, + command_buffer: CommandBuffer, + p_dependency_info: *const DependencyInfo, + ) void { + self.dispatch.vkCmdPipelineBarrier2( + command_buffer, + p_dependency_info, + ); + } + pub fn cmdPipelineBarrier2KHR( + self: Self, + command_buffer: CommandBuffer, + p_dependency_info: *const DependencyInfo, + ) void { + self.dispatch.vkCmdPipelineBarrier2KHR( + command_buffer, + p_dependency_info, + ); + } + pub const QueueSubmit2Error = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn queueSubmit2( + self: Self, + queue: Queue, + submit_count: u32, + p_submits: ?[*]const SubmitInfo2, + fence: Fence, + ) QueueSubmit2Error!void { + const result = self.dispatch.vkQueueSubmit2( + queue, + submit_count, + p_submits, + fence, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + } + pub const QueueSubmit2KHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + Unknown, + }; + pub fn queueSubmit2KHR( + self: Self, + queue: Queue, + submit_count: u32, + p_submits: ?[*]const SubmitInfo2, + fence: Fence, + ) QueueSubmit2KHRError!void { + const result = self.dispatch.vkQueueSubmit2KHR( + queue, + submit_count, + p_submits, + fence, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + else => return error.Unknown, + } + } + pub fn cmdWriteTimestamp2( + self: Self, + command_buffer: CommandBuffer, + stage: PipelineStageFlags2, + query_pool: QueryPool, + query: u32, + ) void { + self.dispatch.vkCmdWriteTimestamp2( + command_buffer, + stage, + query_pool, + query, + ); + } + pub fn cmdWriteTimestamp2KHR( + self: Self, + command_buffer: CommandBuffer, + stage: PipelineStageFlags2, + query_pool: QueryPool, + query: u32, + ) void { + self.dispatch.vkCmdWriteTimestamp2KHR( + command_buffer, + stage, + query_pool, + query, + ); + } + pub fn cmdWriteBufferMarker2AMD( + self: Self, + command_buffer: CommandBuffer, + stage: PipelineStageFlags2, + dst_buffer: Buffer, + dst_offset: DeviceSize, + marker: u32, + ) void { + self.dispatch.vkCmdWriteBufferMarker2AMD( + command_buffer, + stage, + dst_buffer, + dst_offset, + marker, + ); + } + pub fn getQueueCheckpointData2NV( + self: Self, + queue: Queue, + p_checkpoint_data_count: *u32, + p_checkpoint_data: ?[*]CheckpointData2NV, + ) void { + self.dispatch.vkGetQueueCheckpointData2NV( + queue, + p_checkpoint_data_count, + p_checkpoint_data, + ); + } + pub const CopyMemoryToImageEXTError = error{ + InitializationFailed, + OutOfHostMemory, + OutOfDeviceMemory, + MemoryMapFailed, + Unknown, + }; + pub fn copyMemoryToImageEXT( + self: Self, + device: Device, + p_copy_memory_to_image_info: *const CopyMemoryToImageInfoEXT, + ) CopyMemoryToImageEXTError!void { + const result = self.dispatch.vkCopyMemoryToImageEXT( + device, + p_copy_memory_to_image_info, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_memory_map_failed => return error.MemoryMapFailed, + else => return error.Unknown, + } + } + pub const CopyImageToMemoryEXTError = error{ + InitializationFailed, + OutOfHostMemory, + OutOfDeviceMemory, + MemoryMapFailed, + Unknown, + }; + pub fn copyImageToMemoryEXT( + self: Self, + device: Device, + p_copy_image_to_memory_info: *const CopyImageToMemoryInfoEXT, + ) CopyImageToMemoryEXTError!void { + const result = self.dispatch.vkCopyImageToMemoryEXT( + device, + p_copy_image_to_memory_info, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_memory_map_failed => return error.MemoryMapFailed, + else => return error.Unknown, + } + } + pub const CopyImageToImageEXTError = error{ + InitializationFailed, + OutOfHostMemory, + OutOfDeviceMemory, + MemoryMapFailed, + Unknown, + }; + pub fn copyImageToImageEXT( + self: Self, + device: Device, + p_copy_image_to_image_info: *const CopyImageToImageInfoEXT, + ) CopyImageToImageEXTError!void { + const result = self.dispatch.vkCopyImageToImageEXT( + device, + p_copy_image_to_image_info, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_memory_map_failed => return error.MemoryMapFailed, + else => return error.Unknown, + } + } + pub const TransitionImageLayoutEXTError = error{ + InitializationFailed, + OutOfHostMemory, + OutOfDeviceMemory, + MemoryMapFailed, + Unknown, + }; + pub fn transitionImageLayoutEXT( + self: Self, + device: Device, + transition_count: u32, + p_transitions: [*]const HostImageLayoutTransitionInfoEXT, + ) TransitionImageLayoutEXTError!void { + const result = self.dispatch.vkTransitionImageLayoutEXT( + device, + transition_count, + p_transitions, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_memory_map_failed => return error.MemoryMapFailed, + else => return error.Unknown, + } + } + pub fn getCommandPoolMemoryConsumption( + self: Self, + device: Device, + command_pool: CommandPool, + command_buffer: CommandBuffer, + p_consumption: *CommandPoolMemoryConsumption, + ) void { + self.dispatch.vkGetCommandPoolMemoryConsumption( + device, + command_pool, + command_buffer, + p_consumption, + ); + } + pub const CreateVideoSessionKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InitializationFailed, + VideoStdVersionNotSupportedKHR, + InvalidVideoStdParametersKHR, + Unknown, + }; + pub fn createVideoSessionKHR( + self: Self, + device: Device, + p_create_info: *const VideoSessionCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateVideoSessionKHRError!VideoSessionKHR { + var out_video_session: VideoSessionKHR = undefined; + const result = self.dispatch.vkCreateVideoSessionKHR( + device, + p_create_info, + p_allocator, + &out_video_session, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_video_std_version_not_supported_khr => return error.VideoStdVersionNotSupportedKHR, + Result.error_invalid_video_std_parameters_khr => return error.InvalidVideoStdParametersKHR, + else => return error.Unknown, + } + return out_video_session; + } + pub fn destroyVideoSessionKHR( + self: Self, + device: Device, + video_session: VideoSessionKHR, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyVideoSessionKHR( + device, + video_session, + p_allocator, + ); + } + pub const CreateVideoSessionParametersKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InitializationFailed, + InvalidVideoStdParametersKHR, + Unknown, + }; + pub fn createVideoSessionParametersKHR( + self: Self, + device: Device, + p_create_info: *const VideoSessionParametersCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateVideoSessionParametersKHRError!VideoSessionParametersKHR { + var out_video_session_parameters: VideoSessionParametersKHR = undefined; + const result = self.dispatch.vkCreateVideoSessionParametersKHR( + device, + p_create_info, + p_allocator, + &out_video_session_parameters, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_invalid_video_std_parameters_khr => return error.InvalidVideoStdParametersKHR, + else => return error.Unknown, + } + return out_video_session_parameters; + } + pub const UpdateVideoSessionParametersKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InvalidVideoStdParametersKHR, + Unknown, + }; + pub fn updateVideoSessionParametersKHR( + self: Self, + device: Device, + video_session_parameters: VideoSessionParametersKHR, + p_update_info: *const VideoSessionParametersUpdateInfoKHR, + ) UpdateVideoSessionParametersKHRError!void { + const result = self.dispatch.vkUpdateVideoSessionParametersKHR( + device, + video_session_parameters, + p_update_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_invalid_video_std_parameters_khr => return error.InvalidVideoStdParametersKHR, + else => return error.Unknown, + } + } + pub const GetEncodedVideoSessionParametersKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getEncodedVideoSessionParametersKHR( + self: Self, + device: Device, + p_video_session_parameters_info: *const VideoEncodeSessionParametersGetInfoKHR, + p_feedback_info: ?*VideoEncodeSessionParametersFeedbackInfoKHR, + p_data_size: *usize, + p_data: ?*anyopaque, + ) GetEncodedVideoSessionParametersKHRError!Result { + const result = self.dispatch.vkGetEncodedVideoSessionParametersKHR( + device, + p_video_session_parameters_info, + p_feedback_info, + p_data_size, + p_data, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub fn destroyVideoSessionParametersKHR( + self: Self, + device: Device, + video_session_parameters: VideoSessionParametersKHR, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyVideoSessionParametersKHR( + device, + video_session_parameters, + p_allocator, + ); + } + pub const GetVideoSessionMemoryRequirementsKHRError = error{ + Unknown, + }; + pub fn getVideoSessionMemoryRequirementsKHR( + self: Self, + device: Device, + video_session: VideoSessionKHR, + p_memory_requirements_count: *u32, + p_memory_requirements: ?[*]VideoSessionMemoryRequirementsKHR, + ) GetVideoSessionMemoryRequirementsKHRError!Result { + const result = self.dispatch.vkGetVideoSessionMemoryRequirementsKHR( + device, + video_session, + p_memory_requirements_count, + p_memory_requirements, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + else => return error.Unknown, + } + return result; + } + pub const BindVideoSessionMemoryKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn bindVideoSessionMemoryKHR( + self: Self, + device: Device, + video_session: VideoSessionKHR, + bind_session_memory_info_count: u32, + p_bind_session_memory_infos: [*]const BindVideoSessionMemoryInfoKHR, + ) BindVideoSessionMemoryKHRError!void { + const result = self.dispatch.vkBindVideoSessionMemoryKHR( + device, + video_session, + bind_session_memory_info_count, + p_bind_session_memory_infos, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub fn cmdDecodeVideoKHR( + self: Self, + command_buffer: CommandBuffer, + p_decode_info: *const VideoDecodeInfoKHR, + ) void { + self.dispatch.vkCmdDecodeVideoKHR( + command_buffer, + p_decode_info, + ); + } + pub fn cmdBeginVideoCodingKHR( + self: Self, + command_buffer: CommandBuffer, + p_begin_info: *const VideoBeginCodingInfoKHR, + ) void { + self.dispatch.vkCmdBeginVideoCodingKHR( + command_buffer, + p_begin_info, + ); + } + pub fn cmdControlVideoCodingKHR( + self: Self, + command_buffer: CommandBuffer, + p_coding_control_info: *const VideoCodingControlInfoKHR, + ) void { + self.dispatch.vkCmdControlVideoCodingKHR( + command_buffer, + p_coding_control_info, + ); + } + pub fn cmdEndVideoCodingKHR( + self: Self, + command_buffer: CommandBuffer, + p_end_coding_info: *const VideoEndCodingInfoKHR, + ) void { + self.dispatch.vkCmdEndVideoCodingKHR( + command_buffer, + p_end_coding_info, + ); + } + pub fn cmdEncodeVideoKHR( + self: Self, + command_buffer: CommandBuffer, + p_encode_info: *const VideoEncodeInfoKHR, + ) void { + self.dispatch.vkCmdEncodeVideoKHR( + command_buffer, + p_encode_info, + ); + } + pub fn cmdDecompressMemoryNV( + self: Self, + command_buffer: CommandBuffer, + decompress_region_count: u32, + p_decompress_memory_regions: [*]const DecompressMemoryRegionNV, + ) void { + self.dispatch.vkCmdDecompressMemoryNV( + command_buffer, + decompress_region_count, + p_decompress_memory_regions, + ); + } + pub fn cmdDecompressMemoryIndirectCountNV( + self: Self, + command_buffer: CommandBuffer, + indirect_commands_address: DeviceAddress, + indirect_commands_count_address: DeviceAddress, + stride: u32, + ) void { + self.dispatch.vkCmdDecompressMemoryIndirectCountNV( + command_buffer, + indirect_commands_address, + indirect_commands_count_address, + stride, + ); + } + pub const CreateCuModuleNVXError = error{ + OutOfHostMemory, + InitializationFailed, + Unknown, + }; + pub fn createCuModuleNVX( + self: Self, + device: Device, + p_create_info: *const CuModuleCreateInfoNVX, + p_allocator: ?*const AllocationCallbacks, + ) CreateCuModuleNVXError!CuModuleNVX { + var out_module: CuModuleNVX = undefined; + const result = self.dispatch.vkCreateCuModuleNVX( + device, + p_create_info, + p_allocator, + &out_module, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } + return out_module; + } + pub const CreateCuFunctionNVXError = error{ + OutOfHostMemory, + InitializationFailed, + Unknown, + }; + pub fn createCuFunctionNVX( + self: Self, + device: Device, + p_create_info: *const CuFunctionCreateInfoNVX, + p_allocator: ?*const AllocationCallbacks, + ) CreateCuFunctionNVXError!CuFunctionNVX { + var out_function: CuFunctionNVX = undefined; + const result = self.dispatch.vkCreateCuFunctionNVX( + device, + p_create_info, + p_allocator, + &out_function, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } + return out_function; + } + pub fn destroyCuModuleNVX( + self: Self, + device: Device, + module: CuModuleNVX, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyCuModuleNVX( + device, + module, + p_allocator, + ); + } + pub fn destroyCuFunctionNVX( + self: Self, + device: Device, + function: CuFunctionNVX, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyCuFunctionNVX( + device, + function, + p_allocator, + ); + } + pub fn cmdCuLaunchKernelNVX( + self: Self, + command_buffer: CommandBuffer, + p_launch_info: *const CuLaunchInfoNVX, + ) void { + self.dispatch.vkCmdCuLaunchKernelNVX( + command_buffer, + p_launch_info, + ); + } + pub fn getDescriptorSetLayoutSizeEXT( + self: Self, + device: Device, + layout: DescriptorSetLayout, + ) DeviceSize { + var out_layout_size_in_bytes: DeviceSize = undefined; + self.dispatch.vkGetDescriptorSetLayoutSizeEXT( + device, + layout, + &out_layout_size_in_bytes, + ); + return out_layout_size_in_bytes; + } + pub fn getDescriptorSetLayoutBindingOffsetEXT( + self: Self, + device: Device, + layout: DescriptorSetLayout, + binding: u32, + ) DeviceSize { + var out_offset: DeviceSize = undefined; + self.dispatch.vkGetDescriptorSetLayoutBindingOffsetEXT( + device, + layout, + binding, + &out_offset, + ); + return out_offset; + } + pub fn getDescriptorEXT( + self: Self, + device: Device, + p_descriptor_info: *const DescriptorGetInfoEXT, + data_size: usize, + p_descriptor: *anyopaque, + ) void { + self.dispatch.vkGetDescriptorEXT( + device, + p_descriptor_info, + data_size, + p_descriptor, + ); + } + pub fn cmdBindDescriptorBuffersEXT( + self: Self, + command_buffer: CommandBuffer, + buffer_count: u32, + p_binding_infos: [*]const DescriptorBufferBindingInfoEXT, + ) void { + self.dispatch.vkCmdBindDescriptorBuffersEXT( + command_buffer, + buffer_count, + p_binding_infos, + ); + } + pub fn cmdSetDescriptorBufferOffsetsEXT( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + first_set: u32, + set_count: u32, + p_buffer_indices: [*]const u32, + p_offsets: [*]const DeviceSize, + ) void { + self.dispatch.vkCmdSetDescriptorBufferOffsetsEXT( + command_buffer, + pipeline_bind_point, + layout, + first_set, + set_count, + p_buffer_indices, + p_offsets, + ); + } + pub fn cmdBindDescriptorBufferEmbeddedSamplersEXT( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + set: u32, + ) void { + self.dispatch.vkCmdBindDescriptorBufferEmbeddedSamplersEXT( + command_buffer, + pipeline_bind_point, + layout, + set, + ); + } + pub const GetBufferOpaqueCaptureDescriptorDataEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getBufferOpaqueCaptureDescriptorDataEXT( + self: Self, + device: Device, + p_info: *const BufferCaptureDescriptorDataInfoEXT, + p_data: *anyopaque, + ) GetBufferOpaqueCaptureDescriptorDataEXTError!void { + const result = self.dispatch.vkGetBufferOpaqueCaptureDescriptorDataEXT( + device, + p_info, + p_data, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const GetImageOpaqueCaptureDescriptorDataEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getImageOpaqueCaptureDescriptorDataEXT( + self: Self, + device: Device, + p_info: *const ImageCaptureDescriptorDataInfoEXT, + p_data: *anyopaque, + ) GetImageOpaqueCaptureDescriptorDataEXTError!void { + const result = self.dispatch.vkGetImageOpaqueCaptureDescriptorDataEXT( + device, + p_info, + p_data, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const GetImageViewOpaqueCaptureDescriptorDataEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getImageViewOpaqueCaptureDescriptorDataEXT( + self: Self, + device: Device, + p_info: *const ImageViewCaptureDescriptorDataInfoEXT, + p_data: *anyopaque, + ) GetImageViewOpaqueCaptureDescriptorDataEXTError!void { + const result = self.dispatch.vkGetImageViewOpaqueCaptureDescriptorDataEXT( + device, + p_info, + p_data, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const GetSamplerOpaqueCaptureDescriptorDataEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getSamplerOpaqueCaptureDescriptorDataEXT( + self: Self, + device: Device, + p_info: *const SamplerCaptureDescriptorDataInfoEXT, + p_data: *anyopaque, + ) GetSamplerOpaqueCaptureDescriptorDataEXTError!void { + const result = self.dispatch.vkGetSamplerOpaqueCaptureDescriptorDataEXT( + device, + p_info, + p_data, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub const GetAccelerationStructureOpaqueCaptureDescriptorDataEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getAccelerationStructureOpaqueCaptureDescriptorDataEXT( + self: Self, + device: Device, + p_info: *const AccelerationStructureCaptureDescriptorDataInfoEXT, + p_data: *anyopaque, + ) GetAccelerationStructureOpaqueCaptureDescriptorDataEXTError!void { + const result = self.dispatch.vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( + device, + p_info, + p_data, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub fn setDeviceMemoryPriorityEXT( + self: Self, + device: Device, + memory: DeviceMemory, + priority: f32, + ) void { + self.dispatch.vkSetDeviceMemoryPriorityEXT( + device, + memory, + priority, + ); + } + pub const WaitForPresentKHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + DeviceLost, + OutOfDateKHR, + SurfaceLostKHR, + FullScreenExclusiveModeLostEXT, + Unknown, + }; + pub fn waitForPresentKHR( + self: Self, + device: Device, + swapchain: SwapchainKHR, + present_id: u64, + timeout: u64, + ) WaitForPresentKHRError!Result { + const result = self.dispatch.vkWaitForPresentKHR( + device, + swapchain, + present_id, + timeout, + ); + switch (result) { + Result.success => {}, + Result.timeout => {}, + Result.suboptimal_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_device_lost => return error.DeviceLost, + Result.error_out_of_date_khr => return error.OutOfDateKHR, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + Result.error_full_screen_exclusive_mode_lost_ext => return error.FullScreenExclusiveModeLostEXT, + else => return error.Unknown, + } + return result; + } + pub const CreateBufferCollectionFUCHSIAError = error{ + OutOfHostMemory, + InvalidExternalHandle, + InitializationFailed, + Unknown, + }; + pub fn createBufferCollectionFUCHSIA( + self: Self, + device: Device, + p_create_info: *const BufferCollectionCreateInfoFUCHSIA, + p_allocator: ?*const AllocationCallbacks, + ) CreateBufferCollectionFUCHSIAError!BufferCollectionFUCHSIA { + var out_collection: BufferCollectionFUCHSIA = undefined; + const result = self.dispatch.vkCreateBufferCollectionFUCHSIA( + device, + p_create_info, + p_allocator, + &out_collection, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_invalid_external_handle => return error.InvalidExternalHandle, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } + return out_collection; + } + pub const SetBufferCollectionBufferConstraintsFUCHSIAError = error{ + InitializationFailed, + OutOfHostMemory, + FormatNotSupported, + Unknown, + }; + pub fn setBufferCollectionBufferConstraintsFUCHSIA( + self: Self, + device: Device, + collection: BufferCollectionFUCHSIA, + p_buffer_constraints_info: *const BufferConstraintsInfoFUCHSIA, + ) SetBufferCollectionBufferConstraintsFUCHSIAError!void { + const result = self.dispatch.vkSetBufferCollectionBufferConstraintsFUCHSIA( + device, + collection, + p_buffer_constraints_info, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_format_not_supported => return error.FormatNotSupported, + else => return error.Unknown, + } + } + pub const SetBufferCollectionImageConstraintsFUCHSIAError = error{ + InitializationFailed, + OutOfHostMemory, + FormatNotSupported, + Unknown, + }; + pub fn setBufferCollectionImageConstraintsFUCHSIA( + self: Self, + device: Device, + collection: BufferCollectionFUCHSIA, + p_image_constraints_info: *const ImageConstraintsInfoFUCHSIA, + ) SetBufferCollectionImageConstraintsFUCHSIAError!void { + const result = self.dispatch.vkSetBufferCollectionImageConstraintsFUCHSIA( + device, + collection, + p_image_constraints_info, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_format_not_supported => return error.FormatNotSupported, + else => return error.Unknown, + } + } + pub fn destroyBufferCollectionFUCHSIA( + self: Self, + device: Device, + collection: BufferCollectionFUCHSIA, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyBufferCollectionFUCHSIA( + device, + collection, + p_allocator, + ); + } + pub const GetBufferCollectionPropertiesFUCHSIAError = error{ + OutOfHostMemory, + InitializationFailed, + Unknown, + }; + pub fn getBufferCollectionPropertiesFUCHSIA( + self: Self, + device: Device, + collection: BufferCollectionFUCHSIA, + p_properties: *BufferCollectionPropertiesFUCHSIA, + ) GetBufferCollectionPropertiesFUCHSIAError!void { + const result = self.dispatch.vkGetBufferCollectionPropertiesFUCHSIA( + device, + collection, + p_properties, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } + } + pub const CreateCudaModuleNVError = error{ + InitializationFailed, + OutOfHostMemory, + Unknown, + }; + pub fn createCudaModuleNV( + self: Self, + device: Device, + p_create_info: *const CudaModuleCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + ) CreateCudaModuleNVError!CudaModuleNV { + var out_module: CudaModuleNV = undefined; + const result = self.dispatch.vkCreateCudaModuleNV( + device, + p_create_info, + p_allocator, + &out_module, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_module; + } + pub const GetCudaModuleCacheNVError = error{ + InitializationFailed, + Unknown, + }; + pub fn getCudaModuleCacheNV( + self: Self, + device: Device, + module: CudaModuleNV, + p_cache_size: *usize, + p_cache_data: ?*anyopaque, + ) GetCudaModuleCacheNVError!Result { + const result = self.dispatch.vkGetCudaModuleCacheNV( + device, + module, + p_cache_size, + p_cache_data, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } + return result; + } + pub const CreateCudaFunctionNVError = error{ + InitializationFailed, + OutOfHostMemory, + Unknown, + }; + pub fn createCudaFunctionNV( + self: Self, + device: Device, + p_create_info: *const CudaFunctionCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + ) CreateCudaFunctionNVError!CudaFunctionNV { + var out_function: CudaFunctionNV = undefined; + const result = self.dispatch.vkCreateCudaFunctionNV( + device, + p_create_info, + p_allocator, + &out_function, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_function; + } + pub fn destroyCudaModuleNV( + self: Self, + device: Device, + module: CudaModuleNV, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyCudaModuleNV( + device, + module, + p_allocator, + ); + } + pub fn destroyCudaFunctionNV( + self: Self, + device: Device, + function: CudaFunctionNV, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyCudaFunctionNV( + device, + function, + p_allocator, + ); + } + pub fn cmdCudaLaunchKernelNV( + self: Self, + command_buffer: CommandBuffer, + p_launch_info: *const CudaLaunchInfoNV, + ) void { + self.dispatch.vkCmdCudaLaunchKernelNV( + command_buffer, + p_launch_info, + ); + } + pub fn cmdBeginRendering( + self: Self, + command_buffer: CommandBuffer, + p_rendering_info: *const RenderingInfo, + ) void { + self.dispatch.vkCmdBeginRendering( + command_buffer, + p_rendering_info, + ); + } + pub fn cmdBeginRenderingKHR( + self: Self, + command_buffer: CommandBuffer, + p_rendering_info: *const RenderingInfo, + ) void { + self.dispatch.vkCmdBeginRenderingKHR( + command_buffer, + p_rendering_info, + ); + } + pub fn cmdEndRendering( + self: Self, + command_buffer: CommandBuffer, + ) void { + self.dispatch.vkCmdEndRendering( + command_buffer, + ); + } + pub fn cmdEndRenderingKHR( + self: Self, + command_buffer: CommandBuffer, + ) void { + self.dispatch.vkCmdEndRenderingKHR( + command_buffer, + ); + } + pub fn getDescriptorSetLayoutHostMappingInfoVALVE( + self: Self, + device: Device, + p_binding_reference: *const DescriptorSetBindingReferenceVALVE, + p_host_mapping: *DescriptorSetLayoutHostMappingInfoVALVE, + ) void { + self.dispatch.vkGetDescriptorSetLayoutHostMappingInfoVALVE( + device, + p_binding_reference, + p_host_mapping, + ); + } + pub fn getDescriptorSetHostMappingVALVE( + self: Self, + device: Device, + descriptor_set: DescriptorSet, + ) *anyopaque { + var out_pp_data: *anyopaque = undefined; + self.dispatch.vkGetDescriptorSetHostMappingVALVE( + device, + descriptor_set, + &out_pp_data, + ); + return out_pp_data; + } + pub const CreateMicromapEXTError = error{ + OutOfHostMemory, + InvalidOpaqueCaptureAddressKHR, + Unknown, + }; + pub fn createMicromapEXT( + self: Self, + device: Device, + p_create_info: *const MicromapCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) CreateMicromapEXTError!MicromapEXT { + var out_micromap: MicromapEXT = undefined; + const result = self.dispatch.vkCreateMicromapEXT( + device, + p_create_info, + p_allocator, + &out_micromap, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, + else => return error.Unknown, + } + return out_micromap; + } + pub fn cmdBuildMicromapsEXT( + self: Self, + command_buffer: CommandBuffer, + info_count: u32, + p_infos: [*]const MicromapBuildInfoEXT, + ) void { + self.dispatch.vkCmdBuildMicromapsEXT( + command_buffer, + info_count, + p_infos, + ); + } + pub const BuildMicromapsEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn buildMicromapsEXT( + self: Self, + device: Device, + deferred_operation: DeferredOperationKHR, + info_count: u32, + p_infos: [*]const MicromapBuildInfoEXT, + ) BuildMicromapsEXTError!Result { + const result = self.dispatch.vkBuildMicromapsEXT( + device, + deferred_operation, + info_count, + p_infos, + ); + switch (result) { + Result.success => {}, + Result.operation_deferred_khr => {}, + Result.operation_not_deferred_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub fn destroyMicromapEXT( + self: Self, + device: Device, + micromap: MicromapEXT, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyMicromapEXT( + device, + micromap, + p_allocator, + ); + } + pub fn cmdCopyMicromapEXT( + self: Self, + command_buffer: CommandBuffer, + p_info: *const CopyMicromapInfoEXT, + ) void { + self.dispatch.vkCmdCopyMicromapEXT( + command_buffer, + p_info, + ); + } + pub const CopyMicromapEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn copyMicromapEXT( + self: Self, + device: Device, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyMicromapInfoEXT, + ) CopyMicromapEXTError!Result { + const result = self.dispatch.vkCopyMicromapEXT( + device, + deferred_operation, + p_info, + ); + switch (result) { + Result.success => {}, + Result.operation_deferred_khr => {}, + Result.operation_not_deferred_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub fn cmdCopyMicromapToMemoryEXT( + self: Self, + command_buffer: CommandBuffer, + p_info: *const CopyMicromapToMemoryInfoEXT, + ) void { + self.dispatch.vkCmdCopyMicromapToMemoryEXT( + command_buffer, + p_info, + ); + } + pub const CopyMicromapToMemoryEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn copyMicromapToMemoryEXT( + self: Self, + device: Device, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyMicromapToMemoryInfoEXT, + ) CopyMicromapToMemoryEXTError!Result { + const result = self.dispatch.vkCopyMicromapToMemoryEXT( + device, + deferred_operation, + p_info, + ); + switch (result) { + Result.success => {}, + Result.operation_deferred_khr => {}, + Result.operation_not_deferred_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub fn cmdCopyMemoryToMicromapEXT( + self: Self, + command_buffer: CommandBuffer, + p_info: *const CopyMemoryToMicromapInfoEXT, + ) void { + self.dispatch.vkCmdCopyMemoryToMicromapEXT( + command_buffer, + p_info, + ); + } + pub const CopyMemoryToMicromapEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn copyMemoryToMicromapEXT( + self: Self, + device: Device, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyMemoryToMicromapInfoEXT, + ) CopyMemoryToMicromapEXTError!Result { + const result = self.dispatch.vkCopyMemoryToMicromapEXT( + device, + deferred_operation, + p_info, + ); + switch (result) { + Result.success => {}, + Result.operation_deferred_khr => {}, + Result.operation_not_deferred_khr => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub fn cmdWriteMicromapsPropertiesEXT( + self: Self, + command_buffer: CommandBuffer, + micromap_count: u32, + p_micromaps: [*]const MicromapEXT, + query_type: QueryType, + query_pool: QueryPool, + first_query: u32, + ) void { + self.dispatch.vkCmdWriteMicromapsPropertiesEXT( + command_buffer, + micromap_count, + p_micromaps, + query_type, + query_pool, + first_query, + ); + } + pub const WriteMicromapsPropertiesEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn writeMicromapsPropertiesEXT( + self: Self, + device: Device, + micromap_count: u32, + p_micromaps: [*]const MicromapEXT, + query_type: QueryType, + data_size: usize, + p_data: *anyopaque, + stride: usize, + ) WriteMicromapsPropertiesEXTError!void { + const result = self.dispatch.vkWriteMicromapsPropertiesEXT( + device, + micromap_count, + p_micromaps, + query_type, + data_size, + p_data, + stride, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + } + pub fn getDeviceMicromapCompatibilityEXT( + self: Self, + device: Device, + p_version_info: *const MicromapVersionInfoEXT, + ) AccelerationStructureCompatibilityKHR { + var out_compatibility: AccelerationStructureCompatibilityKHR = undefined; + self.dispatch.vkGetDeviceMicromapCompatibilityEXT( + device, + p_version_info, + &out_compatibility, + ); + return out_compatibility; + } + pub fn getMicromapBuildSizesEXT( + self: Self, + device: Device, + build_type: AccelerationStructureBuildTypeKHR, + p_build_info: *const MicromapBuildInfoEXT, + p_size_info: *MicromapBuildSizesInfoEXT, + ) void { + self.dispatch.vkGetMicromapBuildSizesEXT( + device, + build_type, + p_build_info, + p_size_info, + ); + } + pub fn getShaderModuleIdentifierEXT( + self: Self, + device: Device, + shader_module: ShaderModule, + p_identifier: *ShaderModuleIdentifierEXT, + ) void { + self.dispatch.vkGetShaderModuleIdentifierEXT( + device, + shader_module, + p_identifier, + ); + } + pub fn getShaderModuleCreateInfoIdentifierEXT( + self: Self, + device: Device, + p_create_info: *const ShaderModuleCreateInfo, + p_identifier: *ShaderModuleIdentifierEXT, + ) void { + self.dispatch.vkGetShaderModuleCreateInfoIdentifierEXT( + device, + p_create_info, + p_identifier, + ); + } + pub fn getImageSubresourceLayout2KHR( + self: Self, + device: Device, + image: Image, + p_subresource: *const ImageSubresource2KHR, + p_layout: *SubresourceLayout2KHR, + ) void { + self.dispatch.vkGetImageSubresourceLayout2KHR( + device, + image, + p_subresource, + p_layout, + ); + } + pub fn getImageSubresourceLayout2EXT( + self: Self, + device: Device, + image: Image, + p_subresource: *const ImageSubresource2KHR, + p_layout: *SubresourceLayout2KHR, + ) void { + self.dispatch.vkGetImageSubresourceLayout2EXT( + device, + image, + p_subresource, + p_layout, + ); + } + pub const GetPipelinePropertiesEXTError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn getPipelinePropertiesEXT( + self: Self, + device: Device, + p_pipeline_info: *const PipelineInfoEXT, + p_pipeline_properties: *BaseOutStructure, + ) GetPipelinePropertiesEXTError!void { + const result = self.dispatch.vkGetPipelinePropertiesEXT( + device, + p_pipeline_info, + p_pipeline_properties, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub fn exportMetalObjectsEXT( + self: Self, + device: Device, + p_metal_objects_info: *ExportMetalObjectsInfoEXT, + ) void { + self.dispatch.vkExportMetalObjectsEXT( + device, + p_metal_objects_info, + ); + } + pub const GetFramebufferTilePropertiesQCOMError = error{ + Unknown, + }; + pub fn getFramebufferTilePropertiesQCOM( + self: Self, + device: Device, + framebuffer: Framebuffer, + p_properties_count: *u32, + p_properties: ?[*]TilePropertiesQCOM, + ) GetFramebufferTilePropertiesQCOMError!Result { + const result = self.dispatch.vkGetFramebufferTilePropertiesQCOM( + device, + framebuffer, + p_properties_count, + p_properties, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + else => return error.Unknown, + } + return result; + } + pub const GetDynamicRenderingTilePropertiesQCOMError = error{ + Unknown, + }; + pub fn getDynamicRenderingTilePropertiesQCOM( + self: Self, + device: Device, + p_rendering_info: *const RenderingInfo, + p_properties: *TilePropertiesQCOM, + ) GetDynamicRenderingTilePropertiesQCOMError!void { + const result = self.dispatch.vkGetDynamicRenderingTilePropertiesQCOM( + device, + p_rendering_info, + p_properties, + ); + switch (result) { + Result.success => {}, + else => return error.Unknown, + } + } + pub const CreateOpticalFlowSessionNVError = error{ + OutOfHostMemory, + InitializationFailed, + Unknown, + }; + pub fn createOpticalFlowSessionNV( + self: Self, + device: Device, + p_create_info: *const OpticalFlowSessionCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + ) CreateOpticalFlowSessionNVError!OpticalFlowSessionNV { + var out_session: OpticalFlowSessionNV = undefined; + const result = self.dispatch.vkCreateOpticalFlowSessionNV( + device, + p_create_info, + p_allocator, + &out_session, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } + return out_session; + } + pub fn destroyOpticalFlowSessionNV( + self: Self, + device: Device, + session: OpticalFlowSessionNV, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyOpticalFlowSessionNV( + device, + session, + p_allocator, + ); + } + pub const BindOpticalFlowSessionImageNVError = error{ + OutOfHostMemory, + InitializationFailed, + Unknown, + }; + pub fn bindOpticalFlowSessionImageNV( + self: Self, + device: Device, + session: OpticalFlowSessionNV, + binding_point: OpticalFlowSessionBindingPointNV, + view: ImageView, + layout: ImageLayout, + ) BindOpticalFlowSessionImageNVError!void { + const result = self.dispatch.vkBindOpticalFlowSessionImageNV( + device, + session, + binding_point, + view, + layout, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } + } + pub fn cmdOpticalFlowExecuteNV( + self: Self, + command_buffer: CommandBuffer, + session: OpticalFlowSessionNV, + p_execute_info: *const OpticalFlowExecuteInfoNV, + ) void { + self.dispatch.vkCmdOpticalFlowExecuteNV( + command_buffer, + session, + p_execute_info, + ); + } + pub const GetDeviceFaultInfoEXTError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn getDeviceFaultInfoEXT( + self: Self, + device: Device, + p_fault_counts: *DeviceFaultCountsEXT, + p_fault_info: ?*DeviceFaultInfoEXT, + ) GetDeviceFaultInfoEXTError!Result { + const result = self.dispatch.vkGetDeviceFaultInfoEXT( + device, + p_fault_counts, + p_fault_info, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return result; + } + pub fn cmdSetDepthBias2EXT( + self: Self, + command_buffer: CommandBuffer, + p_depth_bias_info: *const DepthBiasInfoEXT, + ) void { + self.dispatch.vkCmdSetDepthBias2EXT( + command_buffer, + p_depth_bias_info, + ); + } + pub const ReleaseSwapchainImagesEXTError = error{ + SurfaceLostKHR, + Unknown, + }; + pub fn releaseSwapchainImagesEXT( + self: Self, + device: Device, + p_release_info: *const ReleaseSwapchainImagesInfoEXT, + ) ReleaseSwapchainImagesEXTError!void { + const result = self.dispatch.vkReleaseSwapchainImagesEXT( + device, + p_release_info, + ); + switch (result) { + Result.success => {}, + Result.error_surface_lost_khr => return error.SurfaceLostKHR, + else => return error.Unknown, + } + } + pub fn getDeviceImageSubresourceLayoutKHR( + self: Self, + device: Device, + p_info: *const DeviceImageSubresourceInfoKHR, + p_layout: *SubresourceLayout2KHR, + ) void { + self.dispatch.vkGetDeviceImageSubresourceLayoutKHR( + device, + p_info, + p_layout, + ); + } + pub const MapMemory2KHRError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + MemoryMapFailed, + Unknown, + }; + pub fn mapMemory2KHR( + self: Self, + device: Device, + p_memory_map_info: *const MemoryMapInfoKHR, + ) MapMemory2KHRError!?*anyopaque { + var out_pp_data: ?*anyopaque = undefined; + const result = self.dispatch.vkMapMemory2KHR( + device, + p_memory_map_info, + &out_pp_data, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_memory_map_failed => return error.MemoryMapFailed, + else => return error.Unknown, + } + return out_pp_data; + } + pub const UnmapMemory2KHRError = error{ + MemoryMapFailed, + Unknown, + }; + pub fn unmapMemory2KHR( + self: Self, + device: Device, + p_memory_unmap_info: *const MemoryUnmapInfoKHR, + ) UnmapMemory2KHRError!void { + const result = self.dispatch.vkUnmapMemory2KHR( + device, + p_memory_unmap_info, + ); + switch (result) { + Result.success => {}, + Result.error_memory_map_failed => return error.MemoryMapFailed, + else => return error.Unknown, + } + } + pub const CreateShadersEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + InitializationFailed, + Unknown, + }; + pub fn createShadersEXT( + self: Self, + device: Device, + create_info_count: u32, + p_create_infos: [*]const ShaderCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + p_shaders: [*]ShaderEXT, + ) CreateShadersEXTError!Result { + const result = self.dispatch.vkCreateShadersEXT( + device, + create_info_count, + p_create_infos, + p_allocator, + p_shaders, + ); + switch (result) { + Result.success => {}, + Result.incompatible_shader_binary_ext => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } + return result; + } + pub fn destroyShaderEXT( + self: Self, + device: Device, + shader: ShaderEXT, + p_allocator: ?*const AllocationCallbacks, + ) void { + self.dispatch.vkDestroyShaderEXT( + device, + shader, + p_allocator, + ); + } + pub const GetShaderBinaryDataEXTError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn getShaderBinaryDataEXT( + self: Self, + device: Device, + shader: ShaderEXT, + p_data_size: *usize, + p_data: ?*anyopaque, + ) GetShaderBinaryDataEXTError!Result { + const result = self.dispatch.vkGetShaderBinaryDataEXT( + device, + shader, + p_data_size, + p_data, + ); + switch (result) { + Result.success => {}, + Result.incomplete => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub fn cmdBindShadersEXT( + self: Self, + command_buffer: CommandBuffer, + stage_count: u32, + p_stages: [*]const ShaderStageFlags, + p_shaders: ?[*]const ShaderEXT, + ) void { + self.dispatch.vkCmdBindShadersEXT( + command_buffer, + stage_count, + p_stages, + p_shaders, + ); + } + pub const GetScreenBufferPropertiesQNXError = error{ + OutOfHostMemory, + InvalidExternalHandleKHR, + Unknown, }; - } - pub usingnamespace CommandFlagsMixin(DeviceCommandFlags); -}; -pub fn DeviceWrapper(comptime cmds: DeviceCommandFlags) type { + pub fn getScreenBufferPropertiesQNX( + self: Self, + device: Device, + buffer: *const _screen_buffer, + p_properties: *ScreenBufferPropertiesQNX, + ) GetScreenBufferPropertiesQNXError!void { + const result = self.dispatch.vkGetScreenBufferPropertiesQNX( + device, + buffer, + p_properties, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_invalid_external_handle_khr => return error.InvalidExternalHandleKHR, + else => return error.Unknown, + } + } + pub const GetExecutionGraphPipelineScratchSizeAMDXError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn getExecutionGraphPipelineScratchSizeAMDX( + self: Self, + device: Device, + execution_graph: Pipeline, + p_size_info: *ExecutionGraphPipelineScratchSizeAMDX, + ) GetExecutionGraphPipelineScratchSizeAMDXError!void { + const result = self.dispatch.vkGetExecutionGraphPipelineScratchSizeAMDX( + device, + execution_graph, + p_size_info, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + } + pub const GetExecutionGraphPipelineNodeIndexAMDXError = error{ + OutOfHostMemory, + Unknown, + }; + pub fn getExecutionGraphPipelineNodeIndexAMDX( + self: Self, + device: Device, + execution_graph: Pipeline, + p_node_info: *const PipelineShaderStageNodeCreateInfoAMDX, + ) GetExecutionGraphPipelineNodeIndexAMDXError!u32 { + var out_node_index: u32 = undefined; + const result = self.dispatch.vkGetExecutionGraphPipelineNodeIndexAMDX( + device, + execution_graph, + p_node_info, + &out_node_index, + ); + switch (result) { + Result.success => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + else => return error.Unknown, + } + return out_node_index; + } + pub const CreateExecutionGraphPipelinesAMDXError = error{ + OutOfHostMemory, + OutOfDeviceMemory, + Unknown, + }; + pub fn createExecutionGraphPipelinesAMDX( + self: Self, + device: Device, + pipeline_cache: PipelineCache, + create_info_count: u32, + p_create_infos: [*]const ExecutionGraphPipelineCreateInfoAMDX, + p_allocator: ?*const AllocationCallbacks, + p_pipelines: [*]Pipeline, + ) CreateExecutionGraphPipelinesAMDXError!Result { + const result = self.dispatch.vkCreateExecutionGraphPipelinesAMDX( + device, + pipeline_cache, + create_info_count, + p_create_infos, + p_allocator, + p_pipelines, + ); + switch (result) { + Result.success => {}, + Result.pipeline_compile_required_ext => {}, + Result.error_out_of_host_memory => return error.OutOfHostMemory, + Result.error_out_of_device_memory => return error.OutOfDeviceMemory, + else => return error.Unknown, + } + return result; + } + pub fn cmdInitializeGraphScratchMemoryAMDX( + self: Self, + command_buffer: CommandBuffer, + scratch: DeviceAddress, + ) void { + self.dispatch.vkCmdInitializeGraphScratchMemoryAMDX( + command_buffer, + scratch, + ); + } + pub fn cmdDispatchGraphAMDX( + self: Self, + command_buffer: CommandBuffer, + scratch: DeviceAddress, + p_count_info: *const DispatchGraphCountInfoAMDX, + ) void { + self.dispatch.vkCmdDispatchGraphAMDX( + command_buffer, + scratch, + p_count_info, + ); + } + pub fn cmdDispatchGraphIndirectAMDX( + self: Self, + command_buffer: CommandBuffer, + scratch: DeviceAddress, + p_count_info: *const DispatchGraphCountInfoAMDX, + ) void { + self.dispatch.vkCmdDispatchGraphIndirectAMDX( + command_buffer, + scratch, + p_count_info, + ); + } + pub fn cmdDispatchGraphIndirectCountAMDX( + self: Self, + command_buffer: CommandBuffer, + scratch: DeviceAddress, + count_info: DeviceAddress, + ) void { + self.dispatch.vkCmdDispatchGraphIndirectCountAMDX( + command_buffer, + scratch, + count_info, + ); + } + pub fn cmdBindDescriptorSets2KHR( + self: Self, + command_buffer: CommandBuffer, + p_bind_descriptor_sets_info: *const BindDescriptorSetsInfoKHR, + ) void { + self.dispatch.vkCmdBindDescriptorSets2KHR( + command_buffer, + p_bind_descriptor_sets_info, + ); + } + pub fn cmdPushConstants2KHR( + self: Self, + command_buffer: CommandBuffer, + p_push_constants_info: *const PushConstantsInfoKHR, + ) void { + self.dispatch.vkCmdPushConstants2KHR( + command_buffer, + p_push_constants_info, + ); + } + pub fn cmdPushDescriptorSet2KHR( + self: Self, + command_buffer: CommandBuffer, + p_push_descriptor_set_info: *const PushDescriptorSetInfoKHR, + ) void { + self.dispatch.vkCmdPushDescriptorSet2KHR( + command_buffer, + p_push_descriptor_set_info, + ); + } + pub fn cmdPushDescriptorSetWithTemplate2KHR( + self: Self, + command_buffer: CommandBuffer, + p_push_descriptor_set_with_template_info: *const PushDescriptorSetWithTemplateInfoKHR, + ) void { + self.dispatch.vkCmdPushDescriptorSetWithTemplate2KHR( + command_buffer, + p_push_descriptor_set_with_template_info, + ); + } + pub fn cmdSetDescriptorBufferOffsets2EXT( + self: Self, + command_buffer: CommandBuffer, + p_set_descriptor_buffer_offsets_info: *const SetDescriptorBufferOffsetsInfoEXT, + ) void { + self.dispatch.vkCmdSetDescriptorBufferOffsets2EXT( + command_buffer, + p_set_descriptor_buffer_offsets_info, + ); + } + pub fn cmdBindDescriptorBufferEmbeddedSamplers2EXT( + self: Self, + command_buffer: CommandBuffer, + p_bind_descriptor_buffer_embedded_samplers_info: *const BindDescriptorBufferEmbeddedSamplersInfoEXT, + ) void { + self.dispatch.vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( + command_buffer, + p_bind_descriptor_buffer_embedded_samplers_info, + ); + } + pub const SetLatencySleepModeNVError = error{ + InitializationFailed, + Unknown, + }; + pub fn setLatencySleepModeNV( + self: Self, + device: Device, + swapchain: SwapchainKHR, + p_sleep_mode_info: *const LatencySleepModeInfoNV, + ) SetLatencySleepModeNVError!void { + const result = self.dispatch.vkSetLatencySleepModeNV( + device, + swapchain, + p_sleep_mode_info, + ); + switch (result) { + Result.success => {}, + Result.error_initialization_failed => return error.InitializationFailed, + else => return error.Unknown, + } + } + pub const LatencySleepNVError = error{ + Unknown, + }; + pub fn latencySleepNV( + self: Self, + device: Device, + swapchain: SwapchainKHR, + p_sleep_info: *const LatencySleepInfoNV, + ) LatencySleepNVError!void { + const result = self.dispatch.vkLatencySleepNV( + device, + swapchain, + p_sleep_info, + ); + switch (result) { + Result.success => {}, + else => return error.Unknown, + } + } + pub fn setLatencyMarkerNV( + self: Self, + device: Device, + swapchain: SwapchainKHR, + p_latency_marker_info: *const SetLatencyMarkerInfoNV, + ) void { + self.dispatch.vkSetLatencyMarkerNV( + device, + swapchain, + p_latency_marker_info, + ); + } + pub fn getLatencyTimingsNV( + self: Self, + device: Device, + swapchain: SwapchainKHR, + p_latency_marker_info: *GetLatencyMarkerInfoNV, + ) void { + self.dispatch.vkGetLatencyTimingsNV( + device, + swapchain, + p_latency_marker_info, + ); + } + pub fn queueNotifyOutOfBandNV( + self: Self, + queue: Queue, + p_queue_type_info: *const OutOfBandQueueTypeInfoNV, + ) void { + self.dispatch.vkQueueNotifyOutOfBandNV( + queue, + p_queue_type_info, + ); + } + pub fn cmdSetRenderingAttachmentLocationsKHR( + self: Self, + command_buffer: CommandBuffer, + p_location_info: *const RenderingAttachmentLocationInfoKHR, + ) void { + self.dispatch.vkCmdSetRenderingAttachmentLocationsKHR( + command_buffer, + p_location_info, + ); + } + pub fn cmdSetRenderingInputAttachmentIndicesKHR( + self: Self, + command_buffer: CommandBuffer, + p_location_info: *const RenderingInputAttachmentIndexInfoKHR, + ) void { + self.dispatch.vkCmdSetRenderingInputAttachmentIndicesKHR( + command_buffer, + p_location_info, + ); + } + }; +} +pub fn InstanceProxy(comptime apis: []const ApiInfo) type { + return struct { + const Self = @This(); + pub const Wrapper = InstanceWrapper(apis); + + handle: Instance, + wrapper: *const Wrapper, + + pub fn init(handle: Instance, wrapper: *const Wrapper) Self { + return .{ + .handle = handle, + .wrapper = wrapper, + }; + } + pub fn destroyInstance( + self: Self, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyInstance( + self.handle, + p_allocator, + ); + } + pub const EnumeratePhysicalDevicesError = Wrapper.EnumeratePhysicalDevicesError; + pub fn enumeratePhysicalDevices( + self: Self, + p_physical_device_count: *u32, + p_physical_devices: ?[*]PhysicalDevice, + ) EnumeratePhysicalDevicesError!Result { + return self.wrapper.enumeratePhysicalDevices( + self.handle, + p_physical_device_count, + p_physical_devices, + ); + } + pub fn getDeviceProcAddr( + self: Self, + device: Device, + p_name: [*:0]const u8, + ) PfnVoidFunction { + return self.wrapper.getDeviceProcAddr( + device, + p_name, + ); + } + pub fn getPhysicalDeviceProperties( + self: Self, + physical_device: PhysicalDevice, + ) PhysicalDeviceProperties { + return self.wrapper.getPhysicalDeviceProperties( + physical_device, + ); + } + pub fn getPhysicalDeviceQueueFamilyProperties( + self: Self, + physical_device: PhysicalDevice, + p_queue_family_property_count: *u32, + p_queue_family_properties: ?[*]QueueFamilyProperties, + ) void { + return self.wrapper.getPhysicalDeviceQueueFamilyProperties( + physical_device, + p_queue_family_property_count, + p_queue_family_properties, + ); + } + pub fn getPhysicalDeviceMemoryProperties( + self: Self, + physical_device: PhysicalDevice, + ) PhysicalDeviceMemoryProperties { + return self.wrapper.getPhysicalDeviceMemoryProperties( + physical_device, + ); + } + pub fn getPhysicalDeviceFeatures( + self: Self, + physical_device: PhysicalDevice, + ) PhysicalDeviceFeatures { + return self.wrapper.getPhysicalDeviceFeatures( + physical_device, + ); + } + pub fn getPhysicalDeviceFormatProperties( + self: Self, + physical_device: PhysicalDevice, + format: Format, + ) FormatProperties { + return self.wrapper.getPhysicalDeviceFormatProperties( + physical_device, + format, + ); + } + pub const GetPhysicalDeviceImageFormatPropertiesError = Wrapper.GetPhysicalDeviceImageFormatPropertiesError; + pub fn getPhysicalDeviceImageFormatProperties( + self: Self, + physical_device: PhysicalDevice, + format: Format, + @"type": ImageType, + tiling: ImageTiling, + usage: ImageUsageFlags, + flags: ImageCreateFlags, + ) GetPhysicalDeviceImageFormatPropertiesError!ImageFormatProperties { + return self.wrapper.getPhysicalDeviceImageFormatProperties( + physical_device, + format, + @"type", + tiling, + usage, + flags, + ); + } + pub const CreateDeviceError = Wrapper.CreateDeviceError; + pub fn createDevice( + self: Self, + physical_device: PhysicalDevice, + p_create_info: *const DeviceCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateDeviceError!Device { + return self.wrapper.createDevice( + physical_device, + p_create_info, + p_allocator, + ); + } + pub const EnumerateDeviceLayerPropertiesError = Wrapper.EnumerateDeviceLayerPropertiesError; + pub fn enumerateDeviceLayerProperties( + self: Self, + physical_device: PhysicalDevice, + p_property_count: *u32, + p_properties: ?[*]LayerProperties, + ) EnumerateDeviceLayerPropertiesError!Result { + return self.wrapper.enumerateDeviceLayerProperties( + physical_device, + p_property_count, + p_properties, + ); + } + pub const EnumerateDeviceExtensionPropertiesError = Wrapper.EnumerateDeviceExtensionPropertiesError; + pub fn enumerateDeviceExtensionProperties( + self: Self, + physical_device: PhysicalDevice, + p_layer_name: ?[*:0]const u8, + p_property_count: *u32, + p_properties: ?[*]ExtensionProperties, + ) EnumerateDeviceExtensionPropertiesError!Result { + return self.wrapper.enumerateDeviceExtensionProperties( + physical_device, + p_layer_name, + p_property_count, + p_properties, + ); + } + pub fn getPhysicalDeviceSparseImageFormatProperties( + self: Self, + physical_device: PhysicalDevice, + format: Format, + @"type": ImageType, + samples: SampleCountFlags, + usage: ImageUsageFlags, + tiling: ImageTiling, + p_property_count: *u32, + p_properties: ?[*]SparseImageFormatProperties, + ) void { + return self.wrapper.getPhysicalDeviceSparseImageFormatProperties( + physical_device, + format, + @"type", + samples, + usage, + tiling, + p_property_count, + p_properties, + ); + } + pub const CreateAndroidSurfaceKHRError = Wrapper.CreateAndroidSurfaceKHRError; + pub fn createAndroidSurfaceKHR( + self: Self, + p_create_info: *const AndroidSurfaceCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateAndroidSurfaceKHRError!SurfaceKHR { + return self.wrapper.createAndroidSurfaceKHR( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const GetPhysicalDeviceDisplayPropertiesKHRError = Wrapper.GetPhysicalDeviceDisplayPropertiesKHRError; + pub fn getPhysicalDeviceDisplayPropertiesKHR( + self: Self, + physical_device: PhysicalDevice, + p_property_count: *u32, + p_properties: ?[*]DisplayPropertiesKHR, + ) GetPhysicalDeviceDisplayPropertiesKHRError!Result { + return self.wrapper.getPhysicalDeviceDisplayPropertiesKHR( + physical_device, + p_property_count, + p_properties, + ); + } + pub const GetPhysicalDeviceDisplayPlanePropertiesKHRError = Wrapper.GetPhysicalDeviceDisplayPlanePropertiesKHRError; + pub fn getPhysicalDeviceDisplayPlanePropertiesKHR( + self: Self, + physical_device: PhysicalDevice, + p_property_count: *u32, + p_properties: ?[*]DisplayPlanePropertiesKHR, + ) GetPhysicalDeviceDisplayPlanePropertiesKHRError!Result { + return self.wrapper.getPhysicalDeviceDisplayPlanePropertiesKHR( + physical_device, + p_property_count, + p_properties, + ); + } + pub const GetDisplayPlaneSupportedDisplaysKHRError = Wrapper.GetDisplayPlaneSupportedDisplaysKHRError; + pub fn getDisplayPlaneSupportedDisplaysKHR( + self: Self, + physical_device: PhysicalDevice, + plane_index: u32, + p_display_count: *u32, + p_displays: ?[*]DisplayKHR, + ) GetDisplayPlaneSupportedDisplaysKHRError!Result { + return self.wrapper.getDisplayPlaneSupportedDisplaysKHR( + physical_device, + plane_index, + p_display_count, + p_displays, + ); + } + pub const GetDisplayModePropertiesKHRError = Wrapper.GetDisplayModePropertiesKHRError; + pub fn getDisplayModePropertiesKHR( + self: Self, + physical_device: PhysicalDevice, + display: DisplayKHR, + p_property_count: *u32, + p_properties: ?[*]DisplayModePropertiesKHR, + ) GetDisplayModePropertiesKHRError!Result { + return self.wrapper.getDisplayModePropertiesKHR( + physical_device, + display, + p_property_count, + p_properties, + ); + } + pub const CreateDisplayModeKHRError = Wrapper.CreateDisplayModeKHRError; + pub fn createDisplayModeKHR( + self: Self, + physical_device: PhysicalDevice, + display: DisplayKHR, + p_create_info: *const DisplayModeCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateDisplayModeKHRError!DisplayModeKHR { + return self.wrapper.createDisplayModeKHR( + physical_device, + display, + p_create_info, + p_allocator, + ); + } + pub const GetDisplayPlaneCapabilitiesKHRError = Wrapper.GetDisplayPlaneCapabilitiesKHRError; + pub fn getDisplayPlaneCapabilitiesKHR( + self: Self, + physical_device: PhysicalDevice, + mode: DisplayModeKHR, + plane_index: u32, + ) GetDisplayPlaneCapabilitiesKHRError!DisplayPlaneCapabilitiesKHR { + return self.wrapper.getDisplayPlaneCapabilitiesKHR( + physical_device, + mode, + plane_index, + ); + } + pub const CreateDisplayPlaneSurfaceKHRError = Wrapper.CreateDisplayPlaneSurfaceKHRError; + pub fn createDisplayPlaneSurfaceKHR( + self: Self, + p_create_info: *const DisplaySurfaceCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateDisplayPlaneSurfaceKHRError!SurfaceKHR { + return self.wrapper.createDisplayPlaneSurfaceKHR( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroySurfaceKHR( + self: Self, + surface: SurfaceKHR, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroySurfaceKHR( + self.handle, + surface, + p_allocator, + ); + } + pub const GetPhysicalDeviceSurfaceSupportKHRError = Wrapper.GetPhysicalDeviceSurfaceSupportKHRError; + pub fn getPhysicalDeviceSurfaceSupportKHR( + self: Self, + physical_device: PhysicalDevice, + queue_family_index: u32, + surface: SurfaceKHR, + ) GetPhysicalDeviceSurfaceSupportKHRError!Bool32 { + return self.wrapper.getPhysicalDeviceSurfaceSupportKHR( + physical_device, + queue_family_index, + surface, + ); + } + pub const GetPhysicalDeviceSurfaceCapabilitiesKHRError = Wrapper.GetPhysicalDeviceSurfaceCapabilitiesKHRError; + pub fn getPhysicalDeviceSurfaceCapabilitiesKHR( + self: Self, + physical_device: PhysicalDevice, + surface: SurfaceKHR, + ) GetPhysicalDeviceSurfaceCapabilitiesKHRError!SurfaceCapabilitiesKHR { + return self.wrapper.getPhysicalDeviceSurfaceCapabilitiesKHR( + physical_device, + surface, + ); + } + pub const GetPhysicalDeviceSurfaceFormatsKHRError = Wrapper.GetPhysicalDeviceSurfaceFormatsKHRError; + pub fn getPhysicalDeviceSurfaceFormatsKHR( + self: Self, + physical_device: PhysicalDevice, + surface: SurfaceKHR, + p_surface_format_count: *u32, + p_surface_formats: ?[*]SurfaceFormatKHR, + ) GetPhysicalDeviceSurfaceFormatsKHRError!Result { + return self.wrapper.getPhysicalDeviceSurfaceFormatsKHR( + physical_device, + surface, + p_surface_format_count, + p_surface_formats, + ); + } + pub const GetPhysicalDeviceSurfacePresentModesKHRError = Wrapper.GetPhysicalDeviceSurfacePresentModesKHRError; + pub fn getPhysicalDeviceSurfacePresentModesKHR( + self: Self, + physical_device: PhysicalDevice, + surface: SurfaceKHR, + p_present_mode_count: *u32, + p_present_modes: ?[*]PresentModeKHR, + ) GetPhysicalDeviceSurfacePresentModesKHRError!Result { + return self.wrapper.getPhysicalDeviceSurfacePresentModesKHR( + physical_device, + surface, + p_present_mode_count, + p_present_modes, + ); + } + pub const CreateViSurfaceNNError = Wrapper.CreateViSurfaceNNError; + pub fn createViSurfaceNN( + self: Self, + p_create_info: *const ViSurfaceCreateInfoNN, + p_allocator: ?*const AllocationCallbacks, + ) CreateViSurfaceNNError!SurfaceKHR { + return self.wrapper.createViSurfaceNN( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const CreateWaylandSurfaceKHRError = Wrapper.CreateWaylandSurfaceKHRError; + pub fn createWaylandSurfaceKHR( + self: Self, + p_create_info: *const WaylandSurfaceCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateWaylandSurfaceKHRError!SurfaceKHR { + return self.wrapper.createWaylandSurfaceKHR( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn getPhysicalDeviceWaylandPresentationSupportKHR( + self: Self, + physical_device: PhysicalDevice, + queue_family_index: u32, + display: *wl_display, + ) Bool32 { + return self.wrapper.getPhysicalDeviceWaylandPresentationSupportKHR( + physical_device, + queue_family_index, + display, + ); + } + pub const CreateWin32SurfaceKHRError = Wrapper.CreateWin32SurfaceKHRError; + pub fn createWin32SurfaceKHR( + self: Self, + p_create_info: *const Win32SurfaceCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateWin32SurfaceKHRError!SurfaceKHR { + return self.wrapper.createWin32SurfaceKHR( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn getPhysicalDeviceWin32PresentationSupportKHR( + self: Self, + physical_device: PhysicalDevice, + queue_family_index: u32, + ) Bool32 { + return self.wrapper.getPhysicalDeviceWin32PresentationSupportKHR( + physical_device, + queue_family_index, + ); + } + pub const CreateXlibSurfaceKHRError = Wrapper.CreateXlibSurfaceKHRError; + pub fn createXlibSurfaceKHR( + self: Self, + p_create_info: *const XlibSurfaceCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateXlibSurfaceKHRError!SurfaceKHR { + return self.wrapper.createXlibSurfaceKHR( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn getPhysicalDeviceXlibPresentationSupportKHR( + self: Self, + physical_device: PhysicalDevice, + queue_family_index: u32, + dpy: *Display, + visual_id: VisualID, + ) Bool32 { + return self.wrapper.getPhysicalDeviceXlibPresentationSupportKHR( + physical_device, + queue_family_index, + dpy, + visual_id, + ); + } + pub const CreateXcbSurfaceKHRError = Wrapper.CreateXcbSurfaceKHRError; + pub fn createXcbSurfaceKHR( + self: Self, + p_create_info: *const XcbSurfaceCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateXcbSurfaceKHRError!SurfaceKHR { + return self.wrapper.createXcbSurfaceKHR( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn getPhysicalDeviceXcbPresentationSupportKHR( + self: Self, + physical_device: PhysicalDevice, + queue_family_index: u32, + connection: *xcb_connection_t, + visual_id: xcb_visualid_t, + ) Bool32 { + return self.wrapper.getPhysicalDeviceXcbPresentationSupportKHR( + physical_device, + queue_family_index, + connection, + visual_id, + ); + } + pub const CreateDirectFbSurfaceEXTError = Wrapper.CreateDirectFbSurfaceEXTError; + pub fn createDirectFbSurfaceEXT( + self: Self, + p_create_info: *const DirectFBSurfaceCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) CreateDirectFbSurfaceEXTError!SurfaceKHR { + return self.wrapper.createDirectFbSurfaceEXT( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn getPhysicalDeviceDirectFbPresentationSupportEXT( + self: Self, + physical_device: PhysicalDevice, + queue_family_index: u32, + dfb: *IDirectFB, + ) Bool32 { + return self.wrapper.getPhysicalDeviceDirectFbPresentationSupportEXT( + physical_device, + queue_family_index, + dfb, + ); + } + pub const CreateImagePipeSurfaceFUCHSIAError = Wrapper.CreateImagePipeSurfaceFUCHSIAError; + pub fn createImagePipeSurfaceFUCHSIA( + self: Self, + p_create_info: *const ImagePipeSurfaceCreateInfoFUCHSIA, + p_allocator: ?*const AllocationCallbacks, + ) CreateImagePipeSurfaceFUCHSIAError!SurfaceKHR { + return self.wrapper.createImagePipeSurfaceFUCHSIA( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const CreateStreamDescriptorSurfaceGGPError = Wrapper.CreateStreamDescriptorSurfaceGGPError; + pub fn createStreamDescriptorSurfaceGGP( + self: Self, + p_create_info: *const StreamDescriptorSurfaceCreateInfoGGP, + p_allocator: ?*const AllocationCallbacks, + ) CreateStreamDescriptorSurfaceGGPError!SurfaceKHR { + return self.wrapper.createStreamDescriptorSurfaceGGP( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const CreateScreenSurfaceQNXError = Wrapper.CreateScreenSurfaceQNXError; + pub fn createScreenSurfaceQNX( + self: Self, + p_create_info: *const ScreenSurfaceCreateInfoQNX, + p_allocator: ?*const AllocationCallbacks, + ) CreateScreenSurfaceQNXError!SurfaceKHR { + return self.wrapper.createScreenSurfaceQNX( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn getPhysicalDeviceScreenPresentationSupportQNX( + self: Self, + physical_device: PhysicalDevice, + queue_family_index: u32, + window: *_screen_window, + ) Bool32 { + return self.wrapper.getPhysicalDeviceScreenPresentationSupportQNX( + physical_device, + queue_family_index, + window, + ); + } + pub const CreateDebugReportCallbackEXTError = Wrapper.CreateDebugReportCallbackEXTError; + pub fn createDebugReportCallbackEXT( + self: Self, + p_create_info: *const DebugReportCallbackCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) CreateDebugReportCallbackEXTError!DebugReportCallbackEXT { + return self.wrapper.createDebugReportCallbackEXT( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyDebugReportCallbackEXT( + self: Self, + callback: DebugReportCallbackEXT, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyDebugReportCallbackEXT( + self.handle, + callback, + p_allocator, + ); + } + pub fn debugReportMessageEXT( + self: Self, + flags: DebugReportFlagsEXT, + object_type: DebugReportObjectTypeEXT, + object: u64, + location: usize, + message_code: i32, + p_layer_prefix: [*:0]const u8, + p_message: [*:0]const u8, + ) void { + return self.wrapper.debugReportMessageEXT( + self.handle, + flags, + object_type, + object, + location, + message_code, + p_layer_prefix, + p_message, + ); + } + pub const GetPhysicalDeviceExternalImageFormatPropertiesNVError = Wrapper.GetPhysicalDeviceExternalImageFormatPropertiesNVError; + pub fn getPhysicalDeviceExternalImageFormatPropertiesNV( + self: Self, + physical_device: PhysicalDevice, + format: Format, + @"type": ImageType, + tiling: ImageTiling, + usage: ImageUsageFlags, + flags: ImageCreateFlags, + external_handle_type: ExternalMemoryHandleTypeFlagsNV, + ) GetPhysicalDeviceExternalImageFormatPropertiesNVError!ExternalImageFormatPropertiesNV { + return self.wrapper.getPhysicalDeviceExternalImageFormatPropertiesNV( + physical_device, + format, + @"type", + tiling, + usage, + flags, + external_handle_type, + ); + } + pub fn getPhysicalDeviceFeatures2( + self: Self, + physical_device: PhysicalDevice, + p_features: *PhysicalDeviceFeatures2, + ) void { + return self.wrapper.getPhysicalDeviceFeatures2( + physical_device, + p_features, + ); + } + pub fn getPhysicalDeviceFeatures2KHR( + self: Self, + physical_device: PhysicalDevice, + p_features: *PhysicalDeviceFeatures2, + ) void { + return self.wrapper.getPhysicalDeviceFeatures2KHR( + physical_device, + p_features, + ); + } + pub fn getPhysicalDeviceProperties2( + self: Self, + physical_device: PhysicalDevice, + p_properties: *PhysicalDeviceProperties2, + ) void { + return self.wrapper.getPhysicalDeviceProperties2( + physical_device, + p_properties, + ); + } + pub fn getPhysicalDeviceProperties2KHR( + self: Self, + physical_device: PhysicalDevice, + p_properties: *PhysicalDeviceProperties2, + ) void { + return self.wrapper.getPhysicalDeviceProperties2KHR( + physical_device, + p_properties, + ); + } + pub fn getPhysicalDeviceFormatProperties2( + self: Self, + physical_device: PhysicalDevice, + format: Format, + p_format_properties: *FormatProperties2, + ) void { + return self.wrapper.getPhysicalDeviceFormatProperties2( + physical_device, + format, + p_format_properties, + ); + } + pub fn getPhysicalDeviceFormatProperties2KHR( + self: Self, + physical_device: PhysicalDevice, + format: Format, + p_format_properties: *FormatProperties2, + ) void { + return self.wrapper.getPhysicalDeviceFormatProperties2KHR( + physical_device, + format, + p_format_properties, + ); + } + pub const GetPhysicalDeviceImageFormatProperties2Error = Wrapper.GetPhysicalDeviceImageFormatProperties2Error; + pub fn getPhysicalDeviceImageFormatProperties2( + self: Self, + physical_device: PhysicalDevice, + p_image_format_info: *const PhysicalDeviceImageFormatInfo2, + p_image_format_properties: *ImageFormatProperties2, + ) GetPhysicalDeviceImageFormatProperties2Error!void { + return self.wrapper.getPhysicalDeviceImageFormatProperties2( + physical_device, + p_image_format_info, + p_image_format_properties, + ); + } + pub const GetPhysicalDeviceImageFormatProperties2KHRError = Wrapper.GetPhysicalDeviceImageFormatProperties2KHRError; + pub fn getPhysicalDeviceImageFormatProperties2KHR( + self: Self, + physical_device: PhysicalDevice, + p_image_format_info: *const PhysicalDeviceImageFormatInfo2, + p_image_format_properties: *ImageFormatProperties2, + ) GetPhysicalDeviceImageFormatProperties2KHRError!void { + return self.wrapper.getPhysicalDeviceImageFormatProperties2KHR( + physical_device, + p_image_format_info, + p_image_format_properties, + ); + } + pub fn getPhysicalDeviceQueueFamilyProperties2( + self: Self, + physical_device: PhysicalDevice, + p_queue_family_property_count: *u32, + p_queue_family_properties: ?[*]QueueFamilyProperties2, + ) void { + return self.wrapper.getPhysicalDeviceQueueFamilyProperties2( + physical_device, + p_queue_family_property_count, + p_queue_family_properties, + ); + } + pub fn getPhysicalDeviceQueueFamilyProperties2KHR( + self: Self, + physical_device: PhysicalDevice, + p_queue_family_property_count: *u32, + p_queue_family_properties: ?[*]QueueFamilyProperties2, + ) void { + return self.wrapper.getPhysicalDeviceQueueFamilyProperties2KHR( + physical_device, + p_queue_family_property_count, + p_queue_family_properties, + ); + } + pub fn getPhysicalDeviceMemoryProperties2( + self: Self, + physical_device: PhysicalDevice, + p_memory_properties: *PhysicalDeviceMemoryProperties2, + ) void { + return self.wrapper.getPhysicalDeviceMemoryProperties2( + physical_device, + p_memory_properties, + ); + } + pub fn getPhysicalDeviceMemoryProperties2KHR( + self: Self, + physical_device: PhysicalDevice, + p_memory_properties: *PhysicalDeviceMemoryProperties2, + ) void { + return self.wrapper.getPhysicalDeviceMemoryProperties2KHR( + physical_device, + p_memory_properties, + ); + } + pub fn getPhysicalDeviceSparseImageFormatProperties2( + self: Self, + physical_device: PhysicalDevice, + p_format_info: *const PhysicalDeviceSparseImageFormatInfo2, + p_property_count: *u32, + p_properties: ?[*]SparseImageFormatProperties2, + ) void { + return self.wrapper.getPhysicalDeviceSparseImageFormatProperties2( + physical_device, + p_format_info, + p_property_count, + p_properties, + ); + } + pub fn getPhysicalDeviceSparseImageFormatProperties2KHR( + self: Self, + physical_device: PhysicalDevice, + p_format_info: *const PhysicalDeviceSparseImageFormatInfo2, + p_property_count: *u32, + p_properties: ?[*]SparseImageFormatProperties2, + ) void { + return self.wrapper.getPhysicalDeviceSparseImageFormatProperties2KHR( + physical_device, + p_format_info, + p_property_count, + p_properties, + ); + } + pub fn getPhysicalDeviceExternalBufferProperties( + self: Self, + physical_device: PhysicalDevice, + p_external_buffer_info: *const PhysicalDeviceExternalBufferInfo, + p_external_buffer_properties: *ExternalBufferProperties, + ) void { + return self.wrapper.getPhysicalDeviceExternalBufferProperties( + physical_device, + p_external_buffer_info, + p_external_buffer_properties, + ); + } + pub fn getPhysicalDeviceExternalBufferPropertiesKHR( + self: Self, + physical_device: PhysicalDevice, + p_external_buffer_info: *const PhysicalDeviceExternalBufferInfo, + p_external_buffer_properties: *ExternalBufferProperties, + ) void { + return self.wrapper.getPhysicalDeviceExternalBufferPropertiesKHR( + physical_device, + p_external_buffer_info, + p_external_buffer_properties, + ); + } + pub const GetPhysicalDeviceExternalMemorySciBufPropertiesNVError = Wrapper.GetPhysicalDeviceExternalMemorySciBufPropertiesNVError; + pub fn getPhysicalDeviceExternalMemorySciBufPropertiesNV( + self: Self, + physical_device: PhysicalDevice, + handle_type: ExternalMemoryHandleTypeFlags, + handle: NvSciBufObj, + p_memory_sci_buf_properties: *MemorySciBufPropertiesNV, + ) GetPhysicalDeviceExternalMemorySciBufPropertiesNVError!void { + return self.wrapper.getPhysicalDeviceExternalMemorySciBufPropertiesNV( + physical_device, + handle_type, + handle, + p_memory_sci_buf_properties, + ); + } + pub const GetPhysicalDeviceSciBufAttributesNVError = Wrapper.GetPhysicalDeviceSciBufAttributesNVError; + pub fn getPhysicalDeviceSciBufAttributesNV( + self: Self, + physical_device: PhysicalDevice, + p_attributes: NvSciBufAttrList, + ) GetPhysicalDeviceSciBufAttributesNVError!void { + return self.wrapper.getPhysicalDeviceSciBufAttributesNV( + physical_device, + p_attributes, + ); + } + pub fn getPhysicalDeviceExternalSemaphoreProperties( + self: Self, + physical_device: PhysicalDevice, + p_external_semaphore_info: *const PhysicalDeviceExternalSemaphoreInfo, + p_external_semaphore_properties: *ExternalSemaphoreProperties, + ) void { + return self.wrapper.getPhysicalDeviceExternalSemaphoreProperties( + physical_device, + p_external_semaphore_info, + p_external_semaphore_properties, + ); + } + pub fn getPhysicalDeviceExternalSemaphorePropertiesKHR( + self: Self, + physical_device: PhysicalDevice, + p_external_semaphore_info: *const PhysicalDeviceExternalSemaphoreInfo, + p_external_semaphore_properties: *ExternalSemaphoreProperties, + ) void { + return self.wrapper.getPhysicalDeviceExternalSemaphorePropertiesKHR( + physical_device, + p_external_semaphore_info, + p_external_semaphore_properties, + ); + } + pub fn getPhysicalDeviceExternalFenceProperties( + self: Self, + physical_device: PhysicalDevice, + p_external_fence_info: *const PhysicalDeviceExternalFenceInfo, + p_external_fence_properties: *ExternalFenceProperties, + ) void { + return self.wrapper.getPhysicalDeviceExternalFenceProperties( + physical_device, + p_external_fence_info, + p_external_fence_properties, + ); + } + pub fn getPhysicalDeviceExternalFencePropertiesKHR( + self: Self, + physical_device: PhysicalDevice, + p_external_fence_info: *const PhysicalDeviceExternalFenceInfo, + p_external_fence_properties: *ExternalFenceProperties, + ) void { + return self.wrapper.getPhysicalDeviceExternalFencePropertiesKHR( + physical_device, + p_external_fence_info, + p_external_fence_properties, + ); + } + pub const GetPhysicalDeviceSciSyncAttributesNVError = Wrapper.GetPhysicalDeviceSciSyncAttributesNVError; + pub fn getPhysicalDeviceSciSyncAttributesNV( + self: Self, + physical_device: PhysicalDevice, + p_sci_sync_attributes_info: *const SciSyncAttributesInfoNV, + p_attributes: NvSciSyncAttrList, + ) GetPhysicalDeviceSciSyncAttributesNVError!void { + return self.wrapper.getPhysicalDeviceSciSyncAttributesNV( + physical_device, + p_sci_sync_attributes_info, + p_attributes, + ); + } + pub const ReleaseDisplayEXTError = Wrapper.ReleaseDisplayEXTError; + pub fn releaseDisplayEXT( + self: Self, + physical_device: PhysicalDevice, + display: DisplayKHR, + ) ReleaseDisplayEXTError!void { + return self.wrapper.releaseDisplayEXT( + physical_device, + display, + ); + } + pub const AcquireXlibDisplayEXTError = Wrapper.AcquireXlibDisplayEXTError; + pub fn acquireXlibDisplayEXT( + self: Self, + physical_device: PhysicalDevice, + dpy: *Display, + display: DisplayKHR, + ) AcquireXlibDisplayEXTError!void { + return self.wrapper.acquireXlibDisplayEXT( + physical_device, + dpy, + display, + ); + } + pub const GetRandROutputDisplayEXTError = Wrapper.GetRandROutputDisplayEXTError; + pub fn getRandROutputDisplayEXT( + self: Self, + physical_device: PhysicalDevice, + dpy: *Display, + rr_output: RROutput, + ) GetRandROutputDisplayEXTError!DisplayKHR { + return self.wrapper.getRandROutputDisplayEXT( + physical_device, + dpy, + rr_output, + ); + } + pub const AcquireWinrtDisplayNVError = Wrapper.AcquireWinrtDisplayNVError; + pub fn acquireWinrtDisplayNV( + self: Self, + physical_device: PhysicalDevice, + display: DisplayKHR, + ) AcquireWinrtDisplayNVError!void { + return self.wrapper.acquireWinrtDisplayNV( + physical_device, + display, + ); + } + pub const GetWinrtDisplayNVError = Wrapper.GetWinrtDisplayNVError; + pub fn getWinrtDisplayNV( + self: Self, + physical_device: PhysicalDevice, + device_relative_id: u32, + ) GetWinrtDisplayNVError!DisplayKHR { + return self.wrapper.getWinrtDisplayNV( + physical_device, + device_relative_id, + ); + } + pub const GetPhysicalDeviceSurfaceCapabilities2EXTError = Wrapper.GetPhysicalDeviceSurfaceCapabilities2EXTError; + pub fn getPhysicalDeviceSurfaceCapabilities2EXT( + self: Self, + physical_device: PhysicalDevice, + surface: SurfaceKHR, + p_surface_capabilities: *SurfaceCapabilities2EXT, + ) GetPhysicalDeviceSurfaceCapabilities2EXTError!void { + return self.wrapper.getPhysicalDeviceSurfaceCapabilities2EXT( + physical_device, + surface, + p_surface_capabilities, + ); + } + pub const EnumeratePhysicalDeviceGroupsError = Wrapper.EnumeratePhysicalDeviceGroupsError; + pub fn enumeratePhysicalDeviceGroups( + self: Self, + p_physical_device_group_count: *u32, + p_physical_device_group_properties: ?[*]PhysicalDeviceGroupProperties, + ) EnumeratePhysicalDeviceGroupsError!Result { + return self.wrapper.enumeratePhysicalDeviceGroups( + self.handle, + p_physical_device_group_count, + p_physical_device_group_properties, + ); + } + pub const EnumeratePhysicalDeviceGroupsKHRError = Wrapper.EnumeratePhysicalDeviceGroupsKHRError; + pub fn enumeratePhysicalDeviceGroupsKHR( + self: Self, + p_physical_device_group_count: *u32, + p_physical_device_group_properties: ?[*]PhysicalDeviceGroupProperties, + ) EnumeratePhysicalDeviceGroupsKHRError!Result { + return self.wrapper.enumeratePhysicalDeviceGroupsKHR( + self.handle, + p_physical_device_group_count, + p_physical_device_group_properties, + ); + } + pub const GetPhysicalDevicePresentRectanglesKHRError = Wrapper.GetPhysicalDevicePresentRectanglesKHRError; + pub fn getPhysicalDevicePresentRectanglesKHR( + self: Self, + physical_device: PhysicalDevice, + surface: SurfaceKHR, + p_rect_count: *u32, + p_rects: ?[*]Rect2D, + ) GetPhysicalDevicePresentRectanglesKHRError!Result { + return self.wrapper.getPhysicalDevicePresentRectanglesKHR( + physical_device, + surface, + p_rect_count, + p_rects, + ); + } + pub const CreateIosSurfaceMVKError = Wrapper.CreateIosSurfaceMVKError; + pub fn createIosSurfaceMVK( + self: Self, + p_create_info: *const IOSSurfaceCreateInfoMVK, + p_allocator: ?*const AllocationCallbacks, + ) CreateIosSurfaceMVKError!SurfaceKHR { + return self.wrapper.createIosSurfaceMVK( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const CreateMacOsSurfaceMVKError = Wrapper.CreateMacOsSurfaceMVKError; + pub fn createMacOsSurfaceMVK( + self: Self, + p_create_info: *const MacOSSurfaceCreateInfoMVK, + p_allocator: ?*const AllocationCallbacks, + ) CreateMacOsSurfaceMVKError!SurfaceKHR { + return self.wrapper.createMacOsSurfaceMVK( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const CreateMetalSurfaceEXTError = Wrapper.CreateMetalSurfaceEXTError; + pub fn createMetalSurfaceEXT( + self: Self, + p_create_info: *const MetalSurfaceCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) CreateMetalSurfaceEXTError!SurfaceKHR { + return self.wrapper.createMetalSurfaceEXT( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn getPhysicalDeviceMultisamplePropertiesEXT( + self: Self, + physical_device: PhysicalDevice, + samples: SampleCountFlags, + p_multisample_properties: *MultisamplePropertiesEXT, + ) void { + return self.wrapper.getPhysicalDeviceMultisamplePropertiesEXT( + physical_device, + samples, + p_multisample_properties, + ); + } + pub const GetPhysicalDeviceSurfaceCapabilities2KHRError = Wrapper.GetPhysicalDeviceSurfaceCapabilities2KHRError; + pub fn getPhysicalDeviceSurfaceCapabilities2KHR( + self: Self, + physical_device: PhysicalDevice, + p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, + p_surface_capabilities: *SurfaceCapabilities2KHR, + ) GetPhysicalDeviceSurfaceCapabilities2KHRError!void { + return self.wrapper.getPhysicalDeviceSurfaceCapabilities2KHR( + physical_device, + p_surface_info, + p_surface_capabilities, + ); + } + pub const GetPhysicalDeviceSurfaceFormats2KHRError = Wrapper.GetPhysicalDeviceSurfaceFormats2KHRError; + pub fn getPhysicalDeviceSurfaceFormats2KHR( + self: Self, + physical_device: PhysicalDevice, + p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, + p_surface_format_count: *u32, + p_surface_formats: ?[*]SurfaceFormat2KHR, + ) GetPhysicalDeviceSurfaceFormats2KHRError!Result { + return self.wrapper.getPhysicalDeviceSurfaceFormats2KHR( + physical_device, + p_surface_info, + p_surface_format_count, + p_surface_formats, + ); + } + pub const GetPhysicalDeviceDisplayProperties2KHRError = Wrapper.GetPhysicalDeviceDisplayProperties2KHRError; + pub fn getPhysicalDeviceDisplayProperties2KHR( + self: Self, + physical_device: PhysicalDevice, + p_property_count: *u32, + p_properties: ?[*]DisplayProperties2KHR, + ) GetPhysicalDeviceDisplayProperties2KHRError!Result { + return self.wrapper.getPhysicalDeviceDisplayProperties2KHR( + physical_device, + p_property_count, + p_properties, + ); + } + pub const GetPhysicalDeviceDisplayPlaneProperties2KHRError = Wrapper.GetPhysicalDeviceDisplayPlaneProperties2KHRError; + pub fn getPhysicalDeviceDisplayPlaneProperties2KHR( + self: Self, + physical_device: PhysicalDevice, + p_property_count: *u32, + p_properties: ?[*]DisplayPlaneProperties2KHR, + ) GetPhysicalDeviceDisplayPlaneProperties2KHRError!Result { + return self.wrapper.getPhysicalDeviceDisplayPlaneProperties2KHR( + physical_device, + p_property_count, + p_properties, + ); + } + pub const GetDisplayModeProperties2KHRError = Wrapper.GetDisplayModeProperties2KHRError; + pub fn getDisplayModeProperties2KHR( + self: Self, + physical_device: PhysicalDevice, + display: DisplayKHR, + p_property_count: *u32, + p_properties: ?[*]DisplayModeProperties2KHR, + ) GetDisplayModeProperties2KHRError!Result { + return self.wrapper.getDisplayModeProperties2KHR( + physical_device, + display, + p_property_count, + p_properties, + ); + } + pub const GetDisplayPlaneCapabilities2KHRError = Wrapper.GetDisplayPlaneCapabilities2KHRError; + pub fn getDisplayPlaneCapabilities2KHR( + self: Self, + physical_device: PhysicalDevice, + p_display_plane_info: *const DisplayPlaneInfo2KHR, + p_capabilities: *DisplayPlaneCapabilities2KHR, + ) GetDisplayPlaneCapabilities2KHRError!void { + return self.wrapper.getDisplayPlaneCapabilities2KHR( + physical_device, + p_display_plane_info, + p_capabilities, + ); + } + pub const GetPhysicalDeviceCalibrateableTimeDomainsKHRError = Wrapper.GetPhysicalDeviceCalibrateableTimeDomainsKHRError; + pub fn getPhysicalDeviceCalibrateableTimeDomainsKHR( + self: Self, + physical_device: PhysicalDevice, + p_time_domain_count: *u32, + p_time_domains: ?[*]TimeDomainKHR, + ) GetPhysicalDeviceCalibrateableTimeDomainsKHRError!Result { + return self.wrapper.getPhysicalDeviceCalibrateableTimeDomainsKHR( + physical_device, + p_time_domain_count, + p_time_domains, + ); + } + pub const GetPhysicalDeviceCalibrateableTimeDomainsEXTError = Wrapper.GetPhysicalDeviceCalibrateableTimeDomainsEXTError; + pub fn getPhysicalDeviceCalibrateableTimeDomainsEXT( + self: Self, + physical_device: PhysicalDevice, + p_time_domain_count: *u32, + p_time_domains: ?[*]TimeDomainKHR, + ) GetPhysicalDeviceCalibrateableTimeDomainsEXTError!Result { + return self.wrapper.getPhysicalDeviceCalibrateableTimeDomainsEXT( + physical_device, + p_time_domain_count, + p_time_domains, + ); + } + pub const CreateDebugUtilsMessengerEXTError = Wrapper.CreateDebugUtilsMessengerEXTError; + pub fn createDebugUtilsMessengerEXT( + self: Self, + p_create_info: *const DebugUtilsMessengerCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) CreateDebugUtilsMessengerEXTError!DebugUtilsMessengerEXT { + return self.wrapper.createDebugUtilsMessengerEXT( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyDebugUtilsMessengerEXT( + self: Self, + messenger: DebugUtilsMessengerEXT, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyDebugUtilsMessengerEXT( + self.handle, + messenger, + p_allocator, + ); + } + pub fn submitDebugUtilsMessageEXT( + self: Self, + message_severity: DebugUtilsMessageSeverityFlagsEXT, + message_types: DebugUtilsMessageTypeFlagsEXT, + p_callback_data: *const DebugUtilsMessengerCallbackDataEXT, + ) void { + return self.wrapper.submitDebugUtilsMessageEXT( + self.handle, + message_severity, + message_types, + p_callback_data, + ); + } + pub const GetPhysicalDeviceCooperativeMatrixPropertiesNVError = Wrapper.GetPhysicalDeviceCooperativeMatrixPropertiesNVError; + pub fn getPhysicalDeviceCooperativeMatrixPropertiesNV( + self: Self, + physical_device: PhysicalDevice, + p_property_count: *u32, + p_properties: ?[*]CooperativeMatrixPropertiesNV, + ) GetPhysicalDeviceCooperativeMatrixPropertiesNVError!Result { + return self.wrapper.getPhysicalDeviceCooperativeMatrixPropertiesNV( + physical_device, + p_property_count, + p_properties, + ); + } + pub const GetPhysicalDeviceSurfacePresentModes2EXTError = Wrapper.GetPhysicalDeviceSurfacePresentModes2EXTError; + pub fn getPhysicalDeviceSurfacePresentModes2EXT( + self: Self, + physical_device: PhysicalDevice, + p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, + p_present_mode_count: *u32, + p_present_modes: ?[*]PresentModeKHR, + ) GetPhysicalDeviceSurfacePresentModes2EXTError!Result { + return self.wrapper.getPhysicalDeviceSurfacePresentModes2EXT( + physical_device, + p_surface_info, + p_present_mode_count, + p_present_modes, + ); + } + pub const EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHRError = Wrapper.EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHRError; + pub fn enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( + self: Self, + physical_device: PhysicalDevice, + queue_family_index: u32, + p_counter_count: *u32, + p_counters: ?[*]PerformanceCounterKHR, + p_counter_descriptions: ?[*]PerformanceCounterDescriptionKHR, + ) EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHRError!Result { + return self.wrapper.enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( + physical_device, + queue_family_index, + p_counter_count, + p_counters, + p_counter_descriptions, + ); + } + pub fn getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( + self: Self, + physical_device: PhysicalDevice, + p_performance_query_create_info: *const QueryPoolPerformanceCreateInfoKHR, + ) u32 { + return self.wrapper.getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( + physical_device, + p_performance_query_create_info, + ); + } + pub const CreateHeadlessSurfaceEXTError = Wrapper.CreateHeadlessSurfaceEXTError; + pub fn createHeadlessSurfaceEXT( + self: Self, + p_create_info: *const HeadlessSurfaceCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) CreateHeadlessSurfaceEXTError!SurfaceKHR { + return self.wrapper.createHeadlessSurfaceEXT( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVError = Wrapper.GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVError; + pub fn getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( + self: Self, + physical_device: PhysicalDevice, + p_combination_count: *u32, + p_combinations: ?[*]FramebufferMixedSamplesCombinationNV, + ) GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVError!Result { + return self.wrapper.getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( + physical_device, + p_combination_count, + p_combinations, + ); + } + pub const GetPhysicalDeviceToolPropertiesError = Wrapper.GetPhysicalDeviceToolPropertiesError; + pub fn getPhysicalDeviceToolProperties( + self: Self, + physical_device: PhysicalDevice, + p_tool_count: *u32, + p_tool_properties: ?[*]PhysicalDeviceToolProperties, + ) GetPhysicalDeviceToolPropertiesError!Result { + return self.wrapper.getPhysicalDeviceToolProperties( + physical_device, + p_tool_count, + p_tool_properties, + ); + } + pub const GetPhysicalDeviceToolPropertiesEXTError = Wrapper.GetPhysicalDeviceToolPropertiesEXTError; + pub fn getPhysicalDeviceToolPropertiesEXT( + self: Self, + physical_device: PhysicalDevice, + p_tool_count: *u32, + p_tool_properties: ?[*]PhysicalDeviceToolProperties, + ) GetPhysicalDeviceToolPropertiesEXTError!Result { + return self.wrapper.getPhysicalDeviceToolPropertiesEXT( + physical_device, + p_tool_count, + p_tool_properties, + ); + } + pub const GetPhysicalDeviceRefreshableObjectTypesKHRError = Wrapper.GetPhysicalDeviceRefreshableObjectTypesKHRError; + pub fn getPhysicalDeviceRefreshableObjectTypesKHR( + self: Self, + physical_device: PhysicalDevice, + p_refreshable_object_type_count: *u32, + p_refreshable_object_types: ?[*]ObjectType, + ) GetPhysicalDeviceRefreshableObjectTypesKHRError!Result { + return self.wrapper.getPhysicalDeviceRefreshableObjectTypesKHR( + physical_device, + p_refreshable_object_type_count, + p_refreshable_object_types, + ); + } + pub const GetPhysicalDeviceFragmentShadingRatesKHRError = Wrapper.GetPhysicalDeviceFragmentShadingRatesKHRError; + pub fn getPhysicalDeviceFragmentShadingRatesKHR( + self: Self, + physical_device: PhysicalDevice, + p_fragment_shading_rate_count: *u32, + p_fragment_shading_rates: ?[*]PhysicalDeviceFragmentShadingRateKHR, + ) GetPhysicalDeviceFragmentShadingRatesKHRError!Result { + return self.wrapper.getPhysicalDeviceFragmentShadingRatesKHR( + physical_device, + p_fragment_shading_rate_count, + p_fragment_shading_rates, + ); + } + pub const GetPhysicalDeviceVideoCapabilitiesKHRError = Wrapper.GetPhysicalDeviceVideoCapabilitiesKHRError; + pub fn getPhysicalDeviceVideoCapabilitiesKHR( + self: Self, + physical_device: PhysicalDevice, + p_video_profile: *const VideoProfileInfoKHR, + p_capabilities: *VideoCapabilitiesKHR, + ) GetPhysicalDeviceVideoCapabilitiesKHRError!void { + return self.wrapper.getPhysicalDeviceVideoCapabilitiesKHR( + physical_device, + p_video_profile, + p_capabilities, + ); + } + pub const GetPhysicalDeviceVideoFormatPropertiesKHRError = Wrapper.GetPhysicalDeviceVideoFormatPropertiesKHRError; + pub fn getPhysicalDeviceVideoFormatPropertiesKHR( + self: Self, + physical_device: PhysicalDevice, + p_video_format_info: *const PhysicalDeviceVideoFormatInfoKHR, + p_video_format_property_count: *u32, + p_video_format_properties: ?[*]VideoFormatPropertiesKHR, + ) GetPhysicalDeviceVideoFormatPropertiesKHRError!Result { + return self.wrapper.getPhysicalDeviceVideoFormatPropertiesKHR( + physical_device, + p_video_format_info, + p_video_format_property_count, + p_video_format_properties, + ); + } + pub const GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHRError = Wrapper.GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHRError; + pub fn getPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( + self: Self, + physical_device: PhysicalDevice, + p_quality_level_info: *const PhysicalDeviceVideoEncodeQualityLevelInfoKHR, + p_quality_level_properties: *VideoEncodeQualityLevelPropertiesKHR, + ) GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHRError!void { + return self.wrapper.getPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( + physical_device, + p_quality_level_info, + p_quality_level_properties, + ); + } + pub const AcquireDrmDisplayEXTError = Wrapper.AcquireDrmDisplayEXTError; + pub fn acquireDrmDisplayEXT( + self: Self, + physical_device: PhysicalDevice, + drm_fd: i32, + display: DisplayKHR, + ) AcquireDrmDisplayEXTError!void { + return self.wrapper.acquireDrmDisplayEXT( + physical_device, + drm_fd, + display, + ); + } + pub const GetDrmDisplayEXTError = Wrapper.GetDrmDisplayEXTError; + pub fn getDrmDisplayEXT( + self: Self, + physical_device: PhysicalDevice, + drm_fd: i32, + connector_id: u32, + ) GetDrmDisplayEXTError!DisplayKHR { + return self.wrapper.getDrmDisplayEXT( + physical_device, + drm_fd, + connector_id, + ); + } + pub const GetPhysicalDeviceOpticalFlowImageFormatsNVError = Wrapper.GetPhysicalDeviceOpticalFlowImageFormatsNVError; + pub fn getPhysicalDeviceOpticalFlowImageFormatsNV( + self: Self, + physical_device: PhysicalDevice, + p_optical_flow_image_format_info: *const OpticalFlowImageFormatInfoNV, + p_format_count: *u32, + p_image_format_properties: ?[*]OpticalFlowImageFormatPropertiesNV, + ) GetPhysicalDeviceOpticalFlowImageFormatsNVError!Result { + return self.wrapper.getPhysicalDeviceOpticalFlowImageFormatsNV( + physical_device, + p_optical_flow_image_format_info, + p_format_count, + p_image_format_properties, + ); + } + pub const GetPhysicalDeviceCooperativeMatrixPropertiesKHRError = Wrapper.GetPhysicalDeviceCooperativeMatrixPropertiesKHRError; + pub fn getPhysicalDeviceCooperativeMatrixPropertiesKHR( + self: Self, + physical_device: PhysicalDevice, + p_property_count: *u32, + p_properties: ?[*]CooperativeMatrixPropertiesKHR, + ) GetPhysicalDeviceCooperativeMatrixPropertiesKHRError!Result { + return self.wrapper.getPhysicalDeviceCooperativeMatrixPropertiesKHR( + physical_device, + p_property_count, + p_properties, + ); + } + }; +} +pub fn DeviceProxy(comptime apis: []const ApiInfo) type { return struct { - dispatch: Dispatch, - const Self = @This(); - pub const commands = cmds; - pub const Dispatch = blk: { - @setEvalBranchQuota(10_000); - const Type = std.builtin.Type; - const fields_len = fields_len: { - var fields_len: u32 = 0; - for (@typeInfo(DeviceCommandFlags).Struct.fields) |field| { - fields_len += @intCast(@intFromBool(@field(cmds, field.name))); - } - break :fields_len fields_len; + pub const Wrapper = DeviceWrapper(apis); + + handle: Device, + wrapper: *const Wrapper, + + pub fn init(handle: Device, wrapper: *const Wrapper) Self { + return .{ + .handle = handle, + .wrapper = wrapper, }; - var fields: [fields_len]Type.StructField = undefined; - var i: usize = 0; - for (@typeInfo(DeviceCommandFlags).Struct.fields) |field| { - if (@field(cmds, field.name)) { - const field_tag = std.enums.nameCast(std.meta.FieldEnum(DeviceCommandFlags), field.name); - const PfnType = DeviceCommandFlags.CmdType(field_tag); - fields[i] = .{ - .name = DeviceCommandFlags.cmdName(field_tag), - .type = PfnType, - .default_value = null, - .is_comptime = false, - .alignment = @alignOf(PfnType), - }; - i += 1; - } - } - break :blk @Type(.{ - .Struct = .{ - .layout = .auto, - .fields = &fields, - .decls = &[_]std.builtin.Type.Declaration{}, - .is_tuple = false, - }, - }); - }; - pub fn load(device: Device, loader: anytype) error{CommandLoadFailure}!Self { - var self: Self = undefined; - inline for (std.meta.fields(Dispatch)) |field| { - const name: [*:0]const u8 = @ptrCast(field.name ++ "\x00"); - const cmd_ptr = loader(device, name) orelse return error.CommandLoadFailure; - @field(self.dispatch, field.name) = @ptrCast(cmd_ptr); - } - return self; } - pub fn loadNoFail(device: Device, loader: anytype) Self { - var self: Self = undefined; - inline for (std.meta.fields(Dispatch)) |field| { - const name: [*:0]const u8 = @ptrCast(field.name ++ "\x00"); - const cmd_ptr = loader(device, name) orelse undefined; - @field(self.dispatch, field.name) = @ptrCast(cmd_ptr); - } - return self; + pub fn destroyDevice( + self: Self, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyDevice( + self.handle, + p_allocator, + ); + } + pub fn getDeviceQueue( + self: Self, + queue_family_index: u32, + queue_index: u32, + ) Queue { + return self.wrapper.getDeviceQueue( + self.handle, + queue_family_index, + queue_index, + ); + } + pub const QueueSubmitError = Wrapper.QueueSubmitError; + pub fn queueSubmit( + self: Self, + queue: Queue, + submit_count: u32, + p_submits: ?[*]const SubmitInfo, + fence: Fence, + ) QueueSubmitError!void { + return self.wrapper.queueSubmit( + queue, + submit_count, + p_submits, + fence, + ); + } + pub const QueueWaitIdleError = Wrapper.QueueWaitIdleError; + pub fn queueWaitIdle( + self: Self, + queue: Queue, + ) QueueWaitIdleError!void { + return self.wrapper.queueWaitIdle( + queue, + ); + } + pub const DeviceWaitIdleError = Wrapper.DeviceWaitIdleError; + pub fn deviceWaitIdle( + self: Self, + ) DeviceWaitIdleError!void { + return self.wrapper.deviceWaitIdle( + self.handle, + ); + } + pub const AllocateMemoryError = Wrapper.AllocateMemoryError; + pub fn allocateMemory( + self: Self, + p_allocate_info: *const MemoryAllocateInfo, + p_allocator: ?*const AllocationCallbacks, + ) AllocateMemoryError!DeviceMemory { + return self.wrapper.allocateMemory( + self.handle, + p_allocate_info, + p_allocator, + ); + } + pub fn freeMemory( + self: Self, + memory: DeviceMemory, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.freeMemory( + self.handle, + memory, + p_allocator, + ); + } + pub const MapMemoryError = Wrapper.MapMemoryError; + pub fn mapMemory( + self: Self, + memory: DeviceMemory, + offset: DeviceSize, + size: DeviceSize, + flags: MemoryMapFlags, + ) MapMemoryError!?*anyopaque { + return self.wrapper.mapMemory( + self.handle, + memory, + offset, + size, + flags, + ); + } + pub fn unmapMemory( + self: Self, + memory: DeviceMemory, + ) void { + return self.wrapper.unmapMemory( + self.handle, + memory, + ); + } + pub const FlushMappedMemoryRangesError = Wrapper.FlushMappedMemoryRangesError; + pub fn flushMappedMemoryRanges( + self: Self, + memory_range_count: u32, + p_memory_ranges: [*]const MappedMemoryRange, + ) FlushMappedMemoryRangesError!void { + return self.wrapper.flushMappedMemoryRanges( + self.handle, + memory_range_count, + p_memory_ranges, + ); + } + pub const InvalidateMappedMemoryRangesError = Wrapper.InvalidateMappedMemoryRangesError; + pub fn invalidateMappedMemoryRanges( + self: Self, + memory_range_count: u32, + p_memory_ranges: [*]const MappedMemoryRange, + ) InvalidateMappedMemoryRangesError!void { + return self.wrapper.invalidateMappedMemoryRanges( + self.handle, + memory_range_count, + p_memory_ranges, + ); + } + pub fn getDeviceMemoryCommitment( + self: Self, + memory: DeviceMemory, + ) DeviceSize { + return self.wrapper.getDeviceMemoryCommitment( + self.handle, + memory, + ); + } + pub fn getBufferMemoryRequirements( + self: Self, + buffer: Buffer, + ) MemoryRequirements { + return self.wrapper.getBufferMemoryRequirements( + self.handle, + buffer, + ); + } + pub const BindBufferMemoryError = Wrapper.BindBufferMemoryError; + pub fn bindBufferMemory( + self: Self, + buffer: Buffer, + memory: DeviceMemory, + memory_offset: DeviceSize, + ) BindBufferMemoryError!void { + return self.wrapper.bindBufferMemory( + self.handle, + buffer, + memory, + memory_offset, + ); + } + pub fn getImageMemoryRequirements( + self: Self, + image: Image, + ) MemoryRequirements { + return self.wrapper.getImageMemoryRequirements( + self.handle, + image, + ); + } + pub const BindImageMemoryError = Wrapper.BindImageMemoryError; + pub fn bindImageMemory( + self: Self, + image: Image, + memory: DeviceMemory, + memory_offset: DeviceSize, + ) BindImageMemoryError!void { + return self.wrapper.bindImageMemory( + self.handle, + image, + memory, + memory_offset, + ); + } + pub fn getImageSparseMemoryRequirements( + self: Self, + image: Image, + p_sparse_memory_requirement_count: *u32, + p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements, + ) void { + return self.wrapper.getImageSparseMemoryRequirements( + self.handle, + image, + p_sparse_memory_requirement_count, + p_sparse_memory_requirements, + ); + } + pub const QueueBindSparseError = Wrapper.QueueBindSparseError; + pub fn queueBindSparse( + self: Self, + queue: Queue, + bind_info_count: u32, + p_bind_info: ?[*]const BindSparseInfo, + fence: Fence, + ) QueueBindSparseError!void { + return self.wrapper.queueBindSparse( + queue, + bind_info_count, + p_bind_info, + fence, + ); + } + pub const CreateFenceError = Wrapper.CreateFenceError; + pub fn createFence( + self: Self, + p_create_info: *const FenceCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateFenceError!Fence { + return self.wrapper.createFence( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyFence( + self: Self, + fence: Fence, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyFence( + self.handle, + fence, + p_allocator, + ); + } + pub const ResetFencesError = Wrapper.ResetFencesError; + pub fn resetFences( + self: Self, + fence_count: u32, + p_fences: [*]const Fence, + ) ResetFencesError!void { + return self.wrapper.resetFences( + self.handle, + fence_count, + p_fences, + ); + } + pub const GetFenceStatusError = Wrapper.GetFenceStatusError; + pub fn getFenceStatus( + self: Self, + fence: Fence, + ) GetFenceStatusError!Result { + return self.wrapper.getFenceStatus( + self.handle, + fence, + ); + } + pub const WaitForFencesError = Wrapper.WaitForFencesError; + pub fn waitForFences( + self: Self, + fence_count: u32, + p_fences: [*]const Fence, + wait_all: Bool32, + timeout: u64, + ) WaitForFencesError!Result { + return self.wrapper.waitForFences( + self.handle, + fence_count, + p_fences, + wait_all, + timeout, + ); + } + pub const CreateSemaphoreError = Wrapper.CreateSemaphoreError; + pub fn createSemaphore( + self: Self, + p_create_info: *const SemaphoreCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateSemaphoreError!Semaphore { + return self.wrapper.createSemaphore( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroySemaphore( + self: Self, + semaphore: Semaphore, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroySemaphore( + self.handle, + semaphore, + p_allocator, + ); + } + pub const CreateEventError = Wrapper.CreateEventError; + pub fn createEvent( + self: Self, + p_create_info: *const EventCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateEventError!Event { + return self.wrapper.createEvent( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyEvent( + self: Self, + event: Event, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyEvent( + self.handle, + event, + p_allocator, + ); + } + pub const GetEventStatusError = Wrapper.GetEventStatusError; + pub fn getEventStatus( + self: Self, + event: Event, + ) GetEventStatusError!Result { + return self.wrapper.getEventStatus( + self.handle, + event, + ); + } + pub const SetEventError = Wrapper.SetEventError; + pub fn setEvent( + self: Self, + event: Event, + ) SetEventError!void { + return self.wrapper.setEvent( + self.handle, + event, + ); + } + pub const ResetEventError = Wrapper.ResetEventError; + pub fn resetEvent( + self: Self, + event: Event, + ) ResetEventError!void { + return self.wrapper.resetEvent( + self.handle, + event, + ); + } + pub const CreateQueryPoolError = Wrapper.CreateQueryPoolError; + pub fn createQueryPool( + self: Self, + p_create_info: *const QueryPoolCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateQueryPoolError!QueryPool { + return self.wrapper.createQueryPool( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyQueryPool( + self: Self, + query_pool: QueryPool, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyQueryPool( + self.handle, + query_pool, + p_allocator, + ); + } + pub const GetQueryPoolResultsError = Wrapper.GetQueryPoolResultsError; + pub fn getQueryPoolResults( + self: Self, + query_pool: QueryPool, + first_query: u32, + query_count: u32, + data_size: usize, + p_data: *anyopaque, + stride: DeviceSize, + flags: QueryResultFlags, + ) GetQueryPoolResultsError!Result { + return self.wrapper.getQueryPoolResults( + self.handle, + query_pool, + first_query, + query_count, + data_size, + p_data, + stride, + flags, + ); + } + pub fn resetQueryPool( + self: Self, + query_pool: QueryPool, + first_query: u32, + query_count: u32, + ) void { + return self.wrapper.resetQueryPool( + self.handle, + query_pool, + first_query, + query_count, + ); + } + pub fn resetQueryPoolEXT( + self: Self, + query_pool: QueryPool, + first_query: u32, + query_count: u32, + ) void { + return self.wrapper.resetQueryPoolEXT( + self.handle, + query_pool, + first_query, + query_count, + ); + } + pub const CreateBufferError = Wrapper.CreateBufferError; + pub fn createBuffer( + self: Self, + p_create_info: *const BufferCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateBufferError!Buffer { + return self.wrapper.createBuffer( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyBuffer( + self: Self, + buffer: Buffer, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyBuffer( + self.handle, + buffer, + p_allocator, + ); + } + pub const CreateBufferViewError = Wrapper.CreateBufferViewError; + pub fn createBufferView( + self: Self, + p_create_info: *const BufferViewCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateBufferViewError!BufferView { + return self.wrapper.createBufferView( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyBufferView( + self: Self, + buffer_view: BufferView, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyBufferView( + self.handle, + buffer_view, + p_allocator, + ); + } + pub const CreateImageError = Wrapper.CreateImageError; + pub fn createImage( + self: Self, + p_create_info: *const ImageCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateImageError!Image { + return self.wrapper.createImage( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyImage( + self: Self, + image: Image, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyImage( + self.handle, + image, + p_allocator, + ); + } + pub fn getImageSubresourceLayout( + self: Self, + image: Image, + p_subresource: *const ImageSubresource, + ) SubresourceLayout { + return self.wrapper.getImageSubresourceLayout( + self.handle, + image, + p_subresource, + ); + } + pub const CreateImageViewError = Wrapper.CreateImageViewError; + pub fn createImageView( + self: Self, + p_create_info: *const ImageViewCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateImageViewError!ImageView { + return self.wrapper.createImageView( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyImageView( + self: Self, + image_view: ImageView, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyImageView( + self.handle, + image_view, + p_allocator, + ); + } + pub const CreateShaderModuleError = Wrapper.CreateShaderModuleError; + pub fn createShaderModule( + self: Self, + p_create_info: *const ShaderModuleCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateShaderModuleError!ShaderModule { + return self.wrapper.createShaderModule( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyShaderModule( + self: Self, + shader_module: ShaderModule, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyShaderModule( + self.handle, + shader_module, + p_allocator, + ); + } + pub const CreatePipelineCacheError = Wrapper.CreatePipelineCacheError; + pub fn createPipelineCache( + self: Self, + p_create_info: *const PipelineCacheCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreatePipelineCacheError!PipelineCache { + return self.wrapper.createPipelineCache( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyPipelineCache( + self: Self, + pipeline_cache: PipelineCache, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyPipelineCache( + self.handle, + pipeline_cache, + p_allocator, + ); + } + pub const GetPipelineCacheDataError = Wrapper.GetPipelineCacheDataError; + pub fn getPipelineCacheData( + self: Self, + pipeline_cache: PipelineCache, + p_data_size: *usize, + p_data: ?*anyopaque, + ) GetPipelineCacheDataError!Result { + return self.wrapper.getPipelineCacheData( + self.handle, + pipeline_cache, + p_data_size, + p_data, + ); + } + pub const MergePipelineCachesError = Wrapper.MergePipelineCachesError; + pub fn mergePipelineCaches( + self: Self, + dst_cache: PipelineCache, + src_cache_count: u32, + p_src_caches: [*]const PipelineCache, + ) MergePipelineCachesError!void { + return self.wrapper.mergePipelineCaches( + self.handle, + dst_cache, + src_cache_count, + p_src_caches, + ); + } + pub const CreateGraphicsPipelinesError = Wrapper.CreateGraphicsPipelinesError; + pub fn createGraphicsPipelines( + self: Self, + pipeline_cache: PipelineCache, + create_info_count: u32, + p_create_infos: [*]const GraphicsPipelineCreateInfo, + p_allocator: ?*const AllocationCallbacks, + p_pipelines: [*]Pipeline, + ) CreateGraphicsPipelinesError!Result { + return self.wrapper.createGraphicsPipelines( + self.handle, + pipeline_cache, + create_info_count, + p_create_infos, + p_allocator, + p_pipelines, + ); + } + pub const CreateComputePipelinesError = Wrapper.CreateComputePipelinesError; + pub fn createComputePipelines( + self: Self, + pipeline_cache: PipelineCache, + create_info_count: u32, + p_create_infos: [*]const ComputePipelineCreateInfo, + p_allocator: ?*const AllocationCallbacks, + p_pipelines: [*]Pipeline, + ) CreateComputePipelinesError!Result { + return self.wrapper.createComputePipelines( + self.handle, + pipeline_cache, + create_info_count, + p_create_infos, + p_allocator, + p_pipelines, + ); + } + pub const GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIError = Wrapper.GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIError; + pub fn getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( + self: Self, + renderpass: RenderPass, + p_max_workgroup_size: [*]Extent2D, + ) GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIError!void { + return self.wrapper.getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( + self.handle, + renderpass, + p_max_workgroup_size, + ); + } + pub fn destroyPipeline( + self: Self, + pipeline: Pipeline, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyPipeline( + self.handle, + pipeline, + p_allocator, + ); + } + pub const CreatePipelineLayoutError = Wrapper.CreatePipelineLayoutError; + pub fn createPipelineLayout( + self: Self, + p_create_info: *const PipelineLayoutCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreatePipelineLayoutError!PipelineLayout { + return self.wrapper.createPipelineLayout( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyPipelineLayout( + self: Self, + pipeline_layout: PipelineLayout, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyPipelineLayout( + self.handle, + pipeline_layout, + p_allocator, + ); + } + pub const CreateSamplerError = Wrapper.CreateSamplerError; + pub fn createSampler( + self: Self, + p_create_info: *const SamplerCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateSamplerError!Sampler { + return self.wrapper.createSampler( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroySampler( + self: Self, + sampler: Sampler, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroySampler( + self.handle, + sampler, + p_allocator, + ); + } + pub const CreateDescriptorSetLayoutError = Wrapper.CreateDescriptorSetLayoutError; + pub fn createDescriptorSetLayout( + self: Self, + p_create_info: *const DescriptorSetLayoutCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateDescriptorSetLayoutError!DescriptorSetLayout { + return self.wrapper.createDescriptorSetLayout( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyDescriptorSetLayout( + self: Self, + descriptor_set_layout: DescriptorSetLayout, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyDescriptorSetLayout( + self.handle, + descriptor_set_layout, + p_allocator, + ); + } + pub const CreateDescriptorPoolError = Wrapper.CreateDescriptorPoolError; + pub fn createDescriptorPool( + self: Self, + p_create_info: *const DescriptorPoolCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateDescriptorPoolError!DescriptorPool { + return self.wrapper.createDescriptorPool( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyDescriptorPool( + self: Self, + descriptor_pool: DescriptorPool, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyDescriptorPool( + self.handle, + descriptor_pool, + p_allocator, + ); + } + pub const ResetDescriptorPoolError = Wrapper.ResetDescriptorPoolError; + pub fn resetDescriptorPool( + self: Self, + descriptor_pool: DescriptorPool, + flags: DescriptorPoolResetFlags, + ) ResetDescriptorPoolError!void { + return self.wrapper.resetDescriptorPool( + self.handle, + descriptor_pool, + flags, + ); + } + pub const AllocateDescriptorSetsError = Wrapper.AllocateDescriptorSetsError; + pub fn allocateDescriptorSets( + self: Self, + p_allocate_info: *const DescriptorSetAllocateInfo, + p_descriptor_sets: [*]DescriptorSet, + ) AllocateDescriptorSetsError!void { + return self.wrapper.allocateDescriptorSets( + self.handle, + p_allocate_info, + p_descriptor_sets, + ); + } + pub const FreeDescriptorSetsError = Wrapper.FreeDescriptorSetsError; + pub fn freeDescriptorSets( + self: Self, + descriptor_pool: DescriptorPool, + descriptor_set_count: u32, + p_descriptor_sets: [*]const DescriptorSet, + ) FreeDescriptorSetsError!void { + return self.wrapper.freeDescriptorSets( + self.handle, + descriptor_pool, + descriptor_set_count, + p_descriptor_sets, + ); + } + pub fn updateDescriptorSets( + self: Self, + descriptor_write_count: u32, + p_descriptor_writes: ?[*]const WriteDescriptorSet, + descriptor_copy_count: u32, + p_descriptor_copies: ?[*]const CopyDescriptorSet, + ) void { + return self.wrapper.updateDescriptorSets( + self.handle, + descriptor_write_count, + p_descriptor_writes, + descriptor_copy_count, + p_descriptor_copies, + ); + } + pub const CreateFramebufferError = Wrapper.CreateFramebufferError; + pub fn createFramebuffer( + self: Self, + p_create_info: *const FramebufferCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateFramebufferError!Framebuffer { + return self.wrapper.createFramebuffer( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyFramebuffer( + self: Self, + framebuffer: Framebuffer, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyFramebuffer( + self.handle, + framebuffer, + p_allocator, + ); + } + pub const CreateRenderPassError = Wrapper.CreateRenderPassError; + pub fn createRenderPass( + self: Self, + p_create_info: *const RenderPassCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateRenderPassError!RenderPass { + return self.wrapper.createRenderPass( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyRenderPass( + self: Self, + render_pass: RenderPass, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyRenderPass( + self.handle, + render_pass, + p_allocator, + ); + } + pub fn getRenderAreaGranularity( + self: Self, + render_pass: RenderPass, + ) Extent2D { + return self.wrapper.getRenderAreaGranularity( + self.handle, + render_pass, + ); + } + pub fn getRenderingAreaGranularityKHR( + self: Self, + p_rendering_area_info: *const RenderingAreaInfoKHR, + ) Extent2D { + return self.wrapper.getRenderingAreaGranularityKHR( + self.handle, + p_rendering_area_info, + ); + } + pub const CreateCommandPoolError = Wrapper.CreateCommandPoolError; + pub fn createCommandPool( + self: Self, + p_create_info: *const CommandPoolCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateCommandPoolError!CommandPool { + return self.wrapper.createCommandPool( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyCommandPool( + self: Self, + command_pool: CommandPool, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyCommandPool( + self.handle, + command_pool, + p_allocator, + ); + } + pub const ResetCommandPoolError = Wrapper.ResetCommandPoolError; + pub fn resetCommandPool( + self: Self, + command_pool: CommandPool, + flags: CommandPoolResetFlags, + ) ResetCommandPoolError!void { + return self.wrapper.resetCommandPool( + self.handle, + command_pool, + flags, + ); + } + pub const AllocateCommandBuffersError = Wrapper.AllocateCommandBuffersError; + pub fn allocateCommandBuffers( + self: Self, + p_allocate_info: *const CommandBufferAllocateInfo, + p_command_buffers: [*]CommandBuffer, + ) AllocateCommandBuffersError!void { + return self.wrapper.allocateCommandBuffers( + self.handle, + p_allocate_info, + p_command_buffers, + ); + } + pub fn freeCommandBuffers( + self: Self, + command_pool: CommandPool, + command_buffer_count: u32, + p_command_buffers: [*]const CommandBuffer, + ) void { + return self.wrapper.freeCommandBuffers( + self.handle, + command_pool, + command_buffer_count, + p_command_buffers, + ); + } + pub const BeginCommandBufferError = Wrapper.BeginCommandBufferError; + pub fn beginCommandBuffer( + self: Self, + command_buffer: CommandBuffer, + p_begin_info: *const CommandBufferBeginInfo, + ) BeginCommandBufferError!void { + return self.wrapper.beginCommandBuffer( + command_buffer, + p_begin_info, + ); + } + pub const EndCommandBufferError = Wrapper.EndCommandBufferError; + pub fn endCommandBuffer( + self: Self, + command_buffer: CommandBuffer, + ) EndCommandBufferError!void { + return self.wrapper.endCommandBuffer( + command_buffer, + ); + } + pub const ResetCommandBufferError = Wrapper.ResetCommandBufferError; + pub fn resetCommandBuffer( + self: Self, + command_buffer: CommandBuffer, + flags: CommandBufferResetFlags, + ) ResetCommandBufferError!void { + return self.wrapper.resetCommandBuffer( + command_buffer, + flags, + ); + } + pub fn cmdBindPipeline( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + pipeline: Pipeline, + ) void { + return self.wrapper.cmdBindPipeline( + command_buffer, + pipeline_bind_point, + pipeline, + ); + } + pub fn cmdSetAttachmentFeedbackLoopEnableEXT( + self: Self, + command_buffer: CommandBuffer, + aspect_mask: ImageAspectFlags, + ) void { + return self.wrapper.cmdSetAttachmentFeedbackLoopEnableEXT( + command_buffer, + aspect_mask, + ); + } + pub fn cmdSetViewport( + self: Self, + command_buffer: CommandBuffer, + first_viewport: u32, + viewport_count: u32, + p_viewports: [*]const Viewport, + ) void { + return self.wrapper.cmdSetViewport( + command_buffer, + first_viewport, + viewport_count, + p_viewports, + ); + } + pub fn cmdSetScissor( + self: Self, + command_buffer: CommandBuffer, + first_scissor: u32, + scissor_count: u32, + p_scissors: [*]const Rect2D, + ) void { + return self.wrapper.cmdSetScissor( + command_buffer, + first_scissor, + scissor_count, + p_scissors, + ); + } + pub fn cmdSetLineWidth( + self: Self, + command_buffer: CommandBuffer, + line_width: f32, + ) void { + return self.wrapper.cmdSetLineWidth( + command_buffer, + line_width, + ); + } + pub fn cmdSetDepthBias( + self: Self, + command_buffer: CommandBuffer, + depth_bias_constant_factor: f32, + depth_bias_clamp: f32, + depth_bias_slope_factor: f32, + ) void { + return self.wrapper.cmdSetDepthBias( + command_buffer, + depth_bias_constant_factor, + depth_bias_clamp, + depth_bias_slope_factor, + ); + } + pub fn cmdSetBlendConstants( + self: Self, + command_buffer: CommandBuffer, + blend_constants: *const [4]f32, + ) void { + return self.wrapper.cmdSetBlendConstants( + command_buffer, + blend_constants, + ); + } + pub fn cmdSetDepthBounds( + self: Self, + command_buffer: CommandBuffer, + min_depth_bounds: f32, + max_depth_bounds: f32, + ) void { + return self.wrapper.cmdSetDepthBounds( + command_buffer, + min_depth_bounds, + max_depth_bounds, + ); + } + pub fn cmdSetStencilCompareMask( + self: Self, + command_buffer: CommandBuffer, + face_mask: StencilFaceFlags, + compare_mask: u32, + ) void { + return self.wrapper.cmdSetStencilCompareMask( + command_buffer, + face_mask, + compare_mask, + ); + } + pub fn cmdSetStencilWriteMask( + self: Self, + command_buffer: CommandBuffer, + face_mask: StencilFaceFlags, + write_mask: u32, + ) void { + return self.wrapper.cmdSetStencilWriteMask( + command_buffer, + face_mask, + write_mask, + ); + } + pub fn cmdSetStencilReference( + self: Self, + command_buffer: CommandBuffer, + face_mask: StencilFaceFlags, + reference: u32, + ) void { + return self.wrapper.cmdSetStencilReference( + command_buffer, + face_mask, + reference, + ); + } + pub fn cmdBindDescriptorSets( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + first_set: u32, + descriptor_set_count: u32, + p_descriptor_sets: [*]const DescriptorSet, + dynamic_offset_count: u32, + p_dynamic_offsets: ?[*]const u32, + ) void { + return self.wrapper.cmdBindDescriptorSets( + command_buffer, + pipeline_bind_point, + layout, + first_set, + descriptor_set_count, + p_descriptor_sets, + dynamic_offset_count, + p_dynamic_offsets, + ); + } + pub fn cmdBindIndexBuffer( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + index_type: IndexType, + ) void { + return self.wrapper.cmdBindIndexBuffer( + command_buffer, + buffer, + offset, + index_type, + ); + } + pub fn cmdBindVertexBuffers( + self: Self, + command_buffer: CommandBuffer, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + ) void { + return self.wrapper.cmdBindVertexBuffers( + command_buffer, + first_binding, + binding_count, + p_buffers, + p_offsets, + ); + } + pub fn cmdDraw( + self: Self, + command_buffer: CommandBuffer, + vertex_count: u32, + instance_count: u32, + first_vertex: u32, + first_instance: u32, + ) void { + return self.wrapper.cmdDraw( + command_buffer, + vertex_count, + instance_count, + first_vertex, + first_instance, + ); + } + pub fn cmdDrawIndexed( + self: Self, + command_buffer: CommandBuffer, + index_count: u32, + instance_count: u32, + first_index: u32, + vertex_offset: i32, + first_instance: u32, + ) void { + return self.wrapper.cmdDrawIndexed( + command_buffer, + index_count, + instance_count, + first_index, + vertex_offset, + first_instance, + ); + } + pub fn cmdDrawMultiEXT( + self: Self, + command_buffer: CommandBuffer, + draw_count: u32, + p_vertex_info: ?[*]const MultiDrawInfoEXT, + instance_count: u32, + first_instance: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawMultiEXT( + command_buffer, + draw_count, + p_vertex_info, + instance_count, + first_instance, + stride, + ); + } + pub fn cmdDrawMultiIndexedEXT( + self: Self, + command_buffer: CommandBuffer, + draw_count: u32, + p_index_info: ?[*]const MultiDrawIndexedInfoEXT, + instance_count: u32, + first_instance: u32, + stride: u32, + p_vertex_offset: ?*const i32, + ) void { + return self.wrapper.cmdDrawMultiIndexedEXT( + command_buffer, + draw_count, + p_index_info, + instance_count, + first_instance, + stride, + p_vertex_offset, + ); + } + pub fn cmdDrawIndirect( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawIndirect( + command_buffer, + buffer, + offset, + draw_count, + stride, + ); + } + pub fn cmdDrawIndexedIndirect( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawIndexedIndirect( + command_buffer, + buffer, + offset, + draw_count, + stride, + ); + } + pub fn cmdDispatch( + self: Self, + command_buffer: CommandBuffer, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, + ) void { + return self.wrapper.cmdDispatch( + command_buffer, + group_count_x, + group_count_y, + group_count_z, + ); + } + pub fn cmdDispatchIndirect( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + ) void { + return self.wrapper.cmdDispatchIndirect( + command_buffer, + buffer, + offset, + ); + } + pub fn cmdSubpassShadingHUAWEI( + self: Self, + command_buffer: CommandBuffer, + ) void { + return self.wrapper.cmdSubpassShadingHUAWEI( + command_buffer, + ); + } + pub fn cmdDrawClusterHUAWEI( + self: Self, + command_buffer: CommandBuffer, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, + ) void { + return self.wrapper.cmdDrawClusterHUAWEI( + command_buffer, + group_count_x, + group_count_y, + group_count_z, + ); + } + pub fn cmdDrawClusterIndirectHUAWEI( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + ) void { + return self.wrapper.cmdDrawClusterIndirectHUAWEI( + command_buffer, + buffer, + offset, + ); + } + pub fn cmdUpdatePipelineIndirectBufferNV( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + pipeline: Pipeline, + ) void { + return self.wrapper.cmdUpdatePipelineIndirectBufferNV( + command_buffer, + pipeline_bind_point, + pipeline, + ); + } + pub fn cmdCopyBuffer( + self: Self, + command_buffer: CommandBuffer, + src_buffer: Buffer, + dst_buffer: Buffer, + region_count: u32, + p_regions: [*]const BufferCopy, + ) void { + return self.wrapper.cmdCopyBuffer( + command_buffer, + src_buffer, + dst_buffer, + region_count, + p_regions, + ); + } + pub fn cmdCopyImage( + self: Self, + command_buffer: CommandBuffer, + src_image: Image, + src_image_layout: ImageLayout, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageCopy, + ) void { + return self.wrapper.cmdCopyImage( + command_buffer, + src_image, + src_image_layout, + dst_image, + dst_image_layout, + region_count, + p_regions, + ); + } + pub fn cmdBlitImage( + self: Self, + command_buffer: CommandBuffer, + src_image: Image, + src_image_layout: ImageLayout, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageBlit, + filter: Filter, + ) void { + return self.wrapper.cmdBlitImage( + command_buffer, + src_image, + src_image_layout, + dst_image, + dst_image_layout, + region_count, + p_regions, + filter, + ); + } + pub fn cmdCopyBufferToImage( + self: Self, + command_buffer: CommandBuffer, + src_buffer: Buffer, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const BufferImageCopy, + ) void { + return self.wrapper.cmdCopyBufferToImage( + command_buffer, + src_buffer, + dst_image, + dst_image_layout, + region_count, + p_regions, + ); + } + pub fn cmdCopyImageToBuffer( + self: Self, + command_buffer: CommandBuffer, + src_image: Image, + src_image_layout: ImageLayout, + dst_buffer: Buffer, + region_count: u32, + p_regions: [*]const BufferImageCopy, + ) void { + return self.wrapper.cmdCopyImageToBuffer( + command_buffer, + src_image, + src_image_layout, + dst_buffer, + region_count, + p_regions, + ); + } + pub fn cmdCopyMemoryIndirectNV( + self: Self, + command_buffer: CommandBuffer, + copy_buffer_address: DeviceAddress, + copy_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdCopyMemoryIndirectNV( + command_buffer, + copy_buffer_address, + copy_count, + stride, + ); + } + pub fn cmdCopyMemoryToImageIndirectNV( + self: Self, + command_buffer: CommandBuffer, + copy_buffer_address: DeviceAddress, + copy_count: u32, + stride: u32, + dst_image: Image, + dst_image_layout: ImageLayout, + p_image_subresources: [*]const ImageSubresourceLayers, + ) void { + return self.wrapper.cmdCopyMemoryToImageIndirectNV( + command_buffer, + copy_buffer_address, + copy_count, + stride, + dst_image, + dst_image_layout, + p_image_subresources, + ); + } + pub fn cmdUpdateBuffer( + self: Self, + command_buffer: CommandBuffer, + dst_buffer: Buffer, + dst_offset: DeviceSize, + data_size: DeviceSize, + p_data: *const anyopaque, + ) void { + return self.wrapper.cmdUpdateBuffer( + command_buffer, + dst_buffer, + dst_offset, + data_size, + p_data, + ); + } + pub fn cmdFillBuffer( + self: Self, + command_buffer: CommandBuffer, + dst_buffer: Buffer, + dst_offset: DeviceSize, + size: DeviceSize, + data: u32, + ) void { + return self.wrapper.cmdFillBuffer( + command_buffer, + dst_buffer, + dst_offset, + size, + data, + ); + } + pub fn cmdClearColorImage( + self: Self, + command_buffer: CommandBuffer, + image: Image, + image_layout: ImageLayout, + p_color: *const ClearColorValue, + range_count: u32, + p_ranges: [*]const ImageSubresourceRange, + ) void { + return self.wrapper.cmdClearColorImage( + command_buffer, + image, + image_layout, + p_color, + range_count, + p_ranges, + ); + } + pub fn cmdClearDepthStencilImage( + self: Self, + command_buffer: CommandBuffer, + image: Image, + image_layout: ImageLayout, + p_depth_stencil: *const ClearDepthStencilValue, + range_count: u32, + p_ranges: [*]const ImageSubresourceRange, + ) void { + return self.wrapper.cmdClearDepthStencilImage( + command_buffer, + image, + image_layout, + p_depth_stencil, + range_count, + p_ranges, + ); + } + pub fn cmdClearAttachments( + self: Self, + command_buffer: CommandBuffer, + attachment_count: u32, + p_attachments: [*]const ClearAttachment, + rect_count: u32, + p_rects: [*]const ClearRect, + ) void { + return self.wrapper.cmdClearAttachments( + command_buffer, + attachment_count, + p_attachments, + rect_count, + p_rects, + ); + } + pub fn cmdResolveImage( + self: Self, + command_buffer: CommandBuffer, + src_image: Image, + src_image_layout: ImageLayout, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageResolve, + ) void { + return self.wrapper.cmdResolveImage( + command_buffer, + src_image, + src_image_layout, + dst_image, + dst_image_layout, + region_count, + p_regions, + ); + } + pub fn cmdSetEvent( + self: Self, + command_buffer: CommandBuffer, + event: Event, + stage_mask: PipelineStageFlags, + ) void { + return self.wrapper.cmdSetEvent( + command_buffer, + event, + stage_mask, + ); + } + pub fn cmdResetEvent( + self: Self, + command_buffer: CommandBuffer, + event: Event, + stage_mask: PipelineStageFlags, + ) void { + return self.wrapper.cmdResetEvent( + command_buffer, + event, + stage_mask, + ); + } + pub fn cmdWaitEvents( + self: Self, + command_buffer: CommandBuffer, + event_count: u32, + p_events: [*]const Event, + src_stage_mask: PipelineStageFlags, + dst_stage_mask: PipelineStageFlags, + memory_barrier_count: u32, + p_memory_barriers: ?[*]const MemoryBarrier, + buffer_memory_barrier_count: u32, + p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier, + image_memory_barrier_count: u32, + p_image_memory_barriers: ?[*]const ImageMemoryBarrier, + ) void { + return self.wrapper.cmdWaitEvents( + command_buffer, + event_count, + p_events, + src_stage_mask, + dst_stage_mask, + memory_barrier_count, + p_memory_barriers, + buffer_memory_barrier_count, + p_buffer_memory_barriers, + image_memory_barrier_count, + p_image_memory_barriers, + ); + } + pub fn cmdPipelineBarrier( + self: Self, + command_buffer: CommandBuffer, + src_stage_mask: PipelineStageFlags, + dst_stage_mask: PipelineStageFlags, + dependency_flags: DependencyFlags, + memory_barrier_count: u32, + p_memory_barriers: ?[*]const MemoryBarrier, + buffer_memory_barrier_count: u32, + p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier, + image_memory_barrier_count: u32, + p_image_memory_barriers: ?[*]const ImageMemoryBarrier, + ) void { + return self.wrapper.cmdPipelineBarrier( + command_buffer, + src_stage_mask, + dst_stage_mask, + dependency_flags, + memory_barrier_count, + p_memory_barriers, + buffer_memory_barrier_count, + p_buffer_memory_barriers, + image_memory_barrier_count, + p_image_memory_barriers, + ); + } + pub fn cmdBeginQuery( + self: Self, + command_buffer: CommandBuffer, + query_pool: QueryPool, + query: u32, + flags: QueryControlFlags, + ) void { + return self.wrapper.cmdBeginQuery( + command_buffer, + query_pool, + query, + flags, + ); + } + pub fn cmdEndQuery( + self: Self, + command_buffer: CommandBuffer, + query_pool: QueryPool, + query: u32, + ) void { + return self.wrapper.cmdEndQuery( + command_buffer, + query_pool, + query, + ); + } + pub fn cmdBeginConditionalRenderingEXT( + self: Self, + command_buffer: CommandBuffer, + p_conditional_rendering_begin: *const ConditionalRenderingBeginInfoEXT, + ) void { + return self.wrapper.cmdBeginConditionalRenderingEXT( + command_buffer, + p_conditional_rendering_begin, + ); + } + pub fn cmdEndConditionalRenderingEXT( + self: Self, + command_buffer: CommandBuffer, + ) void { + return self.wrapper.cmdEndConditionalRenderingEXT( + command_buffer, + ); + } + pub fn cmdResetQueryPool( + self: Self, + command_buffer: CommandBuffer, + query_pool: QueryPool, + first_query: u32, + query_count: u32, + ) void { + return self.wrapper.cmdResetQueryPool( + command_buffer, + query_pool, + first_query, + query_count, + ); + } + pub fn cmdWriteTimestamp( + self: Self, + command_buffer: CommandBuffer, + pipeline_stage: PipelineStageFlags, + query_pool: QueryPool, + query: u32, + ) void { + return self.wrapper.cmdWriteTimestamp( + command_buffer, + pipeline_stage, + query_pool, + query, + ); + } + pub fn cmdCopyQueryPoolResults( + self: Self, + command_buffer: CommandBuffer, + query_pool: QueryPool, + first_query: u32, + query_count: u32, + dst_buffer: Buffer, + dst_offset: DeviceSize, + stride: DeviceSize, + flags: QueryResultFlags, + ) void { + return self.wrapper.cmdCopyQueryPoolResults( + command_buffer, + query_pool, + first_query, + query_count, + dst_buffer, + dst_offset, + stride, + flags, + ); + } + pub fn cmdPushConstants( + self: Self, + command_buffer: CommandBuffer, + layout: PipelineLayout, + stage_flags: ShaderStageFlags, + offset: u32, + size: u32, + p_values: *const anyopaque, + ) void { + return self.wrapper.cmdPushConstants( + command_buffer, + layout, + stage_flags, + offset, + size, + p_values, + ); + } + pub fn cmdBeginRenderPass( + self: Self, + command_buffer: CommandBuffer, + p_render_pass_begin: *const RenderPassBeginInfo, + contents: SubpassContents, + ) void { + return self.wrapper.cmdBeginRenderPass( + command_buffer, + p_render_pass_begin, + contents, + ); + } + pub fn cmdNextSubpass( + self: Self, + command_buffer: CommandBuffer, + contents: SubpassContents, + ) void { + return self.wrapper.cmdNextSubpass( + command_buffer, + contents, + ); + } + pub fn cmdEndRenderPass( + self: Self, + command_buffer: CommandBuffer, + ) void { + return self.wrapper.cmdEndRenderPass( + command_buffer, + ); + } + pub fn cmdExecuteCommands( + self: Self, + command_buffer: CommandBuffer, + command_buffer_count: u32, + p_command_buffers: [*]const CommandBuffer, + ) void { + return self.wrapper.cmdExecuteCommands( + command_buffer, + command_buffer_count, + p_command_buffers, + ); + } + pub const CreateSharedSwapchainsKHRError = Wrapper.CreateSharedSwapchainsKHRError; + pub fn createSharedSwapchainsKHR( + self: Self, + swapchain_count: u32, + p_create_infos: [*]const SwapchainCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_swapchains: [*]SwapchainKHR, + ) CreateSharedSwapchainsKHRError!void { + return self.wrapper.createSharedSwapchainsKHR( + self.handle, + swapchain_count, + p_create_infos, + p_allocator, + p_swapchains, + ); + } + pub const CreateSwapchainKHRError = Wrapper.CreateSwapchainKHRError; + pub fn createSwapchainKHR( + self: Self, + p_create_info: *const SwapchainCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateSwapchainKHRError!SwapchainKHR { + return self.wrapper.createSwapchainKHR( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroySwapchainKHR( + self: Self, + swapchain: SwapchainKHR, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroySwapchainKHR( + self.handle, + swapchain, + p_allocator, + ); + } + pub const GetSwapchainImagesKHRError = Wrapper.GetSwapchainImagesKHRError; + pub fn getSwapchainImagesKHR( + self: Self, + swapchain: SwapchainKHR, + p_swapchain_image_count: *u32, + p_swapchain_images: ?[*]Image, + ) GetSwapchainImagesKHRError!Result { + return self.wrapper.getSwapchainImagesKHR( + self.handle, + swapchain, + p_swapchain_image_count, + p_swapchain_images, + ); + } + pub const AcquireNextImageKHRError = Wrapper.AcquireNextImageKHRError; + pub const AcquireNextImageKHRResult = Wrapper.AcquireNextImageKHRResult; + pub fn acquireNextImageKHR( + self: Self, + swapchain: SwapchainKHR, + timeout: u64, + semaphore: Semaphore, + fence: Fence, + ) AcquireNextImageKHRError!AcquireNextImageKHRResult { + return self.wrapper.acquireNextImageKHR( + self.handle, + swapchain, + timeout, + semaphore, + fence, + ); + } + pub const QueuePresentKHRError = Wrapper.QueuePresentKHRError; + pub fn queuePresentKHR( + self: Self, + queue: Queue, + p_present_info: *const PresentInfoKHR, + ) QueuePresentKHRError!Result { + return self.wrapper.queuePresentKHR( + queue, + p_present_info, + ); + } + pub const DebugMarkerSetObjectNameEXTError = Wrapper.DebugMarkerSetObjectNameEXTError; + pub fn debugMarkerSetObjectNameEXT( + self: Self, + p_name_info: *const DebugMarkerObjectNameInfoEXT, + ) DebugMarkerSetObjectNameEXTError!void { + return self.wrapper.debugMarkerSetObjectNameEXT( + self.handle, + p_name_info, + ); + } + pub const DebugMarkerSetObjectTagEXTError = Wrapper.DebugMarkerSetObjectTagEXTError; + pub fn debugMarkerSetObjectTagEXT( + self: Self, + p_tag_info: *const DebugMarkerObjectTagInfoEXT, + ) DebugMarkerSetObjectTagEXTError!void { + return self.wrapper.debugMarkerSetObjectTagEXT( + self.handle, + p_tag_info, + ); + } + pub fn cmdDebugMarkerBeginEXT( + self: Self, + command_buffer: CommandBuffer, + p_marker_info: *const DebugMarkerMarkerInfoEXT, + ) void { + return self.wrapper.cmdDebugMarkerBeginEXT( + command_buffer, + p_marker_info, + ); + } + pub fn cmdDebugMarkerEndEXT( + self: Self, + command_buffer: CommandBuffer, + ) void { + return self.wrapper.cmdDebugMarkerEndEXT( + command_buffer, + ); + } + pub fn cmdDebugMarkerInsertEXT( + self: Self, + command_buffer: CommandBuffer, + p_marker_info: *const DebugMarkerMarkerInfoEXT, + ) void { + return self.wrapper.cmdDebugMarkerInsertEXT( + command_buffer, + p_marker_info, + ); + } + pub const GetMemoryWin32HandleNVError = Wrapper.GetMemoryWin32HandleNVError; + pub fn getMemoryWin32HandleNV( + self: Self, + memory: DeviceMemory, + handle_type: ExternalMemoryHandleTypeFlagsNV, + p_handle: *HANDLE, + ) GetMemoryWin32HandleNVError!void { + return self.wrapper.getMemoryWin32HandleNV( + self.handle, + memory, + handle_type, + p_handle, + ); + } + pub fn cmdExecuteGeneratedCommandsNV( + self: Self, + command_buffer: CommandBuffer, + is_preprocessed: Bool32, + p_generated_commands_info: *const GeneratedCommandsInfoNV, + ) void { + return self.wrapper.cmdExecuteGeneratedCommandsNV( + command_buffer, + is_preprocessed, + p_generated_commands_info, + ); + } + pub fn cmdPreprocessGeneratedCommandsNV( + self: Self, + command_buffer: CommandBuffer, + p_generated_commands_info: *const GeneratedCommandsInfoNV, + ) void { + return self.wrapper.cmdPreprocessGeneratedCommandsNV( + command_buffer, + p_generated_commands_info, + ); + } + pub fn cmdBindPipelineShaderGroupNV( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + pipeline: Pipeline, + group_index: u32, + ) void { + return self.wrapper.cmdBindPipelineShaderGroupNV( + command_buffer, + pipeline_bind_point, + pipeline, + group_index, + ); + } + pub fn getGeneratedCommandsMemoryRequirementsNV( + self: Self, + p_info: *const GeneratedCommandsMemoryRequirementsInfoNV, + p_memory_requirements: *MemoryRequirements2, + ) void { + return self.wrapper.getGeneratedCommandsMemoryRequirementsNV( + self.handle, + p_info, + p_memory_requirements, + ); + } + pub const CreateIndirectCommandsLayoutNVError = Wrapper.CreateIndirectCommandsLayoutNVError; + pub fn createIndirectCommandsLayoutNV( + self: Self, + p_create_info: *const IndirectCommandsLayoutCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + ) CreateIndirectCommandsLayoutNVError!IndirectCommandsLayoutNV { + return self.wrapper.createIndirectCommandsLayoutNV( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyIndirectCommandsLayoutNV( + self: Self, + indirect_commands_layout: IndirectCommandsLayoutNV, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyIndirectCommandsLayoutNV( + self.handle, + indirect_commands_layout, + p_allocator, + ); + } + pub fn cmdPushDescriptorSetKHR( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + set: u32, + descriptor_write_count: u32, + p_descriptor_writes: [*]const WriteDescriptorSet, + ) void { + return self.wrapper.cmdPushDescriptorSetKHR( + command_buffer, + pipeline_bind_point, + layout, + set, + descriptor_write_count, + p_descriptor_writes, + ); + } + pub fn trimCommandPool( + self: Self, + command_pool: CommandPool, + flags: CommandPoolTrimFlags, + ) void { + return self.wrapper.trimCommandPool( + self.handle, + command_pool, + flags, + ); + } + pub fn trimCommandPoolKHR( + self: Self, + command_pool: CommandPool, + flags: CommandPoolTrimFlags, + ) void { + return self.wrapper.trimCommandPoolKHR( + self.handle, + command_pool, + flags, + ); + } + pub const GetMemoryWin32HandleKHRError = Wrapper.GetMemoryWin32HandleKHRError; + pub fn getMemoryWin32HandleKHR( + self: Self, + p_get_win_32_handle_info: *const MemoryGetWin32HandleInfoKHR, + p_handle: *HANDLE, + ) GetMemoryWin32HandleKHRError!void { + return self.wrapper.getMemoryWin32HandleKHR( + self.handle, + p_get_win_32_handle_info, + p_handle, + ); + } + pub const GetMemoryWin32HandlePropertiesKHRError = Wrapper.GetMemoryWin32HandlePropertiesKHRError; + pub fn getMemoryWin32HandlePropertiesKHR( + self: Self, + handle_type: ExternalMemoryHandleTypeFlags, + handle: HANDLE, + p_memory_win_32_handle_properties: *MemoryWin32HandlePropertiesKHR, + ) GetMemoryWin32HandlePropertiesKHRError!void { + return self.wrapper.getMemoryWin32HandlePropertiesKHR( + self.handle, + handle_type, + handle, + p_memory_win_32_handle_properties, + ); + } + pub const GetMemoryFdKHRError = Wrapper.GetMemoryFdKHRError; + pub fn getMemoryFdKHR( + self: Self, + p_get_fd_info: *const MemoryGetFdInfoKHR, + ) GetMemoryFdKHRError!c_int { + return self.wrapper.getMemoryFdKHR( + self.handle, + p_get_fd_info, + ); + } + pub const GetMemoryFdPropertiesKHRError = Wrapper.GetMemoryFdPropertiesKHRError; + pub fn getMemoryFdPropertiesKHR( + self: Self, + handle_type: ExternalMemoryHandleTypeFlags, + fd: c_int, + p_memory_fd_properties: *MemoryFdPropertiesKHR, + ) GetMemoryFdPropertiesKHRError!void { + return self.wrapper.getMemoryFdPropertiesKHR( + self.handle, + handle_type, + fd, + p_memory_fd_properties, + ); + } + pub const GetMemoryZirconHandleFUCHSIAError = Wrapper.GetMemoryZirconHandleFUCHSIAError; + pub fn getMemoryZirconHandleFUCHSIA( + self: Self, + p_get_zircon_handle_info: *const MemoryGetZirconHandleInfoFUCHSIA, + p_zircon_handle: *zx_handle_t, + ) GetMemoryZirconHandleFUCHSIAError!void { + return self.wrapper.getMemoryZirconHandleFUCHSIA( + self.handle, + p_get_zircon_handle_info, + p_zircon_handle, + ); + } + pub const GetMemoryZirconHandlePropertiesFUCHSIAError = Wrapper.GetMemoryZirconHandlePropertiesFUCHSIAError; + pub fn getMemoryZirconHandlePropertiesFUCHSIA( + self: Self, + handle_type: ExternalMemoryHandleTypeFlags, + zircon_handle: zx_handle_t, + p_memory_zircon_handle_properties: *MemoryZirconHandlePropertiesFUCHSIA, + ) GetMemoryZirconHandlePropertiesFUCHSIAError!void { + return self.wrapper.getMemoryZirconHandlePropertiesFUCHSIA( + self.handle, + handle_type, + zircon_handle, + p_memory_zircon_handle_properties, + ); + } + pub const GetMemoryRemoteAddressNVError = Wrapper.GetMemoryRemoteAddressNVError; + pub fn getMemoryRemoteAddressNV( + self: Self, + p_memory_get_remote_address_info: *const MemoryGetRemoteAddressInfoNV, + ) GetMemoryRemoteAddressNVError!RemoteAddressNV { + return self.wrapper.getMemoryRemoteAddressNV( + self.handle, + p_memory_get_remote_address_info, + ); + } + pub const GetMemorySciBufNVError = Wrapper.GetMemorySciBufNVError; + pub fn getMemorySciBufNV( + self: Self, + p_get_sci_buf_info: *const MemoryGetSciBufInfoNV, + p_handle: *NvSciBufObj, + ) GetMemorySciBufNVError!void { + return self.wrapper.getMemorySciBufNV( + self.handle, + p_get_sci_buf_info, + p_handle, + ); + } + pub const GetSemaphoreWin32HandleKHRError = Wrapper.GetSemaphoreWin32HandleKHRError; + pub fn getSemaphoreWin32HandleKHR( + self: Self, + p_get_win_32_handle_info: *const SemaphoreGetWin32HandleInfoKHR, + p_handle: *HANDLE, + ) GetSemaphoreWin32HandleKHRError!void { + return self.wrapper.getSemaphoreWin32HandleKHR( + self.handle, + p_get_win_32_handle_info, + p_handle, + ); + } + pub const ImportSemaphoreWin32HandleKHRError = Wrapper.ImportSemaphoreWin32HandleKHRError; + pub fn importSemaphoreWin32HandleKHR( + self: Self, + p_import_semaphore_win_32_handle_info: *const ImportSemaphoreWin32HandleInfoKHR, + ) ImportSemaphoreWin32HandleKHRError!void { + return self.wrapper.importSemaphoreWin32HandleKHR( + self.handle, + p_import_semaphore_win_32_handle_info, + ); + } + pub const GetSemaphoreFdKHRError = Wrapper.GetSemaphoreFdKHRError; + pub fn getSemaphoreFdKHR( + self: Self, + p_get_fd_info: *const SemaphoreGetFdInfoKHR, + ) GetSemaphoreFdKHRError!c_int { + return self.wrapper.getSemaphoreFdKHR( + self.handle, + p_get_fd_info, + ); + } + pub const ImportSemaphoreFdKHRError = Wrapper.ImportSemaphoreFdKHRError; + pub fn importSemaphoreFdKHR( + self: Self, + p_import_semaphore_fd_info: *const ImportSemaphoreFdInfoKHR, + ) ImportSemaphoreFdKHRError!void { + return self.wrapper.importSemaphoreFdKHR( + self.handle, + p_import_semaphore_fd_info, + ); + } + pub const GetSemaphoreZirconHandleFUCHSIAError = Wrapper.GetSemaphoreZirconHandleFUCHSIAError; + pub fn getSemaphoreZirconHandleFUCHSIA( + self: Self, + p_get_zircon_handle_info: *const SemaphoreGetZirconHandleInfoFUCHSIA, + p_zircon_handle: *zx_handle_t, + ) GetSemaphoreZirconHandleFUCHSIAError!void { + return self.wrapper.getSemaphoreZirconHandleFUCHSIA( + self.handle, + p_get_zircon_handle_info, + p_zircon_handle, + ); + } + pub const ImportSemaphoreZirconHandleFUCHSIAError = Wrapper.ImportSemaphoreZirconHandleFUCHSIAError; + pub fn importSemaphoreZirconHandleFUCHSIA( + self: Self, + p_import_semaphore_zircon_handle_info: *const ImportSemaphoreZirconHandleInfoFUCHSIA, + ) ImportSemaphoreZirconHandleFUCHSIAError!void { + return self.wrapper.importSemaphoreZirconHandleFUCHSIA( + self.handle, + p_import_semaphore_zircon_handle_info, + ); + } + pub const GetFenceWin32HandleKHRError = Wrapper.GetFenceWin32HandleKHRError; + pub fn getFenceWin32HandleKHR( + self: Self, + p_get_win_32_handle_info: *const FenceGetWin32HandleInfoKHR, + p_handle: *HANDLE, + ) GetFenceWin32HandleKHRError!void { + return self.wrapper.getFenceWin32HandleKHR( + self.handle, + p_get_win_32_handle_info, + p_handle, + ); + } + pub const ImportFenceWin32HandleKHRError = Wrapper.ImportFenceWin32HandleKHRError; + pub fn importFenceWin32HandleKHR( + self: Self, + p_import_fence_win_32_handle_info: *const ImportFenceWin32HandleInfoKHR, + ) ImportFenceWin32HandleKHRError!void { + return self.wrapper.importFenceWin32HandleKHR( + self.handle, + p_import_fence_win_32_handle_info, + ); + } + pub const GetFenceFdKHRError = Wrapper.GetFenceFdKHRError; + pub fn getFenceFdKHR( + self: Self, + p_get_fd_info: *const FenceGetFdInfoKHR, + ) GetFenceFdKHRError!c_int { + return self.wrapper.getFenceFdKHR( + self.handle, + p_get_fd_info, + ); + } + pub const ImportFenceFdKHRError = Wrapper.ImportFenceFdKHRError; + pub fn importFenceFdKHR( + self: Self, + p_import_fence_fd_info: *const ImportFenceFdInfoKHR, + ) ImportFenceFdKHRError!void { + return self.wrapper.importFenceFdKHR( + self.handle, + p_import_fence_fd_info, + ); + } + pub const GetFenceSciSyncFenceNVError = Wrapper.GetFenceSciSyncFenceNVError; + pub fn getFenceSciSyncFenceNV( + self: Self, + p_get_sci_sync_handle_info: *const FenceGetSciSyncInfoNV, + p_handle: *anyopaque, + ) GetFenceSciSyncFenceNVError!void { + return self.wrapper.getFenceSciSyncFenceNV( + self.handle, + p_get_sci_sync_handle_info, + p_handle, + ); + } + pub const GetFenceSciSyncObjNVError = Wrapper.GetFenceSciSyncObjNVError; + pub fn getFenceSciSyncObjNV( + self: Self, + p_get_sci_sync_handle_info: *const FenceGetSciSyncInfoNV, + p_handle: *anyopaque, + ) GetFenceSciSyncObjNVError!void { + return self.wrapper.getFenceSciSyncObjNV( + self.handle, + p_get_sci_sync_handle_info, + p_handle, + ); + } + pub const ImportFenceSciSyncFenceNVError = Wrapper.ImportFenceSciSyncFenceNVError; + pub fn importFenceSciSyncFenceNV( + self: Self, + p_import_fence_sci_sync_info: *const ImportFenceSciSyncInfoNV, + ) ImportFenceSciSyncFenceNVError!void { + return self.wrapper.importFenceSciSyncFenceNV( + self.handle, + p_import_fence_sci_sync_info, + ); + } + pub const ImportFenceSciSyncObjNVError = Wrapper.ImportFenceSciSyncObjNVError; + pub fn importFenceSciSyncObjNV( + self: Self, + p_import_fence_sci_sync_info: *const ImportFenceSciSyncInfoNV, + ) ImportFenceSciSyncObjNVError!void { + return self.wrapper.importFenceSciSyncObjNV( + self.handle, + p_import_fence_sci_sync_info, + ); + } + pub const GetSemaphoreSciSyncObjNVError = Wrapper.GetSemaphoreSciSyncObjNVError; + pub fn getSemaphoreSciSyncObjNV( + self: Self, + p_get_sci_sync_info: *const SemaphoreGetSciSyncInfoNV, + p_handle: *anyopaque, + ) GetSemaphoreSciSyncObjNVError!void { + return self.wrapper.getSemaphoreSciSyncObjNV( + self.handle, + p_get_sci_sync_info, + p_handle, + ); + } + pub const ImportSemaphoreSciSyncObjNVError = Wrapper.ImportSemaphoreSciSyncObjNVError; + pub fn importSemaphoreSciSyncObjNV( + self: Self, + p_import_semaphore_sci_sync_info: *const ImportSemaphoreSciSyncInfoNV, + ) ImportSemaphoreSciSyncObjNVError!void { + return self.wrapper.importSemaphoreSciSyncObjNV( + self.handle, + p_import_semaphore_sci_sync_info, + ); + } + pub const CreateSemaphoreSciSyncPoolNVError = Wrapper.CreateSemaphoreSciSyncPoolNVError; + pub fn createSemaphoreSciSyncPoolNV( + self: Self, + p_create_info: *const SemaphoreSciSyncPoolCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + ) CreateSemaphoreSciSyncPoolNVError!SemaphoreSciSyncPoolNV { + return self.wrapper.createSemaphoreSciSyncPoolNV( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroySemaphoreSciSyncPoolNV( + self: Self, + semaphore_pool: SemaphoreSciSyncPoolNV, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroySemaphoreSciSyncPoolNV( + self.handle, + semaphore_pool, + p_allocator, + ); + } + pub const DisplayPowerControlEXTError = Wrapper.DisplayPowerControlEXTError; + pub fn displayPowerControlEXT( + self: Self, + display: DisplayKHR, + p_display_power_info: *const DisplayPowerInfoEXT, + ) DisplayPowerControlEXTError!void { + return self.wrapper.displayPowerControlEXT( + self.handle, + display, + p_display_power_info, + ); + } + pub const RegisterDeviceEventEXTError = Wrapper.RegisterDeviceEventEXTError; + pub fn registerDeviceEventEXT( + self: Self, + p_device_event_info: *const DeviceEventInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) RegisterDeviceEventEXTError!Fence { + return self.wrapper.registerDeviceEventEXT( + self.handle, + p_device_event_info, + p_allocator, + ); + } + pub const RegisterDisplayEventEXTError = Wrapper.RegisterDisplayEventEXTError; + pub fn registerDisplayEventEXT( + self: Self, + display: DisplayKHR, + p_display_event_info: *const DisplayEventInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) RegisterDisplayEventEXTError!Fence { + return self.wrapper.registerDisplayEventEXT( + self.handle, + display, + p_display_event_info, + p_allocator, + ); + } + pub const GetSwapchainCounterEXTError = Wrapper.GetSwapchainCounterEXTError; + pub fn getSwapchainCounterEXT( + self: Self, + swapchain: SwapchainKHR, + counter: SurfaceCounterFlagsEXT, + ) GetSwapchainCounterEXTError!u64 { + return self.wrapper.getSwapchainCounterEXT( + self.handle, + swapchain, + counter, + ); + } + pub fn getDeviceGroupPeerMemoryFeatures( + self: Self, + heap_index: u32, + local_device_index: u32, + remote_device_index: u32, + ) PeerMemoryFeatureFlags { + return self.wrapper.getDeviceGroupPeerMemoryFeatures( + self.handle, + heap_index, + local_device_index, + remote_device_index, + ); + } + pub fn getDeviceGroupPeerMemoryFeaturesKHR( + self: Self, + heap_index: u32, + local_device_index: u32, + remote_device_index: u32, + ) PeerMemoryFeatureFlags { + return self.wrapper.getDeviceGroupPeerMemoryFeaturesKHR( + self.handle, + heap_index, + local_device_index, + remote_device_index, + ); + } + pub const BindBufferMemory2Error = Wrapper.BindBufferMemory2Error; + pub fn bindBufferMemory2( + self: Self, + bind_info_count: u32, + p_bind_infos: [*]const BindBufferMemoryInfo, + ) BindBufferMemory2Error!void { + return self.wrapper.bindBufferMemory2( + self.handle, + bind_info_count, + p_bind_infos, + ); + } + pub const BindBufferMemory2KHRError = Wrapper.BindBufferMemory2KHRError; + pub fn bindBufferMemory2KHR( + self: Self, + bind_info_count: u32, + p_bind_infos: [*]const BindBufferMemoryInfo, + ) BindBufferMemory2KHRError!void { + return self.wrapper.bindBufferMemory2KHR( + self.handle, + bind_info_count, + p_bind_infos, + ); + } + pub const BindImageMemory2Error = Wrapper.BindImageMemory2Error; + pub fn bindImageMemory2( + self: Self, + bind_info_count: u32, + p_bind_infos: [*]const BindImageMemoryInfo, + ) BindImageMemory2Error!void { + return self.wrapper.bindImageMemory2( + self.handle, + bind_info_count, + p_bind_infos, + ); + } + pub const BindImageMemory2KHRError = Wrapper.BindImageMemory2KHRError; + pub fn bindImageMemory2KHR( + self: Self, + bind_info_count: u32, + p_bind_infos: [*]const BindImageMemoryInfo, + ) BindImageMemory2KHRError!void { + return self.wrapper.bindImageMemory2KHR( + self.handle, + bind_info_count, + p_bind_infos, + ); + } + pub fn cmdSetDeviceMask( + self: Self, + command_buffer: CommandBuffer, + device_mask: u32, + ) void { + return self.wrapper.cmdSetDeviceMask( + command_buffer, + device_mask, + ); + } + pub fn cmdSetDeviceMaskKHR( + self: Self, + command_buffer: CommandBuffer, + device_mask: u32, + ) void { + return self.wrapper.cmdSetDeviceMaskKHR( + command_buffer, + device_mask, + ); + } + pub const GetDeviceGroupPresentCapabilitiesKHRError = Wrapper.GetDeviceGroupPresentCapabilitiesKHRError; + pub fn getDeviceGroupPresentCapabilitiesKHR( + self: Self, + p_device_group_present_capabilities: *DeviceGroupPresentCapabilitiesKHR, + ) GetDeviceGroupPresentCapabilitiesKHRError!void { + return self.wrapper.getDeviceGroupPresentCapabilitiesKHR( + self.handle, + p_device_group_present_capabilities, + ); + } + pub const GetDeviceGroupSurfacePresentModesKHRError = Wrapper.GetDeviceGroupSurfacePresentModesKHRError; + pub fn getDeviceGroupSurfacePresentModesKHR( + self: Self, + surface: SurfaceKHR, + ) GetDeviceGroupSurfacePresentModesKHRError!DeviceGroupPresentModeFlagsKHR { + return self.wrapper.getDeviceGroupSurfacePresentModesKHR( + self.handle, + surface, + ); + } + pub const AcquireNextImage2KHRError = Wrapper.AcquireNextImage2KHRError; + pub const AcquireNextImage2KHRResult = Wrapper.AcquireNextImage2KHRResult; + pub fn acquireNextImage2KHR( + self: Self, + p_acquire_info: *const AcquireNextImageInfoKHR, + ) AcquireNextImage2KHRError!AcquireNextImage2KHRResult { + return self.wrapper.acquireNextImage2KHR( + self.handle, + p_acquire_info, + ); + } + pub fn cmdDispatchBase( + self: Self, + command_buffer: CommandBuffer, + base_group_x: u32, + base_group_y: u32, + base_group_z: u32, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, + ) void { + return self.wrapper.cmdDispatchBase( + command_buffer, + base_group_x, + base_group_y, + base_group_z, + group_count_x, + group_count_y, + group_count_z, + ); + } + pub fn cmdDispatchBaseKHR( + self: Self, + command_buffer: CommandBuffer, + base_group_x: u32, + base_group_y: u32, + base_group_z: u32, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, + ) void { + return self.wrapper.cmdDispatchBaseKHR( + command_buffer, + base_group_x, + base_group_y, + base_group_z, + group_count_x, + group_count_y, + group_count_z, + ); + } + pub const CreateDescriptorUpdateTemplateError = Wrapper.CreateDescriptorUpdateTemplateError; + pub fn createDescriptorUpdateTemplate( + self: Self, + p_create_info: *const DescriptorUpdateTemplateCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateDescriptorUpdateTemplateError!DescriptorUpdateTemplate { + return self.wrapper.createDescriptorUpdateTemplate( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const CreateDescriptorUpdateTemplateKHRError = Wrapper.CreateDescriptorUpdateTemplateKHRError; + pub fn createDescriptorUpdateTemplateKHR( + self: Self, + p_create_info: *const DescriptorUpdateTemplateCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateDescriptorUpdateTemplateKHRError!DescriptorUpdateTemplate { + return self.wrapper.createDescriptorUpdateTemplateKHR( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyDescriptorUpdateTemplate( + self: Self, + descriptor_update_template: DescriptorUpdateTemplate, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyDescriptorUpdateTemplate( + self.handle, + descriptor_update_template, + p_allocator, + ); + } + pub fn destroyDescriptorUpdateTemplateKHR( + self: Self, + descriptor_update_template: DescriptorUpdateTemplate, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyDescriptorUpdateTemplateKHR( + self.handle, + descriptor_update_template, + p_allocator, + ); + } + pub fn updateDescriptorSetWithTemplate( + self: Self, + descriptor_set: DescriptorSet, + descriptor_update_template: DescriptorUpdateTemplate, + p_data: *const anyopaque, + ) void { + return self.wrapper.updateDescriptorSetWithTemplate( + self.handle, + descriptor_set, + descriptor_update_template, + p_data, + ); + } + pub fn updateDescriptorSetWithTemplateKHR( + self: Self, + descriptor_set: DescriptorSet, + descriptor_update_template: DescriptorUpdateTemplate, + p_data: *const anyopaque, + ) void { + return self.wrapper.updateDescriptorSetWithTemplateKHR( + self.handle, + descriptor_set, + descriptor_update_template, + p_data, + ); + } + pub fn cmdPushDescriptorSetWithTemplateKHR( + self: Self, + command_buffer: CommandBuffer, + descriptor_update_template: DescriptorUpdateTemplate, + layout: PipelineLayout, + set: u32, + p_data: *const anyopaque, + ) void { + return self.wrapper.cmdPushDescriptorSetWithTemplateKHR( + command_buffer, + descriptor_update_template, + layout, + set, + p_data, + ); + } + pub fn setHdrMetadataEXT( + self: Self, + swapchain_count: u32, + p_swapchains: [*]const SwapchainKHR, + p_metadata: [*]const HdrMetadataEXT, + ) void { + return self.wrapper.setHdrMetadataEXT( + self.handle, + swapchain_count, + p_swapchains, + p_metadata, + ); + } + pub const GetSwapchainStatusKHRError = Wrapper.GetSwapchainStatusKHRError; + pub fn getSwapchainStatusKHR( + self: Self, + swapchain: SwapchainKHR, + ) GetSwapchainStatusKHRError!Result { + return self.wrapper.getSwapchainStatusKHR( + self.handle, + swapchain, + ); + } + pub const GetRefreshCycleDurationGOOGLEError = Wrapper.GetRefreshCycleDurationGOOGLEError; + pub fn getRefreshCycleDurationGOOGLE( + self: Self, + swapchain: SwapchainKHR, + ) GetRefreshCycleDurationGOOGLEError!RefreshCycleDurationGOOGLE { + return self.wrapper.getRefreshCycleDurationGOOGLE( + self.handle, + swapchain, + ); + } + pub const GetPastPresentationTimingGOOGLEError = Wrapper.GetPastPresentationTimingGOOGLEError; + pub fn getPastPresentationTimingGOOGLE( + self: Self, + swapchain: SwapchainKHR, + p_presentation_timing_count: *u32, + p_presentation_timings: ?[*]PastPresentationTimingGOOGLE, + ) GetPastPresentationTimingGOOGLEError!Result { + return self.wrapper.getPastPresentationTimingGOOGLE( + self.handle, + swapchain, + p_presentation_timing_count, + p_presentation_timings, + ); + } + pub fn cmdSetViewportWScalingNV( + self: Self, + command_buffer: CommandBuffer, + first_viewport: u32, + viewport_count: u32, + p_viewport_w_scalings: [*]const ViewportWScalingNV, + ) void { + return self.wrapper.cmdSetViewportWScalingNV( + command_buffer, + first_viewport, + viewport_count, + p_viewport_w_scalings, + ); + } + pub fn cmdSetDiscardRectangleEXT( + self: Self, + command_buffer: CommandBuffer, + first_discard_rectangle: u32, + discard_rectangle_count: u32, + p_discard_rectangles: [*]const Rect2D, + ) void { + return self.wrapper.cmdSetDiscardRectangleEXT( + command_buffer, + first_discard_rectangle, + discard_rectangle_count, + p_discard_rectangles, + ); + } + pub fn cmdSetDiscardRectangleEnableEXT( + self: Self, + command_buffer: CommandBuffer, + discard_rectangle_enable: Bool32, + ) void { + return self.wrapper.cmdSetDiscardRectangleEnableEXT( + command_buffer, + discard_rectangle_enable, + ); + } + pub fn cmdSetDiscardRectangleModeEXT( + self: Self, + command_buffer: CommandBuffer, + discard_rectangle_mode: DiscardRectangleModeEXT, + ) void { + return self.wrapper.cmdSetDiscardRectangleModeEXT( + command_buffer, + discard_rectangle_mode, + ); + } + pub fn cmdSetSampleLocationsEXT( + self: Self, + command_buffer: CommandBuffer, + p_sample_locations_info: *const SampleLocationsInfoEXT, + ) void { + return self.wrapper.cmdSetSampleLocationsEXT( + command_buffer, + p_sample_locations_info, + ); + } + pub fn getBufferMemoryRequirements2( + self: Self, + p_info: *const BufferMemoryRequirementsInfo2, + p_memory_requirements: *MemoryRequirements2, + ) void { + return self.wrapper.getBufferMemoryRequirements2( + self.handle, + p_info, + p_memory_requirements, + ); + } + pub fn getBufferMemoryRequirements2KHR( + self: Self, + p_info: *const BufferMemoryRequirementsInfo2, + p_memory_requirements: *MemoryRequirements2, + ) void { + return self.wrapper.getBufferMemoryRequirements2KHR( + self.handle, + p_info, + p_memory_requirements, + ); + } + pub fn getImageMemoryRequirements2( + self: Self, + p_info: *const ImageMemoryRequirementsInfo2, + p_memory_requirements: *MemoryRequirements2, + ) void { + return self.wrapper.getImageMemoryRequirements2( + self.handle, + p_info, + p_memory_requirements, + ); + } + pub fn getImageMemoryRequirements2KHR( + self: Self, + p_info: *const ImageMemoryRequirementsInfo2, + p_memory_requirements: *MemoryRequirements2, + ) void { + return self.wrapper.getImageMemoryRequirements2KHR( + self.handle, + p_info, + p_memory_requirements, + ); + } + pub fn getImageSparseMemoryRequirements2( + self: Self, + p_info: *const ImageSparseMemoryRequirementsInfo2, + p_sparse_memory_requirement_count: *u32, + p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements2, + ) void { + return self.wrapper.getImageSparseMemoryRequirements2( + self.handle, + p_info, + p_sparse_memory_requirement_count, + p_sparse_memory_requirements, + ); + } + pub fn getImageSparseMemoryRequirements2KHR( + self: Self, + p_info: *const ImageSparseMemoryRequirementsInfo2, + p_sparse_memory_requirement_count: *u32, + p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements2, + ) void { + return self.wrapper.getImageSparseMemoryRequirements2KHR( + self.handle, + p_info, + p_sparse_memory_requirement_count, + p_sparse_memory_requirements, + ); + } + pub fn getDeviceBufferMemoryRequirements( + self: Self, + p_info: *const DeviceBufferMemoryRequirements, + p_memory_requirements: *MemoryRequirements2, + ) void { + return self.wrapper.getDeviceBufferMemoryRequirements( + self.handle, + p_info, + p_memory_requirements, + ); + } + pub fn getDeviceBufferMemoryRequirementsKHR( + self: Self, + p_info: *const DeviceBufferMemoryRequirements, + p_memory_requirements: *MemoryRequirements2, + ) void { + return self.wrapper.getDeviceBufferMemoryRequirementsKHR( + self.handle, + p_info, + p_memory_requirements, + ); + } + pub fn getDeviceImageMemoryRequirements( + self: Self, + p_info: *const DeviceImageMemoryRequirements, + p_memory_requirements: *MemoryRequirements2, + ) void { + return self.wrapper.getDeviceImageMemoryRequirements( + self.handle, + p_info, + p_memory_requirements, + ); + } + pub fn getDeviceImageMemoryRequirementsKHR( + self: Self, + p_info: *const DeviceImageMemoryRequirements, + p_memory_requirements: *MemoryRequirements2, + ) void { + return self.wrapper.getDeviceImageMemoryRequirementsKHR( + self.handle, + p_info, + p_memory_requirements, + ); + } + pub fn getDeviceImageSparseMemoryRequirements( + self: Self, + p_info: *const DeviceImageMemoryRequirements, + p_sparse_memory_requirement_count: *u32, + p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements2, + ) void { + return self.wrapper.getDeviceImageSparseMemoryRequirements( + self.handle, + p_info, + p_sparse_memory_requirement_count, + p_sparse_memory_requirements, + ); + } + pub fn getDeviceImageSparseMemoryRequirementsKHR( + self: Self, + p_info: *const DeviceImageMemoryRequirements, + p_sparse_memory_requirement_count: *u32, + p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements2, + ) void { + return self.wrapper.getDeviceImageSparseMemoryRequirementsKHR( + self.handle, + p_info, + p_sparse_memory_requirement_count, + p_sparse_memory_requirements, + ); + } + pub const CreateSamplerYcbcrConversionError = Wrapper.CreateSamplerYcbcrConversionError; + pub fn createSamplerYcbcrConversion( + self: Self, + p_create_info: *const SamplerYcbcrConversionCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateSamplerYcbcrConversionError!SamplerYcbcrConversion { + return self.wrapper.createSamplerYcbcrConversion( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const CreateSamplerYcbcrConversionKHRError = Wrapper.CreateSamplerYcbcrConversionKHRError; + pub fn createSamplerYcbcrConversionKHR( + self: Self, + p_create_info: *const SamplerYcbcrConversionCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreateSamplerYcbcrConversionKHRError!SamplerYcbcrConversion { + return self.wrapper.createSamplerYcbcrConversionKHR( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroySamplerYcbcrConversion( + self: Self, + ycbcr_conversion: SamplerYcbcrConversion, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroySamplerYcbcrConversion( + self.handle, + ycbcr_conversion, + p_allocator, + ); + } + pub fn destroySamplerYcbcrConversionKHR( + self: Self, + ycbcr_conversion: SamplerYcbcrConversion, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroySamplerYcbcrConversionKHR( + self.handle, + ycbcr_conversion, + p_allocator, + ); + } + pub fn getDeviceQueue2( + self: Self, + p_queue_info: *const DeviceQueueInfo2, + ) Queue { + return self.wrapper.getDeviceQueue2( + self.handle, + p_queue_info, + ); + } + pub const CreateValidationCacheEXTError = Wrapper.CreateValidationCacheEXTError; + pub fn createValidationCacheEXT( + self: Self, + p_create_info: *const ValidationCacheCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) CreateValidationCacheEXTError!ValidationCacheEXT { + return self.wrapper.createValidationCacheEXT( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyValidationCacheEXT( + self: Self, + validation_cache: ValidationCacheEXT, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyValidationCacheEXT( + self.handle, + validation_cache, + p_allocator, + ); + } + pub const GetValidationCacheDataEXTError = Wrapper.GetValidationCacheDataEXTError; + pub fn getValidationCacheDataEXT( + self: Self, + validation_cache: ValidationCacheEXT, + p_data_size: *usize, + p_data: ?*anyopaque, + ) GetValidationCacheDataEXTError!Result { + return self.wrapper.getValidationCacheDataEXT( + self.handle, + validation_cache, + p_data_size, + p_data, + ); + } + pub const MergeValidationCachesEXTError = Wrapper.MergeValidationCachesEXTError; + pub fn mergeValidationCachesEXT( + self: Self, + dst_cache: ValidationCacheEXT, + src_cache_count: u32, + p_src_caches: [*]const ValidationCacheEXT, + ) MergeValidationCachesEXTError!void { + return self.wrapper.mergeValidationCachesEXT( + self.handle, + dst_cache, + src_cache_count, + p_src_caches, + ); + } + pub fn getDescriptorSetLayoutSupport( + self: Self, + p_create_info: *const DescriptorSetLayoutCreateInfo, + p_support: *DescriptorSetLayoutSupport, + ) void { + return self.wrapper.getDescriptorSetLayoutSupport( + self.handle, + p_create_info, + p_support, + ); + } + pub fn getDescriptorSetLayoutSupportKHR( + self: Self, + p_create_info: *const DescriptorSetLayoutCreateInfo, + p_support: *DescriptorSetLayoutSupport, + ) void { + return self.wrapper.getDescriptorSetLayoutSupportKHR( + self.handle, + p_create_info, + p_support, + ); + } + pub const GetSwapchainGrallocUsageANDROIDError = Wrapper.GetSwapchainGrallocUsageANDROIDError; + pub fn getSwapchainGrallocUsageANDROID( + self: Self, + format: Format, + image_usage: ImageUsageFlags, + ) GetSwapchainGrallocUsageANDROIDError!c_int { + return self.wrapper.getSwapchainGrallocUsageANDROID( + self.handle, + format, + image_usage, + ); + } + pub const GetSwapchainGrallocUsage2ANDROIDError = Wrapper.GetSwapchainGrallocUsage2ANDROIDError; + pub const GetSwapchainGrallocUsage2ANDROIDResult = Wrapper.GetSwapchainGrallocUsage2ANDROIDResult; + pub fn getSwapchainGrallocUsage2ANDROID( + self: Self, + format: Format, + image_usage: ImageUsageFlags, + swapchain_image_usage: SwapchainImageUsageFlagsANDROID, + ) GetSwapchainGrallocUsage2ANDROIDError!GetSwapchainGrallocUsage2ANDROIDResult { + return self.wrapper.getSwapchainGrallocUsage2ANDROID( + self.handle, + format, + image_usage, + swapchain_image_usage, + ); + } + pub const AcquireImageANDROIDError = Wrapper.AcquireImageANDROIDError; + pub fn acquireImageANDROID( + self: Self, + image: Image, + native_fence_fd: c_int, + semaphore: Semaphore, + fence: Fence, + ) AcquireImageANDROIDError!void { + return self.wrapper.acquireImageANDROID( + self.handle, + image, + native_fence_fd, + semaphore, + fence, + ); + } + pub const QueueSignalReleaseImageANDROIDError = Wrapper.QueueSignalReleaseImageANDROIDError; + pub fn queueSignalReleaseImageANDROID( + self: Self, + queue: Queue, + wait_semaphore_count: u32, + p_wait_semaphores: [*]const Semaphore, + image: Image, + ) QueueSignalReleaseImageANDROIDError!c_int { + return self.wrapper.queueSignalReleaseImageANDROID( + queue, + wait_semaphore_count, + p_wait_semaphores, + image, + ); + } + pub const GetShaderInfoAMDError = Wrapper.GetShaderInfoAMDError; + pub fn getShaderInfoAMD( + self: Self, + pipeline: Pipeline, + shader_stage: ShaderStageFlags, + info_type: ShaderInfoTypeAMD, + p_info_size: *usize, + p_info: ?*anyopaque, + ) GetShaderInfoAMDError!Result { + return self.wrapper.getShaderInfoAMD( + self.handle, + pipeline, + shader_stage, + info_type, + p_info_size, + p_info, + ); + } + pub fn setLocalDimmingAMD( + self: Self, + swap_chain: SwapchainKHR, + local_dimming_enable: Bool32, + ) void { + return self.wrapper.setLocalDimmingAMD( + self.handle, + swap_chain, + local_dimming_enable, + ); + } + pub const GetCalibratedTimestampsKHRError = Wrapper.GetCalibratedTimestampsKHRError; + pub fn getCalibratedTimestampsKHR( + self: Self, + timestamp_count: u32, + p_timestamp_infos: [*]const CalibratedTimestampInfoKHR, + p_timestamps: [*]u64, + ) GetCalibratedTimestampsKHRError!u64 { + return self.wrapper.getCalibratedTimestampsKHR( + self.handle, + timestamp_count, + p_timestamp_infos, + p_timestamps, + ); + } + pub const GetCalibratedTimestampsEXTError = Wrapper.GetCalibratedTimestampsEXTError; + pub fn getCalibratedTimestampsEXT( + self: Self, + timestamp_count: u32, + p_timestamp_infos: [*]const CalibratedTimestampInfoKHR, + p_timestamps: [*]u64, + ) GetCalibratedTimestampsEXTError!u64 { + return self.wrapper.getCalibratedTimestampsEXT( + self.handle, + timestamp_count, + p_timestamp_infos, + p_timestamps, + ); + } + pub const SetDebugUtilsObjectNameEXTError = Wrapper.SetDebugUtilsObjectNameEXTError; + pub fn setDebugUtilsObjectNameEXT( + self: Self, + p_name_info: *const DebugUtilsObjectNameInfoEXT, + ) SetDebugUtilsObjectNameEXTError!void { + return self.wrapper.setDebugUtilsObjectNameEXT( + self.handle, + p_name_info, + ); + } + pub const SetDebugUtilsObjectTagEXTError = Wrapper.SetDebugUtilsObjectTagEXTError; + pub fn setDebugUtilsObjectTagEXT( + self: Self, + p_tag_info: *const DebugUtilsObjectTagInfoEXT, + ) SetDebugUtilsObjectTagEXTError!void { + return self.wrapper.setDebugUtilsObjectTagEXT( + self.handle, + p_tag_info, + ); + } + pub fn queueBeginDebugUtilsLabelEXT( + self: Self, + queue: Queue, + p_label_info: *const DebugUtilsLabelEXT, + ) void { + return self.wrapper.queueBeginDebugUtilsLabelEXT( + queue, + p_label_info, + ); + } + pub fn queueEndDebugUtilsLabelEXT( + self: Self, + queue: Queue, + ) void { + return self.wrapper.queueEndDebugUtilsLabelEXT( + queue, + ); + } + pub fn queueInsertDebugUtilsLabelEXT( + self: Self, + queue: Queue, + p_label_info: *const DebugUtilsLabelEXT, + ) void { + return self.wrapper.queueInsertDebugUtilsLabelEXT( + queue, + p_label_info, + ); + } + pub fn cmdBeginDebugUtilsLabelEXT( + self: Self, + command_buffer: CommandBuffer, + p_label_info: *const DebugUtilsLabelEXT, + ) void { + return self.wrapper.cmdBeginDebugUtilsLabelEXT( + command_buffer, + p_label_info, + ); + } + pub fn cmdEndDebugUtilsLabelEXT( + self: Self, + command_buffer: CommandBuffer, + ) void { + return self.wrapper.cmdEndDebugUtilsLabelEXT( + command_buffer, + ); + } + pub fn cmdInsertDebugUtilsLabelEXT( + self: Self, + command_buffer: CommandBuffer, + p_label_info: *const DebugUtilsLabelEXT, + ) void { + return self.wrapper.cmdInsertDebugUtilsLabelEXT( + command_buffer, + p_label_info, + ); + } + pub const GetMemoryHostPointerPropertiesEXTError = Wrapper.GetMemoryHostPointerPropertiesEXTError; + pub fn getMemoryHostPointerPropertiesEXT( + self: Self, + handle_type: ExternalMemoryHandleTypeFlags, + p_host_pointer: *const anyopaque, + p_memory_host_pointer_properties: *MemoryHostPointerPropertiesEXT, + ) GetMemoryHostPointerPropertiesEXTError!void { + return self.wrapper.getMemoryHostPointerPropertiesEXT( + self.handle, + handle_type, + p_host_pointer, + p_memory_host_pointer_properties, + ); + } + pub fn cmdWriteBufferMarkerAMD( + self: Self, + command_buffer: CommandBuffer, + pipeline_stage: PipelineStageFlags, + dst_buffer: Buffer, + dst_offset: DeviceSize, + marker: u32, + ) void { + return self.wrapper.cmdWriteBufferMarkerAMD( + command_buffer, + pipeline_stage, + dst_buffer, + dst_offset, + marker, + ); + } + pub const CreateRenderPass2Error = Wrapper.CreateRenderPass2Error; + pub fn createRenderPass2( + self: Self, + p_create_info: *const RenderPassCreateInfo2, + p_allocator: ?*const AllocationCallbacks, + ) CreateRenderPass2Error!RenderPass { + return self.wrapper.createRenderPass2( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const CreateRenderPass2KHRError = Wrapper.CreateRenderPass2KHRError; + pub fn createRenderPass2KHR( + self: Self, + p_create_info: *const RenderPassCreateInfo2, + p_allocator: ?*const AllocationCallbacks, + ) CreateRenderPass2KHRError!RenderPass { + return self.wrapper.createRenderPass2KHR( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn cmdBeginRenderPass2( + self: Self, + command_buffer: CommandBuffer, + p_render_pass_begin: *const RenderPassBeginInfo, + p_subpass_begin_info: *const SubpassBeginInfo, + ) void { + return self.wrapper.cmdBeginRenderPass2( + command_buffer, + p_render_pass_begin, + p_subpass_begin_info, + ); + } + pub fn cmdBeginRenderPass2KHR( + self: Self, + command_buffer: CommandBuffer, + p_render_pass_begin: *const RenderPassBeginInfo, + p_subpass_begin_info: *const SubpassBeginInfo, + ) void { + return self.wrapper.cmdBeginRenderPass2KHR( + command_buffer, + p_render_pass_begin, + p_subpass_begin_info, + ); + } + pub fn cmdNextSubpass2( + self: Self, + command_buffer: CommandBuffer, + p_subpass_begin_info: *const SubpassBeginInfo, + p_subpass_end_info: *const SubpassEndInfo, + ) void { + return self.wrapper.cmdNextSubpass2( + command_buffer, + p_subpass_begin_info, + p_subpass_end_info, + ); + } + pub fn cmdNextSubpass2KHR( + self: Self, + command_buffer: CommandBuffer, + p_subpass_begin_info: *const SubpassBeginInfo, + p_subpass_end_info: *const SubpassEndInfo, + ) void { + return self.wrapper.cmdNextSubpass2KHR( + command_buffer, + p_subpass_begin_info, + p_subpass_end_info, + ); + } + pub fn cmdEndRenderPass2( + self: Self, + command_buffer: CommandBuffer, + p_subpass_end_info: *const SubpassEndInfo, + ) void { + return self.wrapper.cmdEndRenderPass2( + command_buffer, + p_subpass_end_info, + ); + } + pub fn cmdEndRenderPass2KHR( + self: Self, + command_buffer: CommandBuffer, + p_subpass_end_info: *const SubpassEndInfo, + ) void { + return self.wrapper.cmdEndRenderPass2KHR( + command_buffer, + p_subpass_end_info, + ); + } + pub const GetSemaphoreCounterValueError = Wrapper.GetSemaphoreCounterValueError; + pub fn getSemaphoreCounterValue( + self: Self, + semaphore: Semaphore, + ) GetSemaphoreCounterValueError!u64 { + return self.wrapper.getSemaphoreCounterValue( + self.handle, + semaphore, + ); + } + pub const GetSemaphoreCounterValueKHRError = Wrapper.GetSemaphoreCounterValueKHRError; + pub fn getSemaphoreCounterValueKHR( + self: Self, + semaphore: Semaphore, + ) GetSemaphoreCounterValueKHRError!u64 { + return self.wrapper.getSemaphoreCounterValueKHR( + self.handle, + semaphore, + ); + } + pub const WaitSemaphoresError = Wrapper.WaitSemaphoresError; + pub fn waitSemaphores( + self: Self, + p_wait_info: *const SemaphoreWaitInfo, + timeout: u64, + ) WaitSemaphoresError!Result { + return self.wrapper.waitSemaphores( + self.handle, + p_wait_info, + timeout, + ); + } + pub const WaitSemaphoresKHRError = Wrapper.WaitSemaphoresKHRError; + pub fn waitSemaphoresKHR( + self: Self, + p_wait_info: *const SemaphoreWaitInfo, + timeout: u64, + ) WaitSemaphoresKHRError!Result { + return self.wrapper.waitSemaphoresKHR( + self.handle, + p_wait_info, + timeout, + ); + } + pub const SignalSemaphoreError = Wrapper.SignalSemaphoreError; + pub fn signalSemaphore( + self: Self, + p_signal_info: *const SemaphoreSignalInfo, + ) SignalSemaphoreError!void { + return self.wrapper.signalSemaphore( + self.handle, + p_signal_info, + ); + } + pub const SignalSemaphoreKHRError = Wrapper.SignalSemaphoreKHRError; + pub fn signalSemaphoreKHR( + self: Self, + p_signal_info: *const SemaphoreSignalInfo, + ) SignalSemaphoreKHRError!void { + return self.wrapper.signalSemaphoreKHR( + self.handle, + p_signal_info, + ); + } + pub const GetAndroidHardwareBufferPropertiesANDROIDError = Wrapper.GetAndroidHardwareBufferPropertiesANDROIDError; + pub fn getAndroidHardwareBufferPropertiesANDROID( + self: Self, + buffer: *const AHardwareBuffer, + p_properties: *AndroidHardwareBufferPropertiesANDROID, + ) GetAndroidHardwareBufferPropertiesANDROIDError!void { + return self.wrapper.getAndroidHardwareBufferPropertiesANDROID( + self.handle, + buffer, + p_properties, + ); + } + pub const GetMemoryAndroidHardwareBufferANDROIDError = Wrapper.GetMemoryAndroidHardwareBufferANDROIDError; + pub fn getMemoryAndroidHardwareBufferANDROID( + self: Self, + p_info: *const MemoryGetAndroidHardwareBufferInfoANDROID, + ) GetMemoryAndroidHardwareBufferANDROIDError!*AHardwareBuffer { + return self.wrapper.getMemoryAndroidHardwareBufferANDROID( + self.handle, + p_info, + ); + } + pub fn cmdDrawIndirectCount( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawIndirectCount( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdDrawIndirectCountKHR( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawIndirectCountKHR( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdDrawIndirectCountAMD( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawIndirectCountAMD( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdDrawIndexedIndirectCount( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawIndexedIndirectCount( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdDrawIndexedIndirectCountKHR( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawIndexedIndirectCountKHR( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdDrawIndexedIndirectCountAMD( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawIndexedIndirectCountAMD( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdSetCheckpointNV( + self: Self, + command_buffer: CommandBuffer, + p_checkpoint_marker: *const anyopaque, + ) void { + return self.wrapper.cmdSetCheckpointNV( + command_buffer, + p_checkpoint_marker, + ); + } + pub fn getQueueCheckpointDataNV( + self: Self, + queue: Queue, + p_checkpoint_data_count: *u32, + p_checkpoint_data: ?[*]CheckpointDataNV, + ) void { + return self.wrapper.getQueueCheckpointDataNV( + queue, + p_checkpoint_data_count, + p_checkpoint_data, + ); + } + pub fn cmdBindTransformFeedbackBuffersEXT( + self: Self, + command_buffer: CommandBuffer, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + p_sizes: ?[*]const DeviceSize, + ) void { + return self.wrapper.cmdBindTransformFeedbackBuffersEXT( + command_buffer, + first_binding, + binding_count, + p_buffers, + p_offsets, + p_sizes, + ); + } + pub fn cmdBeginTransformFeedbackEXT( + self: Self, + command_buffer: CommandBuffer, + first_counter_buffer: u32, + counter_buffer_count: u32, + p_counter_buffers: ?[*]const Buffer, + p_counter_buffer_offsets: ?[*]const DeviceSize, + ) void { + return self.wrapper.cmdBeginTransformFeedbackEXT( + command_buffer, + first_counter_buffer, + counter_buffer_count, + p_counter_buffers, + p_counter_buffer_offsets, + ); + } + pub fn cmdEndTransformFeedbackEXT( + self: Self, + command_buffer: CommandBuffer, + first_counter_buffer: u32, + counter_buffer_count: u32, + p_counter_buffers: ?[*]const Buffer, + p_counter_buffer_offsets: ?[*]const DeviceSize, + ) void { + return self.wrapper.cmdEndTransformFeedbackEXT( + command_buffer, + first_counter_buffer, + counter_buffer_count, + p_counter_buffers, + p_counter_buffer_offsets, + ); + } + pub fn cmdBeginQueryIndexedEXT( + self: Self, + command_buffer: CommandBuffer, + query_pool: QueryPool, + query: u32, + flags: QueryControlFlags, + index: u32, + ) void { + return self.wrapper.cmdBeginQueryIndexedEXT( + command_buffer, + query_pool, + query, + flags, + index, + ); + } + pub fn cmdEndQueryIndexedEXT( + self: Self, + command_buffer: CommandBuffer, + query_pool: QueryPool, + query: u32, + index: u32, + ) void { + return self.wrapper.cmdEndQueryIndexedEXT( + command_buffer, + query_pool, + query, + index, + ); + } + pub fn cmdDrawIndirectByteCountEXT( + self: Self, + command_buffer: CommandBuffer, + instance_count: u32, + first_instance: u32, + counter_buffer: Buffer, + counter_buffer_offset: DeviceSize, + counter_offset: u32, + vertex_stride: u32, + ) void { + return self.wrapper.cmdDrawIndirectByteCountEXT( + command_buffer, + instance_count, + first_instance, + counter_buffer, + counter_buffer_offset, + counter_offset, + vertex_stride, + ); + } + pub fn cmdSetExclusiveScissorNV( + self: Self, + command_buffer: CommandBuffer, + first_exclusive_scissor: u32, + exclusive_scissor_count: u32, + p_exclusive_scissors: [*]const Rect2D, + ) void { + return self.wrapper.cmdSetExclusiveScissorNV( + command_buffer, + first_exclusive_scissor, + exclusive_scissor_count, + p_exclusive_scissors, + ); + } + pub fn cmdSetExclusiveScissorEnableNV( + self: Self, + command_buffer: CommandBuffer, + first_exclusive_scissor: u32, + exclusive_scissor_count: u32, + p_exclusive_scissor_enables: [*]const Bool32, + ) void { + return self.wrapper.cmdSetExclusiveScissorEnableNV( + command_buffer, + first_exclusive_scissor, + exclusive_scissor_count, + p_exclusive_scissor_enables, + ); + } + pub fn cmdBindShadingRateImageNV( + self: Self, + command_buffer: CommandBuffer, + image_view: ImageView, + image_layout: ImageLayout, + ) void { + return self.wrapper.cmdBindShadingRateImageNV( + command_buffer, + image_view, + image_layout, + ); + } + pub fn cmdSetViewportShadingRatePaletteNV( + self: Self, + command_buffer: CommandBuffer, + first_viewport: u32, + viewport_count: u32, + p_shading_rate_palettes: [*]const ShadingRatePaletteNV, + ) void { + return self.wrapper.cmdSetViewportShadingRatePaletteNV( + command_buffer, + first_viewport, + viewport_count, + p_shading_rate_palettes, + ); + } + pub fn cmdSetCoarseSampleOrderNV( + self: Self, + command_buffer: CommandBuffer, + sample_order_type: CoarseSampleOrderTypeNV, + custom_sample_order_count: u32, + p_custom_sample_orders: ?[*]const CoarseSampleOrderCustomNV, + ) void { + return self.wrapper.cmdSetCoarseSampleOrderNV( + command_buffer, + sample_order_type, + custom_sample_order_count, + p_custom_sample_orders, + ); + } + pub fn cmdDrawMeshTasksNV( + self: Self, + command_buffer: CommandBuffer, + task_count: u32, + first_task: u32, + ) void { + return self.wrapper.cmdDrawMeshTasksNV( + command_buffer, + task_count, + first_task, + ); + } + pub fn cmdDrawMeshTasksIndirectNV( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawMeshTasksIndirectNV( + command_buffer, + buffer, + offset, + draw_count, + stride, + ); + } + pub fn cmdDrawMeshTasksIndirectCountNV( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawMeshTasksIndirectCountNV( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn cmdDrawMeshTasksEXT( + self: Self, + command_buffer: CommandBuffer, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, + ) void { + return self.wrapper.cmdDrawMeshTasksEXT( + command_buffer, + group_count_x, + group_count_y, + group_count_z, + ); + } + pub fn cmdDrawMeshTasksIndirectEXT( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawMeshTasksIndirectEXT( + command_buffer, + buffer, + offset, + draw_count, + stride, + ); + } + pub fn cmdDrawMeshTasksIndirectCountEXT( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawMeshTasksIndirectCountEXT( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub const CompileDeferredNVError = Wrapper.CompileDeferredNVError; + pub fn compileDeferredNV( + self: Self, + pipeline: Pipeline, + shader: u32, + ) CompileDeferredNVError!void { + return self.wrapper.compileDeferredNV( + self.handle, + pipeline, + shader, + ); + } + pub const CreateAccelerationStructureNVError = Wrapper.CreateAccelerationStructureNVError; + pub fn createAccelerationStructureNV( + self: Self, + p_create_info: *const AccelerationStructureCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + ) CreateAccelerationStructureNVError!AccelerationStructureNV { + return self.wrapper.createAccelerationStructureNV( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn cmdBindInvocationMaskHUAWEI( + self: Self, + command_buffer: CommandBuffer, + image_view: ImageView, + image_layout: ImageLayout, + ) void { + return self.wrapper.cmdBindInvocationMaskHUAWEI( + command_buffer, + image_view, + image_layout, + ); + } + pub fn destroyAccelerationStructureKHR( + self: Self, + acceleration_structure: AccelerationStructureKHR, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyAccelerationStructureKHR( + self.handle, + acceleration_structure, + p_allocator, + ); + } + pub fn destroyAccelerationStructureNV( + self: Self, + acceleration_structure: AccelerationStructureNV, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyAccelerationStructureNV( + self.handle, + acceleration_structure, + p_allocator, + ); + } + pub fn getAccelerationStructureMemoryRequirementsNV( + self: Self, + p_info: *const AccelerationStructureMemoryRequirementsInfoNV, + p_memory_requirements: *MemoryRequirements2KHR, + ) void { + return self.wrapper.getAccelerationStructureMemoryRequirementsNV( + self.handle, + p_info, + p_memory_requirements, + ); + } + pub const BindAccelerationStructureMemoryNVError = Wrapper.BindAccelerationStructureMemoryNVError; + pub fn bindAccelerationStructureMemoryNV( + self: Self, + bind_info_count: u32, + p_bind_infos: [*]const BindAccelerationStructureMemoryInfoNV, + ) BindAccelerationStructureMemoryNVError!void { + return self.wrapper.bindAccelerationStructureMemoryNV( + self.handle, + bind_info_count, + p_bind_infos, + ); + } + pub fn cmdCopyAccelerationStructureNV( + self: Self, + command_buffer: CommandBuffer, + dst: AccelerationStructureNV, + src: AccelerationStructureNV, + mode: CopyAccelerationStructureModeKHR, + ) void { + return self.wrapper.cmdCopyAccelerationStructureNV( + command_buffer, + dst, + src, + mode, + ); + } + pub fn cmdCopyAccelerationStructureKHR( + self: Self, + command_buffer: CommandBuffer, + p_info: *const CopyAccelerationStructureInfoKHR, + ) void { + return self.wrapper.cmdCopyAccelerationStructureKHR( + command_buffer, + p_info, + ); + } + pub const CopyAccelerationStructureKHRError = Wrapper.CopyAccelerationStructureKHRError; + pub fn copyAccelerationStructureKHR( + self: Self, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyAccelerationStructureInfoKHR, + ) CopyAccelerationStructureKHRError!Result { + return self.wrapper.copyAccelerationStructureKHR( + self.handle, + deferred_operation, + p_info, + ); + } + pub fn cmdCopyAccelerationStructureToMemoryKHR( + self: Self, + command_buffer: CommandBuffer, + p_info: *const CopyAccelerationStructureToMemoryInfoKHR, + ) void { + return self.wrapper.cmdCopyAccelerationStructureToMemoryKHR( + command_buffer, + p_info, + ); + } + pub const CopyAccelerationStructureToMemoryKHRError = Wrapper.CopyAccelerationStructureToMemoryKHRError; + pub fn copyAccelerationStructureToMemoryKHR( + self: Self, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyAccelerationStructureToMemoryInfoKHR, + ) CopyAccelerationStructureToMemoryKHRError!Result { + return self.wrapper.copyAccelerationStructureToMemoryKHR( + self.handle, + deferred_operation, + p_info, + ); + } + pub fn cmdCopyMemoryToAccelerationStructureKHR( + self: Self, + command_buffer: CommandBuffer, + p_info: *const CopyMemoryToAccelerationStructureInfoKHR, + ) void { + return self.wrapper.cmdCopyMemoryToAccelerationStructureKHR( + command_buffer, + p_info, + ); + } + pub const CopyMemoryToAccelerationStructureKHRError = Wrapper.CopyMemoryToAccelerationStructureKHRError; + pub fn copyMemoryToAccelerationStructureKHR( + self: Self, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyMemoryToAccelerationStructureInfoKHR, + ) CopyMemoryToAccelerationStructureKHRError!Result { + return self.wrapper.copyMemoryToAccelerationStructureKHR( + self.handle, + deferred_operation, + p_info, + ); + } + pub fn cmdWriteAccelerationStructuresPropertiesKHR( + self: Self, + command_buffer: CommandBuffer, + acceleration_structure_count: u32, + p_acceleration_structures: [*]const AccelerationStructureKHR, + query_type: QueryType, + query_pool: QueryPool, + first_query: u32, + ) void { + return self.wrapper.cmdWriteAccelerationStructuresPropertiesKHR( + command_buffer, + acceleration_structure_count, + p_acceleration_structures, + query_type, + query_pool, + first_query, + ); + } + pub fn cmdWriteAccelerationStructuresPropertiesNV( + self: Self, + command_buffer: CommandBuffer, + acceleration_structure_count: u32, + p_acceleration_structures: [*]const AccelerationStructureNV, + query_type: QueryType, + query_pool: QueryPool, + first_query: u32, + ) void { + return self.wrapper.cmdWriteAccelerationStructuresPropertiesNV( + command_buffer, + acceleration_structure_count, + p_acceleration_structures, + query_type, + query_pool, + first_query, + ); + } + pub fn cmdBuildAccelerationStructureNV( + self: Self, + command_buffer: CommandBuffer, + p_info: *const AccelerationStructureInfoNV, + instance_data: Buffer, + instance_offset: DeviceSize, + update: Bool32, + dst: AccelerationStructureNV, + src: AccelerationStructureNV, + scratch: Buffer, + scratch_offset: DeviceSize, + ) void { + return self.wrapper.cmdBuildAccelerationStructureNV( + command_buffer, + p_info, + instance_data, + instance_offset, + update, + dst, + src, + scratch, + scratch_offset, + ); + } + pub const WriteAccelerationStructuresPropertiesKHRError = Wrapper.WriteAccelerationStructuresPropertiesKHRError; + pub fn writeAccelerationStructuresPropertiesKHR( + self: Self, + acceleration_structure_count: u32, + p_acceleration_structures: [*]const AccelerationStructureKHR, + query_type: QueryType, + data_size: usize, + p_data: *anyopaque, + stride: usize, + ) WriteAccelerationStructuresPropertiesKHRError!void { + return self.wrapper.writeAccelerationStructuresPropertiesKHR( + self.handle, + acceleration_structure_count, + p_acceleration_structures, + query_type, + data_size, + p_data, + stride, + ); + } + pub fn cmdTraceRaysKHR( + self: Self, + command_buffer: CommandBuffer, + p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR, + width: u32, + height: u32, + depth: u32, + ) void { + return self.wrapper.cmdTraceRaysKHR( + command_buffer, + p_raygen_shader_binding_table, + p_miss_shader_binding_table, + p_hit_shader_binding_table, + p_callable_shader_binding_table, + width, + height, + depth, + ); + } + pub fn cmdTraceRaysNV( + self: Self, + command_buffer: CommandBuffer, + raygen_shader_binding_table_buffer: Buffer, + raygen_shader_binding_offset: DeviceSize, + miss_shader_binding_table_buffer: Buffer, + miss_shader_binding_offset: DeviceSize, + miss_shader_binding_stride: DeviceSize, + hit_shader_binding_table_buffer: Buffer, + hit_shader_binding_offset: DeviceSize, + hit_shader_binding_stride: DeviceSize, + callable_shader_binding_table_buffer: Buffer, + callable_shader_binding_offset: DeviceSize, + callable_shader_binding_stride: DeviceSize, + width: u32, + height: u32, + depth: u32, + ) void { + return self.wrapper.cmdTraceRaysNV( + command_buffer, + raygen_shader_binding_table_buffer, + raygen_shader_binding_offset, + miss_shader_binding_table_buffer, + miss_shader_binding_offset, + miss_shader_binding_stride, + hit_shader_binding_table_buffer, + hit_shader_binding_offset, + hit_shader_binding_stride, + callable_shader_binding_table_buffer, + callable_shader_binding_offset, + callable_shader_binding_stride, + width, + height, + depth, + ); + } + pub const GetRayTracingShaderGroupHandlesKHRError = Wrapper.GetRayTracingShaderGroupHandlesKHRError; + pub fn getRayTracingShaderGroupHandlesKHR( + self: Self, + pipeline: Pipeline, + first_group: u32, + group_count: u32, + data_size: usize, + p_data: *anyopaque, + ) GetRayTracingShaderGroupHandlesKHRError!void { + return self.wrapper.getRayTracingShaderGroupHandlesKHR( + self.handle, + pipeline, + first_group, + group_count, + data_size, + p_data, + ); + } + pub const GetRayTracingShaderGroupHandlesNVError = Wrapper.GetRayTracingShaderGroupHandlesNVError; + pub fn getRayTracingShaderGroupHandlesNV( + self: Self, + pipeline: Pipeline, + first_group: u32, + group_count: u32, + data_size: usize, + p_data: *anyopaque, + ) GetRayTracingShaderGroupHandlesNVError!void { + return self.wrapper.getRayTracingShaderGroupHandlesNV( + self.handle, + pipeline, + first_group, + group_count, + data_size, + p_data, + ); + } + pub const GetRayTracingCaptureReplayShaderGroupHandlesKHRError = Wrapper.GetRayTracingCaptureReplayShaderGroupHandlesKHRError; + pub fn getRayTracingCaptureReplayShaderGroupHandlesKHR( + self: Self, + pipeline: Pipeline, + first_group: u32, + group_count: u32, + data_size: usize, + p_data: *anyopaque, + ) GetRayTracingCaptureReplayShaderGroupHandlesKHRError!void { + return self.wrapper.getRayTracingCaptureReplayShaderGroupHandlesKHR( + self.handle, + pipeline, + first_group, + group_count, + data_size, + p_data, + ); + } + pub const GetAccelerationStructureHandleNVError = Wrapper.GetAccelerationStructureHandleNVError; + pub fn getAccelerationStructureHandleNV( + self: Self, + acceleration_structure: AccelerationStructureNV, + data_size: usize, + p_data: *anyopaque, + ) GetAccelerationStructureHandleNVError!void { + return self.wrapper.getAccelerationStructureHandleNV( + self.handle, + acceleration_structure, + data_size, + p_data, + ); + } + pub const CreateRayTracingPipelinesNVError = Wrapper.CreateRayTracingPipelinesNVError; + pub fn createRayTracingPipelinesNV( + self: Self, + pipeline_cache: PipelineCache, + create_info_count: u32, + p_create_infos: [*]const RayTracingPipelineCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + p_pipelines: [*]Pipeline, + ) CreateRayTracingPipelinesNVError!Result { + return self.wrapper.createRayTracingPipelinesNV( + self.handle, + pipeline_cache, + create_info_count, + p_create_infos, + p_allocator, + p_pipelines, + ); + } + pub const CreateRayTracingPipelinesKHRError = Wrapper.CreateRayTracingPipelinesKHRError; + pub fn createRayTracingPipelinesKHR( + self: Self, + deferred_operation: DeferredOperationKHR, + pipeline_cache: PipelineCache, + create_info_count: u32, + p_create_infos: [*]const RayTracingPipelineCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + p_pipelines: [*]Pipeline, + ) CreateRayTracingPipelinesKHRError!Result { + return self.wrapper.createRayTracingPipelinesKHR( + self.handle, + deferred_operation, + pipeline_cache, + create_info_count, + p_create_infos, + p_allocator, + p_pipelines, + ); + } + pub fn cmdTraceRaysIndirectKHR( + self: Self, + command_buffer: CommandBuffer, + p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR, + indirect_device_address: DeviceAddress, + ) void { + return self.wrapper.cmdTraceRaysIndirectKHR( + command_buffer, + p_raygen_shader_binding_table, + p_miss_shader_binding_table, + p_hit_shader_binding_table, + p_callable_shader_binding_table, + indirect_device_address, + ); + } + pub fn cmdTraceRaysIndirect2KHR( + self: Self, + command_buffer: CommandBuffer, + indirect_device_address: DeviceAddress, + ) void { + return self.wrapper.cmdTraceRaysIndirect2KHR( + command_buffer, + indirect_device_address, + ); + } + pub fn getDeviceAccelerationStructureCompatibilityKHR( + self: Self, + p_version_info: *const AccelerationStructureVersionInfoKHR, + ) AccelerationStructureCompatibilityKHR { + return self.wrapper.getDeviceAccelerationStructureCompatibilityKHR( + self.handle, + p_version_info, + ); + } + pub fn getRayTracingShaderGroupStackSizeKHR( + self: Self, + pipeline: Pipeline, + group: u32, + group_shader: ShaderGroupShaderKHR, + ) DeviceSize { + return self.wrapper.getRayTracingShaderGroupStackSizeKHR( + self.handle, + pipeline, + group, + group_shader, + ); + } + pub fn cmdSetRayTracingPipelineStackSizeKHR( + self: Self, + command_buffer: CommandBuffer, + pipeline_stack_size: u32, + ) void { + return self.wrapper.cmdSetRayTracingPipelineStackSizeKHR( + command_buffer, + pipeline_stack_size, + ); + } + pub fn getImageViewHandleNVX( + self: Self, + p_info: *const ImageViewHandleInfoNVX, + ) u32 { + return self.wrapper.getImageViewHandleNVX( + self.handle, + p_info, + ); + } + pub const GetImageViewAddressNVXError = Wrapper.GetImageViewAddressNVXError; + pub fn getImageViewAddressNVX( + self: Self, + image_view: ImageView, + p_properties: *ImageViewAddressPropertiesNVX, + ) GetImageViewAddressNVXError!void { + return self.wrapper.getImageViewAddressNVX( + self.handle, + image_view, + p_properties, + ); + } + pub const GetDeviceGroupSurfacePresentModes2EXTError = Wrapper.GetDeviceGroupSurfacePresentModes2EXTError; + pub fn getDeviceGroupSurfacePresentModes2EXT( + self: Self, + p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, + ) GetDeviceGroupSurfacePresentModes2EXTError!DeviceGroupPresentModeFlagsKHR { + return self.wrapper.getDeviceGroupSurfacePresentModes2EXT( + self.handle, + p_surface_info, + ); + } + pub const AcquireFullScreenExclusiveModeEXTError = Wrapper.AcquireFullScreenExclusiveModeEXTError; + pub fn acquireFullScreenExclusiveModeEXT( + self: Self, + swapchain: SwapchainKHR, + ) AcquireFullScreenExclusiveModeEXTError!void { + return self.wrapper.acquireFullScreenExclusiveModeEXT( + self.handle, + swapchain, + ); + } + pub const ReleaseFullScreenExclusiveModeEXTError = Wrapper.ReleaseFullScreenExclusiveModeEXTError; + pub fn releaseFullScreenExclusiveModeEXT( + self: Self, + swapchain: SwapchainKHR, + ) ReleaseFullScreenExclusiveModeEXTError!void { + return self.wrapper.releaseFullScreenExclusiveModeEXT( + self.handle, + swapchain, + ); + } + pub const AcquireProfilingLockKHRError = Wrapper.AcquireProfilingLockKHRError; + pub fn acquireProfilingLockKHR( + self: Self, + p_info: *const AcquireProfilingLockInfoKHR, + ) AcquireProfilingLockKHRError!void { + return self.wrapper.acquireProfilingLockKHR( + self.handle, + p_info, + ); + } + pub fn releaseProfilingLockKHR( + self: Self, + ) void { + return self.wrapper.releaseProfilingLockKHR( + self.handle, + ); + } + pub const GetImageDrmFormatModifierPropertiesEXTError = Wrapper.GetImageDrmFormatModifierPropertiesEXTError; + pub fn getImageDrmFormatModifierPropertiesEXT( + self: Self, + image: Image, + p_properties: *ImageDrmFormatModifierPropertiesEXT, + ) GetImageDrmFormatModifierPropertiesEXTError!void { + return self.wrapper.getImageDrmFormatModifierPropertiesEXT( + self.handle, + image, + p_properties, + ); + } + pub fn getBufferOpaqueCaptureAddress( + self: Self, + p_info: *const BufferDeviceAddressInfo, + ) u64 { + return self.wrapper.getBufferOpaqueCaptureAddress( + self.handle, + p_info, + ); + } + pub fn getBufferOpaqueCaptureAddressKHR( + self: Self, + p_info: *const BufferDeviceAddressInfo, + ) u64 { + return self.wrapper.getBufferOpaqueCaptureAddressKHR( + self.handle, + p_info, + ); + } + pub fn getBufferDeviceAddress( + self: Self, + p_info: *const BufferDeviceAddressInfo, + ) DeviceAddress { + return self.wrapper.getBufferDeviceAddress( + self.handle, + p_info, + ); + } + pub fn getBufferDeviceAddressKHR( + self: Self, + p_info: *const BufferDeviceAddressInfo, + ) DeviceAddress { + return self.wrapper.getBufferDeviceAddressKHR( + self.handle, + p_info, + ); + } + pub fn getBufferDeviceAddressEXT( + self: Self, + p_info: *const BufferDeviceAddressInfo, + ) DeviceAddress { + return self.wrapper.getBufferDeviceAddressEXT( + self.handle, + p_info, + ); + } + pub const InitializePerformanceApiINTELError = Wrapper.InitializePerformanceApiINTELError; + pub fn initializePerformanceApiINTEL( + self: Self, + p_initialize_info: *const InitializePerformanceApiInfoINTEL, + ) InitializePerformanceApiINTELError!void { + return self.wrapper.initializePerformanceApiINTEL( + self.handle, + p_initialize_info, + ); + } + pub fn uninitializePerformanceApiINTEL( + self: Self, + ) void { + return self.wrapper.uninitializePerformanceApiINTEL( + self.handle, + ); + } + pub const CmdSetPerformanceMarkerINTELError = Wrapper.CmdSetPerformanceMarkerINTELError; + pub fn cmdSetPerformanceMarkerINTEL( + self: Self, + command_buffer: CommandBuffer, + p_marker_info: *const PerformanceMarkerInfoINTEL, + ) CmdSetPerformanceMarkerINTELError!void { + return self.wrapper.cmdSetPerformanceMarkerINTEL( + command_buffer, + p_marker_info, + ); + } + pub const CmdSetPerformanceStreamMarkerINTELError = Wrapper.CmdSetPerformanceStreamMarkerINTELError; + pub fn cmdSetPerformanceStreamMarkerINTEL( + self: Self, + command_buffer: CommandBuffer, + p_marker_info: *const PerformanceStreamMarkerInfoINTEL, + ) CmdSetPerformanceStreamMarkerINTELError!void { + return self.wrapper.cmdSetPerformanceStreamMarkerINTEL( + command_buffer, + p_marker_info, + ); + } + pub const CmdSetPerformanceOverrideINTELError = Wrapper.CmdSetPerformanceOverrideINTELError; + pub fn cmdSetPerformanceOverrideINTEL( + self: Self, + command_buffer: CommandBuffer, + p_override_info: *const PerformanceOverrideInfoINTEL, + ) CmdSetPerformanceOverrideINTELError!void { + return self.wrapper.cmdSetPerformanceOverrideINTEL( + command_buffer, + p_override_info, + ); + } + pub const AcquirePerformanceConfigurationINTELError = Wrapper.AcquirePerformanceConfigurationINTELError; + pub fn acquirePerformanceConfigurationINTEL( + self: Self, + p_acquire_info: *const PerformanceConfigurationAcquireInfoINTEL, + ) AcquirePerformanceConfigurationINTELError!PerformanceConfigurationINTEL { + return self.wrapper.acquirePerformanceConfigurationINTEL( + self.handle, + p_acquire_info, + ); + } + pub const ReleasePerformanceConfigurationINTELError = Wrapper.ReleasePerformanceConfigurationINTELError; + pub fn releasePerformanceConfigurationINTEL( + self: Self, + configuration: PerformanceConfigurationINTEL, + ) ReleasePerformanceConfigurationINTELError!void { + return self.wrapper.releasePerformanceConfigurationINTEL( + self.handle, + configuration, + ); + } + pub const QueueSetPerformanceConfigurationINTELError = Wrapper.QueueSetPerformanceConfigurationINTELError; + pub fn queueSetPerformanceConfigurationINTEL( + self: Self, + queue: Queue, + configuration: PerformanceConfigurationINTEL, + ) QueueSetPerformanceConfigurationINTELError!void { + return self.wrapper.queueSetPerformanceConfigurationINTEL( + queue, + configuration, + ); + } + pub const GetPerformanceParameterINTELError = Wrapper.GetPerformanceParameterINTELError; + pub fn getPerformanceParameterINTEL( + self: Self, + parameter: PerformanceParameterTypeINTEL, + ) GetPerformanceParameterINTELError!PerformanceValueINTEL { + return self.wrapper.getPerformanceParameterINTEL( + self.handle, + parameter, + ); + } + pub fn getDeviceMemoryOpaqueCaptureAddress( + self: Self, + p_info: *const DeviceMemoryOpaqueCaptureAddressInfo, + ) u64 { + return self.wrapper.getDeviceMemoryOpaqueCaptureAddress( + self.handle, + p_info, + ); + } + pub fn getDeviceMemoryOpaqueCaptureAddressKHR( + self: Self, + p_info: *const DeviceMemoryOpaqueCaptureAddressInfo, + ) u64 { + return self.wrapper.getDeviceMemoryOpaqueCaptureAddressKHR( + self.handle, + p_info, + ); + } + pub const GetPipelineExecutablePropertiesKHRError = Wrapper.GetPipelineExecutablePropertiesKHRError; + pub fn getPipelineExecutablePropertiesKHR( + self: Self, + p_pipeline_info: *const PipelineInfoKHR, + p_executable_count: *u32, + p_properties: ?[*]PipelineExecutablePropertiesKHR, + ) GetPipelineExecutablePropertiesKHRError!Result { + return self.wrapper.getPipelineExecutablePropertiesKHR( + self.handle, + p_pipeline_info, + p_executable_count, + p_properties, + ); + } + pub const GetPipelineExecutableStatisticsKHRError = Wrapper.GetPipelineExecutableStatisticsKHRError; + pub fn getPipelineExecutableStatisticsKHR( + self: Self, + p_executable_info: *const PipelineExecutableInfoKHR, + p_statistic_count: *u32, + p_statistics: ?[*]PipelineExecutableStatisticKHR, + ) GetPipelineExecutableStatisticsKHRError!Result { + return self.wrapper.getPipelineExecutableStatisticsKHR( + self.handle, + p_executable_info, + p_statistic_count, + p_statistics, + ); + } + pub const GetPipelineExecutableInternalRepresentationsKHRError = Wrapper.GetPipelineExecutableInternalRepresentationsKHRError; + pub fn getPipelineExecutableInternalRepresentationsKHR( + self: Self, + p_executable_info: *const PipelineExecutableInfoKHR, + p_internal_representation_count: *u32, + p_internal_representations: ?[*]PipelineExecutableInternalRepresentationKHR, + ) GetPipelineExecutableInternalRepresentationsKHRError!Result { + return self.wrapper.getPipelineExecutableInternalRepresentationsKHR( + self.handle, + p_executable_info, + p_internal_representation_count, + p_internal_representations, + ); + } + pub fn cmdSetLineStippleKHR( + self: Self, + command_buffer: CommandBuffer, + line_stipple_factor: u32, + line_stipple_pattern: u16, + ) void { + return self.wrapper.cmdSetLineStippleKHR( + command_buffer, + line_stipple_factor, + line_stipple_pattern, + ); + } + pub fn cmdSetLineStippleEXT( + self: Self, + command_buffer: CommandBuffer, + line_stipple_factor: u32, + line_stipple_pattern: u16, + ) void { + return self.wrapper.cmdSetLineStippleEXT( + command_buffer, + line_stipple_factor, + line_stipple_pattern, + ); + } + pub const GetFaultDataError = Wrapper.GetFaultDataError; + pub const GetFaultDataResult = Wrapper.GetFaultDataResult; + pub fn getFaultData( + self: Self, + fault_query_behavior: FaultQueryBehavior, + p_fault_count: *u32, + p_faults: ?[*]FaultData, + ) GetFaultDataError!GetFaultDataResult { + return self.wrapper.getFaultData( + self.handle, + fault_query_behavior, + p_fault_count, + p_faults, + ); + } + pub const CreateAccelerationStructureKHRError = Wrapper.CreateAccelerationStructureKHRError; + pub fn createAccelerationStructureKHR( + self: Self, + p_create_info: *const AccelerationStructureCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateAccelerationStructureKHRError!AccelerationStructureKHR { + return self.wrapper.createAccelerationStructureKHR( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn cmdBuildAccelerationStructuresKHR( + self: Self, + command_buffer: CommandBuffer, + info_count: u32, + p_infos: [*]const AccelerationStructureBuildGeometryInfoKHR, + pp_build_range_infos: [*]const [*]const AccelerationStructureBuildRangeInfoKHR, + ) void { + return self.wrapper.cmdBuildAccelerationStructuresKHR( + command_buffer, + info_count, + p_infos, + pp_build_range_infos, + ); + } + pub fn cmdBuildAccelerationStructuresIndirectKHR( + self: Self, + command_buffer: CommandBuffer, + info_count: u32, + p_infos: [*]const AccelerationStructureBuildGeometryInfoKHR, + p_indirect_device_addresses: [*]const DeviceAddress, + p_indirect_strides: [*]const u32, + pp_max_primitive_counts: [*]const [*]const u32, + ) void { + return self.wrapper.cmdBuildAccelerationStructuresIndirectKHR( + command_buffer, + info_count, + p_infos, + p_indirect_device_addresses, + p_indirect_strides, + pp_max_primitive_counts, + ); + } + pub const BuildAccelerationStructuresKHRError = Wrapper.BuildAccelerationStructuresKHRError; + pub fn buildAccelerationStructuresKHR( + self: Self, + deferred_operation: DeferredOperationKHR, + info_count: u32, + p_infos: [*]const AccelerationStructureBuildGeometryInfoKHR, + pp_build_range_infos: [*]const [*]const AccelerationStructureBuildRangeInfoKHR, + ) BuildAccelerationStructuresKHRError!Result { + return self.wrapper.buildAccelerationStructuresKHR( + self.handle, + deferred_operation, + info_count, + p_infos, + pp_build_range_infos, + ); + } + pub fn getAccelerationStructureDeviceAddressKHR( + self: Self, + p_info: *const AccelerationStructureDeviceAddressInfoKHR, + ) DeviceAddress { + return self.wrapper.getAccelerationStructureDeviceAddressKHR( + self.handle, + p_info, + ); + } + pub const CreateDeferredOperationKHRError = Wrapper.CreateDeferredOperationKHRError; + pub fn createDeferredOperationKHR( + self: Self, + p_allocator: ?*const AllocationCallbacks, + ) CreateDeferredOperationKHRError!DeferredOperationKHR { + return self.wrapper.createDeferredOperationKHR( + self.handle, + p_allocator, + ); + } + pub fn destroyDeferredOperationKHR( + self: Self, + operation: DeferredOperationKHR, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyDeferredOperationKHR( + self.handle, + operation, + p_allocator, + ); + } + pub fn getDeferredOperationMaxConcurrencyKHR( + self: Self, + operation: DeferredOperationKHR, + ) u32 { + return self.wrapper.getDeferredOperationMaxConcurrencyKHR( + self.handle, + operation, + ); + } + pub const GetDeferredOperationResultKHRError = Wrapper.GetDeferredOperationResultKHRError; + pub fn getDeferredOperationResultKHR( + self: Self, + operation: DeferredOperationKHR, + ) GetDeferredOperationResultKHRError!Result { + return self.wrapper.getDeferredOperationResultKHR( + self.handle, + operation, + ); + } + pub const DeferredOperationJoinKHRError = Wrapper.DeferredOperationJoinKHRError; + pub fn deferredOperationJoinKHR( + self: Self, + operation: DeferredOperationKHR, + ) DeferredOperationJoinKHRError!Result { + return self.wrapper.deferredOperationJoinKHR( + self.handle, + operation, + ); + } + pub fn getPipelineIndirectMemoryRequirementsNV( + self: Self, + p_create_info: *const ComputePipelineCreateInfo, + p_memory_requirements: *MemoryRequirements2, + ) void { + return self.wrapper.getPipelineIndirectMemoryRequirementsNV( + self.handle, + p_create_info, + p_memory_requirements, + ); + } + pub fn getPipelineIndirectDeviceAddressNV( + self: Self, + p_info: *const PipelineIndirectDeviceAddressInfoNV, + ) DeviceAddress { + return self.wrapper.getPipelineIndirectDeviceAddressNV( + self.handle, + p_info, + ); + } + pub fn cmdSetCullMode( + self: Self, + command_buffer: CommandBuffer, + cull_mode: CullModeFlags, + ) void { + return self.wrapper.cmdSetCullMode( + command_buffer, + cull_mode, + ); + } + pub fn cmdSetCullModeEXT( + self: Self, + command_buffer: CommandBuffer, + cull_mode: CullModeFlags, + ) void { + return self.wrapper.cmdSetCullModeEXT( + command_buffer, + cull_mode, + ); + } + pub fn cmdSetFrontFace( + self: Self, + command_buffer: CommandBuffer, + front_face: FrontFace, + ) void { + return self.wrapper.cmdSetFrontFace( + command_buffer, + front_face, + ); + } + pub fn cmdSetFrontFaceEXT( + self: Self, + command_buffer: CommandBuffer, + front_face: FrontFace, + ) void { + return self.wrapper.cmdSetFrontFaceEXT( + command_buffer, + front_face, + ); + } + pub fn cmdSetPrimitiveTopology( + self: Self, + command_buffer: CommandBuffer, + primitive_topology: PrimitiveTopology, + ) void { + return self.wrapper.cmdSetPrimitiveTopology( + command_buffer, + primitive_topology, + ); + } + pub fn cmdSetPrimitiveTopologyEXT( + self: Self, + command_buffer: CommandBuffer, + primitive_topology: PrimitiveTopology, + ) void { + return self.wrapper.cmdSetPrimitiveTopologyEXT( + command_buffer, + primitive_topology, + ); + } + pub fn cmdSetViewportWithCount( + self: Self, + command_buffer: CommandBuffer, + viewport_count: u32, + p_viewports: [*]const Viewport, + ) void { + return self.wrapper.cmdSetViewportWithCount( + command_buffer, + viewport_count, + p_viewports, + ); + } + pub fn cmdSetViewportWithCountEXT( + self: Self, + command_buffer: CommandBuffer, + viewport_count: u32, + p_viewports: [*]const Viewport, + ) void { + return self.wrapper.cmdSetViewportWithCountEXT( + command_buffer, + viewport_count, + p_viewports, + ); + } + pub fn cmdSetScissorWithCount( + self: Self, + command_buffer: CommandBuffer, + scissor_count: u32, + p_scissors: [*]const Rect2D, + ) void { + return self.wrapper.cmdSetScissorWithCount( + command_buffer, + scissor_count, + p_scissors, + ); + } + pub fn cmdSetScissorWithCountEXT( + self: Self, + command_buffer: CommandBuffer, + scissor_count: u32, + p_scissors: [*]const Rect2D, + ) void { + return self.wrapper.cmdSetScissorWithCountEXT( + command_buffer, + scissor_count, + p_scissors, + ); + } + pub fn cmdBindIndexBuffer2KHR( + self: Self, + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + size: DeviceSize, + index_type: IndexType, + ) void { + return self.wrapper.cmdBindIndexBuffer2KHR( + command_buffer, + buffer, + offset, + size, + index_type, + ); + } + pub fn cmdBindVertexBuffers2( + self: Self, + command_buffer: CommandBuffer, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + p_sizes: ?[*]const DeviceSize, + p_strides: ?[*]const DeviceSize, + ) void { + return self.wrapper.cmdBindVertexBuffers2( + command_buffer, + first_binding, + binding_count, + p_buffers, + p_offsets, + p_sizes, + p_strides, + ); + } + pub fn cmdBindVertexBuffers2EXT( + self: Self, + command_buffer: CommandBuffer, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + p_sizes: ?[*]const DeviceSize, + p_strides: ?[*]const DeviceSize, + ) void { + return self.wrapper.cmdBindVertexBuffers2EXT( + command_buffer, + first_binding, + binding_count, + p_buffers, + p_offsets, + p_sizes, + p_strides, + ); + } + pub fn cmdSetDepthTestEnable( + self: Self, + command_buffer: CommandBuffer, + depth_test_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthTestEnable( + command_buffer, + depth_test_enable, + ); + } + pub fn cmdSetDepthTestEnableEXT( + self: Self, + command_buffer: CommandBuffer, + depth_test_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthTestEnableEXT( + command_buffer, + depth_test_enable, + ); + } + pub fn cmdSetDepthWriteEnable( + self: Self, + command_buffer: CommandBuffer, + depth_write_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthWriteEnable( + command_buffer, + depth_write_enable, + ); + } + pub fn cmdSetDepthWriteEnableEXT( + self: Self, + command_buffer: CommandBuffer, + depth_write_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthWriteEnableEXT( + command_buffer, + depth_write_enable, + ); + } + pub fn cmdSetDepthCompareOp( + self: Self, + command_buffer: CommandBuffer, + depth_compare_op: CompareOp, + ) void { + return self.wrapper.cmdSetDepthCompareOp( + command_buffer, + depth_compare_op, + ); + } + pub fn cmdSetDepthCompareOpEXT( + self: Self, + command_buffer: CommandBuffer, + depth_compare_op: CompareOp, + ) void { + return self.wrapper.cmdSetDepthCompareOpEXT( + command_buffer, + depth_compare_op, + ); + } + pub fn cmdSetDepthBoundsTestEnable( + self: Self, + command_buffer: CommandBuffer, + depth_bounds_test_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthBoundsTestEnable( + command_buffer, + depth_bounds_test_enable, + ); + } + pub fn cmdSetDepthBoundsTestEnableEXT( + self: Self, + command_buffer: CommandBuffer, + depth_bounds_test_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthBoundsTestEnableEXT( + command_buffer, + depth_bounds_test_enable, + ); + } + pub fn cmdSetStencilTestEnable( + self: Self, + command_buffer: CommandBuffer, + stencil_test_enable: Bool32, + ) void { + return self.wrapper.cmdSetStencilTestEnable( + command_buffer, + stencil_test_enable, + ); + } + pub fn cmdSetStencilTestEnableEXT( + self: Self, + command_buffer: CommandBuffer, + stencil_test_enable: Bool32, + ) void { + return self.wrapper.cmdSetStencilTestEnableEXT( + command_buffer, + stencil_test_enable, + ); + } + pub fn cmdSetStencilOp( + self: Self, + command_buffer: CommandBuffer, + face_mask: StencilFaceFlags, + fail_op: StencilOp, + pass_op: StencilOp, + depth_fail_op: StencilOp, + compare_op: CompareOp, + ) void { + return self.wrapper.cmdSetStencilOp( + command_buffer, + face_mask, + fail_op, + pass_op, + depth_fail_op, + compare_op, + ); + } + pub fn cmdSetStencilOpEXT( + self: Self, + command_buffer: CommandBuffer, + face_mask: StencilFaceFlags, + fail_op: StencilOp, + pass_op: StencilOp, + depth_fail_op: StencilOp, + compare_op: CompareOp, + ) void { + return self.wrapper.cmdSetStencilOpEXT( + command_buffer, + face_mask, + fail_op, + pass_op, + depth_fail_op, + compare_op, + ); + } + pub fn cmdSetPatchControlPointsEXT( + self: Self, + command_buffer: CommandBuffer, + patch_control_points: u32, + ) void { + return self.wrapper.cmdSetPatchControlPointsEXT( + command_buffer, + patch_control_points, + ); + } + pub fn cmdSetRasterizerDiscardEnable( + self: Self, + command_buffer: CommandBuffer, + rasterizer_discard_enable: Bool32, + ) void { + return self.wrapper.cmdSetRasterizerDiscardEnable( + command_buffer, + rasterizer_discard_enable, + ); + } + pub fn cmdSetRasterizerDiscardEnableEXT( + self: Self, + command_buffer: CommandBuffer, + rasterizer_discard_enable: Bool32, + ) void { + return self.wrapper.cmdSetRasterizerDiscardEnableEXT( + command_buffer, + rasterizer_discard_enable, + ); + } + pub fn cmdSetDepthBiasEnable( + self: Self, + command_buffer: CommandBuffer, + depth_bias_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthBiasEnable( + command_buffer, + depth_bias_enable, + ); + } + pub fn cmdSetDepthBiasEnableEXT( + self: Self, + command_buffer: CommandBuffer, + depth_bias_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthBiasEnableEXT( + command_buffer, + depth_bias_enable, + ); + } + pub fn cmdSetLogicOpEXT( + self: Self, + command_buffer: CommandBuffer, + logic_op: LogicOp, + ) void { + return self.wrapper.cmdSetLogicOpEXT( + command_buffer, + logic_op, + ); + } + pub fn cmdSetPrimitiveRestartEnable( + self: Self, + command_buffer: CommandBuffer, + primitive_restart_enable: Bool32, + ) void { + return self.wrapper.cmdSetPrimitiveRestartEnable( + command_buffer, + primitive_restart_enable, + ); + } + pub fn cmdSetPrimitiveRestartEnableEXT( + self: Self, + command_buffer: CommandBuffer, + primitive_restart_enable: Bool32, + ) void { + return self.wrapper.cmdSetPrimitiveRestartEnableEXT( + command_buffer, + primitive_restart_enable, + ); + } + pub fn cmdSetTessellationDomainOriginEXT( + self: Self, + command_buffer: CommandBuffer, + domain_origin: TessellationDomainOrigin, + ) void { + return self.wrapper.cmdSetTessellationDomainOriginEXT( + command_buffer, + domain_origin, + ); + } + pub fn cmdSetDepthClampEnableEXT( + self: Self, + command_buffer: CommandBuffer, + depth_clamp_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthClampEnableEXT( + command_buffer, + depth_clamp_enable, + ); + } + pub fn cmdSetPolygonModeEXT( + self: Self, + command_buffer: CommandBuffer, + polygon_mode: PolygonMode, + ) void { + return self.wrapper.cmdSetPolygonModeEXT( + command_buffer, + polygon_mode, + ); + } + pub fn cmdSetRasterizationSamplesEXT( + self: Self, + command_buffer: CommandBuffer, + rasterization_samples: SampleCountFlags, + ) void { + return self.wrapper.cmdSetRasterizationSamplesEXT( + command_buffer, + rasterization_samples, + ); + } + pub fn cmdSetSampleMaskEXT( + self: Self, + command_buffer: CommandBuffer, + samples: SampleCountFlags, + p_sample_mask: [*]const SampleMask, + ) void { + return self.wrapper.cmdSetSampleMaskEXT( + command_buffer, + samples, + p_sample_mask, + ); + } + pub fn cmdSetAlphaToCoverageEnableEXT( + self: Self, + command_buffer: CommandBuffer, + alpha_to_coverage_enable: Bool32, + ) void { + return self.wrapper.cmdSetAlphaToCoverageEnableEXT( + command_buffer, + alpha_to_coverage_enable, + ); + } + pub fn cmdSetAlphaToOneEnableEXT( + self: Self, + command_buffer: CommandBuffer, + alpha_to_one_enable: Bool32, + ) void { + return self.wrapper.cmdSetAlphaToOneEnableEXT( + command_buffer, + alpha_to_one_enable, + ); + } + pub fn cmdSetLogicOpEnableEXT( + self: Self, + command_buffer: CommandBuffer, + logic_op_enable: Bool32, + ) void { + return self.wrapper.cmdSetLogicOpEnableEXT( + command_buffer, + logic_op_enable, + ); + } + pub fn cmdSetColorBlendEnableEXT( + self: Self, + command_buffer: CommandBuffer, + first_attachment: u32, + attachment_count: u32, + p_color_blend_enables: [*]const Bool32, + ) void { + return self.wrapper.cmdSetColorBlendEnableEXT( + command_buffer, + first_attachment, + attachment_count, + p_color_blend_enables, + ); + } + pub fn cmdSetColorBlendEquationEXT( + self: Self, + command_buffer: CommandBuffer, + first_attachment: u32, + attachment_count: u32, + p_color_blend_equations: [*]const ColorBlendEquationEXT, + ) void { + return self.wrapper.cmdSetColorBlendEquationEXT( + command_buffer, + first_attachment, + attachment_count, + p_color_blend_equations, + ); + } + pub fn cmdSetColorWriteMaskEXT( + self: Self, + command_buffer: CommandBuffer, + first_attachment: u32, + attachment_count: u32, + p_color_write_masks: [*]const ColorComponentFlags, + ) void { + return self.wrapper.cmdSetColorWriteMaskEXT( + command_buffer, + first_attachment, + attachment_count, + p_color_write_masks, + ); + } + pub fn cmdSetRasterizationStreamEXT( + self: Self, + command_buffer: CommandBuffer, + rasterization_stream: u32, + ) void { + return self.wrapper.cmdSetRasterizationStreamEXT( + command_buffer, + rasterization_stream, + ); + } + pub fn cmdSetConservativeRasterizationModeEXT( + self: Self, + command_buffer: CommandBuffer, + conservative_rasterization_mode: ConservativeRasterizationModeEXT, + ) void { + return self.wrapper.cmdSetConservativeRasterizationModeEXT( + command_buffer, + conservative_rasterization_mode, + ); + } + pub fn cmdSetExtraPrimitiveOverestimationSizeEXT( + self: Self, + command_buffer: CommandBuffer, + extra_primitive_overestimation_size: f32, + ) void { + return self.wrapper.cmdSetExtraPrimitiveOverestimationSizeEXT( + command_buffer, + extra_primitive_overestimation_size, + ); + } + pub fn cmdSetDepthClipEnableEXT( + self: Self, + command_buffer: CommandBuffer, + depth_clip_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthClipEnableEXT( + command_buffer, + depth_clip_enable, + ); + } + pub fn cmdSetSampleLocationsEnableEXT( + self: Self, + command_buffer: CommandBuffer, + sample_locations_enable: Bool32, + ) void { + return self.wrapper.cmdSetSampleLocationsEnableEXT( + command_buffer, + sample_locations_enable, + ); + } + pub fn cmdSetColorBlendAdvancedEXT( + self: Self, + command_buffer: CommandBuffer, + first_attachment: u32, + attachment_count: u32, + p_color_blend_advanced: [*]const ColorBlendAdvancedEXT, + ) void { + return self.wrapper.cmdSetColorBlendAdvancedEXT( + command_buffer, + first_attachment, + attachment_count, + p_color_blend_advanced, + ); + } + pub fn cmdSetProvokingVertexModeEXT( + self: Self, + command_buffer: CommandBuffer, + provoking_vertex_mode: ProvokingVertexModeEXT, + ) void { + return self.wrapper.cmdSetProvokingVertexModeEXT( + command_buffer, + provoking_vertex_mode, + ); + } + pub fn cmdSetLineRasterizationModeEXT( + self: Self, + command_buffer: CommandBuffer, + line_rasterization_mode: LineRasterizationModeEXT, + ) void { + return self.wrapper.cmdSetLineRasterizationModeEXT( + command_buffer, + line_rasterization_mode, + ); + } + pub fn cmdSetLineStippleEnableEXT( + self: Self, + command_buffer: CommandBuffer, + stippled_line_enable: Bool32, + ) void { + return self.wrapper.cmdSetLineStippleEnableEXT( + command_buffer, + stippled_line_enable, + ); + } + pub fn cmdSetDepthClipNegativeOneToOneEXT( + self: Self, + command_buffer: CommandBuffer, + negative_one_to_one: Bool32, + ) void { + return self.wrapper.cmdSetDepthClipNegativeOneToOneEXT( + command_buffer, + negative_one_to_one, + ); + } + pub fn cmdSetViewportWScalingEnableNV( + self: Self, + command_buffer: CommandBuffer, + viewport_w_scaling_enable: Bool32, + ) void { + return self.wrapper.cmdSetViewportWScalingEnableNV( + command_buffer, + viewport_w_scaling_enable, + ); + } + pub fn cmdSetViewportSwizzleNV( + self: Self, + command_buffer: CommandBuffer, + first_viewport: u32, + viewport_count: u32, + p_viewport_swizzles: [*]const ViewportSwizzleNV, + ) void { + return self.wrapper.cmdSetViewportSwizzleNV( + command_buffer, + first_viewport, + viewport_count, + p_viewport_swizzles, + ); + } + pub fn cmdSetCoverageToColorEnableNV( + self: Self, + command_buffer: CommandBuffer, + coverage_to_color_enable: Bool32, + ) void { + return self.wrapper.cmdSetCoverageToColorEnableNV( + command_buffer, + coverage_to_color_enable, + ); + } + pub fn cmdSetCoverageToColorLocationNV( + self: Self, + command_buffer: CommandBuffer, + coverage_to_color_location: u32, + ) void { + return self.wrapper.cmdSetCoverageToColorLocationNV( + command_buffer, + coverage_to_color_location, + ); + } + pub fn cmdSetCoverageModulationModeNV( + self: Self, + command_buffer: CommandBuffer, + coverage_modulation_mode: CoverageModulationModeNV, + ) void { + return self.wrapper.cmdSetCoverageModulationModeNV( + command_buffer, + coverage_modulation_mode, + ); + } + pub fn cmdSetCoverageModulationTableEnableNV( + self: Self, + command_buffer: CommandBuffer, + coverage_modulation_table_enable: Bool32, + ) void { + return self.wrapper.cmdSetCoverageModulationTableEnableNV( + command_buffer, + coverage_modulation_table_enable, + ); + } + pub fn cmdSetCoverageModulationTableNV( + self: Self, + command_buffer: CommandBuffer, + coverage_modulation_table_count: u32, + p_coverage_modulation_table: [*]const f32, + ) void { + return self.wrapper.cmdSetCoverageModulationTableNV( + command_buffer, + coverage_modulation_table_count, + p_coverage_modulation_table, + ); + } + pub fn cmdSetShadingRateImageEnableNV( + self: Self, + command_buffer: CommandBuffer, + shading_rate_image_enable: Bool32, + ) void { + return self.wrapper.cmdSetShadingRateImageEnableNV( + command_buffer, + shading_rate_image_enable, + ); + } + pub fn cmdSetCoverageReductionModeNV( + self: Self, + command_buffer: CommandBuffer, + coverage_reduction_mode: CoverageReductionModeNV, + ) void { + return self.wrapper.cmdSetCoverageReductionModeNV( + command_buffer, + coverage_reduction_mode, + ); + } + pub fn cmdSetRepresentativeFragmentTestEnableNV( + self: Self, + command_buffer: CommandBuffer, + representative_fragment_test_enable: Bool32, + ) void { + return self.wrapper.cmdSetRepresentativeFragmentTestEnableNV( + command_buffer, + representative_fragment_test_enable, + ); + } + pub const CreatePrivateDataSlotError = Wrapper.CreatePrivateDataSlotError; + pub fn createPrivateDataSlot( + self: Self, + p_create_info: *const PrivateDataSlotCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreatePrivateDataSlotError!PrivateDataSlot { + return self.wrapper.createPrivateDataSlot( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const CreatePrivateDataSlotEXTError = Wrapper.CreatePrivateDataSlotEXTError; + pub fn createPrivateDataSlotEXT( + self: Self, + p_create_info: *const PrivateDataSlotCreateInfo, + p_allocator: ?*const AllocationCallbacks, + ) CreatePrivateDataSlotEXTError!PrivateDataSlot { + return self.wrapper.createPrivateDataSlotEXT( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyPrivateDataSlot( + self: Self, + private_data_slot: PrivateDataSlot, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyPrivateDataSlot( + self.handle, + private_data_slot, + p_allocator, + ); + } + pub fn destroyPrivateDataSlotEXT( + self: Self, + private_data_slot: PrivateDataSlot, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyPrivateDataSlotEXT( + self.handle, + private_data_slot, + p_allocator, + ); + } + pub const SetPrivateDataError = Wrapper.SetPrivateDataError; + pub fn setPrivateData( + self: Self, + object_type: ObjectType, + object_handle: u64, + private_data_slot: PrivateDataSlot, + data: u64, + ) SetPrivateDataError!void { + return self.wrapper.setPrivateData( + self.handle, + object_type, + object_handle, + private_data_slot, + data, + ); + } + pub const SetPrivateDataEXTError = Wrapper.SetPrivateDataEXTError; + pub fn setPrivateDataEXT( + self: Self, + object_type: ObjectType, + object_handle: u64, + private_data_slot: PrivateDataSlot, + data: u64, + ) SetPrivateDataEXTError!void { + return self.wrapper.setPrivateDataEXT( + self.handle, + object_type, + object_handle, + private_data_slot, + data, + ); + } + pub fn getPrivateData( + self: Self, + object_type: ObjectType, + object_handle: u64, + private_data_slot: PrivateDataSlot, + ) u64 { + return self.wrapper.getPrivateData( + self.handle, + object_type, + object_handle, + private_data_slot, + ); + } + pub fn getPrivateDataEXT( + self: Self, + object_type: ObjectType, + object_handle: u64, + private_data_slot: PrivateDataSlot, + ) u64 { + return self.wrapper.getPrivateDataEXT( + self.handle, + object_type, + object_handle, + private_data_slot, + ); + } + pub fn cmdCopyBuffer2( + self: Self, + command_buffer: CommandBuffer, + p_copy_buffer_info: *const CopyBufferInfo2, + ) void { + return self.wrapper.cmdCopyBuffer2( + command_buffer, + p_copy_buffer_info, + ); + } + pub fn cmdCopyBuffer2KHR( + self: Self, + command_buffer: CommandBuffer, + p_copy_buffer_info: *const CopyBufferInfo2, + ) void { + return self.wrapper.cmdCopyBuffer2KHR( + command_buffer, + p_copy_buffer_info, + ); + } + pub fn cmdCopyImage2( + self: Self, + command_buffer: CommandBuffer, + p_copy_image_info: *const CopyImageInfo2, + ) void { + return self.wrapper.cmdCopyImage2( + command_buffer, + p_copy_image_info, + ); + } + pub fn cmdCopyImage2KHR( + self: Self, + command_buffer: CommandBuffer, + p_copy_image_info: *const CopyImageInfo2, + ) void { + return self.wrapper.cmdCopyImage2KHR( + command_buffer, + p_copy_image_info, + ); + } + pub fn cmdBlitImage2( + self: Self, + command_buffer: CommandBuffer, + p_blit_image_info: *const BlitImageInfo2, + ) void { + return self.wrapper.cmdBlitImage2( + command_buffer, + p_blit_image_info, + ); + } + pub fn cmdBlitImage2KHR( + self: Self, + command_buffer: CommandBuffer, + p_blit_image_info: *const BlitImageInfo2, + ) void { + return self.wrapper.cmdBlitImage2KHR( + command_buffer, + p_blit_image_info, + ); + } + pub fn cmdCopyBufferToImage2( + self: Self, + command_buffer: CommandBuffer, + p_copy_buffer_to_image_info: *const CopyBufferToImageInfo2, + ) void { + return self.wrapper.cmdCopyBufferToImage2( + command_buffer, + p_copy_buffer_to_image_info, + ); + } + pub fn cmdCopyBufferToImage2KHR( + self: Self, + command_buffer: CommandBuffer, + p_copy_buffer_to_image_info: *const CopyBufferToImageInfo2, + ) void { + return self.wrapper.cmdCopyBufferToImage2KHR( + command_buffer, + p_copy_buffer_to_image_info, + ); + } + pub fn cmdCopyImageToBuffer2( + self: Self, + command_buffer: CommandBuffer, + p_copy_image_to_buffer_info: *const CopyImageToBufferInfo2, + ) void { + return self.wrapper.cmdCopyImageToBuffer2( + command_buffer, + p_copy_image_to_buffer_info, + ); + } + pub fn cmdCopyImageToBuffer2KHR( + self: Self, + command_buffer: CommandBuffer, + p_copy_image_to_buffer_info: *const CopyImageToBufferInfo2, + ) void { + return self.wrapper.cmdCopyImageToBuffer2KHR( + command_buffer, + p_copy_image_to_buffer_info, + ); + } + pub fn cmdResolveImage2( + self: Self, + command_buffer: CommandBuffer, + p_resolve_image_info: *const ResolveImageInfo2, + ) void { + return self.wrapper.cmdResolveImage2( + command_buffer, + p_resolve_image_info, + ); + } + pub fn cmdResolveImage2KHR( + self: Self, + command_buffer: CommandBuffer, + p_resolve_image_info: *const ResolveImageInfo2, + ) void { + return self.wrapper.cmdResolveImage2KHR( + command_buffer, + p_resolve_image_info, + ); + } + pub fn cmdRefreshObjectsKHR( + self: Self, + command_buffer: CommandBuffer, + p_refresh_objects: *const RefreshObjectListKHR, + ) void { + return self.wrapper.cmdRefreshObjectsKHR( + command_buffer, + p_refresh_objects, + ); + } + pub fn cmdSetFragmentShadingRateKHR( + self: Self, + command_buffer: CommandBuffer, + p_fragment_size: *const Extent2D, + combiner_ops: *const [2]FragmentShadingRateCombinerOpKHR, + ) void { + return self.wrapper.cmdSetFragmentShadingRateKHR( + command_buffer, + p_fragment_size, + combiner_ops, + ); + } + pub fn cmdSetFragmentShadingRateEnumNV( + self: Self, + command_buffer: CommandBuffer, + shading_rate: FragmentShadingRateNV, + combiner_ops: *const [2]FragmentShadingRateCombinerOpKHR, + ) void { + return self.wrapper.cmdSetFragmentShadingRateEnumNV( + command_buffer, + shading_rate, + combiner_ops, + ); + } + pub fn getAccelerationStructureBuildSizesKHR( + self: Self, + build_type: AccelerationStructureBuildTypeKHR, + p_build_info: *const AccelerationStructureBuildGeometryInfoKHR, + p_max_primitive_counts: ?[*]const u32, + p_size_info: *AccelerationStructureBuildSizesInfoKHR, + ) void { + return self.wrapper.getAccelerationStructureBuildSizesKHR( + self.handle, + build_type, + p_build_info, + p_max_primitive_counts, + p_size_info, + ); + } + pub fn cmdSetVertexInputEXT( + self: Self, + command_buffer: CommandBuffer, + vertex_binding_description_count: u32, + p_vertex_binding_descriptions: ?[*]const VertexInputBindingDescription2EXT, + vertex_attribute_description_count: u32, + p_vertex_attribute_descriptions: ?[*]const VertexInputAttributeDescription2EXT, + ) void { + return self.wrapper.cmdSetVertexInputEXT( + command_buffer, + vertex_binding_description_count, + p_vertex_binding_descriptions, + vertex_attribute_description_count, + p_vertex_attribute_descriptions, + ); + } + pub fn cmdSetColorWriteEnableEXT( + self: Self, + command_buffer: CommandBuffer, + attachment_count: u32, + p_color_write_enables: [*]const Bool32, + ) void { + return self.wrapper.cmdSetColorWriteEnableEXT( + command_buffer, + attachment_count, + p_color_write_enables, + ); + } + pub fn cmdSetEvent2( + self: Self, + command_buffer: CommandBuffer, + event: Event, + p_dependency_info: *const DependencyInfo, + ) void { + return self.wrapper.cmdSetEvent2( + command_buffer, + event, + p_dependency_info, + ); + } + pub fn cmdSetEvent2KHR( + self: Self, + command_buffer: CommandBuffer, + event: Event, + p_dependency_info: *const DependencyInfo, + ) void { + return self.wrapper.cmdSetEvent2KHR( + command_buffer, + event, + p_dependency_info, + ); + } + pub fn cmdResetEvent2( + self: Self, + command_buffer: CommandBuffer, + event: Event, + stage_mask: PipelineStageFlags2, + ) void { + return self.wrapper.cmdResetEvent2( + command_buffer, + event, + stage_mask, + ); + } + pub fn cmdResetEvent2KHR( + self: Self, + command_buffer: CommandBuffer, + event: Event, + stage_mask: PipelineStageFlags2, + ) void { + return self.wrapper.cmdResetEvent2KHR( + command_buffer, + event, + stage_mask, + ); + } + pub fn cmdWaitEvents2( + self: Self, + command_buffer: CommandBuffer, + event_count: u32, + p_events: [*]const Event, + p_dependency_infos: [*]const DependencyInfo, + ) void { + return self.wrapper.cmdWaitEvents2( + command_buffer, + event_count, + p_events, + p_dependency_infos, + ); + } + pub fn cmdWaitEvents2KHR( + self: Self, + command_buffer: CommandBuffer, + event_count: u32, + p_events: [*]const Event, + p_dependency_infos: [*]const DependencyInfo, + ) void { + return self.wrapper.cmdWaitEvents2KHR( + command_buffer, + event_count, + p_events, + p_dependency_infos, + ); + } + pub fn cmdPipelineBarrier2( + self: Self, + command_buffer: CommandBuffer, + p_dependency_info: *const DependencyInfo, + ) void { + return self.wrapper.cmdPipelineBarrier2( + command_buffer, + p_dependency_info, + ); + } + pub fn cmdPipelineBarrier2KHR( + self: Self, + command_buffer: CommandBuffer, + p_dependency_info: *const DependencyInfo, + ) void { + return self.wrapper.cmdPipelineBarrier2KHR( + command_buffer, + p_dependency_info, + ); + } + pub const QueueSubmit2Error = Wrapper.QueueSubmit2Error; + pub fn queueSubmit2( + self: Self, + queue: Queue, + submit_count: u32, + p_submits: ?[*]const SubmitInfo2, + fence: Fence, + ) QueueSubmit2Error!void { + return self.wrapper.queueSubmit2( + queue, + submit_count, + p_submits, + fence, + ); + } + pub const QueueSubmit2KHRError = Wrapper.QueueSubmit2KHRError; + pub fn queueSubmit2KHR( + self: Self, + queue: Queue, + submit_count: u32, + p_submits: ?[*]const SubmitInfo2, + fence: Fence, + ) QueueSubmit2KHRError!void { + return self.wrapper.queueSubmit2KHR( + queue, + submit_count, + p_submits, + fence, + ); + } + pub fn cmdWriteTimestamp2( + self: Self, + command_buffer: CommandBuffer, + stage: PipelineStageFlags2, + query_pool: QueryPool, + query: u32, + ) void { + return self.wrapper.cmdWriteTimestamp2( + command_buffer, + stage, + query_pool, + query, + ); + } + pub fn cmdWriteTimestamp2KHR( + self: Self, + command_buffer: CommandBuffer, + stage: PipelineStageFlags2, + query_pool: QueryPool, + query: u32, + ) void { + return self.wrapper.cmdWriteTimestamp2KHR( + command_buffer, + stage, + query_pool, + query, + ); + } + pub fn cmdWriteBufferMarker2AMD( + self: Self, + command_buffer: CommandBuffer, + stage: PipelineStageFlags2, + dst_buffer: Buffer, + dst_offset: DeviceSize, + marker: u32, + ) void { + return self.wrapper.cmdWriteBufferMarker2AMD( + command_buffer, + stage, + dst_buffer, + dst_offset, + marker, + ); + } + pub fn getQueueCheckpointData2NV( + self: Self, + queue: Queue, + p_checkpoint_data_count: *u32, + p_checkpoint_data: ?[*]CheckpointData2NV, + ) void { + return self.wrapper.getQueueCheckpointData2NV( + queue, + p_checkpoint_data_count, + p_checkpoint_data, + ); + } + pub const CopyMemoryToImageEXTError = Wrapper.CopyMemoryToImageEXTError; + pub fn copyMemoryToImageEXT( + self: Self, + p_copy_memory_to_image_info: *const CopyMemoryToImageInfoEXT, + ) CopyMemoryToImageEXTError!void { + return self.wrapper.copyMemoryToImageEXT( + self.handle, + p_copy_memory_to_image_info, + ); + } + pub const CopyImageToMemoryEXTError = Wrapper.CopyImageToMemoryEXTError; + pub fn copyImageToMemoryEXT( + self: Self, + p_copy_image_to_memory_info: *const CopyImageToMemoryInfoEXT, + ) CopyImageToMemoryEXTError!void { + return self.wrapper.copyImageToMemoryEXT( + self.handle, + p_copy_image_to_memory_info, + ); + } + pub const CopyImageToImageEXTError = Wrapper.CopyImageToImageEXTError; + pub fn copyImageToImageEXT( + self: Self, + p_copy_image_to_image_info: *const CopyImageToImageInfoEXT, + ) CopyImageToImageEXTError!void { + return self.wrapper.copyImageToImageEXT( + self.handle, + p_copy_image_to_image_info, + ); + } + pub const TransitionImageLayoutEXTError = Wrapper.TransitionImageLayoutEXTError; + pub fn transitionImageLayoutEXT( + self: Self, + transition_count: u32, + p_transitions: [*]const HostImageLayoutTransitionInfoEXT, + ) TransitionImageLayoutEXTError!void { + return self.wrapper.transitionImageLayoutEXT( + self.handle, + transition_count, + p_transitions, + ); + } + pub fn getCommandPoolMemoryConsumption( + self: Self, + command_pool: CommandPool, + command_buffer: CommandBuffer, + p_consumption: *CommandPoolMemoryConsumption, + ) void { + return self.wrapper.getCommandPoolMemoryConsumption( + self.handle, + command_pool, + command_buffer, + p_consumption, + ); + } + pub const CreateVideoSessionKHRError = Wrapper.CreateVideoSessionKHRError; + pub fn createVideoSessionKHR( + self: Self, + p_create_info: *const VideoSessionCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateVideoSessionKHRError!VideoSessionKHR { + return self.wrapper.createVideoSessionKHR( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyVideoSessionKHR( + self: Self, + video_session: VideoSessionKHR, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyVideoSessionKHR( + self.handle, + video_session, + p_allocator, + ); + } + pub const CreateVideoSessionParametersKHRError = Wrapper.CreateVideoSessionParametersKHRError; + pub fn createVideoSessionParametersKHR( + self: Self, + p_create_info: *const VideoSessionParametersCreateInfoKHR, + p_allocator: ?*const AllocationCallbacks, + ) CreateVideoSessionParametersKHRError!VideoSessionParametersKHR { + return self.wrapper.createVideoSessionParametersKHR( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const UpdateVideoSessionParametersKHRError = Wrapper.UpdateVideoSessionParametersKHRError; + pub fn updateVideoSessionParametersKHR( + self: Self, + video_session_parameters: VideoSessionParametersKHR, + p_update_info: *const VideoSessionParametersUpdateInfoKHR, + ) UpdateVideoSessionParametersKHRError!void { + return self.wrapper.updateVideoSessionParametersKHR( + self.handle, + video_session_parameters, + p_update_info, + ); + } + pub const GetEncodedVideoSessionParametersKHRError = Wrapper.GetEncodedVideoSessionParametersKHRError; + pub fn getEncodedVideoSessionParametersKHR( + self: Self, + p_video_session_parameters_info: *const VideoEncodeSessionParametersGetInfoKHR, + p_feedback_info: ?*VideoEncodeSessionParametersFeedbackInfoKHR, + p_data_size: *usize, + p_data: ?*anyopaque, + ) GetEncodedVideoSessionParametersKHRError!Result { + return self.wrapper.getEncodedVideoSessionParametersKHR( + self.handle, + p_video_session_parameters_info, + p_feedback_info, + p_data_size, + p_data, + ); + } + pub fn destroyVideoSessionParametersKHR( + self: Self, + video_session_parameters: VideoSessionParametersKHR, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyVideoSessionParametersKHR( + self.handle, + video_session_parameters, + p_allocator, + ); + } + pub const GetVideoSessionMemoryRequirementsKHRError = Wrapper.GetVideoSessionMemoryRequirementsKHRError; + pub fn getVideoSessionMemoryRequirementsKHR( + self: Self, + video_session: VideoSessionKHR, + p_memory_requirements_count: *u32, + p_memory_requirements: ?[*]VideoSessionMemoryRequirementsKHR, + ) GetVideoSessionMemoryRequirementsKHRError!Result { + return self.wrapper.getVideoSessionMemoryRequirementsKHR( + self.handle, + video_session, + p_memory_requirements_count, + p_memory_requirements, + ); + } + pub const BindVideoSessionMemoryKHRError = Wrapper.BindVideoSessionMemoryKHRError; + pub fn bindVideoSessionMemoryKHR( + self: Self, + video_session: VideoSessionKHR, + bind_session_memory_info_count: u32, + p_bind_session_memory_infos: [*]const BindVideoSessionMemoryInfoKHR, + ) BindVideoSessionMemoryKHRError!void { + return self.wrapper.bindVideoSessionMemoryKHR( + self.handle, + video_session, + bind_session_memory_info_count, + p_bind_session_memory_infos, + ); + } + pub fn cmdDecodeVideoKHR( + self: Self, + command_buffer: CommandBuffer, + p_decode_info: *const VideoDecodeInfoKHR, + ) void { + return self.wrapper.cmdDecodeVideoKHR( + command_buffer, + p_decode_info, + ); + } + pub fn cmdBeginVideoCodingKHR( + self: Self, + command_buffer: CommandBuffer, + p_begin_info: *const VideoBeginCodingInfoKHR, + ) void { + return self.wrapper.cmdBeginVideoCodingKHR( + command_buffer, + p_begin_info, + ); + } + pub fn cmdControlVideoCodingKHR( + self: Self, + command_buffer: CommandBuffer, + p_coding_control_info: *const VideoCodingControlInfoKHR, + ) void { + return self.wrapper.cmdControlVideoCodingKHR( + command_buffer, + p_coding_control_info, + ); + } + pub fn cmdEndVideoCodingKHR( + self: Self, + command_buffer: CommandBuffer, + p_end_coding_info: *const VideoEndCodingInfoKHR, + ) void { + return self.wrapper.cmdEndVideoCodingKHR( + command_buffer, + p_end_coding_info, + ); + } + pub fn cmdEncodeVideoKHR( + self: Self, + command_buffer: CommandBuffer, + p_encode_info: *const VideoEncodeInfoKHR, + ) void { + return self.wrapper.cmdEncodeVideoKHR( + command_buffer, + p_encode_info, + ); + } + pub fn cmdDecompressMemoryNV( + self: Self, + command_buffer: CommandBuffer, + decompress_region_count: u32, + p_decompress_memory_regions: [*]const DecompressMemoryRegionNV, + ) void { + return self.wrapper.cmdDecompressMemoryNV( + command_buffer, + decompress_region_count, + p_decompress_memory_regions, + ); + } + pub fn cmdDecompressMemoryIndirectCountNV( + self: Self, + command_buffer: CommandBuffer, + indirect_commands_address: DeviceAddress, + indirect_commands_count_address: DeviceAddress, + stride: u32, + ) void { + return self.wrapper.cmdDecompressMemoryIndirectCountNV( + command_buffer, + indirect_commands_address, + indirect_commands_count_address, + stride, + ); + } + pub const CreateCuModuleNVXError = Wrapper.CreateCuModuleNVXError; + pub fn createCuModuleNVX( + self: Self, + p_create_info: *const CuModuleCreateInfoNVX, + p_allocator: ?*const AllocationCallbacks, + ) CreateCuModuleNVXError!CuModuleNVX { + return self.wrapper.createCuModuleNVX( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const CreateCuFunctionNVXError = Wrapper.CreateCuFunctionNVXError; + pub fn createCuFunctionNVX( + self: Self, + p_create_info: *const CuFunctionCreateInfoNVX, + p_allocator: ?*const AllocationCallbacks, + ) CreateCuFunctionNVXError!CuFunctionNVX { + return self.wrapper.createCuFunctionNVX( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyCuModuleNVX( + self: Self, + module: CuModuleNVX, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyCuModuleNVX( + self.handle, + module, + p_allocator, + ); + } + pub fn destroyCuFunctionNVX( + self: Self, + function: CuFunctionNVX, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyCuFunctionNVX( + self.handle, + function, + p_allocator, + ); + } + pub fn cmdCuLaunchKernelNVX( + self: Self, + command_buffer: CommandBuffer, + p_launch_info: *const CuLaunchInfoNVX, + ) void { + return self.wrapper.cmdCuLaunchKernelNVX( + command_buffer, + p_launch_info, + ); + } + pub fn getDescriptorSetLayoutSizeEXT( + self: Self, + layout: DescriptorSetLayout, + ) DeviceSize { + return self.wrapper.getDescriptorSetLayoutSizeEXT( + self.handle, + layout, + ); + } + pub fn getDescriptorSetLayoutBindingOffsetEXT( + self: Self, + layout: DescriptorSetLayout, + binding: u32, + ) DeviceSize { + return self.wrapper.getDescriptorSetLayoutBindingOffsetEXT( + self.handle, + layout, + binding, + ); + } + pub fn getDescriptorEXT( + self: Self, + p_descriptor_info: *const DescriptorGetInfoEXT, + data_size: usize, + p_descriptor: *anyopaque, + ) void { + return self.wrapper.getDescriptorEXT( + self.handle, + p_descriptor_info, + data_size, + p_descriptor, + ); + } + pub fn cmdBindDescriptorBuffersEXT( + self: Self, + command_buffer: CommandBuffer, + buffer_count: u32, + p_binding_infos: [*]const DescriptorBufferBindingInfoEXT, + ) void { + return self.wrapper.cmdBindDescriptorBuffersEXT( + command_buffer, + buffer_count, + p_binding_infos, + ); + } + pub fn cmdSetDescriptorBufferOffsetsEXT( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + first_set: u32, + set_count: u32, + p_buffer_indices: [*]const u32, + p_offsets: [*]const DeviceSize, + ) void { + return self.wrapper.cmdSetDescriptorBufferOffsetsEXT( + command_buffer, + pipeline_bind_point, + layout, + first_set, + set_count, + p_buffer_indices, + p_offsets, + ); + } + pub fn cmdBindDescriptorBufferEmbeddedSamplersEXT( + self: Self, + command_buffer: CommandBuffer, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + set: u32, + ) void { + return self.wrapper.cmdBindDescriptorBufferEmbeddedSamplersEXT( + command_buffer, + pipeline_bind_point, + layout, + set, + ); + } + pub const GetBufferOpaqueCaptureDescriptorDataEXTError = Wrapper.GetBufferOpaqueCaptureDescriptorDataEXTError; + pub fn getBufferOpaqueCaptureDescriptorDataEXT( + self: Self, + p_info: *const BufferCaptureDescriptorDataInfoEXT, + p_data: *anyopaque, + ) GetBufferOpaqueCaptureDescriptorDataEXTError!void { + return self.wrapper.getBufferOpaqueCaptureDescriptorDataEXT( + self.handle, + p_info, + p_data, + ); } - pub fn destroyDevice( + pub const GetImageOpaqueCaptureDescriptorDataEXTError = Wrapper.GetImageOpaqueCaptureDescriptorDataEXTError; + pub fn getImageOpaqueCaptureDescriptorDataEXT( self: Self, - device: Device, + p_info: *const ImageCaptureDescriptorDataInfoEXT, + p_data: *anyopaque, + ) GetImageOpaqueCaptureDescriptorDataEXTError!void { + return self.wrapper.getImageOpaqueCaptureDescriptorDataEXT( + self.handle, + p_info, + p_data, + ); + } + pub const GetImageViewOpaqueCaptureDescriptorDataEXTError = Wrapper.GetImageViewOpaqueCaptureDescriptorDataEXTError; + pub fn getImageViewOpaqueCaptureDescriptorDataEXT( + self: Self, + p_info: *const ImageViewCaptureDescriptorDataInfoEXT, + p_data: *anyopaque, + ) GetImageViewOpaqueCaptureDescriptorDataEXTError!void { + return self.wrapper.getImageViewOpaqueCaptureDescriptorDataEXT( + self.handle, + p_info, + p_data, + ); + } + pub const GetSamplerOpaqueCaptureDescriptorDataEXTError = Wrapper.GetSamplerOpaqueCaptureDescriptorDataEXTError; + pub fn getSamplerOpaqueCaptureDescriptorDataEXT( + self: Self, + p_info: *const SamplerCaptureDescriptorDataInfoEXT, + p_data: *anyopaque, + ) GetSamplerOpaqueCaptureDescriptorDataEXTError!void { + return self.wrapper.getSamplerOpaqueCaptureDescriptorDataEXT( + self.handle, + p_info, + p_data, + ); + } + pub const GetAccelerationStructureOpaqueCaptureDescriptorDataEXTError = Wrapper.GetAccelerationStructureOpaqueCaptureDescriptorDataEXTError; + pub fn getAccelerationStructureOpaqueCaptureDescriptorDataEXT( + self: Self, + p_info: *const AccelerationStructureCaptureDescriptorDataInfoEXT, + p_data: *anyopaque, + ) GetAccelerationStructureOpaqueCaptureDescriptorDataEXTError!void { + return self.wrapper.getAccelerationStructureOpaqueCaptureDescriptorDataEXT( + self.handle, + p_info, + p_data, + ); + } + pub fn setDeviceMemoryPriorityEXT( + self: Self, + memory: DeviceMemory, + priority: f32, + ) void { + return self.wrapper.setDeviceMemoryPriorityEXT( + self.handle, + memory, + priority, + ); + } + pub const WaitForPresentKHRError = Wrapper.WaitForPresentKHRError; + pub fn waitForPresentKHR( + self: Self, + swapchain: SwapchainKHR, + present_id: u64, + timeout: u64, + ) WaitForPresentKHRError!Result { + return self.wrapper.waitForPresentKHR( + self.handle, + swapchain, + present_id, + timeout, + ); + } + pub const CreateBufferCollectionFUCHSIAError = Wrapper.CreateBufferCollectionFUCHSIAError; + pub fn createBufferCollectionFUCHSIA( + self: Self, + p_create_info: *const BufferCollectionCreateInfoFUCHSIA, + p_allocator: ?*const AllocationCallbacks, + ) CreateBufferCollectionFUCHSIAError!BufferCollectionFUCHSIA { + return self.wrapper.createBufferCollectionFUCHSIA( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const SetBufferCollectionBufferConstraintsFUCHSIAError = Wrapper.SetBufferCollectionBufferConstraintsFUCHSIAError; + pub fn setBufferCollectionBufferConstraintsFUCHSIA( + self: Self, + collection: BufferCollectionFUCHSIA, + p_buffer_constraints_info: *const BufferConstraintsInfoFUCHSIA, + ) SetBufferCollectionBufferConstraintsFUCHSIAError!void { + return self.wrapper.setBufferCollectionBufferConstraintsFUCHSIA( + self.handle, + collection, + p_buffer_constraints_info, + ); + } + pub const SetBufferCollectionImageConstraintsFUCHSIAError = Wrapper.SetBufferCollectionImageConstraintsFUCHSIAError; + pub fn setBufferCollectionImageConstraintsFUCHSIA( + self: Self, + collection: BufferCollectionFUCHSIA, + p_image_constraints_info: *const ImageConstraintsInfoFUCHSIA, + ) SetBufferCollectionImageConstraintsFUCHSIAError!void { + return self.wrapper.setBufferCollectionImageConstraintsFUCHSIA( + self.handle, + collection, + p_image_constraints_info, + ); + } + pub fn destroyBufferCollectionFUCHSIA( + self: Self, + collection: BufferCollectionFUCHSIA, p_allocator: ?*const AllocationCallbacks, ) void { - self.dispatch.vkDestroyDevice( - device, + return self.wrapper.destroyBufferCollectionFUCHSIA( + self.handle, + collection, p_allocator, ); } - pub fn getDeviceQueue( + pub const GetBufferCollectionPropertiesFUCHSIAError = Wrapper.GetBufferCollectionPropertiesFUCHSIAError; + pub fn getBufferCollectionPropertiesFUCHSIA( self: Self, - device: Device, - queue_family_index: u32, - queue_index: u32, - ) Queue { - var queue: Queue = undefined; - self.dispatch.vkGetDeviceQueue( - device, - queue_family_index, - queue_index, - &queue, + collection: BufferCollectionFUCHSIA, + p_properties: *BufferCollectionPropertiesFUCHSIA, + ) GetBufferCollectionPropertiesFUCHSIAError!void { + return self.wrapper.getBufferCollectionPropertiesFUCHSIA( + self.handle, + collection, + p_properties, + ); + } + pub const CreateCudaModuleNVError = Wrapper.CreateCudaModuleNVError; + pub fn createCudaModuleNV( + self: Self, + p_create_info: *const CudaModuleCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + ) CreateCudaModuleNVError!CudaModuleNV { + return self.wrapper.createCudaModuleNV( + self.handle, + p_create_info, + p_allocator, + ); + } + pub const GetCudaModuleCacheNVError = Wrapper.GetCudaModuleCacheNVError; + pub fn getCudaModuleCacheNV( + self: Self, + module: CudaModuleNV, + p_cache_size: *usize, + p_cache_data: ?*anyopaque, + ) GetCudaModuleCacheNVError!Result { + return self.wrapper.getCudaModuleCacheNV( + self.handle, + module, + p_cache_size, + p_cache_data, + ); + } + pub const CreateCudaFunctionNVError = Wrapper.CreateCudaFunctionNVError; + pub fn createCudaFunctionNV( + self: Self, + p_create_info: *const CudaFunctionCreateInfoNV, + p_allocator: ?*const AllocationCallbacks, + ) CreateCudaFunctionNVError!CudaFunctionNV { + return self.wrapper.createCudaFunctionNV( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn destroyCudaModuleNV( + self: Self, + module: CudaModuleNV, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyCudaModuleNV( + self.handle, + module, + p_allocator, + ); + } + pub fn destroyCudaFunctionNV( + self: Self, + function: CudaFunctionNV, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyCudaFunctionNV( + self.handle, + function, + p_allocator, + ); + } + pub fn cmdCudaLaunchKernelNV( + self: Self, + command_buffer: CommandBuffer, + p_launch_info: *const CudaLaunchInfoNV, + ) void { + return self.wrapper.cmdCudaLaunchKernelNV( + command_buffer, + p_launch_info, + ); + } + pub fn cmdBeginRendering( + self: Self, + command_buffer: CommandBuffer, + p_rendering_info: *const RenderingInfo, + ) void { + return self.wrapper.cmdBeginRendering( + command_buffer, + p_rendering_info, + ); + } + pub fn cmdBeginRenderingKHR( + self: Self, + command_buffer: CommandBuffer, + p_rendering_info: *const RenderingInfo, + ) void { + return self.wrapper.cmdBeginRenderingKHR( + command_buffer, + p_rendering_info, + ); + } + pub fn cmdEndRendering( + self: Self, + command_buffer: CommandBuffer, + ) void { + return self.wrapper.cmdEndRendering( + command_buffer, + ); + } + pub fn cmdEndRenderingKHR( + self: Self, + command_buffer: CommandBuffer, + ) void { + return self.wrapper.cmdEndRenderingKHR( + command_buffer, + ); + } + pub fn getDescriptorSetLayoutHostMappingInfoVALVE( + self: Self, + p_binding_reference: *const DescriptorSetBindingReferenceVALVE, + p_host_mapping: *DescriptorSetLayoutHostMappingInfoVALVE, + ) void { + return self.wrapper.getDescriptorSetLayoutHostMappingInfoVALVE( + self.handle, + p_binding_reference, + p_host_mapping, + ); + } + pub fn getDescriptorSetHostMappingVALVE( + self: Self, + descriptor_set: DescriptorSet, + ) *anyopaque { + return self.wrapper.getDescriptorSetHostMappingVALVE( + self.handle, + descriptor_set, + ); + } + pub const CreateMicromapEXTError = Wrapper.CreateMicromapEXTError; + pub fn createMicromapEXT( + self: Self, + p_create_info: *const MicromapCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + ) CreateMicromapEXTError!MicromapEXT { + return self.wrapper.createMicromapEXT( + self.handle, + p_create_info, + p_allocator, + ); + } + pub fn cmdBuildMicromapsEXT( + self: Self, + command_buffer: CommandBuffer, + info_count: u32, + p_infos: [*]const MicromapBuildInfoEXT, + ) void { + return self.wrapper.cmdBuildMicromapsEXT( + command_buffer, + info_count, + p_infos, + ); + } + pub const BuildMicromapsEXTError = Wrapper.BuildMicromapsEXTError; + pub fn buildMicromapsEXT( + self: Self, + deferred_operation: DeferredOperationKHR, + info_count: u32, + p_infos: [*]const MicromapBuildInfoEXT, + ) BuildMicromapsEXTError!Result { + return self.wrapper.buildMicromapsEXT( + self.handle, + deferred_operation, + info_count, + p_infos, + ); + } + pub fn destroyMicromapEXT( + self: Self, + micromap: MicromapEXT, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyMicromapEXT( + self.handle, + micromap, + p_allocator, + ); + } + pub fn cmdCopyMicromapEXT( + self: Self, + command_buffer: CommandBuffer, + p_info: *const CopyMicromapInfoEXT, + ) void { + return self.wrapper.cmdCopyMicromapEXT( + command_buffer, + p_info, + ); + } + pub const CopyMicromapEXTError = Wrapper.CopyMicromapEXTError; + pub fn copyMicromapEXT( + self: Self, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyMicromapInfoEXT, + ) CopyMicromapEXTError!Result { + return self.wrapper.copyMicromapEXT( + self.handle, + deferred_operation, + p_info, + ); + } + pub fn cmdCopyMicromapToMemoryEXT( + self: Self, + command_buffer: CommandBuffer, + p_info: *const CopyMicromapToMemoryInfoEXT, + ) void { + return self.wrapper.cmdCopyMicromapToMemoryEXT( + command_buffer, + p_info, + ); + } + pub const CopyMicromapToMemoryEXTError = Wrapper.CopyMicromapToMemoryEXTError; + pub fn copyMicromapToMemoryEXT( + self: Self, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyMicromapToMemoryInfoEXT, + ) CopyMicromapToMemoryEXTError!Result { + return self.wrapper.copyMicromapToMemoryEXT( + self.handle, + deferred_operation, + p_info, + ); + } + pub fn cmdCopyMemoryToMicromapEXT( + self: Self, + command_buffer: CommandBuffer, + p_info: *const CopyMemoryToMicromapInfoEXT, + ) void { + return self.wrapper.cmdCopyMemoryToMicromapEXT( + command_buffer, + p_info, + ); + } + pub const CopyMemoryToMicromapEXTError = Wrapper.CopyMemoryToMicromapEXTError; + pub fn copyMemoryToMicromapEXT( + self: Self, + deferred_operation: DeferredOperationKHR, + p_info: *const CopyMemoryToMicromapInfoEXT, + ) CopyMemoryToMicromapEXTError!Result { + return self.wrapper.copyMemoryToMicromapEXT( + self.handle, + deferred_operation, + p_info, + ); + } + pub fn cmdWriteMicromapsPropertiesEXT( + self: Self, + command_buffer: CommandBuffer, + micromap_count: u32, + p_micromaps: [*]const MicromapEXT, + query_type: QueryType, + query_pool: QueryPool, + first_query: u32, + ) void { + return self.wrapper.cmdWriteMicromapsPropertiesEXT( + command_buffer, + micromap_count, + p_micromaps, + query_type, + query_pool, + first_query, + ); + } + pub const WriteMicromapsPropertiesEXTError = Wrapper.WriteMicromapsPropertiesEXTError; + pub fn writeMicromapsPropertiesEXT( + self: Self, + micromap_count: u32, + p_micromaps: [*]const MicromapEXT, + query_type: QueryType, + data_size: usize, + p_data: *anyopaque, + stride: usize, + ) WriteMicromapsPropertiesEXTError!void { + return self.wrapper.writeMicromapsPropertiesEXT( + self.handle, + micromap_count, + p_micromaps, + query_type, + data_size, + p_data, + stride, + ); + } + pub fn getDeviceMicromapCompatibilityEXT( + self: Self, + p_version_info: *const MicromapVersionInfoEXT, + ) AccelerationStructureCompatibilityKHR { + return self.wrapper.getDeviceMicromapCompatibilityEXT( + self.handle, + p_version_info, + ); + } + pub fn getMicromapBuildSizesEXT( + self: Self, + build_type: AccelerationStructureBuildTypeKHR, + p_build_info: *const MicromapBuildInfoEXT, + p_size_info: *MicromapBuildSizesInfoEXT, + ) void { + return self.wrapper.getMicromapBuildSizesEXT( + self.handle, + build_type, + p_build_info, + p_size_info, + ); + } + pub fn getShaderModuleIdentifierEXT( + self: Self, + shader_module: ShaderModule, + p_identifier: *ShaderModuleIdentifierEXT, + ) void { + return self.wrapper.getShaderModuleIdentifierEXT( + self.handle, + shader_module, + p_identifier, + ); + } + pub fn getShaderModuleCreateInfoIdentifierEXT( + self: Self, + p_create_info: *const ShaderModuleCreateInfo, + p_identifier: *ShaderModuleIdentifierEXT, + ) void { + return self.wrapper.getShaderModuleCreateInfoIdentifierEXT( + self.handle, + p_create_info, + p_identifier, + ); + } + pub fn getImageSubresourceLayout2KHR( + self: Self, + image: Image, + p_subresource: *const ImageSubresource2KHR, + p_layout: *SubresourceLayout2KHR, + ) void { + return self.wrapper.getImageSubresourceLayout2KHR( + self.handle, + image, + p_subresource, + p_layout, + ); + } + pub fn getImageSubresourceLayout2EXT( + self: Self, + image: Image, + p_subresource: *const ImageSubresource2KHR, + p_layout: *SubresourceLayout2KHR, + ) void { + return self.wrapper.getImageSubresourceLayout2EXT( + self.handle, + image, + p_subresource, + p_layout, + ); + } + pub const GetPipelinePropertiesEXTError = Wrapper.GetPipelinePropertiesEXTError; + pub fn getPipelinePropertiesEXT( + self: Self, + p_pipeline_info: *const PipelineInfoEXT, + p_pipeline_properties: *BaseOutStructure, + ) GetPipelinePropertiesEXTError!void { + return self.wrapper.getPipelinePropertiesEXT( + self.handle, + p_pipeline_info, + p_pipeline_properties, ); - return queue; } - pub const QueueSubmitError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - Unknown, - }; - pub fn queueSubmit( + pub fn exportMetalObjectsEXT( self: Self, - queue: Queue, - submit_count: u32, - p_submits: ?[*]const SubmitInfo, - fence: Fence, - ) QueueSubmitError!void { - const result = self.dispatch.vkQueueSubmit( - queue, - submit_count, - p_submits, - fence, + p_metal_objects_info: *ExportMetalObjectsInfoEXT, + ) void { + return self.wrapper.exportMetalObjectsEXT( + self.handle, + p_metal_objects_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - else => return error.Unknown, - } } - pub const QueueWaitIdleError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - Unknown, - }; - pub fn queueWaitIdle( + pub const GetFramebufferTilePropertiesQCOMError = Wrapper.GetFramebufferTilePropertiesQCOMError; + pub fn getFramebufferTilePropertiesQCOM( self: Self, - queue: Queue, - ) QueueWaitIdleError!void { - const result = self.dispatch.vkQueueWaitIdle( - queue, + framebuffer: Framebuffer, + p_properties_count: *u32, + p_properties: ?[*]TilePropertiesQCOM, + ) GetFramebufferTilePropertiesQCOMError!Result { + return self.wrapper.getFramebufferTilePropertiesQCOM( + self.handle, + framebuffer, + p_properties_count, + p_properties, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - else => return error.Unknown, - } } - pub const DeviceWaitIdleError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - Unknown, - }; - pub fn deviceWaitIdle( + pub const GetDynamicRenderingTilePropertiesQCOMError = Wrapper.GetDynamicRenderingTilePropertiesQCOMError; + pub fn getDynamicRenderingTilePropertiesQCOM( self: Self, - device: Device, - ) DeviceWaitIdleError!void { - const result = self.dispatch.vkDeviceWaitIdle( - device, + p_rendering_info: *const RenderingInfo, + p_properties: *TilePropertiesQCOM, + ) GetDynamicRenderingTilePropertiesQCOMError!void { + return self.wrapper.getDynamicRenderingTilePropertiesQCOM( + self.handle, + p_rendering_info, + p_properties, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - else => return error.Unknown, - } } - pub const AllocateMemoryError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - TooManyObjects, - InvalidExternalHandle, - InvalidOpaqueCaptureAddressKHR, - Unknown, - }; - pub fn allocateMemory( + pub const CreateOpticalFlowSessionNVError = Wrapper.CreateOpticalFlowSessionNVError; + pub fn createOpticalFlowSessionNV( self: Self, - device: Device, - p_allocate_info: *const MemoryAllocateInfo, + p_create_info: *const OpticalFlowSessionCreateInfoNV, p_allocator: ?*const AllocationCallbacks, - ) AllocateMemoryError!DeviceMemory { - var memory: DeviceMemory = undefined; - const result = self.dispatch.vkAllocateMemory( - device, - p_allocate_info, + ) CreateOpticalFlowSessionNVError!OpticalFlowSessionNV { + return self.wrapper.createOpticalFlowSessionNV( + self.handle, + p_create_info, p_allocator, - &memory, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_invalid_external_handle => return error.InvalidExternalHandle, - Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, - else => return error.Unknown, - } - return memory; } - pub fn freeMemory( + pub fn destroyOpticalFlowSessionNV( self: Self, - device: Device, - memory: DeviceMemory, + session: OpticalFlowSessionNV, p_allocator: ?*const AllocationCallbacks, ) void { - self.dispatch.vkFreeMemory( - device, - memory, + return self.wrapper.destroyOpticalFlowSessionNV( + self.handle, + session, p_allocator, ); } - pub const MapMemoryError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - MemoryMapFailed, - Unknown, - }; - pub fn mapMemory( + pub const BindOpticalFlowSessionImageNVError = Wrapper.BindOpticalFlowSessionImageNVError; + pub fn bindOpticalFlowSessionImageNV( self: Self, - device: Device, - memory: DeviceMemory, - offset: DeviceSize, - size: DeviceSize, - flags: MemoryMapFlags, - ) MapMemoryError!?*anyopaque { - var pp_data: ?*anyopaque = undefined; - const result = self.dispatch.vkMapMemory( - device, - memory, - offset, - size, - flags, - &pp_data, + session: OpticalFlowSessionNV, + binding_point: OpticalFlowSessionBindingPointNV, + view: ImageView, + layout: ImageLayout, + ) BindOpticalFlowSessionImageNVError!void { + return self.wrapper.bindOpticalFlowSessionImageNV( + self.handle, + session, + binding_point, + view, + layout, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_memory_map_failed => return error.MemoryMapFailed, - else => return error.Unknown, - } - return pp_data; } - pub fn unmapMemory( + pub fn cmdOpticalFlowExecuteNV( self: Self, - device: Device, - memory: DeviceMemory, + command_buffer: CommandBuffer, + session: OpticalFlowSessionNV, + p_execute_info: *const OpticalFlowExecuteInfoNV, ) void { - self.dispatch.vkUnmapMemory( - device, - memory, + return self.wrapper.cmdOpticalFlowExecuteNV( + command_buffer, + session, + p_execute_info, ); } - pub const FlushMappedMemoryRangesError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn flushMappedMemoryRanges( + pub const GetDeviceFaultInfoEXTError = Wrapper.GetDeviceFaultInfoEXTError; + pub fn getDeviceFaultInfoEXT( self: Self, - device: Device, - memory_range_count: u32, - p_memory_ranges: [*]const MappedMemoryRange, - ) FlushMappedMemoryRangesError!void { - const result = self.dispatch.vkFlushMappedMemoryRanges( - device, - memory_range_count, - p_memory_ranges, + p_fault_counts: *DeviceFaultCountsEXT, + p_fault_info: ?*DeviceFaultInfoEXT, + ) GetDeviceFaultInfoEXTError!Result { + return self.wrapper.getDeviceFaultInfoEXT( + self.handle, + p_fault_counts, + p_fault_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const InvalidateMappedMemoryRangesError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn invalidateMappedMemoryRanges( + pub fn cmdSetDepthBias2EXT( self: Self, - device: Device, - memory_range_count: u32, - p_memory_ranges: [*]const MappedMemoryRange, - ) InvalidateMappedMemoryRangesError!void { - const result = self.dispatch.vkInvalidateMappedMemoryRanges( - device, - memory_range_count, - p_memory_ranges, + command_buffer: CommandBuffer, + p_depth_bias_info: *const DepthBiasInfoEXT, + ) void { + return self.wrapper.cmdSetDepthBias2EXT( + command_buffer, + p_depth_bias_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub fn getDeviceMemoryCommitment( + pub const ReleaseSwapchainImagesEXTError = Wrapper.ReleaseSwapchainImagesEXTError; + pub fn releaseSwapchainImagesEXT( self: Self, - device: Device, - memory: DeviceMemory, - ) DeviceSize { - var committed_memory_in_bytes: DeviceSize = undefined; - self.dispatch.vkGetDeviceMemoryCommitment( - device, - memory, - &committed_memory_in_bytes, + p_release_info: *const ReleaseSwapchainImagesInfoEXT, + ) ReleaseSwapchainImagesEXTError!void { + return self.wrapper.releaseSwapchainImagesEXT( + self.handle, + p_release_info, ); - return committed_memory_in_bytes; } - pub fn getBufferMemoryRequirements( + pub fn getDeviceImageSubresourceLayoutKHR( self: Self, - device: Device, - buffer: Buffer, - ) MemoryRequirements { - var memory_requirements: MemoryRequirements = undefined; - self.dispatch.vkGetBufferMemoryRequirements( - device, - buffer, - &memory_requirements, + p_info: *const DeviceImageSubresourceInfoKHR, + p_layout: *SubresourceLayout2KHR, + ) void { + return self.wrapper.getDeviceImageSubresourceLayoutKHR( + self.handle, + p_info, + p_layout, ); - return memory_requirements; } - pub const BindBufferMemoryError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - InvalidOpaqueCaptureAddressKHR, - Unknown, - }; - pub fn bindBufferMemory( + pub const MapMemory2KHRError = Wrapper.MapMemory2KHRError; + pub fn mapMemory2KHR( self: Self, - device: Device, - buffer: Buffer, - memory: DeviceMemory, - memory_offset: DeviceSize, - ) BindBufferMemoryError!void { - const result = self.dispatch.vkBindBufferMemory( - device, - buffer, - memory, - memory_offset, + p_memory_map_info: *const MemoryMapInfoKHR, + ) MapMemory2KHRError!?*anyopaque { + return self.wrapper.mapMemory2KHR( + self.handle, + p_memory_map_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, - else => return error.Unknown, - } } - pub fn getImageMemoryRequirements( + pub const UnmapMemory2KHRError = Wrapper.UnmapMemory2KHRError; + pub fn unmapMemory2KHR( self: Self, - device: Device, - image: Image, - ) MemoryRequirements { - var memory_requirements: MemoryRequirements = undefined; - self.dispatch.vkGetImageMemoryRequirements( - device, - image, - &memory_requirements, + p_memory_unmap_info: *const MemoryUnmapInfoKHR, + ) UnmapMemory2KHRError!void { + return self.wrapper.unmapMemory2KHR( + self.handle, + p_memory_unmap_info, ); - return memory_requirements; } - pub const BindImageMemoryError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn bindImageMemory( + pub const CreateShadersEXTError = Wrapper.CreateShadersEXTError; + pub fn createShadersEXT( self: Self, - device: Device, - image: Image, - memory: DeviceMemory, - memory_offset: DeviceSize, - ) BindImageMemoryError!void { - const result = self.dispatch.vkBindImageMemory( - device, - image, - memory, - memory_offset, + create_info_count: u32, + p_create_infos: [*]const ShaderCreateInfoEXT, + p_allocator: ?*const AllocationCallbacks, + p_shaders: [*]ShaderEXT, + ) CreateShadersEXTError!Result { + return self.wrapper.createShadersEXT( + self.handle, + create_info_count, + p_create_infos, + p_allocator, + p_shaders, + ); + } + pub fn destroyShaderEXT( + self: Self, + shader: ShaderEXT, + p_allocator: ?*const AllocationCallbacks, + ) void { + return self.wrapper.destroyShaderEXT( + self.handle, + shader, + p_allocator, + ); + } + pub const GetShaderBinaryDataEXTError = Wrapper.GetShaderBinaryDataEXTError; + pub fn getShaderBinaryDataEXT( + self: Self, + shader: ShaderEXT, + p_data_size: *usize, + p_data: ?*anyopaque, + ) GetShaderBinaryDataEXTError!Result { + return self.wrapper.getShaderBinaryDataEXT( + self.handle, + shader, + p_data_size, + p_data, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub fn getImageSparseMemoryRequirements( + pub fn cmdBindShadersEXT( self: Self, - device: Device, - image: Image, - p_sparse_memory_requirement_count: *u32, - p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements, + command_buffer: CommandBuffer, + stage_count: u32, + p_stages: [*]const ShaderStageFlags, + p_shaders: ?[*]const ShaderEXT, ) void { - self.dispatch.vkGetImageSparseMemoryRequirements( - device, - image, - p_sparse_memory_requirement_count, - p_sparse_memory_requirements, + return self.wrapper.cmdBindShadersEXT( + command_buffer, + stage_count, + p_stages, + p_shaders, ); } - pub const QueueBindSparseError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - Unknown, - }; - pub fn queueBindSparse( + pub const GetScreenBufferPropertiesQNXError = Wrapper.GetScreenBufferPropertiesQNXError; + pub fn getScreenBufferPropertiesQNX( self: Self, - queue: Queue, - bind_info_count: u32, - p_bind_info: ?[*]const BindSparseInfo, - fence: Fence, - ) QueueBindSparseError!void { - const result = self.dispatch.vkQueueBindSparse( - queue, - bind_info_count, - p_bind_info, - fence, + buffer: *const _screen_buffer, + p_properties: *ScreenBufferPropertiesQNX, + ) GetScreenBufferPropertiesQNXError!void { + return self.wrapper.getScreenBufferPropertiesQNX( + self.handle, + buffer, + p_properties, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - else => return error.Unknown, - } } - pub const CreateFenceError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createFence( + pub const GetExecutionGraphPipelineScratchSizeAMDXError = Wrapper.GetExecutionGraphPipelineScratchSizeAMDXError; + pub fn getExecutionGraphPipelineScratchSizeAMDX( self: Self, - device: Device, - p_create_info: *const FenceCreateInfo, + execution_graph: Pipeline, + p_size_info: *ExecutionGraphPipelineScratchSizeAMDX, + ) GetExecutionGraphPipelineScratchSizeAMDXError!void { + return self.wrapper.getExecutionGraphPipelineScratchSizeAMDX( + self.handle, + execution_graph, + p_size_info, + ); + } + pub const GetExecutionGraphPipelineNodeIndexAMDXError = Wrapper.GetExecutionGraphPipelineNodeIndexAMDXError; + pub fn getExecutionGraphPipelineNodeIndexAMDX( + self: Self, + execution_graph: Pipeline, + p_node_info: *const PipelineShaderStageNodeCreateInfoAMDX, + ) GetExecutionGraphPipelineNodeIndexAMDXError!u32 { + return self.wrapper.getExecutionGraphPipelineNodeIndexAMDX( + self.handle, + execution_graph, + p_node_info, + ); + } + pub const CreateExecutionGraphPipelinesAMDXError = Wrapper.CreateExecutionGraphPipelinesAMDXError; + pub fn createExecutionGraphPipelinesAMDX( + self: Self, + pipeline_cache: PipelineCache, + create_info_count: u32, + p_create_infos: [*]const ExecutionGraphPipelineCreateInfoAMDX, p_allocator: ?*const AllocationCallbacks, - ) CreateFenceError!Fence { - var fence: Fence = undefined; - const result = self.dispatch.vkCreateFence( - device, - p_create_info, + p_pipelines: [*]Pipeline, + ) CreateExecutionGraphPipelinesAMDXError!Result { + return self.wrapper.createExecutionGraphPipelinesAMDX( + self.handle, + pipeline_cache, + create_info_count, + p_create_infos, p_allocator, - &fence, + p_pipelines, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return fence; } - pub fn destroyFence( + pub fn cmdInitializeGraphScratchMemoryAMDX( self: Self, - device: Device, - fence: Fence, - p_allocator: ?*const AllocationCallbacks, + command_buffer: CommandBuffer, + scratch: DeviceAddress, ) void { - self.dispatch.vkDestroyFence( - device, - fence, - p_allocator, + return self.wrapper.cmdInitializeGraphScratchMemoryAMDX( + command_buffer, + scratch, ); } - pub const ResetFencesError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn resetFences( + pub fn cmdDispatchGraphAMDX( self: Self, - device: Device, - fence_count: u32, - p_fences: [*]const Fence, - ) ResetFencesError!void { - const result = self.dispatch.vkResetFences( - device, - fence_count, - p_fences, + command_buffer: CommandBuffer, + scratch: DeviceAddress, + p_count_info: *const DispatchGraphCountInfoAMDX, + ) void { + return self.wrapper.cmdDispatchGraphAMDX( + command_buffer, + scratch, + p_count_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const GetFenceStatusError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - Unknown, - }; - pub fn getFenceStatus( + pub fn cmdDispatchGraphIndirectAMDX( self: Self, - device: Device, - fence: Fence, - ) GetFenceStatusError!Result { - const result = self.dispatch.vkGetFenceStatus( - device, - fence, + command_buffer: CommandBuffer, + scratch: DeviceAddress, + p_count_info: *const DispatchGraphCountInfoAMDX, + ) void { + return self.wrapper.cmdDispatchGraphIndirectAMDX( + command_buffer, + scratch, + p_count_info, ); - switch (result) { - Result.success => {}, - Result.not_ready => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - else => return error.Unknown, - } - return result; } - pub const WaitForFencesError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - Unknown, - }; - pub fn waitForFences( + pub fn cmdDispatchGraphIndirectCountAMDX( self: Self, - device: Device, - fence_count: u32, - p_fences: [*]const Fence, - wait_all: Bool32, - timeout: u64, - ) WaitForFencesError!Result { - const result = self.dispatch.vkWaitForFences( - device, - fence_count, - p_fences, - wait_all, - timeout, + command_buffer: CommandBuffer, + scratch: DeviceAddress, + count_info: DeviceAddress, + ) void { + return self.wrapper.cmdDispatchGraphIndirectCountAMDX( + command_buffer, + scratch, + count_info, ); - switch (result) { - Result.success => {}, - Result.timeout => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - else => return error.Unknown, - } - return result; } - pub const CreateSemaphoreError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createSemaphore( + pub fn cmdBindDescriptorSets2KHR( self: Self, - device: Device, - p_create_info: *const SemaphoreCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateSemaphoreError!Semaphore { - var semaphore: Semaphore = undefined; - const result = self.dispatch.vkCreateSemaphore( - device, - p_create_info, - p_allocator, - &semaphore, + command_buffer: CommandBuffer, + p_bind_descriptor_sets_info: *const BindDescriptorSetsInfoKHR, + ) void { + return self.wrapper.cmdBindDescriptorSets2KHR( + command_buffer, + p_bind_descriptor_sets_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return semaphore; } - pub fn destroySemaphore( + pub fn cmdPushConstants2KHR( self: Self, - device: Device, - semaphore: Semaphore, - p_allocator: ?*const AllocationCallbacks, + command_buffer: CommandBuffer, + p_push_constants_info: *const PushConstantsInfoKHR, ) void { - self.dispatch.vkDestroySemaphore( - device, - semaphore, - p_allocator, + return self.wrapper.cmdPushConstants2KHR( + command_buffer, + p_push_constants_info, ); } - pub const CreateEventError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createEvent( + pub fn cmdPushDescriptorSet2KHR( self: Self, - device: Device, - p_create_info: *const EventCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateEventError!Event { - var event: Event = undefined; - const result = self.dispatch.vkCreateEvent( - device, - p_create_info, - p_allocator, - &event, + command_buffer: CommandBuffer, + p_push_descriptor_set_info: *const PushDescriptorSetInfoKHR, + ) void { + return self.wrapper.cmdPushDescriptorSet2KHR( + command_buffer, + p_push_descriptor_set_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return event; } - pub fn destroyEvent( + pub fn cmdPushDescriptorSetWithTemplate2KHR( self: Self, - device: Device, - event: Event, - p_allocator: ?*const AllocationCallbacks, + command_buffer: CommandBuffer, + p_push_descriptor_set_with_template_info: *const PushDescriptorSetWithTemplateInfoKHR, ) void { - self.dispatch.vkDestroyEvent( - device, - event, - p_allocator, + return self.wrapper.cmdPushDescriptorSetWithTemplate2KHR( + command_buffer, + p_push_descriptor_set_with_template_info, ); } - pub const GetEventStatusError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - Unknown, - }; - pub fn getEventStatus( + pub fn cmdSetDescriptorBufferOffsets2EXT( + self: Self, + command_buffer: CommandBuffer, + p_set_descriptor_buffer_offsets_info: *const SetDescriptorBufferOffsetsInfoEXT, + ) void { + return self.wrapper.cmdSetDescriptorBufferOffsets2EXT( + command_buffer, + p_set_descriptor_buffer_offsets_info, + ); + } + pub fn cmdBindDescriptorBufferEmbeddedSamplers2EXT( + self: Self, + command_buffer: CommandBuffer, + p_bind_descriptor_buffer_embedded_samplers_info: *const BindDescriptorBufferEmbeddedSamplersInfoEXT, + ) void { + return self.wrapper.cmdBindDescriptorBufferEmbeddedSamplers2EXT( + command_buffer, + p_bind_descriptor_buffer_embedded_samplers_info, + ); + } + pub const SetLatencySleepModeNVError = Wrapper.SetLatencySleepModeNVError; + pub fn setLatencySleepModeNV( self: Self, - device: Device, - event: Event, - ) GetEventStatusError!Result { - const result = self.dispatch.vkGetEventStatus( - device, - event, + swapchain: SwapchainKHR, + p_sleep_mode_info: *const LatencySleepModeInfoNV, + ) SetLatencySleepModeNVError!void { + return self.wrapper.setLatencySleepModeNV( + self.handle, + swapchain, + p_sleep_mode_info, ); - switch (result) { - Result.event_set => {}, - Result.event_reset => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - else => return error.Unknown, - } - return result; } - pub const SetEventError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn setEvent( + pub const LatencySleepNVError = Wrapper.LatencySleepNVError; + pub fn latencySleepNV( self: Self, - device: Device, - event: Event, - ) SetEventError!void { - const result = self.dispatch.vkSetEvent( - device, - event, + swapchain: SwapchainKHR, + p_sleep_info: *const LatencySleepInfoNV, + ) LatencySleepNVError!void { + return self.wrapper.latencySleepNV( + self.handle, + swapchain, + p_sleep_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const ResetEventError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn resetEvent( + pub fn setLatencyMarkerNV( self: Self, - device: Device, - event: Event, - ) ResetEventError!void { - const result = self.dispatch.vkResetEvent( - device, - event, + swapchain: SwapchainKHR, + p_latency_marker_info: *const SetLatencyMarkerInfoNV, + ) void { + return self.wrapper.setLatencyMarkerNV( + self.handle, + swapchain, + p_latency_marker_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const CreateQueryPoolError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createQueryPool( + pub fn getLatencyTimingsNV( self: Self, - device: Device, - p_create_info: *const QueryPoolCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateQueryPoolError!QueryPool { - var query_pool: QueryPool = undefined; - const result = self.dispatch.vkCreateQueryPool( - device, - p_create_info, - p_allocator, - &query_pool, + swapchain: SwapchainKHR, + p_latency_marker_info: *GetLatencyMarkerInfoNV, + ) void { + return self.wrapper.getLatencyTimingsNV( + self.handle, + swapchain, + p_latency_marker_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return query_pool; } - pub fn destroyQueryPool( + pub fn queueNotifyOutOfBandNV( self: Self, - device: Device, - query_pool: QueryPool, - p_allocator: ?*const AllocationCallbacks, + queue: Queue, + p_queue_type_info: *const OutOfBandQueueTypeInfoNV, ) void { - self.dispatch.vkDestroyQueryPool( - device, - query_pool, - p_allocator, + return self.wrapper.queueNotifyOutOfBandNV( + queue, + p_queue_type_info, ); } - pub const GetQueryPoolResultsError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - Unknown, - }; - pub fn getQueryPoolResults( + pub fn cmdSetRenderingAttachmentLocationsKHR( self: Self, - device: Device, - query_pool: QueryPool, - first_query: u32, - query_count: u32, - data_size: usize, - p_data: *anyopaque, - stride: DeviceSize, - flags: QueryResultFlags, - ) GetQueryPoolResultsError!Result { - const result = self.dispatch.vkGetQueryPoolResults( - device, - query_pool, - first_query, - query_count, - data_size, - p_data, - stride, - flags, + command_buffer: CommandBuffer, + p_location_info: *const RenderingAttachmentLocationInfoKHR, + ) void { + return self.wrapper.cmdSetRenderingAttachmentLocationsKHR( + command_buffer, + p_location_info, ); - switch (result) { - Result.success => {}, - Result.not_ready => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - else => return error.Unknown, - } - return result; } - pub fn resetQueryPoolEXT( + pub fn cmdSetRenderingInputAttachmentIndicesKHR( self: Self, - device: Device, - query_pool: QueryPool, - first_query: u32, - query_count: u32, + command_buffer: CommandBuffer, + p_location_info: *const RenderingInputAttachmentIndexInfoKHR, ) void { - self.dispatch.vkResetQueryPoolEXT( - device, - query_pool, - first_query, - query_count, + return self.wrapper.cmdSetRenderingInputAttachmentIndicesKHR( + command_buffer, + p_location_info, ); } - pub const CreateBufferError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - InvalidOpaqueCaptureAddressKHR, - Unknown, - }; - pub fn createBuffer( + }; +} +pub fn CommandBufferProxy(comptime apis: []const ApiInfo) type { + return struct { + const Self = @This(); + pub const Wrapper = DeviceWrapper(apis); + + handle: CommandBuffer, + wrapper: *const Wrapper, + + pub fn init(handle: CommandBuffer, wrapper: *const Wrapper) Self { + return .{ + .handle = handle, + .wrapper = wrapper, + }; + } + pub const BeginCommandBufferError = Wrapper.BeginCommandBufferError; + pub fn beginCommandBuffer( self: Self, - device: Device, - p_create_info: *const BufferCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateBufferError!Buffer { - var buffer: Buffer = undefined; - const result = self.dispatch.vkCreateBuffer( - device, - p_create_info, - p_allocator, - &buffer, + p_begin_info: *const CommandBufferBeginInfo, + ) BeginCommandBufferError!void { + return self.wrapper.beginCommandBuffer( + self.handle, + p_begin_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, - else => return error.Unknown, - } - return buffer; } - pub fn destroyBuffer( + pub const EndCommandBufferError = Wrapper.EndCommandBufferError; + pub fn endCommandBuffer( self: Self, - device: Device, - buffer: Buffer, - p_allocator: ?*const AllocationCallbacks, - ) void { - self.dispatch.vkDestroyBuffer( - device, - buffer, - p_allocator, + ) EndCommandBufferError!void { + return self.wrapper.endCommandBuffer( + self.handle, ); } - pub const CreateBufferViewError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createBufferView( + pub const ResetCommandBufferError = Wrapper.ResetCommandBufferError; + pub fn resetCommandBuffer( self: Self, - device: Device, - p_create_info: *const BufferViewCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateBufferViewError!BufferView { - var view: BufferView = undefined; - const result = self.dispatch.vkCreateBufferView( - device, - p_create_info, - p_allocator, - &view, + flags: CommandBufferResetFlags, + ) ResetCommandBufferError!void { + return self.wrapper.resetCommandBuffer( + self.handle, + flags, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return view; } - pub fn destroyBufferView( + pub fn bindPipeline( self: Self, - device: Device, - buffer_view: BufferView, - p_allocator: ?*const AllocationCallbacks, + pipeline_bind_point: PipelineBindPoint, + pipeline: Pipeline, ) void { - self.dispatch.vkDestroyBufferView( - device, - buffer_view, - p_allocator, + return self.wrapper.cmdBindPipeline( + self.handle, + pipeline_bind_point, + pipeline, ); } - pub const CreateImageError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createImage( + pub fn setAttachmentFeedbackLoopEnableEXT( self: Self, - device: Device, - p_create_info: *const ImageCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateImageError!Image { - var image: Image = undefined; - const result = self.dispatch.vkCreateImage( - device, - p_create_info, - p_allocator, - &image, + aspect_mask: ImageAspectFlags, + ) void { + return self.wrapper.cmdSetAttachmentFeedbackLoopEnableEXT( + self.handle, + aspect_mask, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return image; } - pub fn destroyImage( + pub fn setViewport( self: Self, - device: Device, - image: Image, - p_allocator: ?*const AllocationCallbacks, + first_viewport: u32, + viewport_count: u32, + p_viewports: [*]const Viewport, ) void { - self.dispatch.vkDestroyImage( - device, - image, - p_allocator, + return self.wrapper.cmdSetViewport( + self.handle, + first_viewport, + viewport_count, + p_viewports, ); } - pub fn getImageSubresourceLayout( + pub fn setScissor( self: Self, - device: Device, - image: Image, - p_subresource: *const ImageSubresource, - ) SubresourceLayout { - var layout: SubresourceLayout = undefined; - self.dispatch.vkGetImageSubresourceLayout( - device, - image, - p_subresource, - &layout, + first_scissor: u32, + scissor_count: u32, + p_scissors: [*]const Rect2D, + ) void { + return self.wrapper.cmdSetScissor( + self.handle, + first_scissor, + scissor_count, + p_scissors, ); - return layout; } - pub const CreateImageViewError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createImageView( + pub fn setLineWidth( self: Self, - device: Device, - p_create_info: *const ImageViewCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateImageViewError!ImageView { - var view: ImageView = undefined; - const result = self.dispatch.vkCreateImageView( - device, - p_create_info, - p_allocator, - &view, + line_width: f32, + ) void { + return self.wrapper.cmdSetLineWidth( + self.handle, + line_width, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return view; } - pub fn destroyImageView( + pub fn setDepthBias( self: Self, - device: Device, - image_view: ImageView, - p_allocator: ?*const AllocationCallbacks, + depth_bias_constant_factor: f32, + depth_bias_clamp: f32, + depth_bias_slope_factor: f32, ) void { - self.dispatch.vkDestroyImageView( - device, - image_view, - p_allocator, + return self.wrapper.cmdSetDepthBias( + self.handle, + depth_bias_constant_factor, + depth_bias_clamp, + depth_bias_slope_factor, ); } - pub const CreateShaderModuleError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - InvalidShaderNV, - Unknown, - }; - pub fn createShaderModule( + pub fn setBlendConstants( self: Self, - device: Device, - p_create_info: *const ShaderModuleCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateShaderModuleError!ShaderModule { - var shader_module: ShaderModule = undefined; - const result = self.dispatch.vkCreateShaderModule( - device, - p_create_info, - p_allocator, - &shader_module, + blend_constants: *const [4]f32, + ) void { + return self.wrapper.cmdSetBlendConstants( + self.handle, + blend_constants, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_invalid_shader_nv => return error.InvalidShaderNV, - else => return error.Unknown, - } - return shader_module; } - pub fn destroyShaderModule( + pub fn setDepthBounds( self: Self, - device: Device, - shader_module: ShaderModule, - p_allocator: ?*const AllocationCallbacks, + min_depth_bounds: f32, + max_depth_bounds: f32, ) void { - self.dispatch.vkDestroyShaderModule( - device, - shader_module, - p_allocator, + return self.wrapper.cmdSetDepthBounds( + self.handle, + min_depth_bounds, + max_depth_bounds, ); } - pub const CreatePipelineCacheError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createPipelineCache( + pub fn setStencilCompareMask( self: Self, - device: Device, - p_create_info: *const PipelineCacheCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreatePipelineCacheError!PipelineCache { - var pipeline_cache: PipelineCache = undefined; - const result = self.dispatch.vkCreatePipelineCache( - device, - p_create_info, - p_allocator, - &pipeline_cache, + face_mask: StencilFaceFlags, + compare_mask: u32, + ) void { + return self.wrapper.cmdSetStencilCompareMask( + self.handle, + face_mask, + compare_mask, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return pipeline_cache; } - pub fn destroyPipelineCache( + pub fn setStencilWriteMask( self: Self, - device: Device, - pipeline_cache: PipelineCache, - p_allocator: ?*const AllocationCallbacks, + face_mask: StencilFaceFlags, + write_mask: u32, ) void { - self.dispatch.vkDestroyPipelineCache( - device, - pipeline_cache, - p_allocator, + return self.wrapper.cmdSetStencilWriteMask( + self.handle, + face_mask, + write_mask, ); } - pub const GetPipelineCacheDataError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn getPipelineCacheData( + pub fn setStencilReference( self: Self, - device: Device, - pipeline_cache: PipelineCache, - p_data_size: *usize, - p_data: ?*anyopaque, - ) GetPipelineCacheDataError!Result { - const result = self.dispatch.vkGetPipelineCacheData( - device, - pipeline_cache, - p_data_size, - p_data, + face_mask: StencilFaceFlags, + reference: u32, + ) void { + return self.wrapper.cmdSetStencilReference( + self.handle, + face_mask, + reference, ); - switch (result) { - Result.success => {}, - Result.incomplete => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return result; } - pub const MergePipelineCachesError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn mergePipelineCaches( + pub fn bindDescriptorSets( self: Self, - device: Device, - dst_cache: PipelineCache, - src_cache_count: u32, - p_src_caches: [*]const PipelineCache, - ) MergePipelineCachesError!void { - const result = self.dispatch.vkMergePipelineCaches( - device, - dst_cache, - src_cache_count, - p_src_caches, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + first_set: u32, + descriptor_set_count: u32, + p_descriptor_sets: [*]const DescriptorSet, + dynamic_offset_count: u32, + p_dynamic_offsets: ?[*]const u32, + ) void { + return self.wrapper.cmdBindDescriptorSets( + self.handle, + pipeline_bind_point, + layout, + first_set, + descriptor_set_count, + p_descriptor_sets, + dynamic_offset_count, + p_dynamic_offsets, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const CreateGraphicsPipelinesError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - InvalidShaderNV, - Unknown, - }; - pub fn createGraphicsPipelines( + pub fn bindIndexBuffer( self: Self, - device: Device, - pipeline_cache: PipelineCache, - create_info_count: u32, - p_create_infos: [*]const GraphicsPipelineCreateInfo, - p_allocator: ?*const AllocationCallbacks, - p_pipelines: [*]Pipeline, - ) CreateGraphicsPipelinesError!void { - const result = self.dispatch.vkCreateGraphicsPipelines( - device, - pipeline_cache, - create_info_count, - p_create_infos, - p_allocator, - p_pipelines, + buffer: Buffer, + offset: DeviceSize, + index_type: IndexType, + ) void { + return self.wrapper.cmdBindIndexBuffer( + self.handle, + buffer, + offset, + index_type, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_invalid_shader_nv => return error.InvalidShaderNV, - else => return error.Unknown, - } } - pub const CreateComputePipelinesError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - InvalidShaderNV, - Unknown, - }; - pub fn createComputePipelines( + pub fn bindVertexBuffers( self: Self, - device: Device, - pipeline_cache: PipelineCache, - create_info_count: u32, - p_create_infos: [*]const ComputePipelineCreateInfo, - p_allocator: ?*const AllocationCallbacks, - p_pipelines: [*]Pipeline, - ) CreateComputePipelinesError!void { - const result = self.dispatch.vkCreateComputePipelines( - device, - pipeline_cache, - create_info_count, - p_create_infos, - p_allocator, - p_pipelines, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + ) void { + return self.wrapper.cmdBindVertexBuffers( + self.handle, + first_binding, + binding_count, + p_buffers, + p_offsets, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_invalid_shader_nv => return error.InvalidShaderNV, - else => return error.Unknown, - } } - pub fn destroyPipeline( + pub fn draw( self: Self, - device: Device, - pipeline: Pipeline, - p_allocator: ?*const AllocationCallbacks, + vertex_count: u32, + instance_count: u32, + first_vertex: u32, + first_instance: u32, ) void { - self.dispatch.vkDestroyPipeline( - device, - pipeline, - p_allocator, + return self.wrapper.cmdDraw( + self.handle, + vertex_count, + instance_count, + first_vertex, + first_instance, ); } - pub const CreatePipelineLayoutError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createPipelineLayout( + pub fn drawIndexed( self: Self, - device: Device, - p_create_info: *const PipelineLayoutCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreatePipelineLayoutError!PipelineLayout { - var pipeline_layout: PipelineLayout = undefined; - const result = self.dispatch.vkCreatePipelineLayout( - device, - p_create_info, - p_allocator, - &pipeline_layout, + index_count: u32, + instance_count: u32, + first_index: u32, + vertex_offset: i32, + first_instance: u32, + ) void { + return self.wrapper.cmdDrawIndexed( + self.handle, + index_count, + instance_count, + first_index, + vertex_offset, + first_instance, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return pipeline_layout; } - pub fn destroyPipelineLayout( + pub fn drawMultiEXT( self: Self, - device: Device, - pipeline_layout: PipelineLayout, - p_allocator: ?*const AllocationCallbacks, + draw_count: u32, + p_vertex_info: ?[*]const MultiDrawInfoEXT, + instance_count: u32, + first_instance: u32, + stride: u32, ) void { - self.dispatch.vkDestroyPipelineLayout( - device, - pipeline_layout, - p_allocator, + return self.wrapper.cmdDrawMultiEXT( + self.handle, + draw_count, + p_vertex_info, + instance_count, + first_instance, + stride, ); } - pub const CreateSamplerError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - TooManyObjects, - Unknown, - }; - pub fn createSampler( + pub fn drawMultiIndexedEXT( self: Self, - device: Device, - p_create_info: *const SamplerCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateSamplerError!Sampler { - var sampler: Sampler = undefined; - const result = self.dispatch.vkCreateSampler( - device, - p_create_info, - p_allocator, - &sampler, + draw_count: u32, + p_index_info: ?[*]const MultiDrawIndexedInfoEXT, + instance_count: u32, + first_instance: u32, + stride: u32, + p_vertex_offset: ?*const i32, + ) void { + return self.wrapper.cmdDrawMultiIndexedEXT( + self.handle, + draw_count, + p_index_info, + instance_count, + first_instance, + stride, + p_vertex_offset, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_too_many_objects => return error.TooManyObjects, - else => return error.Unknown, - } - return sampler; } - pub fn destroySampler( + pub fn drawIndirect( self: Self, - device: Device, - sampler: Sampler, - p_allocator: ?*const AllocationCallbacks, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, ) void { - self.dispatch.vkDestroySampler( - device, - sampler, - p_allocator, + return self.wrapper.cmdDrawIndirect( + self.handle, + buffer, + offset, + draw_count, + stride, ); } - pub const CreateDescriptorSetLayoutError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createDescriptorSetLayout( + pub fn drawIndexedIndirect( self: Self, - device: Device, - p_create_info: *const DescriptorSetLayoutCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateDescriptorSetLayoutError!DescriptorSetLayout { - var set_layout: DescriptorSetLayout = undefined; - const result = self.dispatch.vkCreateDescriptorSetLayout( - device, - p_create_info, - p_allocator, - &set_layout, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawIndexedIndirect( + self.handle, + buffer, + offset, + draw_count, + stride, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return set_layout; } - pub fn destroyDescriptorSetLayout( + pub fn dispatch( self: Self, - device: Device, - descriptor_set_layout: DescriptorSetLayout, - p_allocator: ?*const AllocationCallbacks, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, ) void { - self.dispatch.vkDestroyDescriptorSetLayout( - device, - descriptor_set_layout, - p_allocator, + return self.wrapper.cmdDispatch( + self.handle, + group_count_x, + group_count_y, + group_count_z, ); } - pub const CreateDescriptorPoolError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - FragmentationEXT, - Unknown, - }; - pub fn createDescriptorPool( + pub fn dispatchIndirect( self: Self, - device: Device, - p_create_info: *const DescriptorPoolCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateDescriptorPoolError!DescriptorPool { - var descriptor_pool: DescriptorPool = undefined; - const result = self.dispatch.vkCreateDescriptorPool( - device, - p_create_info, - p_allocator, - &descriptor_pool, + buffer: Buffer, + offset: DeviceSize, + ) void { + return self.wrapper.cmdDispatchIndirect( + self.handle, + buffer, + offset, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_fragmentation_ext => return error.FragmentationEXT, - else => return error.Unknown, - } - return descriptor_pool; } - pub fn destroyDescriptorPool( + pub fn subpassShadingHUAWEI( self: Self, - device: Device, - descriptor_pool: DescriptorPool, - p_allocator: ?*const AllocationCallbacks, ) void { - self.dispatch.vkDestroyDescriptorPool( - device, - descriptor_pool, - p_allocator, + return self.wrapper.cmdSubpassShadingHUAWEI( + self.handle, ); } - pub const ResetDescriptorPoolError = error{ - Unknown, - }; - pub fn resetDescriptorPool( + pub fn drawClusterHUAWEI( self: Self, - device: Device, - descriptor_pool: DescriptorPool, - flags: DescriptorPoolResetFlags, - ) ResetDescriptorPoolError!void { - const result = self.dispatch.vkResetDescriptorPool( - device, - descriptor_pool, - flags, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, + ) void { + return self.wrapper.cmdDrawClusterHUAWEI( + self.handle, + group_count_x, + group_count_y, + group_count_z, ); - switch (result) { - Result.success => {}, - else => return error.Unknown, - } } - pub const AllocateDescriptorSetsError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - FragmentedPool, - OutOfPoolMemory, - Unknown, - }; - pub fn allocateDescriptorSets( + pub fn drawClusterIndirectHUAWEI( self: Self, - device: Device, - p_allocate_info: *const DescriptorSetAllocateInfo, - p_descriptor_sets: [*]DescriptorSet, - ) AllocateDescriptorSetsError!void { - const result = self.dispatch.vkAllocateDescriptorSets( - device, - p_allocate_info, - p_descriptor_sets, + buffer: Buffer, + offset: DeviceSize, + ) void { + return self.wrapper.cmdDrawClusterIndirectHUAWEI( + self.handle, + buffer, + offset, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_fragmented_pool => return error.FragmentedPool, - Result.error_out_of_pool_memory => return error.OutOfPoolMemory, - else => return error.Unknown, - } } - pub const FreeDescriptorSetsError = error{ - Unknown, - }; - pub fn freeDescriptorSets( + pub fn updatePipelineIndirectBufferNV( + self: Self, + pipeline_bind_point: PipelineBindPoint, + pipeline: Pipeline, + ) void { + return self.wrapper.cmdUpdatePipelineIndirectBufferNV( + self.handle, + pipeline_bind_point, + pipeline, + ); + } + pub fn copyBuffer( self: Self, - device: Device, - descriptor_pool: DescriptorPool, - descriptor_set_count: u32, - p_descriptor_sets: [*]const DescriptorSet, - ) FreeDescriptorSetsError!void { - const result = self.dispatch.vkFreeDescriptorSets( - device, - descriptor_pool, - descriptor_set_count, - p_descriptor_sets, + src_buffer: Buffer, + dst_buffer: Buffer, + region_count: u32, + p_regions: [*]const BufferCopy, + ) void { + return self.wrapper.cmdCopyBuffer( + self.handle, + src_buffer, + dst_buffer, + region_count, + p_regions, ); - switch (result) { - Result.success => {}, - else => return error.Unknown, - } } - pub fn updateDescriptorSets( + pub fn copyImage( self: Self, - device: Device, - descriptor_write_count: u32, - p_descriptor_writes: ?[*]const WriteDescriptorSet, - descriptor_copy_count: u32, - p_descriptor_copies: ?[*]const CopyDescriptorSet, + src_image: Image, + src_image_layout: ImageLayout, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageCopy, ) void { - self.dispatch.vkUpdateDescriptorSets( - device, - descriptor_write_count, - p_descriptor_writes, - descriptor_copy_count, - p_descriptor_copies, + return self.wrapper.cmdCopyImage( + self.handle, + src_image, + src_image_layout, + dst_image, + dst_image_layout, + region_count, + p_regions, ); } - pub const CreateFramebufferError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createFramebuffer( + pub fn blitImage( self: Self, - device: Device, - p_create_info: *const FramebufferCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateFramebufferError!Framebuffer { - var framebuffer: Framebuffer = undefined; - const result = self.dispatch.vkCreateFramebuffer( - device, - p_create_info, - p_allocator, - &framebuffer, + src_image: Image, + src_image_layout: ImageLayout, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageBlit, + filter: Filter, + ) void { + return self.wrapper.cmdBlitImage( + self.handle, + src_image, + src_image_layout, + dst_image, + dst_image_layout, + region_count, + p_regions, + filter, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return framebuffer; } - pub fn destroyFramebuffer( + pub fn copyBufferToImage( self: Self, - device: Device, - framebuffer: Framebuffer, - p_allocator: ?*const AllocationCallbacks, + src_buffer: Buffer, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const BufferImageCopy, ) void { - self.dispatch.vkDestroyFramebuffer( - device, - framebuffer, - p_allocator, + return self.wrapper.cmdCopyBufferToImage( + self.handle, + src_buffer, + dst_image, + dst_image_layout, + region_count, + p_regions, ); } - pub const CreateRenderPassError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createRenderPass( + pub fn copyImageToBuffer( self: Self, - device: Device, - p_create_info: *const RenderPassCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateRenderPassError!RenderPass { - var render_pass: RenderPass = undefined; - const result = self.dispatch.vkCreateRenderPass( - device, - p_create_info, - p_allocator, - &render_pass, + src_image: Image, + src_image_layout: ImageLayout, + dst_buffer: Buffer, + region_count: u32, + p_regions: [*]const BufferImageCopy, + ) void { + return self.wrapper.cmdCopyImageToBuffer( + self.handle, + src_image, + src_image_layout, + dst_buffer, + region_count, + p_regions, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return render_pass; } - pub fn destroyRenderPass( + pub fn copyMemoryIndirectNV( self: Self, - device: Device, - render_pass: RenderPass, - p_allocator: ?*const AllocationCallbacks, + copy_buffer_address: DeviceAddress, + copy_count: u32, + stride: u32, ) void { - self.dispatch.vkDestroyRenderPass( - device, - render_pass, - p_allocator, + return self.wrapper.cmdCopyMemoryIndirectNV( + self.handle, + copy_buffer_address, + copy_count, + stride, ); } - pub fn getRenderAreaGranularity( + pub fn copyMemoryToImageIndirectNV( self: Self, - device: Device, - render_pass: RenderPass, - ) Extent2D { - var granularity: Extent2D = undefined; - self.dispatch.vkGetRenderAreaGranularity( - device, - render_pass, - &granularity, + copy_buffer_address: DeviceAddress, + copy_count: u32, + stride: u32, + dst_image: Image, + dst_image_layout: ImageLayout, + p_image_subresources: [*]const ImageSubresourceLayers, + ) void { + return self.wrapper.cmdCopyMemoryToImageIndirectNV( + self.handle, + copy_buffer_address, + copy_count, + stride, + dst_image, + dst_image_layout, + p_image_subresources, ); - return granularity; } - pub const CreateCommandPoolError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createCommandPool( + pub fn updateBuffer( self: Self, - device: Device, - p_create_info: *const CommandPoolCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateCommandPoolError!CommandPool { - var command_pool: CommandPool = undefined; - const result = self.dispatch.vkCreateCommandPool( - device, - p_create_info, - p_allocator, - &command_pool, + dst_buffer: Buffer, + dst_offset: DeviceSize, + data_size: DeviceSize, + p_data: *const anyopaque, + ) void { + return self.wrapper.cmdUpdateBuffer( + self.handle, + dst_buffer, + dst_offset, + data_size, + p_data, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return command_pool; } - pub fn destroyCommandPool( + pub fn fillBuffer( self: Self, - device: Device, - command_pool: CommandPool, - p_allocator: ?*const AllocationCallbacks, + dst_buffer: Buffer, + dst_offset: DeviceSize, + size: DeviceSize, + data: u32, ) void { - self.dispatch.vkDestroyCommandPool( - device, - command_pool, - p_allocator, + return self.wrapper.cmdFillBuffer( + self.handle, + dst_buffer, + dst_offset, + size, + data, ); } - pub const ResetCommandPoolError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn resetCommandPool( + pub fn clearColorImage( self: Self, - device: Device, - command_pool: CommandPool, - flags: CommandPoolResetFlags, - ) ResetCommandPoolError!void { - const result = self.dispatch.vkResetCommandPool( - device, - command_pool, - flags, + image: Image, + image_layout: ImageLayout, + p_color: *const ClearColorValue, + range_count: u32, + p_ranges: [*]const ImageSubresourceRange, + ) void { + return self.wrapper.cmdClearColorImage( + self.handle, + image, + image_layout, + p_color, + range_count, + p_ranges, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const AllocateCommandBuffersError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn allocateCommandBuffers( + pub fn clearDepthStencilImage( self: Self, - device: Device, - p_allocate_info: *const CommandBufferAllocateInfo, - p_command_buffers: [*]CommandBuffer, - ) AllocateCommandBuffersError!void { - const result = self.dispatch.vkAllocateCommandBuffers( - device, - p_allocate_info, - p_command_buffers, + image: Image, + image_layout: ImageLayout, + p_depth_stencil: *const ClearDepthStencilValue, + range_count: u32, + p_ranges: [*]const ImageSubresourceRange, + ) void { + return self.wrapper.cmdClearDepthStencilImage( + self.handle, + image, + image_layout, + p_depth_stencil, + range_count, + p_ranges, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub fn freeCommandBuffers( + pub fn clearAttachments( self: Self, - device: Device, - command_pool: CommandPool, - command_buffer_count: u32, - p_command_buffers: [*]const CommandBuffer, + attachment_count: u32, + p_attachments: [*]const ClearAttachment, + rect_count: u32, + p_rects: [*]const ClearRect, ) void { - self.dispatch.vkFreeCommandBuffers( - device, - command_pool, - command_buffer_count, - p_command_buffers, + return self.wrapper.cmdClearAttachments( + self.handle, + attachment_count, + p_attachments, + rect_count, + p_rects, ); } - pub const BeginCommandBufferError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn beginCommandBuffer( + pub fn resolveImage( self: Self, - command_buffer: CommandBuffer, - p_begin_info: *const CommandBufferBeginInfo, - ) BeginCommandBufferError!void { - const result = self.dispatch.vkBeginCommandBuffer( - command_buffer, - p_begin_info, + src_image: Image, + src_image_layout: ImageLayout, + dst_image: Image, + dst_image_layout: ImageLayout, + region_count: u32, + p_regions: [*]const ImageResolve, + ) void { + return self.wrapper.cmdResolveImage( + self.handle, + src_image, + src_image_layout, + dst_image, + dst_image_layout, + region_count, + p_regions, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const EndCommandBufferError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn endCommandBuffer( + pub fn setEvent( self: Self, - command_buffer: CommandBuffer, - ) EndCommandBufferError!void { - const result = self.dispatch.vkEndCommandBuffer( - command_buffer, + event: Event, + stage_mask: PipelineStageFlags, + ) void { + return self.wrapper.cmdSetEvent( + self.handle, + event, + stage_mask, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const ResetCommandBufferError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn resetCommandBuffer( + pub fn resetEvent( self: Self, - command_buffer: CommandBuffer, - flags: CommandBufferResetFlags, - ) ResetCommandBufferError!void { - const result = self.dispatch.vkResetCommandBuffer( - command_buffer, - flags, + event: Event, + stage_mask: PipelineStageFlags, + ) void { + return self.wrapper.cmdResetEvent( + self.handle, + event, + stage_mask, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub fn cmdBindPipeline( + pub fn waitEvents( self: Self, - command_buffer: CommandBuffer, - pipeline_bind_point: PipelineBindPoint, - pipeline: Pipeline, + event_count: u32, + p_events: [*]const Event, + src_stage_mask: PipelineStageFlags, + dst_stage_mask: PipelineStageFlags, + memory_barrier_count: u32, + p_memory_barriers: ?[*]const MemoryBarrier, + buffer_memory_barrier_count: u32, + p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier, + image_memory_barrier_count: u32, + p_image_memory_barriers: ?[*]const ImageMemoryBarrier, ) void { - self.dispatch.vkCmdBindPipeline( - command_buffer, - pipeline_bind_point, - pipeline, + return self.wrapper.cmdWaitEvents( + self.handle, + event_count, + p_events, + src_stage_mask, + dst_stage_mask, + memory_barrier_count, + p_memory_barriers, + buffer_memory_barrier_count, + p_buffer_memory_barriers, + image_memory_barrier_count, + p_image_memory_barriers, ); } - pub fn cmdSetViewport( + pub fn pipelineBarrier( self: Self, - command_buffer: CommandBuffer, - first_viewport: u32, - viewport_count: u32, - p_viewports: [*]const Viewport, + src_stage_mask: PipelineStageFlags, + dst_stage_mask: PipelineStageFlags, + dependency_flags: DependencyFlags, + memory_barrier_count: u32, + p_memory_barriers: ?[*]const MemoryBarrier, + buffer_memory_barrier_count: u32, + p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier, + image_memory_barrier_count: u32, + p_image_memory_barriers: ?[*]const ImageMemoryBarrier, ) void { - self.dispatch.vkCmdSetViewport( - command_buffer, - first_viewport, - viewport_count, - p_viewports, + return self.wrapper.cmdPipelineBarrier( + self.handle, + src_stage_mask, + dst_stage_mask, + dependency_flags, + memory_barrier_count, + p_memory_barriers, + buffer_memory_barrier_count, + p_buffer_memory_barriers, + image_memory_barrier_count, + p_image_memory_barriers, ); } - pub fn cmdSetScissor( + pub fn beginQuery( self: Self, - command_buffer: CommandBuffer, - first_scissor: u32, - scissor_count: u32, - p_scissors: [*]const Rect2D, + query_pool: QueryPool, + query: u32, + flags: QueryControlFlags, ) void { - self.dispatch.vkCmdSetScissor( - command_buffer, - first_scissor, - scissor_count, - p_scissors, + return self.wrapper.cmdBeginQuery( + self.handle, + query_pool, + query, + flags, ); } - pub fn cmdSetLineWidth( + pub fn endQuery( self: Self, - command_buffer: CommandBuffer, - line_width: f32, + query_pool: QueryPool, + query: u32, ) void { - self.dispatch.vkCmdSetLineWidth( - command_buffer, - line_width, + return self.wrapper.cmdEndQuery( + self.handle, + query_pool, + query, ); } - pub fn cmdSetDepthBias( + pub fn beginConditionalRenderingEXT( self: Self, - command_buffer: CommandBuffer, - depth_bias_constant_factor: f32, - depth_bias_clamp: f32, - depth_bias_slope_factor: f32, + p_conditional_rendering_begin: *const ConditionalRenderingBeginInfoEXT, ) void { - self.dispatch.vkCmdSetDepthBias( - command_buffer, - depth_bias_constant_factor, - depth_bias_clamp, - depth_bias_slope_factor, + return self.wrapper.cmdBeginConditionalRenderingEXT( + self.handle, + p_conditional_rendering_begin, ); } - pub fn cmdSetBlendConstants( + pub fn endConditionalRenderingEXT( self: Self, - command_buffer: CommandBuffer, - blend_constants: *const [4]f32, ) void { - self.dispatch.vkCmdSetBlendConstants( - command_buffer, - blend_constants, + return self.wrapper.cmdEndConditionalRenderingEXT( + self.handle, ); } - pub fn cmdSetDepthBounds( + pub fn resetQueryPool( self: Self, - command_buffer: CommandBuffer, - min_depth_bounds: f32, - max_depth_bounds: f32, + query_pool: QueryPool, + first_query: u32, + query_count: u32, ) void { - self.dispatch.vkCmdSetDepthBounds( - command_buffer, - min_depth_bounds, - max_depth_bounds, + return self.wrapper.cmdResetQueryPool( + self.handle, + query_pool, + first_query, + query_count, ); } - pub fn cmdSetStencilCompareMask( + pub fn writeTimestamp( self: Self, - command_buffer: CommandBuffer, - face_mask: StencilFaceFlags, - compare_mask: u32, + pipeline_stage: PipelineStageFlags, + query_pool: QueryPool, + query: u32, ) void { - self.dispatch.vkCmdSetStencilCompareMask( - command_buffer, - face_mask, - compare_mask, + return self.wrapper.cmdWriteTimestamp( + self.handle, + pipeline_stage, + query_pool, + query, ); } - pub fn cmdSetStencilWriteMask( + pub fn copyQueryPoolResults( self: Self, - command_buffer: CommandBuffer, - face_mask: StencilFaceFlags, - write_mask: u32, + query_pool: QueryPool, + first_query: u32, + query_count: u32, + dst_buffer: Buffer, + dst_offset: DeviceSize, + stride: DeviceSize, + flags: QueryResultFlags, + ) void { + return self.wrapper.cmdCopyQueryPoolResults( + self.handle, + query_pool, + first_query, + query_count, + dst_buffer, + dst_offset, + stride, + flags, + ); + } + pub fn pushConstants( + self: Self, + layout: PipelineLayout, + stage_flags: ShaderStageFlags, + offset: u32, + size: u32, + p_values: *const anyopaque, ) void { - self.dispatch.vkCmdSetStencilWriteMask( - command_buffer, - face_mask, - write_mask, + return self.wrapper.cmdPushConstants( + self.handle, + layout, + stage_flags, + offset, + size, + p_values, ); } - pub fn cmdSetStencilReference( + pub fn beginRenderPass( self: Self, - command_buffer: CommandBuffer, - face_mask: StencilFaceFlags, - reference: u32, + p_render_pass_begin: *const RenderPassBeginInfo, + contents: SubpassContents, ) void { - self.dispatch.vkCmdSetStencilReference( - command_buffer, - face_mask, - reference, + return self.wrapper.cmdBeginRenderPass( + self.handle, + p_render_pass_begin, + contents, ); } - pub fn cmdBindDescriptorSets( + pub fn nextSubpass( self: Self, - command_buffer: CommandBuffer, - pipeline_bind_point: PipelineBindPoint, - layout: PipelineLayout, - first_set: u32, - descriptor_set_count: u32, - p_descriptor_sets: [*]const DescriptorSet, - dynamic_offset_count: u32, - p_dynamic_offsets: ?[*]const u32, + contents: SubpassContents, ) void { - self.dispatch.vkCmdBindDescriptorSets( - command_buffer, - pipeline_bind_point, - layout, - first_set, - descriptor_set_count, - p_descriptor_sets, - dynamic_offset_count, - p_dynamic_offsets, + return self.wrapper.cmdNextSubpass( + self.handle, + contents, ); } - pub fn cmdBindIndexBuffer( + pub fn endRenderPass( self: Self, - command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, - index_type: IndexType, ) void { - self.dispatch.vkCmdBindIndexBuffer( - command_buffer, - buffer, - offset, - index_type, + return self.wrapper.cmdEndRenderPass( + self.handle, ); } - pub fn cmdBindVertexBuffers( + pub fn executeCommands( self: Self, - command_buffer: CommandBuffer, - first_binding: u32, - binding_count: u32, - p_buffers: [*]const Buffer, - p_offsets: [*]const DeviceSize, + command_buffer_count: u32, + p_command_buffers: [*]const CommandBuffer, ) void { - self.dispatch.vkCmdBindVertexBuffers( - command_buffer, - first_binding, - binding_count, - p_buffers, - p_offsets, + return self.wrapper.cmdExecuteCommands( + self.handle, + command_buffer_count, + p_command_buffers, ); } - pub fn cmdDraw( + pub fn debugMarkerBeginEXT( self: Self, - command_buffer: CommandBuffer, - vertex_count: u32, - instance_count: u32, - first_vertex: u32, - first_instance: u32, + p_marker_info: *const DebugMarkerMarkerInfoEXT, ) void { - self.dispatch.vkCmdDraw( - command_buffer, - vertex_count, - instance_count, - first_vertex, - first_instance, + return self.wrapper.cmdDebugMarkerBeginEXT( + self.handle, + p_marker_info, ); } - pub fn cmdDrawIndexed( + pub fn debugMarkerEndEXT( self: Self, - command_buffer: CommandBuffer, - index_count: u32, - instance_count: u32, - first_index: u32, - vertex_offset: i32, - first_instance: u32, ) void { - self.dispatch.vkCmdDrawIndexed( - command_buffer, - index_count, - instance_count, - first_index, - vertex_offset, - first_instance, + return self.wrapper.cmdDebugMarkerEndEXT( + self.handle, ); } - pub fn cmdDrawIndirect( + pub fn debugMarkerInsertEXT( self: Self, - command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, - draw_count: u32, - stride: u32, + p_marker_info: *const DebugMarkerMarkerInfoEXT, ) void { - self.dispatch.vkCmdDrawIndirect( - command_buffer, - buffer, - offset, - draw_count, - stride, + return self.wrapper.cmdDebugMarkerInsertEXT( + self.handle, + p_marker_info, ); } - pub fn cmdDrawIndexedIndirect( + pub fn executeGeneratedCommandsNV( self: Self, - command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, - draw_count: u32, - stride: u32, + is_preprocessed: Bool32, + p_generated_commands_info: *const GeneratedCommandsInfoNV, ) void { - self.dispatch.vkCmdDrawIndexedIndirect( - command_buffer, - buffer, - offset, - draw_count, - stride, + return self.wrapper.cmdExecuteGeneratedCommandsNV( + self.handle, + is_preprocessed, + p_generated_commands_info, ); } - pub fn cmdDispatch( + pub fn preprocessGeneratedCommandsNV( self: Self, - command_buffer: CommandBuffer, - group_count_x: u32, - group_count_y: u32, - group_count_z: u32, + p_generated_commands_info: *const GeneratedCommandsInfoNV, ) void { - self.dispatch.vkCmdDispatch( - command_buffer, - group_count_x, - group_count_y, - group_count_z, + return self.wrapper.cmdPreprocessGeneratedCommandsNV( + self.handle, + p_generated_commands_info, ); } - pub fn cmdDispatchIndirect( + pub fn bindPipelineShaderGroupNV( self: Self, - command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, + pipeline_bind_point: PipelineBindPoint, + pipeline: Pipeline, + group_index: u32, ) void { - self.dispatch.vkCmdDispatchIndirect( - command_buffer, - buffer, - offset, + return self.wrapper.cmdBindPipelineShaderGroupNV( + self.handle, + pipeline_bind_point, + pipeline, + group_index, ); } - pub fn cmdCopyBuffer( + pub fn pushDescriptorSetKHR( self: Self, - command_buffer: CommandBuffer, - src_buffer: Buffer, - dst_buffer: Buffer, - region_count: u32, - p_regions: [*]const BufferCopy, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + set: u32, + descriptor_write_count: u32, + p_descriptor_writes: [*]const WriteDescriptorSet, ) void { - self.dispatch.vkCmdCopyBuffer( - command_buffer, - src_buffer, - dst_buffer, - region_count, - p_regions, + return self.wrapper.cmdPushDescriptorSetKHR( + self.handle, + pipeline_bind_point, + layout, + set, + descriptor_write_count, + p_descriptor_writes, ); } - pub fn cmdCopyImage( + pub fn setDeviceMask( self: Self, - command_buffer: CommandBuffer, - src_image: Image, - src_image_layout: ImageLayout, - dst_image: Image, - dst_image_layout: ImageLayout, - region_count: u32, - p_regions: [*]const ImageCopy, + device_mask: u32, ) void { - self.dispatch.vkCmdCopyImage( - command_buffer, - src_image, - src_image_layout, - dst_image, - dst_image_layout, - region_count, - p_regions, + return self.wrapper.cmdSetDeviceMask( + self.handle, + device_mask, ); } - pub fn cmdBlitImage( + pub fn setDeviceMaskKHR( self: Self, - command_buffer: CommandBuffer, - src_image: Image, - src_image_layout: ImageLayout, - dst_image: Image, - dst_image_layout: ImageLayout, - region_count: u32, - p_regions: [*]const ImageBlit, - filter: Filter, + device_mask: u32, ) void { - self.dispatch.vkCmdBlitImage( - command_buffer, - src_image, - src_image_layout, - dst_image, - dst_image_layout, - region_count, - p_regions, - filter, + return self.wrapper.cmdSetDeviceMaskKHR( + self.handle, + device_mask, ); } - pub fn cmdCopyBufferToImage( + pub fn dispatchBase( self: Self, - command_buffer: CommandBuffer, - src_buffer: Buffer, - dst_image: Image, - dst_image_layout: ImageLayout, - region_count: u32, - p_regions: [*]const BufferImageCopy, + base_group_x: u32, + base_group_y: u32, + base_group_z: u32, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, ) void { - self.dispatch.vkCmdCopyBufferToImage( - command_buffer, - src_buffer, - dst_image, - dst_image_layout, - region_count, - p_regions, + return self.wrapper.cmdDispatchBase( + self.handle, + base_group_x, + base_group_y, + base_group_z, + group_count_x, + group_count_y, + group_count_z, ); } - pub fn cmdCopyImageToBuffer( + pub fn dispatchBaseKHR( self: Self, - command_buffer: CommandBuffer, - src_image: Image, - src_image_layout: ImageLayout, - dst_buffer: Buffer, - region_count: u32, - p_regions: [*]const BufferImageCopy, + base_group_x: u32, + base_group_y: u32, + base_group_z: u32, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, ) void { - self.dispatch.vkCmdCopyImageToBuffer( - command_buffer, - src_image, - src_image_layout, - dst_buffer, - region_count, - p_regions, + return self.wrapper.cmdDispatchBaseKHR( + self.handle, + base_group_x, + base_group_y, + base_group_z, + group_count_x, + group_count_y, + group_count_z, ); } - pub fn cmdUpdateBuffer( + pub fn pushDescriptorSetWithTemplateKHR( self: Self, - command_buffer: CommandBuffer, - dst_buffer: Buffer, - dst_offset: DeviceSize, - data_size: DeviceSize, + descriptor_update_template: DescriptorUpdateTemplate, + layout: PipelineLayout, + set: u32, p_data: *const anyopaque, ) void { - self.dispatch.vkCmdUpdateBuffer( - command_buffer, - dst_buffer, - dst_offset, - data_size, + return self.wrapper.cmdPushDescriptorSetWithTemplateKHR( + self.handle, + descriptor_update_template, + layout, + set, p_data, ); } - pub fn cmdFillBuffer( + pub fn setViewportWScalingNV( self: Self, - command_buffer: CommandBuffer, - dst_buffer: Buffer, - dst_offset: DeviceSize, - size: DeviceSize, - data: u32, + first_viewport: u32, + viewport_count: u32, + p_viewport_w_scalings: [*]const ViewportWScalingNV, ) void { - self.dispatch.vkCmdFillBuffer( - command_buffer, - dst_buffer, - dst_offset, - size, - data, + return self.wrapper.cmdSetViewportWScalingNV( + self.handle, + first_viewport, + viewport_count, + p_viewport_w_scalings, ); } - pub fn cmdClearColorImage( + pub fn setDiscardRectangleEXT( self: Self, - command_buffer: CommandBuffer, - image: Image, - image_layout: ImageLayout, - p_color: *const ClearColorValue, - range_count: u32, - p_ranges: [*]const ImageSubresourceRange, + first_discard_rectangle: u32, + discard_rectangle_count: u32, + p_discard_rectangles: [*]const Rect2D, ) void { - self.dispatch.vkCmdClearColorImage( - command_buffer, - image, - image_layout, - p_color, - range_count, - p_ranges, + return self.wrapper.cmdSetDiscardRectangleEXT( + self.handle, + first_discard_rectangle, + discard_rectangle_count, + p_discard_rectangles, ); } - pub fn cmdClearDepthStencilImage( + pub fn setDiscardRectangleEnableEXT( self: Self, - command_buffer: CommandBuffer, - image: Image, - image_layout: ImageLayout, - p_depth_stencil: *const ClearDepthStencilValue, - range_count: u32, - p_ranges: [*]const ImageSubresourceRange, + discard_rectangle_enable: Bool32, ) void { - self.dispatch.vkCmdClearDepthStencilImage( - command_buffer, - image, - image_layout, - p_depth_stencil, - range_count, - p_ranges, + return self.wrapper.cmdSetDiscardRectangleEnableEXT( + self.handle, + discard_rectangle_enable, ); } - pub fn cmdClearAttachments( + pub fn setDiscardRectangleModeEXT( self: Self, - command_buffer: CommandBuffer, - attachment_count: u32, - p_attachments: [*]const ClearAttachment, - rect_count: u32, - p_rects: [*]const ClearRect, + discard_rectangle_mode: DiscardRectangleModeEXT, ) void { - self.dispatch.vkCmdClearAttachments( - command_buffer, - attachment_count, - p_attachments, - rect_count, - p_rects, + return self.wrapper.cmdSetDiscardRectangleModeEXT( + self.handle, + discard_rectangle_mode, ); } - pub fn cmdResolveImage( + pub fn setSampleLocationsEXT( self: Self, - command_buffer: CommandBuffer, - src_image: Image, - src_image_layout: ImageLayout, - dst_image: Image, - dst_image_layout: ImageLayout, - region_count: u32, - p_regions: [*]const ImageResolve, + p_sample_locations_info: *const SampleLocationsInfoEXT, ) void { - self.dispatch.vkCmdResolveImage( - command_buffer, - src_image, - src_image_layout, - dst_image, - dst_image_layout, - region_count, - p_regions, + return self.wrapper.cmdSetSampleLocationsEXT( + self.handle, + p_sample_locations_info, ); } - pub fn cmdSetEvent( + pub fn beginDebugUtilsLabelEXT( self: Self, - command_buffer: CommandBuffer, - event: Event, - stage_mask: PipelineStageFlags, + p_label_info: *const DebugUtilsLabelEXT, ) void { - self.dispatch.vkCmdSetEvent( - command_buffer, - event, - stage_mask, + return self.wrapper.cmdBeginDebugUtilsLabelEXT( + self.handle, + p_label_info, ); } - pub fn cmdResetEvent( + pub fn endDebugUtilsLabelEXT( self: Self, - command_buffer: CommandBuffer, - event: Event, - stage_mask: PipelineStageFlags, ) void { - self.dispatch.vkCmdResetEvent( - command_buffer, - event, - stage_mask, + return self.wrapper.cmdEndDebugUtilsLabelEXT( + self.handle, ); } - pub fn cmdWaitEvents( + pub fn insertDebugUtilsLabelEXT( self: Self, - command_buffer: CommandBuffer, - event_count: u32, - p_events: [*]const Event, - src_stage_mask: PipelineStageFlags, - dst_stage_mask: PipelineStageFlags, - memory_barrier_count: u32, - p_memory_barriers: ?[*]const MemoryBarrier, - buffer_memory_barrier_count: u32, - p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier, - image_memory_barrier_count: u32, - p_image_memory_barriers: ?[*]const ImageMemoryBarrier, + p_label_info: *const DebugUtilsLabelEXT, ) void { - self.dispatch.vkCmdWaitEvents( - command_buffer, - event_count, - p_events, - src_stage_mask, - dst_stage_mask, - memory_barrier_count, - p_memory_barriers, - buffer_memory_barrier_count, - p_buffer_memory_barriers, - image_memory_barrier_count, - p_image_memory_barriers, + return self.wrapper.cmdInsertDebugUtilsLabelEXT( + self.handle, + p_label_info, ); } - pub fn cmdPipelineBarrier( + pub fn writeBufferMarkerAMD( self: Self, - command_buffer: CommandBuffer, - src_stage_mask: PipelineStageFlags, - dst_stage_mask: PipelineStageFlags, - dependency_flags: DependencyFlags, - memory_barrier_count: u32, - p_memory_barriers: ?[*]const MemoryBarrier, - buffer_memory_barrier_count: u32, - p_buffer_memory_barriers: ?[*]const BufferMemoryBarrier, - image_memory_barrier_count: u32, - p_image_memory_barriers: ?[*]const ImageMemoryBarrier, + pipeline_stage: PipelineStageFlags, + dst_buffer: Buffer, + dst_offset: DeviceSize, + marker: u32, ) void { - self.dispatch.vkCmdPipelineBarrier( - command_buffer, - src_stage_mask, - dst_stage_mask, - dependency_flags, - memory_barrier_count, - p_memory_barriers, - buffer_memory_barrier_count, - p_buffer_memory_barriers, - image_memory_barrier_count, - p_image_memory_barriers, + return self.wrapper.cmdWriteBufferMarkerAMD( + self.handle, + pipeline_stage, + dst_buffer, + dst_offset, + marker, ); } - pub fn cmdBeginQuery( + pub fn beginRenderPass2( self: Self, - command_buffer: CommandBuffer, - query_pool: QueryPool, - query: u32, - flags: QueryControlFlags, + p_render_pass_begin: *const RenderPassBeginInfo, + p_subpass_begin_info: *const SubpassBeginInfo, ) void { - self.dispatch.vkCmdBeginQuery( - command_buffer, - query_pool, - query, - flags, + return self.wrapper.cmdBeginRenderPass2( + self.handle, + p_render_pass_begin, + p_subpass_begin_info, ); } - pub fn cmdEndQuery( + pub fn beginRenderPass2KHR( self: Self, - command_buffer: CommandBuffer, - query_pool: QueryPool, - query: u32, + p_render_pass_begin: *const RenderPassBeginInfo, + p_subpass_begin_info: *const SubpassBeginInfo, ) void { - self.dispatch.vkCmdEndQuery( - command_buffer, - query_pool, - query, + return self.wrapper.cmdBeginRenderPass2KHR( + self.handle, + p_render_pass_begin, + p_subpass_begin_info, ); } - pub fn cmdBeginConditionalRenderingEXT( + pub fn nextSubpass2( self: Self, - command_buffer: CommandBuffer, - p_conditional_rendering_begin: *const ConditionalRenderingBeginInfoEXT, + p_subpass_begin_info: *const SubpassBeginInfo, + p_subpass_end_info: *const SubpassEndInfo, ) void { - self.dispatch.vkCmdBeginConditionalRenderingEXT( - command_buffer, - p_conditional_rendering_begin, + return self.wrapper.cmdNextSubpass2( + self.handle, + p_subpass_begin_info, + p_subpass_end_info, ); } - pub fn cmdEndConditionalRenderingEXT( + pub fn nextSubpass2KHR( self: Self, - command_buffer: CommandBuffer, + p_subpass_begin_info: *const SubpassBeginInfo, + p_subpass_end_info: *const SubpassEndInfo, ) void { - self.dispatch.vkCmdEndConditionalRenderingEXT( - command_buffer, + return self.wrapper.cmdNextSubpass2KHR( + self.handle, + p_subpass_begin_info, + p_subpass_end_info, ); } - pub fn cmdResetQueryPool( + pub fn endRenderPass2( self: Self, - command_buffer: CommandBuffer, - query_pool: QueryPool, - first_query: u32, - query_count: u32, + p_subpass_end_info: *const SubpassEndInfo, ) void { - self.dispatch.vkCmdResetQueryPool( - command_buffer, - query_pool, - first_query, - query_count, + return self.wrapper.cmdEndRenderPass2( + self.handle, + p_subpass_end_info, ); } - pub fn cmdWriteTimestamp( + pub fn endRenderPass2KHR( self: Self, - command_buffer: CommandBuffer, - pipeline_stage: PipelineStageFlags, - query_pool: QueryPool, - query: u32, + p_subpass_end_info: *const SubpassEndInfo, ) void { - self.dispatch.vkCmdWriteTimestamp( - command_buffer, - pipeline_stage, - query_pool, - query, + return self.wrapper.cmdEndRenderPass2KHR( + self.handle, + p_subpass_end_info, + ); + } + pub fn drawIndirectCount( + self: Self, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawIndirectCount( + self.handle, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + pub fn drawIndirectCountKHR( + self: Self, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawIndirectCountKHR( + self.handle, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, ); } - pub fn cmdCopyQueryPoolResults( + pub fn drawIndirectCountAMD( self: Self, - command_buffer: CommandBuffer, - query_pool: QueryPool, - first_query: u32, - query_count: u32, - dst_buffer: Buffer, - dst_offset: DeviceSize, - stride: DeviceSize, - flags: QueryResultFlags, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, ) void { - self.dispatch.vkCmdCopyQueryPoolResults( - command_buffer, - query_pool, - first_query, - query_count, - dst_buffer, - dst_offset, + return self.wrapper.cmdDrawIndirectCountAMD( + self.handle, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, stride, - flags, ); } - pub fn cmdPushConstants( + pub fn drawIndexedIndirectCount( self: Self, - command_buffer: CommandBuffer, - layout: PipelineLayout, - stage_flags: ShaderStageFlags, - offset: u32, - size: u32, - p_values: *const anyopaque, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, ) void { - self.dispatch.vkCmdPushConstants( - command_buffer, - layout, - stage_flags, + return self.wrapper.cmdDrawIndexedIndirectCount( + self.handle, + buffer, offset, - size, - p_values, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, ); } - pub fn cmdBeginRenderPass( + pub fn drawIndexedIndirectCountKHR( self: Self, - command_buffer: CommandBuffer, - p_render_pass_begin: *const RenderPassBeginInfo, - contents: SubpassContents, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, ) void { - self.dispatch.vkCmdBeginRenderPass( - command_buffer, - p_render_pass_begin, - contents, + return self.wrapper.cmdDrawIndexedIndirectCountKHR( + self.handle, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, ); } - pub fn cmdNextSubpass( + pub fn drawIndexedIndirectCountAMD( self: Self, - command_buffer: CommandBuffer, - contents: SubpassContents, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, ) void { - self.dispatch.vkCmdNextSubpass( - command_buffer, - contents, + return self.wrapper.cmdDrawIndexedIndirectCountAMD( + self.handle, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, ); } - pub fn cmdEndRenderPass( + pub fn setCheckpointNV( self: Self, - command_buffer: CommandBuffer, + p_checkpoint_marker: *const anyopaque, ) void { - self.dispatch.vkCmdEndRenderPass( - command_buffer, + return self.wrapper.cmdSetCheckpointNV( + self.handle, + p_checkpoint_marker, ); } - pub fn cmdExecuteCommands( + pub fn bindTransformFeedbackBuffersEXT( self: Self, - command_buffer: CommandBuffer, - command_buffer_count: u32, - p_command_buffers: [*]const CommandBuffer, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + p_sizes: ?[*]const DeviceSize, ) void { - self.dispatch.vkCmdExecuteCommands( - command_buffer, - command_buffer_count, - p_command_buffers, + return self.wrapper.cmdBindTransformFeedbackBuffersEXT( + self.handle, + first_binding, + binding_count, + p_buffers, + p_offsets, + p_sizes, ); } - pub const CreateSharedSwapchainsKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - IncompatibleDisplayKHR, - DeviceLost, - SurfaceLostKHR, - Unknown, - }; - pub fn createSharedSwapchainsKHR( + pub fn beginTransformFeedbackEXT( self: Self, - device: Device, - swapchain_count: u32, - p_create_infos: [*]const SwapchainCreateInfoKHR, - p_allocator: ?*const AllocationCallbacks, - p_swapchains: [*]SwapchainKHR, - ) CreateSharedSwapchainsKHRError!void { - const result = self.dispatch.vkCreateSharedSwapchainsKHR( - device, - swapchain_count, - p_create_infos, - p_allocator, - p_swapchains, + first_counter_buffer: u32, + counter_buffer_count: u32, + p_counter_buffers: ?[*]const Buffer, + p_counter_buffer_offsets: ?[*]const DeviceSize, + ) void { + return self.wrapper.cmdBeginTransformFeedbackEXT( + self.handle, + first_counter_buffer, + counter_buffer_count, + p_counter_buffers, + p_counter_buffer_offsets, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_incompatible_display_khr => return error.IncompatibleDisplayKHR, - Result.error_device_lost => return error.DeviceLost, - Result.error_surface_lost_khr => return error.SurfaceLostKHR, - else => return error.Unknown, - } } - pub const CreateSwapchainKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - SurfaceLostKHR, - NativeWindowInUseKHR, - InitializationFailed, - Unknown, - }; - pub fn createSwapchainKHR( + pub fn endTransformFeedbackEXT( self: Self, - device: Device, - p_create_info: *const SwapchainCreateInfoKHR, - p_allocator: ?*const AllocationCallbacks, - ) CreateSwapchainKHRError!SwapchainKHR { - var swapchain: SwapchainKHR = undefined; - const result = self.dispatch.vkCreateSwapchainKHR( - device, - p_create_info, - p_allocator, - &swapchain, + first_counter_buffer: u32, + counter_buffer_count: u32, + p_counter_buffers: ?[*]const Buffer, + p_counter_buffer_offsets: ?[*]const DeviceSize, + ) void { + return self.wrapper.cmdEndTransformFeedbackEXT( + self.handle, + first_counter_buffer, + counter_buffer_count, + p_counter_buffers, + p_counter_buffer_offsets, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - Result.error_surface_lost_khr => return error.SurfaceLostKHR, - Result.error_native_window_in_use_khr => return error.NativeWindowInUseKHR, - Result.error_initialization_failed => return error.InitializationFailed, - else => return error.Unknown, - } - return swapchain; } - pub fn destroySwapchainKHR( + pub fn beginQueryIndexedEXT( self: Self, - device: Device, - swapchain: SwapchainKHR, - p_allocator: ?*const AllocationCallbacks, + query_pool: QueryPool, + query: u32, + flags: QueryControlFlags, + index: u32, ) void { - self.dispatch.vkDestroySwapchainKHR( - device, - swapchain, - p_allocator, + return self.wrapper.cmdBeginQueryIndexedEXT( + self.handle, + query_pool, + query, + flags, + index, ); } - pub const GetSwapchainImagesKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn getSwapchainImagesKHR( + pub fn endQueryIndexedEXT( self: Self, - device: Device, - swapchain: SwapchainKHR, - p_swapchain_image_count: *u32, - p_swapchain_images: ?[*]Image, - ) GetSwapchainImagesKHRError!Result { - const result = self.dispatch.vkGetSwapchainImagesKHR( - device, - swapchain, - p_swapchain_image_count, - p_swapchain_images, - ); - switch (result) { - Result.success => {}, - Result.incomplete => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return result; - } - pub const AcquireNextImageKHRResult = struct { - result: Result, - image_index: u32, - }; - pub const AcquireNextImageKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - OutOfDateKHR, - SurfaceLostKHR, - FullScreenExclusiveModeLostEXT, - Unknown, - }; - pub fn acquireNextImageKHR( + query_pool: QueryPool, + query: u32, + index: u32, + ) void { + return self.wrapper.cmdEndQueryIndexedEXT( + self.handle, + query_pool, + query, + index, + ); + } + pub fn drawIndirectByteCountEXT( self: Self, - device: Device, - swapchain: SwapchainKHR, - timeout: u64, - semaphore: Semaphore, - fence: Fence, - ) AcquireNextImageKHRError!AcquireNextImageKHRResult { - var return_values: AcquireNextImageKHRResult = undefined; - const result = self.dispatch.vkAcquireNextImageKHR( - device, - swapchain, - timeout, - semaphore, - fence, - &return_values.image_index, + instance_count: u32, + first_instance: u32, + counter_buffer: Buffer, + counter_buffer_offset: DeviceSize, + counter_offset: u32, + vertex_stride: u32, + ) void { + return self.wrapper.cmdDrawIndirectByteCountEXT( + self.handle, + instance_count, + first_instance, + counter_buffer, + counter_buffer_offset, + counter_offset, + vertex_stride, ); - switch (result) { - Result.success => {}, - Result.timeout => {}, - Result.not_ready => {}, - Result.suboptimal_khr => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - Result.error_out_of_date_khr => return error.OutOfDateKHR, - Result.error_surface_lost_khr => return error.SurfaceLostKHR, - Result.error_full_screen_exclusive_mode_lost_ext => return error.FullScreenExclusiveModeLostEXT, - else => return error.Unknown, - } - return_values.result = result; - return return_values; } - pub const QueuePresentKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - OutOfDateKHR, - SurfaceLostKHR, - FullScreenExclusiveModeLostEXT, - Unknown, - }; - pub fn queuePresentKHR( + pub fn setExclusiveScissorNV( self: Self, - queue: Queue, - p_present_info: *const PresentInfoKHR, - ) QueuePresentKHRError!Result { - const result = self.dispatch.vkQueuePresentKHR( - queue, - p_present_info, + first_exclusive_scissor: u32, + exclusive_scissor_count: u32, + p_exclusive_scissors: [*]const Rect2D, + ) void { + return self.wrapper.cmdSetExclusiveScissorNV( + self.handle, + first_exclusive_scissor, + exclusive_scissor_count, + p_exclusive_scissors, ); - switch (result) { - Result.success => {}, - Result.suboptimal_khr => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - Result.error_out_of_date_khr => return error.OutOfDateKHR, - Result.error_surface_lost_khr => return error.SurfaceLostKHR, - Result.error_full_screen_exclusive_mode_lost_ext => return error.FullScreenExclusiveModeLostEXT, - else => return error.Unknown, - } - return result; } - pub const DebugMarkerSetObjectNameEXTError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn debugMarkerSetObjectNameEXT( + pub fn setExclusiveScissorEnableNV( self: Self, - device: Device, - p_name_info: *const DebugMarkerObjectNameInfoEXT, - ) DebugMarkerSetObjectNameEXTError!void { - const result = self.dispatch.vkDebugMarkerSetObjectNameEXT( - device, - p_name_info, + first_exclusive_scissor: u32, + exclusive_scissor_count: u32, + p_exclusive_scissor_enables: [*]const Bool32, + ) void { + return self.wrapper.cmdSetExclusiveScissorEnableNV( + self.handle, + first_exclusive_scissor, + exclusive_scissor_count, + p_exclusive_scissor_enables, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const DebugMarkerSetObjectTagEXTError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn debugMarkerSetObjectTagEXT( + pub fn bindShadingRateImageNV( self: Self, - device: Device, - p_tag_info: *const DebugMarkerObjectTagInfoEXT, - ) DebugMarkerSetObjectTagEXTError!void { - const result = self.dispatch.vkDebugMarkerSetObjectTagEXT( - device, - p_tag_info, + image_view: ImageView, + image_layout: ImageLayout, + ) void { + return self.wrapper.cmdBindShadingRateImageNV( + self.handle, + image_view, + image_layout, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub fn cmdDebugMarkerBeginEXT( + pub fn setViewportShadingRatePaletteNV( self: Self, - command_buffer: CommandBuffer, - p_marker_info: *const DebugMarkerMarkerInfoEXT, + first_viewport: u32, + viewport_count: u32, + p_shading_rate_palettes: [*]const ShadingRatePaletteNV, ) void { - self.dispatch.vkCmdDebugMarkerBeginEXT( - command_buffer, - p_marker_info, + return self.wrapper.cmdSetViewportShadingRatePaletteNV( + self.handle, + first_viewport, + viewport_count, + p_shading_rate_palettes, ); } - pub fn cmdDebugMarkerEndEXT( + pub fn setCoarseSampleOrderNV( self: Self, - command_buffer: CommandBuffer, + sample_order_type: CoarseSampleOrderTypeNV, + custom_sample_order_count: u32, + p_custom_sample_orders: ?[*]const CoarseSampleOrderCustomNV, ) void { - self.dispatch.vkCmdDebugMarkerEndEXT( - command_buffer, + return self.wrapper.cmdSetCoarseSampleOrderNV( + self.handle, + sample_order_type, + custom_sample_order_count, + p_custom_sample_orders, ); } - pub fn cmdDebugMarkerInsertEXT( + pub fn drawMeshTasksNV( self: Self, - command_buffer: CommandBuffer, - p_marker_info: *const DebugMarkerMarkerInfoEXT, + task_count: u32, + first_task: u32, ) void { - self.dispatch.vkCmdDebugMarkerInsertEXT( - command_buffer, - p_marker_info, + return self.wrapper.cmdDrawMeshTasksNV( + self.handle, + task_count, + first_task, ); } - pub const GetMemoryWin32HandleNVError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn getMemoryWin32HandleNV( + pub fn drawMeshTasksIndirectNV( self: Self, - device: Device, - memory: DeviceMemory, - handle_type: ExternalMemoryHandleTypeFlagsNV, - p_handle: *HANDLE, - ) GetMemoryWin32HandleNVError!void { - const result = self.dispatch.vkGetMemoryWin32HandleNV( - device, - memory, - handle_type, - p_handle, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawMeshTasksIndirectNV( + self.handle, + buffer, + offset, + draw_count, + stride, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } } - pub fn cmdProcessCommandsNVX( + pub fn drawMeshTasksIndirectCountNV( self: Self, - command_buffer: CommandBuffer, - p_process_commands_info: *const CmdProcessCommandsInfoNVX, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, ) void { - self.dispatch.vkCmdProcessCommandsNVX( - command_buffer, - p_process_commands_info, + return self.wrapper.cmdDrawMeshTasksIndirectCountNV( + self.handle, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, ); } - pub fn cmdReserveSpaceForCommandsNVX( + pub fn drawMeshTasksEXT( self: Self, - command_buffer: CommandBuffer, - p_reserve_space_info: *const CmdReserveSpaceForCommandsInfoNVX, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, ) void { - self.dispatch.vkCmdReserveSpaceForCommandsNVX( - command_buffer, - p_reserve_space_info, + return self.wrapper.cmdDrawMeshTasksEXT( + self.handle, + group_count_x, + group_count_y, + group_count_z, ); } - pub const CreateIndirectCommandsLayoutNVXError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createIndirectCommandsLayoutNVX( + pub fn drawMeshTasksIndirectEXT( self: Self, - device: Device, - p_create_info: *const IndirectCommandsLayoutCreateInfoNVX, - p_allocator: ?*const AllocationCallbacks, - ) CreateIndirectCommandsLayoutNVXError!IndirectCommandsLayoutNVX { - var indirect_commands_layout: IndirectCommandsLayoutNVX = undefined; - const result = self.dispatch.vkCreateIndirectCommandsLayoutNVX( - device, - p_create_info, - p_allocator, - &indirect_commands_layout, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, + ) void { + return self.wrapper.cmdDrawMeshTasksIndirectEXT( + self.handle, + buffer, + offset, + draw_count, + stride, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return indirect_commands_layout; } - pub fn destroyIndirectCommandsLayoutNVX( + pub fn drawMeshTasksIndirectCountEXT( self: Self, - device: Device, - indirect_commands_layout: IndirectCommandsLayoutNVX, - p_allocator: ?*const AllocationCallbacks, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, ) void { - self.dispatch.vkDestroyIndirectCommandsLayoutNVX( - device, - indirect_commands_layout, - p_allocator, + return self.wrapper.cmdDrawMeshTasksIndirectCountEXT( + self.handle, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, ); } - pub const CreateObjectTableNVXError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createObjectTableNVX( + pub fn bindInvocationMaskHUAWEI( self: Self, - device: Device, - p_create_info: *const ObjectTableCreateInfoNVX, - p_allocator: ?*const AllocationCallbacks, - ) CreateObjectTableNVXError!ObjectTableNVX { - var object_table: ObjectTableNVX = undefined; - const result = self.dispatch.vkCreateObjectTableNVX( - device, - p_create_info, - p_allocator, - &object_table, + image_view: ImageView, + image_layout: ImageLayout, + ) void { + return self.wrapper.cmdBindInvocationMaskHUAWEI( + self.handle, + image_view, + image_layout, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return object_table; } - pub fn destroyObjectTableNVX( + pub fn copyAccelerationStructureNV( self: Self, - device: Device, - object_table: ObjectTableNVX, - p_allocator: ?*const AllocationCallbacks, + dst: AccelerationStructureNV, + src: AccelerationStructureNV, + mode: CopyAccelerationStructureModeKHR, ) void { - self.dispatch.vkDestroyObjectTableNVX( - device, - object_table, - p_allocator, + return self.wrapper.cmdCopyAccelerationStructureNV( + self.handle, + dst, + src, + mode, ); } - pub const RegisterObjectsNVXError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn registerObjectsNVX( + pub fn copyAccelerationStructureKHR( self: Self, - device: Device, - object_table: ObjectTableNVX, - object_count: u32, - pp_object_table_entries: [*]const [*]const ObjectTableEntryNVX, - p_object_indices: [*]const u32, - ) RegisterObjectsNVXError!void { - const result = self.dispatch.vkRegisterObjectsNVX( - device, - object_table, - object_count, - pp_object_table_entries, - p_object_indices, + p_info: *const CopyAccelerationStructureInfoKHR, + ) void { + return self.wrapper.cmdCopyAccelerationStructureKHR( + self.handle, + p_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const UnregisterObjectsNVXError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn unregisterObjectsNVX( + pub fn copyAccelerationStructureToMemoryKHR( self: Self, - device: Device, - object_table: ObjectTableNVX, - object_count: u32, - p_object_entry_types: [*]const ObjectEntryTypeNVX, - p_object_indices: [*]const u32, - ) UnregisterObjectsNVXError!void { - const result = self.dispatch.vkUnregisterObjectsNVX( - device, - object_table, - object_count, - p_object_entry_types, - p_object_indices, + p_info: *const CopyAccelerationStructureToMemoryInfoKHR, + ) void { + return self.wrapper.cmdCopyAccelerationStructureToMemoryKHR( + self.handle, + p_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub fn cmdPushDescriptorSetKHR( + pub fn copyMemoryToAccelerationStructureKHR( self: Self, - command_buffer: CommandBuffer, - pipeline_bind_point: PipelineBindPoint, - layout: PipelineLayout, - set: u32, - descriptor_write_count: u32, - p_descriptor_writes: [*]const WriteDescriptorSet, + p_info: *const CopyMemoryToAccelerationStructureInfoKHR, ) void { - self.dispatch.vkCmdPushDescriptorSetKHR( - command_buffer, - pipeline_bind_point, - layout, - set, - descriptor_write_count, - p_descriptor_writes, + return self.wrapper.cmdCopyMemoryToAccelerationStructureKHR( + self.handle, + p_info, ); } - pub fn trimCommandPool( + pub fn writeAccelerationStructuresPropertiesKHR( self: Self, - device: Device, - command_pool: CommandPool, - flags: CommandPoolTrimFlags, + acceleration_structure_count: u32, + p_acceleration_structures: [*]const AccelerationStructureKHR, + query_type: QueryType, + query_pool: QueryPool, + first_query: u32, ) void { - self.dispatch.vkTrimCommandPool( - device, - command_pool, - flags, + return self.wrapper.cmdWriteAccelerationStructuresPropertiesKHR( + self.handle, + acceleration_structure_count, + p_acceleration_structures, + query_type, + query_pool, + first_query, ); } - pub fn trimCommandPoolKHR( + pub fn writeAccelerationStructuresPropertiesNV( self: Self, - device: Device, - command_pool: CommandPool, - flags: CommandPoolTrimFlags, + acceleration_structure_count: u32, + p_acceleration_structures: [*]const AccelerationStructureNV, + query_type: QueryType, + query_pool: QueryPool, + first_query: u32, ) void { - self.dispatch.vkTrimCommandPoolKHR( - device, - command_pool, - flags, + return self.wrapper.cmdWriteAccelerationStructuresPropertiesNV( + self.handle, + acceleration_structure_count, + p_acceleration_structures, + query_type, + query_pool, + first_query, ); } - pub const GetMemoryWin32HandleKHRError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn getMemoryWin32HandleKHR( + pub fn buildAccelerationStructureNV( self: Self, - device: Device, - p_get_win_32_handle_info: *const MemoryGetWin32HandleInfoKHR, - p_handle: *HANDLE, - ) GetMemoryWin32HandleKHRError!void { - const result = self.dispatch.vkGetMemoryWin32HandleKHR( - device, - p_get_win_32_handle_info, - p_handle, + p_info: *const AccelerationStructureInfoNV, + instance_data: Buffer, + instance_offset: DeviceSize, + update: Bool32, + dst: AccelerationStructureNV, + src: AccelerationStructureNV, + scratch: Buffer, + scratch_offset: DeviceSize, + ) void { + return self.wrapper.cmdBuildAccelerationStructureNV( + self.handle, + p_info, + instance_data, + instance_offset, + update, + dst, + src, + scratch, + scratch_offset, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } } - pub const GetMemoryWin32HandlePropertiesKHRError = error{ - InvalidExternalHandle, - Unknown, - }; - pub fn getMemoryWin32HandlePropertiesKHR( + pub fn traceRaysKHR( self: Self, - device: Device, - handle_type: ExternalMemoryHandleTypeFlags, - handle: HANDLE, - p_memory_win_32_handle_properties: *MemoryWin32HandlePropertiesKHR, - ) GetMemoryWin32HandlePropertiesKHRError!void { - const result = self.dispatch.vkGetMemoryWin32HandlePropertiesKHR( - device, - handle_type, - handle, - p_memory_win_32_handle_properties, + p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR, + width: u32, + height: u32, + depth: u32, + ) void { + return self.wrapper.cmdTraceRaysKHR( + self.handle, + p_raygen_shader_binding_table, + p_miss_shader_binding_table, + p_hit_shader_binding_table, + p_callable_shader_binding_table, + width, + height, + depth, ); - switch (result) { - Result.success => {}, - Result.error_invalid_external_handle => return error.InvalidExternalHandle, - else => return error.Unknown, - } } - pub const GetMemoryFdKHRError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn getMemoryFdKHR( + pub fn traceRaysNV( self: Self, - device: Device, - p_get_fd_info: *const MemoryGetFdInfoKHR, - ) GetMemoryFdKHRError!c_int { - var fd: c_int = undefined; - const result = self.dispatch.vkGetMemoryFdKHR( - device, - p_get_fd_info, - &fd, + raygen_shader_binding_table_buffer: Buffer, + raygen_shader_binding_offset: DeviceSize, + miss_shader_binding_table_buffer: Buffer, + miss_shader_binding_offset: DeviceSize, + miss_shader_binding_stride: DeviceSize, + hit_shader_binding_table_buffer: Buffer, + hit_shader_binding_offset: DeviceSize, + hit_shader_binding_stride: DeviceSize, + callable_shader_binding_table_buffer: Buffer, + callable_shader_binding_offset: DeviceSize, + callable_shader_binding_stride: DeviceSize, + width: u32, + height: u32, + depth: u32, + ) void { + return self.wrapper.cmdTraceRaysNV( + self.handle, + raygen_shader_binding_table_buffer, + raygen_shader_binding_offset, + miss_shader_binding_table_buffer, + miss_shader_binding_offset, + miss_shader_binding_stride, + hit_shader_binding_table_buffer, + hit_shader_binding_offset, + hit_shader_binding_stride, + callable_shader_binding_table_buffer, + callable_shader_binding_offset, + callable_shader_binding_stride, + width, + height, + depth, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } - return fd; } - pub const GetMemoryFdPropertiesKHRError = error{ - InvalidExternalHandle, - Unknown, - }; - pub fn getMemoryFdPropertiesKHR( + pub fn traceRaysIndirectKHR( self: Self, - device: Device, - handle_type: ExternalMemoryHandleTypeFlags, - fd: c_int, - p_memory_fd_properties: *MemoryFdPropertiesKHR, - ) GetMemoryFdPropertiesKHRError!void { - const result = self.dispatch.vkGetMemoryFdPropertiesKHR( - device, - handle_type, - fd, - p_memory_fd_properties, + p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR, + p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR, + indirect_device_address: DeviceAddress, + ) void { + return self.wrapper.cmdTraceRaysIndirectKHR( + self.handle, + p_raygen_shader_binding_table, + p_miss_shader_binding_table, + p_hit_shader_binding_table, + p_callable_shader_binding_table, + indirect_device_address, ); - switch (result) { - Result.success => {}, - Result.error_invalid_external_handle => return error.InvalidExternalHandle, - else => return error.Unknown, - } } - pub const GetSemaphoreWin32HandleKHRError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn getSemaphoreWin32HandleKHR( + pub fn traceRaysIndirect2KHR( self: Self, - device: Device, - p_get_win_32_handle_info: *const SemaphoreGetWin32HandleInfoKHR, - p_handle: *HANDLE, - ) GetSemaphoreWin32HandleKHRError!void { - const result = self.dispatch.vkGetSemaphoreWin32HandleKHR( - device, - p_get_win_32_handle_info, - p_handle, + indirect_device_address: DeviceAddress, + ) void { + return self.wrapper.cmdTraceRaysIndirect2KHR( + self.handle, + indirect_device_address, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } } - pub const ImportSemaphoreWin32HandleKHRError = error{ - OutOfHostMemory, - InvalidExternalHandle, - Unknown, - }; - pub fn importSemaphoreWin32HandleKHR( + pub fn setRayTracingPipelineStackSizeKHR( self: Self, - device: Device, - p_import_semaphore_win_32_handle_info: *const ImportSemaphoreWin32HandleInfoKHR, - ) ImportSemaphoreWin32HandleKHRError!void { - const result = self.dispatch.vkImportSemaphoreWin32HandleKHR( - device, - p_import_semaphore_win_32_handle_info, + pipeline_stack_size: u32, + ) void { + return self.wrapper.cmdSetRayTracingPipelineStackSizeKHR( + self.handle, + pipeline_stack_size, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_invalid_external_handle => return error.InvalidExternalHandle, - else => return error.Unknown, - } } - pub const GetSemaphoreFdKHRError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn getSemaphoreFdKHR( + pub const CmdSetPerformanceMarkerINTELError = Wrapper.CmdSetPerformanceMarkerINTELError; + pub fn setPerformanceMarkerINTEL( self: Self, - device: Device, - p_get_fd_info: *const SemaphoreGetFdInfoKHR, - ) GetSemaphoreFdKHRError!c_int { - var fd: c_int = undefined; - const result = self.dispatch.vkGetSemaphoreFdKHR( - device, - p_get_fd_info, - &fd, + p_marker_info: *const PerformanceMarkerInfoINTEL, + ) CmdSetPerformanceMarkerINTELError!void { + return self.wrapper.cmdSetPerformanceMarkerINTEL( + self.handle, + p_marker_info, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } - return fd; } - pub const ImportSemaphoreFdKHRError = error{ - OutOfHostMemory, - InvalidExternalHandle, - Unknown, - }; - pub fn importSemaphoreFdKHR( + pub const CmdSetPerformanceStreamMarkerINTELError = Wrapper.CmdSetPerformanceStreamMarkerINTELError; + pub fn setPerformanceStreamMarkerINTEL( self: Self, - device: Device, - p_import_semaphore_fd_info: *const ImportSemaphoreFdInfoKHR, - ) ImportSemaphoreFdKHRError!void { - const result = self.dispatch.vkImportSemaphoreFdKHR( - device, - p_import_semaphore_fd_info, + p_marker_info: *const PerformanceStreamMarkerInfoINTEL, + ) CmdSetPerformanceStreamMarkerINTELError!void { + return self.wrapper.cmdSetPerformanceStreamMarkerINTEL( + self.handle, + p_marker_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_invalid_external_handle => return error.InvalidExternalHandle, - else => return error.Unknown, - } } - pub const GetFenceWin32HandleKHRError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn getFenceWin32HandleKHR( + pub const CmdSetPerformanceOverrideINTELError = Wrapper.CmdSetPerformanceOverrideINTELError; + pub fn setPerformanceOverrideINTEL( self: Self, - device: Device, - p_get_win_32_handle_info: *const FenceGetWin32HandleInfoKHR, - p_handle: *HANDLE, - ) GetFenceWin32HandleKHRError!void { - const result = self.dispatch.vkGetFenceWin32HandleKHR( - device, - p_get_win_32_handle_info, - p_handle, + p_override_info: *const PerformanceOverrideInfoINTEL, + ) CmdSetPerformanceOverrideINTELError!void { + return self.wrapper.cmdSetPerformanceOverrideINTEL( + self.handle, + p_override_info, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } } - pub const ImportFenceWin32HandleKHRError = error{ - OutOfHostMemory, - InvalidExternalHandle, - Unknown, - }; - pub fn importFenceWin32HandleKHR( + pub fn setLineStippleKHR( self: Self, - device: Device, - p_import_fence_win_32_handle_info: *const ImportFenceWin32HandleInfoKHR, - ) ImportFenceWin32HandleKHRError!void { - const result = self.dispatch.vkImportFenceWin32HandleKHR( - device, - p_import_fence_win_32_handle_info, + line_stipple_factor: u32, + line_stipple_pattern: u16, + ) void { + return self.wrapper.cmdSetLineStippleKHR( + self.handle, + line_stipple_factor, + line_stipple_pattern, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_invalid_external_handle => return error.InvalidExternalHandle, - else => return error.Unknown, - } } - pub const GetFenceFdKHRError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn getFenceFdKHR( + pub fn setLineStippleEXT( self: Self, - device: Device, - p_get_fd_info: *const FenceGetFdInfoKHR, - ) GetFenceFdKHRError!c_int { - var fd: c_int = undefined; - const result = self.dispatch.vkGetFenceFdKHR( - device, - p_get_fd_info, - &fd, + line_stipple_factor: u32, + line_stipple_pattern: u16, + ) void { + return self.wrapper.cmdSetLineStippleEXT( + self.handle, + line_stipple_factor, + line_stipple_pattern, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } - return fd; } - pub const ImportFenceFdKHRError = error{ - OutOfHostMemory, - InvalidExternalHandle, - Unknown, - }; - pub fn importFenceFdKHR( + pub fn buildAccelerationStructuresKHR( self: Self, - device: Device, - p_import_fence_fd_info: *const ImportFenceFdInfoKHR, - ) ImportFenceFdKHRError!void { - const result = self.dispatch.vkImportFenceFdKHR( - device, - p_import_fence_fd_info, + info_count: u32, + p_infos: [*]const AccelerationStructureBuildGeometryInfoKHR, + pp_build_range_infos: [*]const [*]const AccelerationStructureBuildRangeInfoKHR, + ) void { + return self.wrapper.cmdBuildAccelerationStructuresKHR( + self.handle, + info_count, + p_infos, + pp_build_range_infos, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_invalid_external_handle => return error.InvalidExternalHandle, - else => return error.Unknown, - } } - pub const DisplayPowerControlEXTError = error{ - Unknown, - }; - pub fn displayPowerControlEXT( + pub fn buildAccelerationStructuresIndirectKHR( self: Self, - device: Device, - display: DisplayKHR, - p_display_power_info: *const DisplayPowerInfoEXT, - ) DisplayPowerControlEXTError!void { - const result = self.dispatch.vkDisplayPowerControlEXT( - device, - display, - p_display_power_info, + info_count: u32, + p_infos: [*]const AccelerationStructureBuildGeometryInfoKHR, + p_indirect_device_addresses: [*]const DeviceAddress, + p_indirect_strides: [*]const u32, + pp_max_primitive_counts: [*]const [*]const u32, + ) void { + return self.wrapper.cmdBuildAccelerationStructuresIndirectKHR( + self.handle, + info_count, + p_infos, + p_indirect_device_addresses, + p_indirect_strides, + pp_max_primitive_counts, ); - switch (result) { - Result.success => {}, - else => return error.Unknown, - } } - pub const RegisterDeviceEventEXTError = error{ - Unknown, - }; - pub fn registerDeviceEventEXT( + pub fn setCullMode( self: Self, - device: Device, - p_device_event_info: *const DeviceEventInfoEXT, - p_allocator: ?*const AllocationCallbacks, - ) RegisterDeviceEventEXTError!Fence { - var fence: Fence = undefined; - const result = self.dispatch.vkRegisterDeviceEventEXT( - device, - p_device_event_info, - p_allocator, - &fence, + cull_mode: CullModeFlags, + ) void { + return self.wrapper.cmdSetCullMode( + self.handle, + cull_mode, ); - switch (result) { - Result.success => {}, - else => return error.Unknown, - } - return fence; } - pub const RegisterDisplayEventEXTError = error{ - Unknown, - }; - pub fn registerDisplayEventEXT( + pub fn setCullModeEXT( self: Self, - device: Device, - display: DisplayKHR, - p_display_event_info: *const DisplayEventInfoEXT, - p_allocator: ?*const AllocationCallbacks, - ) RegisterDisplayEventEXTError!Fence { - var fence: Fence = undefined; - const result = self.dispatch.vkRegisterDisplayEventEXT( - device, - display, - p_display_event_info, - p_allocator, - &fence, + cull_mode: CullModeFlags, + ) void { + return self.wrapper.cmdSetCullModeEXT( + self.handle, + cull_mode, ); - switch (result) { - Result.success => {}, - else => return error.Unknown, - } - return fence; } - pub const GetSwapchainCounterEXTError = error{ - DeviceLost, - OutOfDateKHR, - Unknown, - }; - pub fn getSwapchainCounterEXT( + pub fn setFrontFace( self: Self, - device: Device, - swapchain: SwapchainKHR, - counter: SurfaceCounterFlagsEXT, - ) GetSwapchainCounterEXTError!u64 { - var counter_value: u64 = undefined; - const result = self.dispatch.vkGetSwapchainCounterEXT( - device, - swapchain, - counter, - &counter_value, + front_face: FrontFace, + ) void { + return self.wrapper.cmdSetFrontFace( + self.handle, + front_face, ); - switch (result) { - Result.success => {}, - Result.error_device_lost => return error.DeviceLost, - Result.error_out_of_date_khr => return error.OutOfDateKHR, - else => return error.Unknown, - } - return counter_value; } - pub fn getDeviceGroupPeerMemoryFeatures( + pub fn setFrontFaceEXT( self: Self, - device: Device, - heap_index: u32, - local_device_index: u32, - remote_device_index: u32, - ) PeerMemoryFeatureFlags { - var peer_memory_features: PeerMemoryFeatureFlags = undefined; - self.dispatch.vkGetDeviceGroupPeerMemoryFeatures( - device, - heap_index, - local_device_index, - remote_device_index, - &peer_memory_features, + front_face: FrontFace, + ) void { + return self.wrapper.cmdSetFrontFaceEXT( + self.handle, + front_face, ); - return peer_memory_features; } - pub fn getDeviceGroupPeerMemoryFeaturesKHR( + pub fn setPrimitiveTopology( self: Self, - device: Device, - heap_index: u32, - local_device_index: u32, - remote_device_index: u32, - ) PeerMemoryFeatureFlags { - var peer_memory_features: PeerMemoryFeatureFlags = undefined; - self.dispatch.vkGetDeviceGroupPeerMemoryFeaturesKHR( - device, - heap_index, - local_device_index, - remote_device_index, - &peer_memory_features, + primitive_topology: PrimitiveTopology, + ) void { + return self.wrapper.cmdSetPrimitiveTopology( + self.handle, + primitive_topology, + ); + } + pub fn setPrimitiveTopologyEXT( + self: Self, + primitive_topology: PrimitiveTopology, + ) void { + return self.wrapper.cmdSetPrimitiveTopologyEXT( + self.handle, + primitive_topology, ); - return peer_memory_features; } - pub const BindBufferMemory2Error = error{ - OutOfHostMemory, - OutOfDeviceMemory, - InvalidOpaqueCaptureAddressKHR, - Unknown, - }; - pub fn bindBufferMemory2( + pub fn setViewportWithCount( self: Self, - device: Device, - bind_info_count: u32, - p_bind_infos: [*]const BindBufferMemoryInfo, - ) BindBufferMemory2Error!void { - const result = self.dispatch.vkBindBufferMemory2( - device, - bind_info_count, - p_bind_infos, + viewport_count: u32, + p_viewports: [*]const Viewport, + ) void { + return self.wrapper.cmdSetViewportWithCount( + self.handle, + viewport_count, + p_viewports, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, - else => return error.Unknown, - } } - pub const BindBufferMemory2KHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - InvalidOpaqueCaptureAddressKHR, - Unknown, - }; - pub fn bindBufferMemory2KHR( + pub fn setViewportWithCountEXT( self: Self, - device: Device, - bind_info_count: u32, - p_bind_infos: [*]const BindBufferMemoryInfo, - ) BindBufferMemory2KHRError!void { - const result = self.dispatch.vkBindBufferMemory2KHR( - device, - bind_info_count, - p_bind_infos, + viewport_count: u32, + p_viewports: [*]const Viewport, + ) void { + return self.wrapper.cmdSetViewportWithCountEXT( + self.handle, + viewport_count, + p_viewports, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_invalid_opaque_capture_address_khr => return error.InvalidOpaqueCaptureAddressKHR, - else => return error.Unknown, - } } - pub const BindImageMemory2Error = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn bindImageMemory2( + pub fn setScissorWithCount( self: Self, - device: Device, - bind_info_count: u32, - p_bind_infos: [*]const BindImageMemoryInfo, - ) BindImageMemory2Error!void { - const result = self.dispatch.vkBindImageMemory2( - device, - bind_info_count, - p_bind_infos, + scissor_count: u32, + p_scissors: [*]const Rect2D, + ) void { + return self.wrapper.cmdSetScissorWithCount( + self.handle, + scissor_count, + p_scissors, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const BindImageMemory2KHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn bindImageMemory2KHR( + pub fn setScissorWithCountEXT( self: Self, - device: Device, - bind_info_count: u32, - p_bind_infos: [*]const BindImageMemoryInfo, - ) BindImageMemory2KHRError!void { - const result = self.dispatch.vkBindImageMemory2KHR( - device, - bind_info_count, - p_bind_infos, + scissor_count: u32, + p_scissors: [*]const Rect2D, + ) void { + return self.wrapper.cmdSetScissorWithCountEXT( + self.handle, + scissor_count, + p_scissors, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub fn cmdSetDeviceMask( + pub fn bindIndexBuffer2KHR( self: Self, - command_buffer: CommandBuffer, - device_mask: u32, + buffer: Buffer, + offset: DeviceSize, + size: DeviceSize, + index_type: IndexType, ) void { - self.dispatch.vkCmdSetDeviceMask( - command_buffer, - device_mask, + return self.wrapper.cmdBindIndexBuffer2KHR( + self.handle, + buffer, + offset, + size, + index_type, ); } - pub fn cmdSetDeviceMaskKHR( + pub fn bindVertexBuffers2( self: Self, - command_buffer: CommandBuffer, - device_mask: u32, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + p_sizes: ?[*]const DeviceSize, + p_strides: ?[*]const DeviceSize, ) void { - self.dispatch.vkCmdSetDeviceMaskKHR( - command_buffer, - device_mask, + return self.wrapper.cmdBindVertexBuffers2( + self.handle, + first_binding, + binding_count, + p_buffers, + p_offsets, + p_sizes, + p_strides, ); } - pub const GetDeviceGroupPresentCapabilitiesKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn getDeviceGroupPresentCapabilitiesKHR( + pub fn bindVertexBuffers2EXT( self: Self, - device: Device, - p_device_group_present_capabilities: *DeviceGroupPresentCapabilitiesKHR, - ) GetDeviceGroupPresentCapabilitiesKHRError!void { - const result = self.dispatch.vkGetDeviceGroupPresentCapabilitiesKHR( - device, - p_device_group_present_capabilities, + first_binding: u32, + binding_count: u32, + p_buffers: [*]const Buffer, + p_offsets: [*]const DeviceSize, + p_sizes: ?[*]const DeviceSize, + p_strides: ?[*]const DeviceSize, + ) void { + return self.wrapper.cmdBindVertexBuffers2EXT( + self.handle, + first_binding, + binding_count, + p_buffers, + p_offsets, + p_sizes, + p_strides, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const GetDeviceGroupSurfacePresentModesKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - SurfaceLostKHR, - Unknown, - }; - pub fn getDeviceGroupSurfacePresentModesKHR( + pub fn setDepthTestEnable( self: Self, - device: Device, - surface: SurfaceKHR, - ) GetDeviceGroupSurfacePresentModesKHRError!DeviceGroupPresentModeFlagsKHR { - var modes: DeviceGroupPresentModeFlagsKHR = undefined; - const result = self.dispatch.vkGetDeviceGroupSurfacePresentModesKHR( - device, - surface, - &modes, + depth_test_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthTestEnable( + self.handle, + depth_test_enable, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_surface_lost_khr => return error.SurfaceLostKHR, - else => return error.Unknown, - } - return modes; } - pub const AcquireNextImage2KHRResult = struct { - result: Result, - image_index: u32, - }; - pub const AcquireNextImage2KHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - OutOfDateKHR, - SurfaceLostKHR, - FullScreenExclusiveModeLostEXT, - Unknown, - }; - pub fn acquireNextImage2KHR( + pub fn setDepthTestEnableEXT( self: Self, - device: Device, - p_acquire_info: *const AcquireNextImageInfoKHR, - ) AcquireNextImage2KHRError!AcquireNextImage2KHRResult { - var return_values: AcquireNextImage2KHRResult = undefined; - const result = self.dispatch.vkAcquireNextImage2KHR( - device, - p_acquire_info, - &return_values.image_index, + depth_test_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthTestEnableEXT( + self.handle, + depth_test_enable, ); - switch (result) { - Result.success => {}, - Result.timeout => {}, - Result.not_ready => {}, - Result.suboptimal_khr => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - Result.error_out_of_date_khr => return error.OutOfDateKHR, - Result.error_surface_lost_khr => return error.SurfaceLostKHR, - Result.error_full_screen_exclusive_mode_lost_ext => return error.FullScreenExclusiveModeLostEXT, - else => return error.Unknown, - } - return_values.result = result; - return return_values; } - pub fn cmdDispatchBase( + pub fn setDepthWriteEnable( self: Self, - command_buffer: CommandBuffer, - base_group_x: u32, - base_group_y: u32, - base_group_z: u32, - group_count_x: u32, - group_count_y: u32, - group_count_z: u32, + depth_write_enable: Bool32, ) void { - self.dispatch.vkCmdDispatchBase( - command_buffer, - base_group_x, - base_group_y, - base_group_z, - group_count_x, - group_count_y, - group_count_z, + return self.wrapper.cmdSetDepthWriteEnable( + self.handle, + depth_write_enable, ); } - pub fn cmdDispatchBaseKHR( + pub fn setDepthWriteEnableEXT( self: Self, - command_buffer: CommandBuffer, - base_group_x: u32, - base_group_y: u32, - base_group_z: u32, - group_count_x: u32, - group_count_y: u32, - group_count_z: u32, + depth_write_enable: Bool32, ) void { - self.dispatch.vkCmdDispatchBaseKHR( - command_buffer, - base_group_x, - base_group_y, - base_group_z, - group_count_x, - group_count_y, - group_count_z, + return self.wrapper.cmdSetDepthWriteEnableEXT( + self.handle, + depth_write_enable, + ); + } + pub fn setDepthCompareOp( + self: Self, + depth_compare_op: CompareOp, + ) void { + return self.wrapper.cmdSetDepthCompareOp( + self.handle, + depth_compare_op, ); } - pub const CreateDescriptorUpdateTemplateError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createDescriptorUpdateTemplate( + pub fn setDepthCompareOpEXT( self: Self, - device: Device, - p_create_info: *const DescriptorUpdateTemplateCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateDescriptorUpdateTemplateError!DescriptorUpdateTemplate { - var descriptor_update_template: DescriptorUpdateTemplate = undefined; - const result = self.dispatch.vkCreateDescriptorUpdateTemplate( - device, - p_create_info, - p_allocator, - &descriptor_update_template, + depth_compare_op: CompareOp, + ) void { + return self.wrapper.cmdSetDepthCompareOpEXT( + self.handle, + depth_compare_op, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return descriptor_update_template; } - pub const CreateDescriptorUpdateTemplateKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createDescriptorUpdateTemplateKHR( + pub fn setDepthBoundsTestEnable( self: Self, - device: Device, - p_create_info: *const DescriptorUpdateTemplateCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateDescriptorUpdateTemplateKHRError!DescriptorUpdateTemplate { - var descriptor_update_template: DescriptorUpdateTemplate = undefined; - const result = self.dispatch.vkCreateDescriptorUpdateTemplateKHR( - device, - p_create_info, - p_allocator, - &descriptor_update_template, + depth_bounds_test_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthBoundsTestEnable( + self.handle, + depth_bounds_test_enable, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return descriptor_update_template; } - pub fn destroyDescriptorUpdateTemplate( + pub fn setDepthBoundsTestEnableEXT( self: Self, - device: Device, - descriptor_update_template: DescriptorUpdateTemplate, - p_allocator: ?*const AllocationCallbacks, + depth_bounds_test_enable: Bool32, ) void { - self.dispatch.vkDestroyDescriptorUpdateTemplate( - device, - descriptor_update_template, - p_allocator, + return self.wrapper.cmdSetDepthBoundsTestEnableEXT( + self.handle, + depth_bounds_test_enable, ); } - pub fn destroyDescriptorUpdateTemplateKHR( + pub fn setStencilTestEnable( self: Self, - device: Device, - descriptor_update_template: DescriptorUpdateTemplate, - p_allocator: ?*const AllocationCallbacks, + stencil_test_enable: Bool32, ) void { - self.dispatch.vkDestroyDescriptorUpdateTemplateKHR( - device, - descriptor_update_template, - p_allocator, + return self.wrapper.cmdSetStencilTestEnable( + self.handle, + stencil_test_enable, ); } - pub fn updateDescriptorSetWithTemplate( + pub fn setStencilTestEnableEXT( self: Self, - device: Device, - descriptor_set: DescriptorSet, - descriptor_update_template: DescriptorUpdateTemplate, - p_data: *const anyopaque, + stencil_test_enable: Bool32, ) void { - self.dispatch.vkUpdateDescriptorSetWithTemplate( - device, - descriptor_set, - descriptor_update_template, - p_data, + return self.wrapper.cmdSetStencilTestEnableEXT( + self.handle, + stencil_test_enable, ); } - pub fn updateDescriptorSetWithTemplateKHR( + pub fn setStencilOp( self: Self, - device: Device, - descriptor_set: DescriptorSet, - descriptor_update_template: DescriptorUpdateTemplate, - p_data: *const anyopaque, + face_mask: StencilFaceFlags, + fail_op: StencilOp, + pass_op: StencilOp, + depth_fail_op: StencilOp, + compare_op: CompareOp, ) void { - self.dispatch.vkUpdateDescriptorSetWithTemplateKHR( - device, - descriptor_set, - descriptor_update_template, - p_data, + return self.wrapper.cmdSetStencilOp( + self.handle, + face_mask, + fail_op, + pass_op, + depth_fail_op, + compare_op, ); } - pub fn cmdPushDescriptorSetWithTemplateKHR( + pub fn setStencilOpEXT( self: Self, - command_buffer: CommandBuffer, - descriptor_update_template: DescriptorUpdateTemplate, - layout: PipelineLayout, - set: u32, - p_data: *const anyopaque, + face_mask: StencilFaceFlags, + fail_op: StencilOp, + pass_op: StencilOp, + depth_fail_op: StencilOp, + compare_op: CompareOp, ) void { - self.dispatch.vkCmdPushDescriptorSetWithTemplateKHR( - command_buffer, - descriptor_update_template, - layout, - set, - p_data, + return self.wrapper.cmdSetStencilOpEXT( + self.handle, + face_mask, + fail_op, + pass_op, + depth_fail_op, + compare_op, ); } - pub fn setHdrMetadataEXT( + pub fn setPatchControlPointsEXT( self: Self, - device: Device, - swapchain_count: u32, - p_swapchains: [*]const SwapchainKHR, - p_metadata: [*]const HdrMetadataEXT, + patch_control_points: u32, ) void { - self.dispatch.vkSetHdrMetadataEXT( - device, - swapchain_count, - p_swapchains, - p_metadata, + return self.wrapper.cmdSetPatchControlPointsEXT( + self.handle, + patch_control_points, ); } - pub const GetSwapchainStatusKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - OutOfDateKHR, - SurfaceLostKHR, - FullScreenExclusiveModeLostEXT, - Unknown, - }; - pub fn getSwapchainStatusKHR( + pub fn setRasterizerDiscardEnable( self: Self, - device: Device, - swapchain: SwapchainKHR, - ) GetSwapchainStatusKHRError!Result { - const result = self.dispatch.vkGetSwapchainStatusKHR( - device, - swapchain, + rasterizer_discard_enable: Bool32, + ) void { + return self.wrapper.cmdSetRasterizerDiscardEnable( + self.handle, + rasterizer_discard_enable, ); - switch (result) { - Result.success => {}, - Result.suboptimal_khr => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - Result.error_out_of_date_khr => return error.OutOfDateKHR, - Result.error_surface_lost_khr => return error.SurfaceLostKHR, - Result.error_full_screen_exclusive_mode_lost_ext => return error.FullScreenExclusiveModeLostEXT, - else => return error.Unknown, - } - return result; } - pub const GetRefreshCycleDurationGOOGLEError = error{ - DeviceLost, - SurfaceLostKHR, - Unknown, - }; - pub fn getRefreshCycleDurationGOOGLE( + pub fn setRasterizerDiscardEnableEXT( self: Self, - device: Device, - swapchain: SwapchainKHR, - ) GetRefreshCycleDurationGOOGLEError!RefreshCycleDurationGOOGLE { - var display_timing_properties: RefreshCycleDurationGOOGLE = undefined; - const result = self.dispatch.vkGetRefreshCycleDurationGOOGLE( - device, - swapchain, - &display_timing_properties, + rasterizer_discard_enable: Bool32, + ) void { + return self.wrapper.cmdSetRasterizerDiscardEnableEXT( + self.handle, + rasterizer_discard_enable, ); - switch (result) { - Result.success => {}, - Result.error_device_lost => return error.DeviceLost, - Result.error_surface_lost_khr => return error.SurfaceLostKHR, - else => return error.Unknown, - } - return display_timing_properties; } - pub const GetPastPresentationTimingGOOGLEError = error{ - DeviceLost, - OutOfDateKHR, - SurfaceLostKHR, - Unknown, - }; - pub fn getPastPresentationTimingGOOGLE( + pub fn setDepthBiasEnable( self: Self, - device: Device, - swapchain: SwapchainKHR, - p_presentation_timing_count: *u32, - p_presentation_timings: ?[*]PastPresentationTimingGOOGLE, - ) GetPastPresentationTimingGOOGLEError!Result { - const result = self.dispatch.vkGetPastPresentationTimingGOOGLE( - device, - swapchain, - p_presentation_timing_count, - p_presentation_timings, + depth_bias_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthBiasEnable( + self.handle, + depth_bias_enable, ); - switch (result) { - Result.success => {}, - Result.incomplete => {}, - Result.error_device_lost => return error.DeviceLost, - Result.error_out_of_date_khr => return error.OutOfDateKHR, - Result.error_surface_lost_khr => return error.SurfaceLostKHR, - else => return error.Unknown, - } - return result; } - pub fn cmdSetViewportWScalingNV( + pub fn setDepthBiasEnableEXT( self: Self, - command_buffer: CommandBuffer, - first_viewport: u32, - viewport_count: u32, - p_viewport_w_scalings: [*]const ViewportWScalingNV, + depth_bias_enable: Bool32, ) void { - self.dispatch.vkCmdSetViewportWScalingNV( - command_buffer, - first_viewport, - viewport_count, - p_viewport_w_scalings, + return self.wrapper.cmdSetDepthBiasEnableEXT( + self.handle, + depth_bias_enable, ); } - pub fn cmdSetDiscardRectangleEXT( + pub fn setLogicOpEXT( self: Self, - command_buffer: CommandBuffer, - first_discard_rectangle: u32, - discard_rectangle_count: u32, - p_discard_rectangles: [*]const Rect2D, + logic_op: LogicOp, ) void { - self.dispatch.vkCmdSetDiscardRectangleEXT( - command_buffer, - first_discard_rectangle, - discard_rectangle_count, - p_discard_rectangles, + return self.wrapper.cmdSetLogicOpEXT( + self.handle, + logic_op, ); } - pub fn cmdSetSampleLocationsEXT( + pub fn setPrimitiveRestartEnable( self: Self, - command_buffer: CommandBuffer, - p_sample_locations_info: *const SampleLocationsInfoEXT, + primitive_restart_enable: Bool32, ) void { - self.dispatch.vkCmdSetSampleLocationsEXT( - command_buffer, - p_sample_locations_info, + return self.wrapper.cmdSetPrimitiveRestartEnable( + self.handle, + primitive_restart_enable, ); } - pub fn getBufferMemoryRequirements2( + pub fn setPrimitiveRestartEnableEXT( self: Self, - device: Device, - p_info: *const BufferMemoryRequirementsInfo2, - p_memory_requirements: *MemoryRequirements2, + primitive_restart_enable: Bool32, ) void { - self.dispatch.vkGetBufferMemoryRequirements2( - device, - p_info, - p_memory_requirements, + return self.wrapper.cmdSetPrimitiveRestartEnableEXT( + self.handle, + primitive_restart_enable, ); } - pub fn getBufferMemoryRequirements2KHR( + pub fn setTessellationDomainOriginEXT( self: Self, - device: Device, - p_info: *const BufferMemoryRequirementsInfo2, - p_memory_requirements: *MemoryRequirements2, + domain_origin: TessellationDomainOrigin, ) void { - self.dispatch.vkGetBufferMemoryRequirements2KHR( - device, - p_info, - p_memory_requirements, + return self.wrapper.cmdSetTessellationDomainOriginEXT( + self.handle, + domain_origin, ); } - pub fn getImageMemoryRequirements2( + pub fn setDepthClampEnableEXT( self: Self, - device: Device, - p_info: *const ImageMemoryRequirementsInfo2, - p_memory_requirements: *MemoryRequirements2, + depth_clamp_enable: Bool32, ) void { - self.dispatch.vkGetImageMemoryRequirements2( - device, - p_info, - p_memory_requirements, + return self.wrapper.cmdSetDepthClampEnableEXT( + self.handle, + depth_clamp_enable, ); } - pub fn getImageMemoryRequirements2KHR( + pub fn setPolygonModeEXT( self: Self, - device: Device, - p_info: *const ImageMemoryRequirementsInfo2, - p_memory_requirements: *MemoryRequirements2, + polygon_mode: PolygonMode, ) void { - self.dispatch.vkGetImageMemoryRequirements2KHR( - device, - p_info, - p_memory_requirements, + return self.wrapper.cmdSetPolygonModeEXT( + self.handle, + polygon_mode, ); } - pub fn getImageSparseMemoryRequirements2( + pub fn setRasterizationSamplesEXT( self: Self, - device: Device, - p_info: *const ImageSparseMemoryRequirementsInfo2, - p_sparse_memory_requirement_count: *u32, - p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements2, + rasterization_samples: SampleCountFlags, ) void { - self.dispatch.vkGetImageSparseMemoryRequirements2( - device, - p_info, - p_sparse_memory_requirement_count, - p_sparse_memory_requirements, + return self.wrapper.cmdSetRasterizationSamplesEXT( + self.handle, + rasterization_samples, + ); + } + pub fn setSampleMaskEXT( + self: Self, + samples: SampleCountFlags, + p_sample_mask: [*]const SampleMask, + ) void { + return self.wrapper.cmdSetSampleMaskEXT( + self.handle, + samples, + p_sample_mask, ); } - pub fn getImageSparseMemoryRequirements2KHR( + pub fn setAlphaToCoverageEnableEXT( self: Self, - device: Device, - p_info: *const ImageSparseMemoryRequirementsInfo2, - p_sparse_memory_requirement_count: *u32, - p_sparse_memory_requirements: ?[*]SparseImageMemoryRequirements2, + alpha_to_coverage_enable: Bool32, ) void { - self.dispatch.vkGetImageSparseMemoryRequirements2KHR( - device, - p_info, - p_sparse_memory_requirement_count, - p_sparse_memory_requirements, + return self.wrapper.cmdSetAlphaToCoverageEnableEXT( + self.handle, + alpha_to_coverage_enable, ); } - pub const CreateSamplerYcbcrConversionError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createSamplerYcbcrConversion( + pub fn setAlphaToOneEnableEXT( self: Self, - device: Device, - p_create_info: *const SamplerYcbcrConversionCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateSamplerYcbcrConversionError!SamplerYcbcrConversion { - var ycbcr_conversion: SamplerYcbcrConversion = undefined; - const result = self.dispatch.vkCreateSamplerYcbcrConversion( - device, - p_create_info, - p_allocator, - &ycbcr_conversion, + alpha_to_one_enable: Bool32, + ) void { + return self.wrapper.cmdSetAlphaToOneEnableEXT( + self.handle, + alpha_to_one_enable, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return ycbcr_conversion; } - pub const CreateSamplerYcbcrConversionKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createSamplerYcbcrConversionKHR( + pub fn setLogicOpEnableEXT( self: Self, - device: Device, - p_create_info: *const SamplerYcbcrConversionCreateInfo, - p_allocator: ?*const AllocationCallbacks, - ) CreateSamplerYcbcrConversionKHRError!SamplerYcbcrConversion { - var ycbcr_conversion: SamplerYcbcrConversion = undefined; - const result = self.dispatch.vkCreateSamplerYcbcrConversionKHR( - device, - p_create_info, - p_allocator, - &ycbcr_conversion, + logic_op_enable: Bool32, + ) void { + return self.wrapper.cmdSetLogicOpEnableEXT( + self.handle, + logic_op_enable, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return ycbcr_conversion; } - pub fn destroySamplerYcbcrConversion( + pub fn setColorBlendEnableEXT( self: Self, - device: Device, - ycbcr_conversion: SamplerYcbcrConversion, - p_allocator: ?*const AllocationCallbacks, + first_attachment: u32, + attachment_count: u32, + p_color_blend_enables: [*]const Bool32, ) void { - self.dispatch.vkDestroySamplerYcbcrConversion( - device, - ycbcr_conversion, - p_allocator, + return self.wrapper.cmdSetColorBlendEnableEXT( + self.handle, + first_attachment, + attachment_count, + p_color_blend_enables, ); } - pub fn destroySamplerYcbcrConversionKHR( + pub fn setColorBlendEquationEXT( self: Self, - device: Device, - ycbcr_conversion: SamplerYcbcrConversion, - p_allocator: ?*const AllocationCallbacks, + first_attachment: u32, + attachment_count: u32, + p_color_blend_equations: [*]const ColorBlendEquationEXT, ) void { - self.dispatch.vkDestroySamplerYcbcrConversionKHR( - device, - ycbcr_conversion, - p_allocator, + return self.wrapper.cmdSetColorBlendEquationEXT( + self.handle, + first_attachment, + attachment_count, + p_color_blend_equations, ); } - pub fn getDeviceQueue2( + pub fn setColorWriteMaskEXT( self: Self, - device: Device, - p_queue_info: *const DeviceQueueInfo2, - ) Queue { - var queue: Queue = undefined; - self.dispatch.vkGetDeviceQueue2( - device, - p_queue_info, - &queue, + first_attachment: u32, + attachment_count: u32, + p_color_write_masks: [*]const ColorComponentFlags, + ) void { + return self.wrapper.cmdSetColorWriteMaskEXT( + self.handle, + first_attachment, + attachment_count, + p_color_write_masks, ); - return queue; } - pub const CreateValidationCacheEXTError = error{ - OutOfHostMemory, - Unknown, - }; - pub fn createValidationCacheEXT( + pub fn setRasterizationStreamEXT( self: Self, - device: Device, - p_create_info: *const ValidationCacheCreateInfoEXT, - p_allocator: ?*const AllocationCallbacks, - ) CreateValidationCacheEXTError!ValidationCacheEXT { - var validation_cache: ValidationCacheEXT = undefined; - const result = self.dispatch.vkCreateValidationCacheEXT( - device, - p_create_info, - p_allocator, - &validation_cache, + rasterization_stream: u32, + ) void { + return self.wrapper.cmdSetRasterizationStreamEXT( + self.handle, + rasterization_stream, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } - return validation_cache; } - pub fn destroyValidationCacheEXT( + pub fn setConservativeRasterizationModeEXT( self: Self, - device: Device, - validation_cache: ValidationCacheEXT, - p_allocator: ?*const AllocationCallbacks, + conservative_rasterization_mode: ConservativeRasterizationModeEXT, ) void { - self.dispatch.vkDestroyValidationCacheEXT( - device, - validation_cache, - p_allocator, + return self.wrapper.cmdSetConservativeRasterizationModeEXT( + self.handle, + conservative_rasterization_mode, ); } - pub const GetValidationCacheDataEXTError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn getValidationCacheDataEXT( + pub fn setExtraPrimitiveOverestimationSizeEXT( self: Self, - device: Device, - validation_cache: ValidationCacheEXT, - p_data_size: *usize, - p_data: ?*anyopaque, - ) GetValidationCacheDataEXTError!Result { - const result = self.dispatch.vkGetValidationCacheDataEXT( - device, - validation_cache, - p_data_size, - p_data, + extra_primitive_overestimation_size: f32, + ) void { + return self.wrapper.cmdSetExtraPrimitiveOverestimationSizeEXT( + self.handle, + extra_primitive_overestimation_size, ); - switch (result) { - Result.success => {}, - Result.incomplete => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return result; } - pub const MergeValidationCachesEXTError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn mergeValidationCachesEXT( + pub fn setDepthClipEnableEXT( self: Self, - device: Device, - dst_cache: ValidationCacheEXT, - src_cache_count: u32, - p_src_caches: [*]const ValidationCacheEXT, - ) MergeValidationCachesEXTError!void { - const result = self.dispatch.vkMergeValidationCachesEXT( - device, - dst_cache, - src_cache_count, - p_src_caches, + depth_clip_enable: Bool32, + ) void { + return self.wrapper.cmdSetDepthClipEnableEXT( + self.handle, + depth_clip_enable, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub fn getDescriptorSetLayoutSupport( + pub fn setSampleLocationsEnableEXT( self: Self, - device: Device, - p_create_info: *const DescriptorSetLayoutCreateInfo, - p_support: *DescriptorSetLayoutSupport, + sample_locations_enable: Bool32, ) void { - self.dispatch.vkGetDescriptorSetLayoutSupport( - device, - p_create_info, - p_support, + return self.wrapper.cmdSetSampleLocationsEnableEXT( + self.handle, + sample_locations_enable, ); } - pub fn getDescriptorSetLayoutSupportKHR( + pub fn setColorBlendAdvancedEXT( self: Self, - device: Device, - p_create_info: *const DescriptorSetLayoutCreateInfo, - p_support: *DescriptorSetLayoutSupport, + first_attachment: u32, + attachment_count: u32, + p_color_blend_advanced: [*]const ColorBlendAdvancedEXT, ) void { - self.dispatch.vkGetDescriptorSetLayoutSupportKHR( - device, - p_create_info, - p_support, + return self.wrapper.cmdSetColorBlendAdvancedEXT( + self.handle, + first_attachment, + attachment_count, + p_color_blend_advanced, ); } - pub const GetSwapchainGrallocUsageANDROIDError = error{ - Unknown, - }; - pub fn getSwapchainGrallocUsageANDROID( + pub fn setProvokingVertexModeEXT( self: Self, - device: Device, - format: Format, - image_usage: ImageUsageFlags, - ) GetSwapchainGrallocUsageANDROIDError!c_int { - var gralloc_usage: c_int = undefined; - const result = self.dispatch.vkGetSwapchainGrallocUsageANDROID( - device, - format, - image_usage, - &gralloc_usage, + provoking_vertex_mode: ProvokingVertexModeEXT, + ) void { + return self.wrapper.cmdSetProvokingVertexModeEXT( + self.handle, + provoking_vertex_mode, ); - switch (result) { - else => return error.Unknown, - } - return gralloc_usage; } - pub const GetSwapchainGrallocUsage2ANDROIDResult = struct { - gralloc_consumer_usage: u64, - gralloc_producer_usage: u64, - }; - pub const GetSwapchainGrallocUsage2ANDROIDError = error{ - Unknown, - }; - pub fn getSwapchainGrallocUsage2ANDROID( + pub fn setLineRasterizationModeEXT( self: Self, - device: Device, - format: Format, - image_usage: ImageUsageFlags, - swapchain_image_usage: SwapchainImageUsageFlagsANDROID, - ) GetSwapchainGrallocUsage2ANDROIDError!GetSwapchainGrallocUsage2ANDROIDResult { - var return_values: GetSwapchainGrallocUsage2ANDROIDResult = undefined; - const result = self.dispatch.vkGetSwapchainGrallocUsage2ANDROID( - device, - format, - image_usage, - swapchain_image_usage, - &return_values.gralloc_consumer_usage, - &return_values.gralloc_producer_usage, + line_rasterization_mode: LineRasterizationModeEXT, + ) void { + return self.wrapper.cmdSetLineRasterizationModeEXT( + self.handle, + line_rasterization_mode, ); - switch (result) { - else => return error.Unknown, - } - return return_values; } - pub const AcquireImageANDROIDError = error{ - Unknown, - }; - pub fn acquireImageANDROID( + pub fn setLineStippleEnableEXT( self: Self, - device: Device, - image: Image, - native_fence_fd: c_int, - semaphore: Semaphore, - fence: Fence, - ) AcquireImageANDROIDError!void { - const result = self.dispatch.vkAcquireImageANDROID( - device, - image, - native_fence_fd, - semaphore, - fence, + stippled_line_enable: Bool32, + ) void { + return self.wrapper.cmdSetLineStippleEnableEXT( + self.handle, + stippled_line_enable, ); - switch (result) { - else => return error.Unknown, - } } - pub const QueueSignalReleaseImageANDROIDError = error{ - Unknown, - }; - pub fn queueSignalReleaseImageANDROID( + pub fn setDepthClipNegativeOneToOneEXT( self: Self, - queue: Queue, - wait_semaphore_count: u32, - p_wait_semaphores: *const Semaphore, - image: Image, - ) QueueSignalReleaseImageANDROIDError!c_int { - var native_fence_fd: c_int = undefined; - const result = self.dispatch.vkQueueSignalReleaseImageANDROID( - queue, - wait_semaphore_count, - p_wait_semaphores, - image, - &native_fence_fd, + negative_one_to_one: Bool32, + ) void { + return self.wrapper.cmdSetDepthClipNegativeOneToOneEXT( + self.handle, + negative_one_to_one, + ); + } + pub fn setViewportWScalingEnableNV( + self: Self, + viewport_w_scaling_enable: Bool32, + ) void { + return self.wrapper.cmdSetViewportWScalingEnableNV( + self.handle, + viewport_w_scaling_enable, + ); + } + pub fn setViewportSwizzleNV( + self: Self, + first_viewport: u32, + viewport_count: u32, + p_viewport_swizzles: [*]const ViewportSwizzleNV, + ) void { + return self.wrapper.cmdSetViewportSwizzleNV( + self.handle, + first_viewport, + viewport_count, + p_viewport_swizzles, ); - switch (result) { - else => return error.Unknown, - } - return native_fence_fd; } - pub const GetShaderInfoAMDError = error{ - FeatureNotPresent, - OutOfHostMemory, - Unknown, - }; - pub fn getShaderInfoAMD( + pub fn setCoverageToColorEnableNV( self: Self, - device: Device, - pipeline: Pipeline, - shader_stage: ShaderStageFlags, - info_type: ShaderInfoTypeAMD, - p_info_size: *usize, - p_info: ?*anyopaque, - ) GetShaderInfoAMDError!Result { - const result = self.dispatch.vkGetShaderInfoAMD( - device, - pipeline, - shader_stage, - info_type, - p_info_size, - p_info, + coverage_to_color_enable: Bool32, + ) void { + return self.wrapper.cmdSetCoverageToColorEnableNV( + self.handle, + coverage_to_color_enable, ); - switch (result) { - Result.success => {}, - Result.incomplete => {}, - Result.error_feature_not_present => return error.FeatureNotPresent, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } - return result; } - pub fn setLocalDimmingAMD( + pub fn setCoverageToColorLocationNV( self: Self, - device: Device, - swap_chain: SwapchainKHR, - local_dimming_enable: Bool32, + coverage_to_color_location: u32, ) void { - self.dispatch.vkSetLocalDimmingAMD( - device, - swap_chain, - local_dimming_enable, + return self.wrapper.cmdSetCoverageToColorLocationNV( + self.handle, + coverage_to_color_location, ); } - pub const GetCalibratedTimestampsEXTError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn getCalibratedTimestampsEXT( + pub fn setCoverageModulationModeNV( self: Self, - device: Device, - timestamp_count: u32, - p_timestamp_infos: [*]const CalibratedTimestampInfoEXT, - p_timestamps: [*]u64, - ) GetCalibratedTimestampsEXTError!u64 { - var max_deviation: u64 = undefined; - const result = self.dispatch.vkGetCalibratedTimestampsEXT( - device, - timestamp_count, - p_timestamp_infos, - p_timestamps, - &max_deviation, + coverage_modulation_mode: CoverageModulationModeNV, + ) void { + return self.wrapper.cmdSetCoverageModulationModeNV( + self.handle, + coverage_modulation_mode, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return max_deviation; } - pub const SetDebugUtilsObjectNameEXTError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn setDebugUtilsObjectNameEXT( + pub fn setCoverageModulationTableEnableNV( self: Self, - device: Device, - p_name_info: *const DebugUtilsObjectNameInfoEXT, - ) SetDebugUtilsObjectNameEXTError!void { - const result = self.dispatch.vkSetDebugUtilsObjectNameEXT( - device, - p_name_info, + coverage_modulation_table_enable: Bool32, + ) void { + return self.wrapper.cmdSetCoverageModulationTableEnableNV( + self.handle, + coverage_modulation_table_enable, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const SetDebugUtilsObjectTagEXTError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn setDebugUtilsObjectTagEXT( + pub fn setCoverageModulationTableNV( self: Self, - device: Device, - p_tag_info: *const DebugUtilsObjectTagInfoEXT, - ) SetDebugUtilsObjectTagEXTError!void { - const result = self.dispatch.vkSetDebugUtilsObjectTagEXT( - device, - p_tag_info, + coverage_modulation_table_count: u32, + p_coverage_modulation_table: [*]const f32, + ) void { + return self.wrapper.cmdSetCoverageModulationTableNV( + self.handle, + coverage_modulation_table_count, + p_coverage_modulation_table, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub fn queueBeginDebugUtilsLabelEXT( + pub fn setShadingRateImageEnableNV( self: Self, - queue: Queue, - p_label_info: *const DebugUtilsLabelEXT, + shading_rate_image_enable: Bool32, ) void { - self.dispatch.vkQueueBeginDebugUtilsLabelEXT( - queue, - p_label_info, + return self.wrapper.cmdSetShadingRateImageEnableNV( + self.handle, + shading_rate_image_enable, ); } - pub fn queueEndDebugUtilsLabelEXT( + pub fn setCoverageReductionModeNV( self: Self, - queue: Queue, + coverage_reduction_mode: CoverageReductionModeNV, ) void { - self.dispatch.vkQueueEndDebugUtilsLabelEXT( - queue, + return self.wrapper.cmdSetCoverageReductionModeNV( + self.handle, + coverage_reduction_mode, ); } - pub fn queueInsertDebugUtilsLabelEXT( + pub fn setRepresentativeFragmentTestEnableNV( self: Self, - queue: Queue, - p_label_info: *const DebugUtilsLabelEXT, + representative_fragment_test_enable: Bool32, ) void { - self.dispatch.vkQueueInsertDebugUtilsLabelEXT( - queue, - p_label_info, + return self.wrapper.cmdSetRepresentativeFragmentTestEnableNV( + self.handle, + representative_fragment_test_enable, ); } - pub fn cmdBeginDebugUtilsLabelEXT( + pub fn copyBuffer2( self: Self, - command_buffer: CommandBuffer, - p_label_info: *const DebugUtilsLabelEXT, + p_copy_buffer_info: *const CopyBufferInfo2, ) void { - self.dispatch.vkCmdBeginDebugUtilsLabelEXT( - command_buffer, - p_label_info, + return self.wrapper.cmdCopyBuffer2( + self.handle, + p_copy_buffer_info, ); } - pub fn cmdEndDebugUtilsLabelEXT( + pub fn copyBuffer2KHR( self: Self, - command_buffer: CommandBuffer, + p_copy_buffer_info: *const CopyBufferInfo2, ) void { - self.dispatch.vkCmdEndDebugUtilsLabelEXT( - command_buffer, + return self.wrapper.cmdCopyBuffer2KHR( + self.handle, + p_copy_buffer_info, ); } - pub fn cmdInsertDebugUtilsLabelEXT( + pub fn copyImage2( self: Self, - command_buffer: CommandBuffer, - p_label_info: *const DebugUtilsLabelEXT, + p_copy_image_info: *const CopyImageInfo2, ) void { - self.dispatch.vkCmdInsertDebugUtilsLabelEXT( - command_buffer, - p_label_info, + return self.wrapper.cmdCopyImage2( + self.handle, + p_copy_image_info, ); } - pub const GetMemoryHostPointerPropertiesEXTError = error{ - InvalidExternalHandle, - Unknown, - }; - pub fn getMemoryHostPointerPropertiesEXT( + pub fn copyImage2KHR( self: Self, - device: Device, - handle_type: ExternalMemoryHandleTypeFlags, - p_host_pointer: *const anyopaque, - p_memory_host_pointer_properties: *MemoryHostPointerPropertiesEXT, - ) GetMemoryHostPointerPropertiesEXTError!void { - const result = self.dispatch.vkGetMemoryHostPointerPropertiesEXT( - device, - handle_type, - p_host_pointer, - p_memory_host_pointer_properties, + p_copy_image_info: *const CopyImageInfo2, + ) void { + return self.wrapper.cmdCopyImage2KHR( + self.handle, + p_copy_image_info, ); - switch (result) { - Result.success => {}, - Result.error_invalid_external_handle => return error.InvalidExternalHandle, - else => return error.Unknown, - } } - pub fn cmdWriteBufferMarkerAMD( + pub fn blitImage2( self: Self, - command_buffer: CommandBuffer, - pipeline_stage: PipelineStageFlags, - dst_buffer: Buffer, - dst_offset: DeviceSize, - marker: u32, + p_blit_image_info: *const BlitImageInfo2, ) void { - self.dispatch.vkCmdWriteBufferMarkerAMD( - command_buffer, - pipeline_stage, - dst_buffer, - dst_offset, - marker, + return self.wrapper.cmdBlitImage2( + self.handle, + p_blit_image_info, ); } - pub const CreateRenderPass2KHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn createRenderPass2KHR( + pub fn blitImage2KHR( self: Self, - device: Device, - p_create_info: *const RenderPassCreateInfo2KHR, - p_allocator: ?*const AllocationCallbacks, - ) CreateRenderPass2KHRError!RenderPass { - var render_pass: RenderPass = undefined; - const result = self.dispatch.vkCreateRenderPass2KHR( - device, - p_create_info, - p_allocator, - &render_pass, + p_blit_image_info: *const BlitImageInfo2, + ) void { + return self.wrapper.cmdBlitImage2KHR( + self.handle, + p_blit_image_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return render_pass; } - pub fn cmdBeginRenderPass2KHR( + pub fn copyBufferToImage2( self: Self, - command_buffer: CommandBuffer, - p_render_pass_begin: *const RenderPassBeginInfo, - p_subpass_begin_info: *const SubpassBeginInfoKHR, + p_copy_buffer_to_image_info: *const CopyBufferToImageInfo2, ) void { - self.dispatch.vkCmdBeginRenderPass2KHR( - command_buffer, - p_render_pass_begin, - p_subpass_begin_info, + return self.wrapper.cmdCopyBufferToImage2( + self.handle, + p_copy_buffer_to_image_info, ); } - pub fn cmdNextSubpass2KHR( + pub fn copyBufferToImage2KHR( self: Self, - command_buffer: CommandBuffer, - p_subpass_begin_info: *const SubpassBeginInfoKHR, - p_subpass_end_info: *const SubpassEndInfoKHR, + p_copy_buffer_to_image_info: *const CopyBufferToImageInfo2, ) void { - self.dispatch.vkCmdNextSubpass2KHR( - command_buffer, - p_subpass_begin_info, - p_subpass_end_info, + return self.wrapper.cmdCopyBufferToImage2KHR( + self.handle, + p_copy_buffer_to_image_info, ); } - pub fn cmdEndRenderPass2KHR( + pub fn copyImageToBuffer2( self: Self, - command_buffer: CommandBuffer, - p_subpass_end_info: *const SubpassEndInfoKHR, + p_copy_image_to_buffer_info: *const CopyImageToBufferInfo2, ) void { - self.dispatch.vkCmdEndRenderPass2KHR( - command_buffer, - p_subpass_end_info, + return self.wrapper.cmdCopyImageToBuffer2( + self.handle, + p_copy_image_to_buffer_info, ); } - pub const GetSemaphoreCounterValueKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - Unknown, - }; - pub fn getSemaphoreCounterValueKHR( + pub fn copyImageToBuffer2KHR( self: Self, - device: Device, - semaphore: Semaphore, - ) GetSemaphoreCounterValueKHRError!u64 { - var value: u64 = undefined; - const result = self.dispatch.vkGetSemaphoreCounterValueKHR( - device, - semaphore, - &value, + p_copy_image_to_buffer_info: *const CopyImageToBufferInfo2, + ) void { + return self.wrapper.cmdCopyImageToBuffer2KHR( + self.handle, + p_copy_image_to_buffer_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - else => return error.Unknown, - } - return value; } - pub const WaitSemaphoresKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - DeviceLost, - Unknown, - }; - pub fn waitSemaphoresKHR( + pub fn resolveImage2( self: Self, - device: Device, - p_wait_info: *const SemaphoreWaitInfoKHR, - timeout: u64, - ) WaitSemaphoresKHRError!Result { - const result = self.dispatch.vkWaitSemaphoresKHR( - device, - p_wait_info, - timeout, + p_resolve_image_info: *const ResolveImageInfo2, + ) void { + return self.wrapper.cmdResolveImage2( + self.handle, + p_resolve_image_info, + ); + } + pub fn resolveImage2KHR( + self: Self, + p_resolve_image_info: *const ResolveImageInfo2, + ) void { + return self.wrapper.cmdResolveImage2KHR( + self.handle, + p_resolve_image_info, ); - switch (result) { - Result.success => {}, - Result.timeout => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_device_lost => return error.DeviceLost, - else => return error.Unknown, - } - return result; } - pub const SignalSemaphoreKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn signalSemaphoreKHR( + pub fn refreshObjectsKHR( self: Self, - device: Device, - p_signal_info: *const SemaphoreSignalInfoKHR, - ) SignalSemaphoreKHRError!void { - const result = self.dispatch.vkSignalSemaphoreKHR( - device, - p_signal_info, + p_refresh_objects: *const RefreshObjectListKHR, + ) void { + return self.wrapper.cmdRefreshObjectsKHR( + self.handle, + p_refresh_objects, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const GetAndroidHardwareBufferPropertiesANDROIDError = error{ - InvalidExternalHandleKHR, - Unknown, - }; - pub fn getAndroidHardwareBufferPropertiesANDROID( + pub fn setFragmentShadingRateKHR( self: Self, - device: Device, - buffer: *const AHardwareBuffer, - p_properties: *AndroidHardwareBufferPropertiesANDROID, - ) GetAndroidHardwareBufferPropertiesANDROIDError!void { - const result = self.dispatch.vkGetAndroidHardwareBufferPropertiesANDROID( - device, - buffer, - p_properties, + p_fragment_size: *const Extent2D, + combiner_ops: *const [2]FragmentShadingRateCombinerOpKHR, + ) void { + return self.wrapper.cmdSetFragmentShadingRateKHR( + self.handle, + p_fragment_size, + combiner_ops, ); - switch (result) { - Result.success => {}, - Result.error_invalid_external_handle_khr => return error.InvalidExternalHandleKHR, - else => return error.Unknown, - } } - pub const GetMemoryAndroidHardwareBufferANDROIDError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn getMemoryAndroidHardwareBufferANDROID( + pub fn setFragmentShadingRateEnumNV( self: Self, - device: Device, - p_info: *const MemoryGetAndroidHardwareBufferInfoANDROID, - ) GetMemoryAndroidHardwareBufferANDROIDError!*AHardwareBuffer { - var buffer: *AHardwareBuffer = undefined; - const result = self.dispatch.vkGetMemoryAndroidHardwareBufferANDROID( - device, - p_info, - &buffer, + shading_rate: FragmentShadingRateNV, + combiner_ops: *const [2]FragmentShadingRateCombinerOpKHR, + ) void { + return self.wrapper.cmdSetFragmentShadingRateEnumNV( + self.handle, + shading_rate, + combiner_ops, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } - return buffer; } - pub fn cmdDrawIndirectCountKHR( + pub fn setVertexInputEXT( self: Self, - command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, - count_buffer: Buffer, - count_buffer_offset: DeviceSize, - max_draw_count: u32, - stride: u32, + vertex_binding_description_count: u32, + p_vertex_binding_descriptions: ?[*]const VertexInputBindingDescription2EXT, + vertex_attribute_description_count: u32, + p_vertex_attribute_descriptions: ?[*]const VertexInputAttributeDescription2EXT, ) void { - self.dispatch.vkCmdDrawIndirectCountKHR( - command_buffer, - buffer, - offset, - count_buffer, - count_buffer_offset, - max_draw_count, - stride, + return self.wrapper.cmdSetVertexInputEXT( + self.handle, + vertex_binding_description_count, + p_vertex_binding_descriptions, + vertex_attribute_description_count, + p_vertex_attribute_descriptions, ); } - pub fn cmdDrawIndirectCountAMD( + pub fn setColorWriteEnableEXT( self: Self, - command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, - count_buffer: Buffer, - count_buffer_offset: DeviceSize, - max_draw_count: u32, - stride: u32, + attachment_count: u32, + p_color_write_enables: [*]const Bool32, ) void { - self.dispatch.vkCmdDrawIndirectCountAMD( - command_buffer, - buffer, - offset, - count_buffer, - count_buffer_offset, - max_draw_count, - stride, + return self.wrapper.cmdSetColorWriteEnableEXT( + self.handle, + attachment_count, + p_color_write_enables, ); } - pub fn cmdDrawIndexedIndirectCountKHR( + pub fn setEvent2( self: Self, - command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, - count_buffer: Buffer, - count_buffer_offset: DeviceSize, - max_draw_count: u32, - stride: u32, + event: Event, + p_dependency_info: *const DependencyInfo, ) void { - self.dispatch.vkCmdDrawIndexedIndirectCountKHR( - command_buffer, - buffer, - offset, - count_buffer, - count_buffer_offset, - max_draw_count, - stride, + return self.wrapper.cmdSetEvent2( + self.handle, + event, + p_dependency_info, ); } - pub fn cmdDrawIndexedIndirectCountAMD( + pub fn setEvent2KHR( self: Self, - command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, - count_buffer: Buffer, - count_buffer_offset: DeviceSize, - max_draw_count: u32, - stride: u32, + event: Event, + p_dependency_info: *const DependencyInfo, ) void { - self.dispatch.vkCmdDrawIndexedIndirectCountAMD( - command_buffer, - buffer, - offset, - count_buffer, - count_buffer_offset, - max_draw_count, - stride, + return self.wrapper.cmdSetEvent2KHR( + self.handle, + event, + p_dependency_info, ); } - pub fn cmdSetCheckpointNV( + pub fn resetEvent2( self: Self, - command_buffer: CommandBuffer, - p_checkpoint_marker: *const anyopaque, + event: Event, + stage_mask: PipelineStageFlags2, ) void { - self.dispatch.vkCmdSetCheckpointNV( - command_buffer, - p_checkpoint_marker, + return self.wrapper.cmdResetEvent2( + self.handle, + event, + stage_mask, ); } - pub fn getQueueCheckpointDataNV( + pub fn resetEvent2KHR( self: Self, - queue: Queue, - p_checkpoint_data_count: *u32, - p_checkpoint_data: ?[*]CheckpointDataNV, + event: Event, + stage_mask: PipelineStageFlags2, ) void { - self.dispatch.vkGetQueueCheckpointDataNV( - queue, - p_checkpoint_data_count, - p_checkpoint_data, + return self.wrapper.cmdResetEvent2KHR( + self.handle, + event, + stage_mask, ); } - pub fn cmdBindTransformFeedbackBuffersEXT( + pub fn waitEvents2( self: Self, - command_buffer: CommandBuffer, - first_binding: u32, - binding_count: u32, - p_buffers: [*]const Buffer, - p_offsets: [*]const DeviceSize, - p_sizes: ?[*]const DeviceSize, + event_count: u32, + p_events: [*]const Event, + p_dependency_infos: [*]const DependencyInfo, ) void { - self.dispatch.vkCmdBindTransformFeedbackBuffersEXT( - command_buffer, - first_binding, - binding_count, - p_buffers, - p_offsets, - p_sizes, + return self.wrapper.cmdWaitEvents2( + self.handle, + event_count, + p_events, + p_dependency_infos, ); } - pub fn cmdBeginTransformFeedbackEXT( + pub fn waitEvents2KHR( self: Self, - command_buffer: CommandBuffer, - first_counter_buffer: u32, - counter_buffer_count: u32, - p_counter_buffers: ?[*]const Buffer, - p_counter_buffer_offsets: ?[*]const DeviceSize, + event_count: u32, + p_events: [*]const Event, + p_dependency_infos: [*]const DependencyInfo, ) void { - self.dispatch.vkCmdBeginTransformFeedbackEXT( - command_buffer, - first_counter_buffer, - counter_buffer_count, - p_counter_buffers, - p_counter_buffer_offsets, + return self.wrapper.cmdWaitEvents2KHR( + self.handle, + event_count, + p_events, + p_dependency_infos, ); } - pub fn cmdEndTransformFeedbackEXT( + pub fn pipelineBarrier2( self: Self, - command_buffer: CommandBuffer, - first_counter_buffer: u32, - counter_buffer_count: u32, - p_counter_buffers: ?[*]const Buffer, - p_counter_buffer_offsets: ?[*]const DeviceSize, + p_dependency_info: *const DependencyInfo, ) void { - self.dispatch.vkCmdEndTransformFeedbackEXT( - command_buffer, - first_counter_buffer, - counter_buffer_count, - p_counter_buffers, - p_counter_buffer_offsets, + return self.wrapper.cmdPipelineBarrier2( + self.handle, + p_dependency_info, ); } - pub fn cmdBeginQueryIndexedEXT( + pub fn pipelineBarrier2KHR( self: Self, - command_buffer: CommandBuffer, + p_dependency_info: *const DependencyInfo, + ) void { + return self.wrapper.cmdPipelineBarrier2KHR( + self.handle, + p_dependency_info, + ); + } + pub fn writeTimestamp2( + self: Self, + stage: PipelineStageFlags2, query_pool: QueryPool, query: u32, - flags: QueryControlFlags, - index: u32, ) void { - self.dispatch.vkCmdBeginQueryIndexedEXT( - command_buffer, + return self.wrapper.cmdWriteTimestamp2( + self.handle, + stage, query_pool, query, - flags, - index, ); } - pub fn cmdEndQueryIndexedEXT( + pub fn writeTimestamp2KHR( self: Self, - command_buffer: CommandBuffer, + stage: PipelineStageFlags2, query_pool: QueryPool, query: u32, - index: u32, ) void { - self.dispatch.vkCmdEndQueryIndexedEXT( - command_buffer, + return self.wrapper.cmdWriteTimestamp2KHR( + self.handle, + stage, query_pool, query, - index, ); } - pub fn cmdDrawIndirectByteCountEXT( + pub fn writeBufferMarker2AMD( self: Self, - command_buffer: CommandBuffer, - instance_count: u32, - first_instance: u32, - counter_buffer: Buffer, - counter_buffer_offset: DeviceSize, - counter_offset: u32, - vertex_stride: u32, + stage: PipelineStageFlags2, + dst_buffer: Buffer, + dst_offset: DeviceSize, + marker: u32, ) void { - self.dispatch.vkCmdDrawIndirectByteCountEXT( - command_buffer, - instance_count, - first_instance, - counter_buffer, - counter_buffer_offset, - counter_offset, - vertex_stride, + return self.wrapper.cmdWriteBufferMarker2AMD( + self.handle, + stage, + dst_buffer, + dst_offset, + marker, ); } - pub fn cmdSetExclusiveScissorNV( + pub fn decodeVideoKHR( self: Self, - command_buffer: CommandBuffer, - first_exclusive_scissor: u32, - exclusive_scissor_count: u32, - p_exclusive_scissors: [*]const Rect2D, + p_decode_info: *const VideoDecodeInfoKHR, ) void { - self.dispatch.vkCmdSetExclusiveScissorNV( - command_buffer, - first_exclusive_scissor, - exclusive_scissor_count, - p_exclusive_scissors, + return self.wrapper.cmdDecodeVideoKHR( + self.handle, + p_decode_info, + ); + } + pub fn beginVideoCodingKHR( + self: Self, + p_begin_info: *const VideoBeginCodingInfoKHR, + ) void { + return self.wrapper.cmdBeginVideoCodingKHR( + self.handle, + p_begin_info, + ); + } + pub fn controlVideoCodingKHR( + self: Self, + p_coding_control_info: *const VideoCodingControlInfoKHR, + ) void { + return self.wrapper.cmdControlVideoCodingKHR( + self.handle, + p_coding_control_info, + ); + } + pub fn endVideoCodingKHR( + self: Self, + p_end_coding_info: *const VideoEndCodingInfoKHR, + ) void { + return self.wrapper.cmdEndVideoCodingKHR( + self.handle, + p_end_coding_info, ); } - pub fn cmdBindShadingRateImageNV( + pub fn encodeVideoKHR( self: Self, - command_buffer: CommandBuffer, - image_view: ImageView, - image_layout: ImageLayout, + p_encode_info: *const VideoEncodeInfoKHR, ) void { - self.dispatch.vkCmdBindShadingRateImageNV( - command_buffer, - image_view, - image_layout, + return self.wrapper.cmdEncodeVideoKHR( + self.handle, + p_encode_info, ); } - pub fn cmdSetViewportShadingRatePaletteNV( + pub fn decompressMemoryNV( self: Self, - command_buffer: CommandBuffer, - first_viewport: u32, - viewport_count: u32, - p_shading_rate_palettes: [*]const ShadingRatePaletteNV, + decompress_region_count: u32, + p_decompress_memory_regions: [*]const DecompressMemoryRegionNV, ) void { - self.dispatch.vkCmdSetViewportShadingRatePaletteNV( - command_buffer, - first_viewport, - viewport_count, - p_shading_rate_palettes, + return self.wrapper.cmdDecompressMemoryNV( + self.handle, + decompress_region_count, + p_decompress_memory_regions, ); } - pub fn cmdSetCoarseSampleOrderNV( + pub fn decompressMemoryIndirectCountNV( self: Self, - command_buffer: CommandBuffer, - sample_order_type: CoarseSampleOrderTypeNV, - custom_sample_order_count: u32, - p_custom_sample_orders: ?[*]const CoarseSampleOrderCustomNV, + indirect_commands_address: DeviceAddress, + indirect_commands_count_address: DeviceAddress, + stride: u32, ) void { - self.dispatch.vkCmdSetCoarseSampleOrderNV( - command_buffer, - sample_order_type, - custom_sample_order_count, - p_custom_sample_orders, + return self.wrapper.cmdDecompressMemoryIndirectCountNV( + self.handle, + indirect_commands_address, + indirect_commands_count_address, + stride, ); } - pub fn cmdDrawMeshTasksNV( + pub fn cuLaunchKernelNVX( self: Self, - command_buffer: CommandBuffer, - task_count: u32, - first_task: u32, + p_launch_info: *const CuLaunchInfoNVX, ) void { - self.dispatch.vkCmdDrawMeshTasksNV( - command_buffer, - task_count, - first_task, + return self.wrapper.cmdCuLaunchKernelNVX( + self.handle, + p_launch_info, ); } - pub fn cmdDrawMeshTasksIndirectNV( + pub fn bindDescriptorBuffersEXT( self: Self, - command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, - draw_count: u32, - stride: u32, + buffer_count: u32, + p_binding_infos: [*]const DescriptorBufferBindingInfoEXT, ) void { - self.dispatch.vkCmdDrawMeshTasksIndirectNV( - command_buffer, - buffer, - offset, - draw_count, - stride, + return self.wrapper.cmdBindDescriptorBuffersEXT( + self.handle, + buffer_count, + p_binding_infos, ); } - pub fn cmdDrawMeshTasksIndirectCountNV( + pub fn setDescriptorBufferOffsetsEXT( self: Self, - command_buffer: CommandBuffer, - buffer: Buffer, - offset: DeviceSize, - count_buffer: Buffer, - count_buffer_offset: DeviceSize, - max_draw_count: u32, - stride: u32, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + first_set: u32, + set_count: u32, + p_buffer_indices: [*]const u32, + p_offsets: [*]const DeviceSize, ) void { - self.dispatch.vkCmdDrawMeshTasksIndirectCountNV( - command_buffer, - buffer, - offset, - count_buffer, - count_buffer_offset, - max_draw_count, - stride, + return self.wrapper.cmdSetDescriptorBufferOffsetsEXT( + self.handle, + pipeline_bind_point, + layout, + first_set, + set_count, + p_buffer_indices, + p_offsets, ); } - pub const CompileDeferredNVError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn compileDeferredNV( + pub fn bindDescriptorBufferEmbeddedSamplersEXT( self: Self, - device: Device, - pipeline: Pipeline, - shader: u32, - ) CompileDeferredNVError!void { - const result = self.dispatch.vkCompileDeferredNV( - device, - pipeline, - shader, + pipeline_bind_point: PipelineBindPoint, + layout: PipelineLayout, + set: u32, + ) void { + return self.wrapper.cmdBindDescriptorBufferEmbeddedSamplersEXT( + self.handle, + pipeline_bind_point, + layout, + set, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const CreateAccelerationStructureNVError = error{ - OutOfHostMemory, - Unknown, - }; - pub fn createAccelerationStructureNV( + pub fn cudaLaunchKernelNV( self: Self, - device: Device, - p_create_info: *const AccelerationStructureCreateInfoNV, - p_allocator: ?*const AllocationCallbacks, - ) CreateAccelerationStructureNVError!AccelerationStructureNV { - var acceleration_structure: AccelerationStructureNV = undefined; - const result = self.dispatch.vkCreateAccelerationStructureNV( - device, - p_create_info, - p_allocator, - &acceleration_structure, + p_launch_info: *const CudaLaunchInfoNV, + ) void { + return self.wrapper.cmdCudaLaunchKernelNV( + self.handle, + p_launch_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } - return acceleration_structure; } - pub fn destroyAccelerationStructureNV( + pub fn beginRendering( self: Self, - device: Device, - acceleration_structure: AccelerationStructureNV, - p_allocator: ?*const AllocationCallbacks, + p_rendering_info: *const RenderingInfo, ) void { - self.dispatch.vkDestroyAccelerationStructureNV( - device, - acceleration_structure, - p_allocator, + return self.wrapper.cmdBeginRendering( + self.handle, + p_rendering_info, ); } - pub fn getAccelerationStructureMemoryRequirementsNV( + pub fn beginRenderingKHR( self: Self, - device: Device, - p_info: *const AccelerationStructureMemoryRequirementsInfoNV, - p_memory_requirements: *MemoryRequirements2KHR, + p_rendering_info: *const RenderingInfo, ) void { - self.dispatch.vkGetAccelerationStructureMemoryRequirementsNV( - device, - p_info, - p_memory_requirements, + return self.wrapper.cmdBeginRenderingKHR( + self.handle, + p_rendering_info, ); } - pub const BindAccelerationStructureMemoryNVError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn bindAccelerationStructureMemoryNV( + pub fn endRendering( self: Self, - device: Device, - bind_info_count: u32, - p_bind_infos: [*]const BindAccelerationStructureMemoryInfoNV, - ) BindAccelerationStructureMemoryNVError!void { - const result = self.dispatch.vkBindAccelerationStructureMemoryNV( - device, - bind_info_count, - p_bind_infos, + ) void { + return self.wrapper.cmdEndRendering( + self.handle, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub fn cmdCopyAccelerationStructureNV( + pub fn endRenderingKHR( self: Self, - command_buffer: CommandBuffer, - dst: AccelerationStructureNV, - src: AccelerationStructureNV, - mode: CopyAccelerationStructureModeNV, ) void { - self.dispatch.vkCmdCopyAccelerationStructureNV( - command_buffer, - dst, - src, - mode, + return self.wrapper.cmdEndRenderingKHR( + self.handle, ); } - pub fn cmdWriteAccelerationStructuresPropertiesNV( + pub fn buildMicromapsEXT( self: Self, - command_buffer: CommandBuffer, - acceleration_structure_count: u32, - p_acceleration_structures: [*]const AccelerationStructureNV, - query_type: QueryType, - query_pool: QueryPool, - first_query: u32, + info_count: u32, + p_infos: [*]const MicromapBuildInfoEXT, ) void { - self.dispatch.vkCmdWriteAccelerationStructuresPropertiesNV( - command_buffer, - acceleration_structure_count, - p_acceleration_structures, - query_type, - query_pool, - first_query, + return self.wrapper.cmdBuildMicromapsEXT( + self.handle, + info_count, + p_infos, ); } - pub fn cmdBuildAccelerationStructureNV( + pub fn copyMicromapEXT( self: Self, - command_buffer: CommandBuffer, - p_info: *const AccelerationStructureInfoNV, - instance_data: Buffer, - instance_offset: DeviceSize, - update: Bool32, - dst: AccelerationStructureNV, - src: AccelerationStructureNV, - scratch: Buffer, - scratch_offset: DeviceSize, + p_info: *const CopyMicromapInfoEXT, ) void { - self.dispatch.vkCmdBuildAccelerationStructureNV( - command_buffer, + return self.wrapper.cmdCopyMicromapEXT( + self.handle, p_info, - instance_data, - instance_offset, - update, - dst, - src, - scratch, - scratch_offset, ); } - pub fn cmdTraceRaysNV( + pub fn copyMicromapToMemoryEXT( self: Self, - command_buffer: CommandBuffer, - raygen_shader_binding_table_buffer: Buffer, - raygen_shader_binding_offset: DeviceSize, - miss_shader_binding_table_buffer: Buffer, - miss_shader_binding_offset: DeviceSize, - miss_shader_binding_stride: DeviceSize, - hit_shader_binding_table_buffer: Buffer, - hit_shader_binding_offset: DeviceSize, - hit_shader_binding_stride: DeviceSize, - callable_shader_binding_table_buffer: Buffer, - callable_shader_binding_offset: DeviceSize, - callable_shader_binding_stride: DeviceSize, - width: u32, - height: u32, - depth: u32, + p_info: *const CopyMicromapToMemoryInfoEXT, ) void { - self.dispatch.vkCmdTraceRaysNV( - command_buffer, - raygen_shader_binding_table_buffer, - raygen_shader_binding_offset, - miss_shader_binding_table_buffer, - miss_shader_binding_offset, - miss_shader_binding_stride, - hit_shader_binding_table_buffer, - hit_shader_binding_offset, - hit_shader_binding_stride, - callable_shader_binding_table_buffer, - callable_shader_binding_offset, - callable_shader_binding_stride, - width, - height, - depth, + return self.wrapper.cmdCopyMicromapToMemoryEXT( + self.handle, + p_info, ); } - pub const GetRayTracingShaderGroupHandlesNVError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn getRayTracingShaderGroupHandlesNV( + pub fn copyMemoryToMicromapEXT( self: Self, - device: Device, - pipeline: Pipeline, - first_group: u32, - group_count: u32, - data_size: usize, - p_data: *anyopaque, - ) GetRayTracingShaderGroupHandlesNVError!void { - const result = self.dispatch.vkGetRayTracingShaderGroupHandlesNV( - device, - pipeline, - first_group, - group_count, - data_size, - p_data, + p_info: *const CopyMemoryToMicromapInfoEXT, + ) void { + return self.wrapper.cmdCopyMemoryToMicromapEXT( + self.handle, + p_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const GetAccelerationStructureHandleNVError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn getAccelerationStructureHandleNV( + pub fn writeMicromapsPropertiesEXT( self: Self, - device: Device, - acceleration_structure: AccelerationStructureNV, - data_size: usize, - p_data: *anyopaque, - ) GetAccelerationStructureHandleNVError!void { - const result = self.dispatch.vkGetAccelerationStructureHandleNV( - device, - acceleration_structure, - data_size, - p_data, + micromap_count: u32, + p_micromaps: [*]const MicromapEXT, + query_type: QueryType, + query_pool: QueryPool, + first_query: u32, + ) void { + return self.wrapper.cmdWriteMicromapsPropertiesEXT( + self.handle, + micromap_count, + p_micromaps, + query_type, + query_pool, + first_query, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } } - pub const CreateRayTracingPipelinesNVError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - InvalidShaderNV, - Unknown, - }; - pub fn createRayTracingPipelinesNV( + pub fn opticalFlowExecuteNV( self: Self, - device: Device, - pipeline_cache: PipelineCache, - create_info_count: u32, - p_create_infos: [*]const RayTracingPipelineCreateInfoNV, - p_allocator: ?*const AllocationCallbacks, - p_pipelines: [*]Pipeline, - ) CreateRayTracingPipelinesNVError!void { - const result = self.dispatch.vkCreateRayTracingPipelinesNV( - device, - pipeline_cache, - create_info_count, - p_create_infos, - p_allocator, - p_pipelines, + session: OpticalFlowSessionNV, + p_execute_info: *const OpticalFlowExecuteInfoNV, + ) void { + return self.wrapper.cmdOpticalFlowExecuteNV( + self.handle, + session, + p_execute_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_invalid_shader_nv => return error.InvalidShaderNV, - else => return error.Unknown, - } } - pub fn getImageViewHandleNVX( + pub fn setDepthBias2EXT( self: Self, - device: Device, - p_info: *const ImageViewHandleInfoNVX, - ) u32 { - return self.dispatch.vkGetImageViewHandleNVX( - device, - p_info, + p_depth_bias_info: *const DepthBiasInfoEXT, + ) void { + return self.wrapper.cmdSetDepthBias2EXT( + self.handle, + p_depth_bias_info, ); } - pub const GetDeviceGroupSurfacePresentModes2EXTError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - SurfaceLostKHR, - Unknown, - }; - pub fn getDeviceGroupSurfacePresentModes2EXT( + pub fn bindShadersEXT( self: Self, - device: Device, - p_surface_info: *const PhysicalDeviceSurfaceInfo2KHR, - ) GetDeviceGroupSurfacePresentModes2EXTError!DeviceGroupPresentModeFlagsKHR { - var modes: DeviceGroupPresentModeFlagsKHR = undefined; - const result = self.dispatch.vkGetDeviceGroupSurfacePresentModes2EXT( - device, - p_surface_info, - &modes, + stage_count: u32, + p_stages: [*]const ShaderStageFlags, + p_shaders: ?[*]const ShaderEXT, + ) void { + return self.wrapper.cmdBindShadersEXT( + self.handle, + stage_count, + p_stages, + p_shaders, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_surface_lost_khr => return error.SurfaceLostKHR, - else => return error.Unknown, - } - return modes; } - pub const AcquireFullScreenExclusiveModeEXTError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - InitializationFailed, - SurfaceLostKHR, - Unknown, - }; - pub fn acquireFullScreenExclusiveModeEXT( + pub fn initializeGraphScratchMemoryAMDX( self: Self, - device: Device, - swapchain: SwapchainKHR, - ) AcquireFullScreenExclusiveModeEXTError!void { - const result = self.dispatch.vkAcquireFullScreenExclusiveModeEXT( - device, - swapchain, + scratch: DeviceAddress, + ) void { + return self.wrapper.cmdInitializeGraphScratchMemoryAMDX( + self.handle, + scratch, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_initialization_failed => return error.InitializationFailed, - Result.error_surface_lost_khr => return error.SurfaceLostKHR, - else => return error.Unknown, - } } - pub const ReleaseFullScreenExclusiveModeEXTError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - SurfaceLostKHR, - Unknown, - }; - pub fn releaseFullScreenExclusiveModeEXT( + pub fn dispatchGraphAMDX( self: Self, - device: Device, - swapchain: SwapchainKHR, - ) ReleaseFullScreenExclusiveModeEXTError!void { - const result = self.dispatch.vkReleaseFullScreenExclusiveModeEXT( - device, - swapchain, + scratch: DeviceAddress, + p_count_info: *const DispatchGraphCountInfoAMDX, + ) void { + return self.wrapper.cmdDispatchGraphAMDX( + self.handle, + scratch, + p_count_info, ); - switch (result) { - Result.success => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - Result.error_surface_lost_khr => return error.SurfaceLostKHR, - else => return error.Unknown, - } } - pub const AcquireProfilingLockKHRError = error{ - Timeout, - Unknown, - }; - pub fn acquireProfilingLockKHR( + pub fn dispatchGraphIndirectAMDX( self: Self, - device: Device, - p_info: *const AcquireProfilingLockInfoKHR, - ) AcquireProfilingLockKHRError!void { - const result = self.dispatch.vkAcquireProfilingLockKHR( - device, - p_info, + scratch: DeviceAddress, + p_count_info: *const DispatchGraphCountInfoAMDX, + ) void { + return self.wrapper.cmdDispatchGraphIndirectAMDX( + self.handle, + scratch, + p_count_info, ); - switch (result) { - Result.success => {}, - Result.timeout => return error.Timeout, - else => return error.Unknown, - } } - pub fn releaseProfilingLockKHR( + pub fn dispatchGraphIndirectCountAMDX( self: Self, - device: Device, + scratch: DeviceAddress, + count_info: DeviceAddress, ) void { - self.dispatch.vkReleaseProfilingLockKHR( - device, + return self.wrapper.cmdDispatchGraphIndirectCountAMDX( + self.handle, + scratch, + count_info, ); } - pub const GetImageDrmFormatModifierPropertiesEXTError = error{ - Unknown, - }; - pub fn getImageDrmFormatModifierPropertiesEXT( + pub fn bindDescriptorSets2KHR( self: Self, - device: Device, - image: Image, - p_properties: *ImageDrmFormatModifierPropertiesEXT, - ) GetImageDrmFormatModifierPropertiesEXTError!void { - const result = self.dispatch.vkGetImageDrmFormatModifierPropertiesEXT( - device, - image, - p_properties, + p_bind_descriptor_sets_info: *const BindDescriptorSetsInfoKHR, + ) void { + return self.wrapper.cmdBindDescriptorSets2KHR( + self.handle, + p_bind_descriptor_sets_info, ); - switch (result) { - Result.success => {}, - else => return error.Unknown, - } } - pub fn getBufferOpaqueCaptureAddressKHR( + pub fn pushConstants2KHR( self: Self, - device: Device, - p_info: *const BufferDeviceAddressInfoKHR, - ) u64 { - return self.dispatch.vkGetBufferOpaqueCaptureAddressKHR( - device, - p_info, + p_push_constants_info: *const PushConstantsInfoKHR, + ) void { + return self.wrapper.cmdPushConstants2KHR( + self.handle, + p_push_constants_info, ); } - pub fn getBufferDeviceAddressKHR( + pub fn pushDescriptorSet2KHR( self: Self, - device: Device, - p_info: *const BufferDeviceAddressInfoKHR, - ) DeviceAddress { - return self.dispatch.vkGetBufferDeviceAddressKHR( - device, - p_info, + p_push_descriptor_set_info: *const PushDescriptorSetInfoKHR, + ) void { + return self.wrapper.cmdPushDescriptorSet2KHR( + self.handle, + p_push_descriptor_set_info, ); } - pub fn getBufferDeviceAddressEXT( + pub fn pushDescriptorSetWithTemplate2KHR( self: Self, - device: Device, - p_info: *const BufferDeviceAddressInfoKHR, - ) DeviceAddress { - return self.dispatch.vkGetBufferDeviceAddressEXT( - device, - p_info, + p_push_descriptor_set_with_template_info: *const PushDescriptorSetWithTemplateInfoKHR, + ) void { + return self.wrapper.cmdPushDescriptorSetWithTemplate2KHR( + self.handle, + p_push_descriptor_set_with_template_info, ); } - pub const InitializePerformanceApiINTELError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn initializePerformanceApiINTEL( + pub fn setDescriptorBufferOffsets2EXT( self: Self, - device: Device, - p_initialize_info: *const InitializePerformanceApiInfoINTEL, - ) InitializePerformanceApiINTELError!void { - const result = self.dispatch.vkInitializePerformanceApiINTEL( - device, - p_initialize_info, + p_set_descriptor_buffer_offsets_info: *const SetDescriptorBufferOffsetsInfoEXT, + ) void { + return self.wrapper.cmdSetDescriptorBufferOffsets2EXT( + self.handle, + p_set_descriptor_buffer_offsets_info, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } } - pub fn uninitializePerformanceApiINTEL( + pub fn bindDescriptorBufferEmbeddedSamplers2EXT( self: Self, - device: Device, + p_bind_descriptor_buffer_embedded_samplers_info: *const BindDescriptorBufferEmbeddedSamplersInfoEXT, ) void { - self.dispatch.vkUninitializePerformanceApiINTEL( - device, + return self.wrapper.cmdBindDescriptorBufferEmbeddedSamplers2EXT( + self.handle, + p_bind_descriptor_buffer_embedded_samplers_info, ); } - pub const CmdSetPerformanceMarkerINTELError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn cmdSetPerformanceMarkerINTEL( + pub fn setRenderingAttachmentLocationsKHR( + self: Self, + p_location_info: *const RenderingAttachmentLocationInfoKHR, + ) void { + return self.wrapper.cmdSetRenderingAttachmentLocationsKHR( + self.handle, + p_location_info, + ); + } + pub fn setRenderingInputAttachmentIndicesKHR( + self: Self, + p_location_info: *const RenderingInputAttachmentIndexInfoKHR, + ) void { + return self.wrapper.cmdSetRenderingInputAttachmentIndicesKHR( + self.handle, + p_location_info, + ); + } + }; +} +pub fn QueueProxy(comptime apis: []const ApiInfo) type { + return struct { + const Self = @This(); + pub const Wrapper = DeviceWrapper(apis); + + handle: Queue, + wrapper: *const Wrapper, + + pub fn init(handle: Queue, wrapper: *const Wrapper) Self { + return .{ + .handle = handle, + .wrapper = wrapper, + }; + } + pub const QueueSubmitError = Wrapper.QueueSubmitError; + pub fn submit( + self: Self, + submit_count: u32, + p_submits: ?[*]const SubmitInfo, + fence: Fence, + ) QueueSubmitError!void { + return self.wrapper.queueSubmit( + self.handle, + submit_count, + p_submits, + fence, + ); + } + pub const QueueWaitIdleError = Wrapper.QueueWaitIdleError; + pub fn waitIdle( + self: Self, + ) QueueWaitIdleError!void { + return self.wrapper.queueWaitIdle( + self.handle, + ); + } + pub const QueueBindSparseError = Wrapper.QueueBindSparseError; + pub fn bindSparse( self: Self, - command_buffer: CommandBuffer, - p_marker_info: *const PerformanceMarkerInfoINTEL, - ) CmdSetPerformanceMarkerINTELError!void { - const result = self.dispatch.vkCmdSetPerformanceMarkerINTEL( - command_buffer, - p_marker_info, + bind_info_count: u32, + p_bind_info: ?[*]const BindSparseInfo, + fence: Fence, + ) QueueBindSparseError!void { + return self.wrapper.queueBindSparse( + self.handle, + bind_info_count, + p_bind_info, + fence, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } } - pub const CmdSetPerformanceStreamMarkerINTELError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn cmdSetPerformanceStreamMarkerINTEL( + pub const QueuePresentKHRError = Wrapper.QueuePresentKHRError; + pub fn presentKHR( self: Self, - command_buffer: CommandBuffer, - p_marker_info: *const PerformanceStreamMarkerInfoINTEL, - ) CmdSetPerformanceStreamMarkerINTELError!void { - const result = self.dispatch.vkCmdSetPerformanceStreamMarkerINTEL( - command_buffer, - p_marker_info, + p_present_info: *const PresentInfoKHR, + ) QueuePresentKHRError!Result { + return self.wrapper.queuePresentKHR( + self.handle, + p_present_info, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } } - pub const CmdSetPerformanceOverrideINTELError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn cmdSetPerformanceOverrideINTEL( + pub const QueueSignalReleaseImageANDROIDError = Wrapper.QueueSignalReleaseImageANDROIDError; + pub fn signalReleaseImageANDROID( self: Self, - command_buffer: CommandBuffer, - p_override_info: *const PerformanceOverrideInfoINTEL, - ) CmdSetPerformanceOverrideINTELError!void { - const result = self.dispatch.vkCmdSetPerformanceOverrideINTEL( - command_buffer, - p_override_info, + wait_semaphore_count: u32, + p_wait_semaphores: [*]const Semaphore, + image: Image, + ) QueueSignalReleaseImageANDROIDError!c_int { + return self.wrapper.queueSignalReleaseImageANDROID( + self.handle, + wait_semaphore_count, + p_wait_semaphores, + image, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } } - pub const AcquirePerformanceConfigurationINTELError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn acquirePerformanceConfigurationINTEL( + pub fn beginDebugUtilsLabelEXT( self: Self, - device: Device, - p_acquire_info: *const PerformanceConfigurationAcquireInfoINTEL, - ) AcquirePerformanceConfigurationINTELError!PerformanceConfigurationINTEL { - var configuration: PerformanceConfigurationINTEL = undefined; - const result = self.dispatch.vkAcquirePerformanceConfigurationINTEL( - device, - p_acquire_info, - &configuration, + p_label_info: *const DebugUtilsLabelEXT, + ) void { + return self.wrapper.queueBeginDebugUtilsLabelEXT( + self.handle, + p_label_info, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } - return configuration; } - pub const ReleasePerformanceConfigurationINTELError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn releasePerformanceConfigurationINTEL( + pub fn endDebugUtilsLabelEXT( self: Self, - device: Device, - configuration: PerformanceConfigurationINTEL, - ) ReleasePerformanceConfigurationINTELError!void { - const result = self.dispatch.vkReleasePerformanceConfigurationINTEL( - device, - configuration, + ) void { + return self.wrapper.queueEndDebugUtilsLabelEXT( + self.handle, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } } - pub const QueueSetPerformanceConfigurationINTELError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn queueSetPerformanceConfigurationINTEL( + pub fn insertDebugUtilsLabelEXT( self: Self, - queue: Queue, - configuration: PerformanceConfigurationINTEL, - ) QueueSetPerformanceConfigurationINTELError!void { - const result = self.dispatch.vkQueueSetPerformanceConfigurationINTEL( - queue, - configuration, + p_label_info: *const DebugUtilsLabelEXT, + ) void { + return self.wrapper.queueInsertDebugUtilsLabelEXT( + self.handle, + p_label_info, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } } - pub const GetPerformanceParameterINTELError = error{ - TooManyObjects, - OutOfHostMemory, - Unknown, - }; - pub fn getPerformanceParameterINTEL( + pub fn getQueueCheckpointDataNV( self: Self, - device: Device, - parameter: PerformanceParameterTypeINTEL, - ) GetPerformanceParameterINTELError!PerformanceValueINTEL { - var value: PerformanceValueINTEL = undefined; - const result = self.dispatch.vkGetPerformanceParameterINTEL( - device, - parameter, - &value, + p_checkpoint_data_count: *u32, + p_checkpoint_data: ?[*]CheckpointDataNV, + ) void { + return self.wrapper.getQueueCheckpointDataNV( + self.handle, + p_checkpoint_data_count, + p_checkpoint_data, ); - switch (result) { - Result.success => {}, - Result.error_too_many_objects => return error.TooManyObjects, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - else => return error.Unknown, - } - return value; } - pub fn getDeviceMemoryOpaqueCaptureAddressKHR( + pub const QueueSetPerformanceConfigurationINTELError = Wrapper.QueueSetPerformanceConfigurationINTELError; + pub fn setPerformanceConfigurationINTEL( self: Self, - device: Device, - p_info: *const DeviceMemoryOpaqueCaptureAddressInfoKHR, - ) u64 { - return self.dispatch.vkGetDeviceMemoryOpaqueCaptureAddressKHR( - device, - p_info, + configuration: PerformanceConfigurationINTEL, + ) QueueSetPerformanceConfigurationINTELError!void { + return self.wrapper.queueSetPerformanceConfigurationINTEL( + self.handle, + configuration, ); } - pub const GetPipelineExecutablePropertiesKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn getPipelineExecutablePropertiesKHR( + pub const QueueSubmit2Error = Wrapper.QueueSubmit2Error; + pub fn submit2( self: Self, - device: Device, - p_pipeline_info: *const PipelineInfoKHR, - p_executable_count: *u32, - p_properties: ?[*]PipelineExecutablePropertiesKHR, - ) GetPipelineExecutablePropertiesKHRError!Result { - const result = self.dispatch.vkGetPipelineExecutablePropertiesKHR( - device, - p_pipeline_info, - p_executable_count, - p_properties, + submit_count: u32, + p_submits: ?[*]const SubmitInfo2, + fence: Fence, + ) QueueSubmit2Error!void { + return self.wrapper.queueSubmit2( + self.handle, + submit_count, + p_submits, + fence, ); - switch (result) { - Result.success => {}, - Result.incomplete => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return result; } - pub const GetPipelineExecutableStatisticsKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn getPipelineExecutableStatisticsKHR( + pub const QueueSubmit2KHRError = Wrapper.QueueSubmit2KHRError; + pub fn submit2KHR( self: Self, - device: Device, - p_executable_info: *const PipelineExecutableInfoKHR, - p_statistic_count: *u32, - p_statistics: ?[*]PipelineExecutableStatisticKHR, - ) GetPipelineExecutableStatisticsKHRError!Result { - const result = self.dispatch.vkGetPipelineExecutableStatisticsKHR( - device, - p_executable_info, - p_statistic_count, - p_statistics, + submit_count: u32, + p_submits: ?[*]const SubmitInfo2, + fence: Fence, + ) QueueSubmit2KHRError!void { + return self.wrapper.queueSubmit2KHR( + self.handle, + submit_count, + p_submits, + fence, ); - switch (result) { - Result.success => {}, - Result.incomplete => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return result; } - pub const GetPipelineExecutableInternalRepresentationsKHRError = error{ - OutOfHostMemory, - OutOfDeviceMemory, - Unknown, - }; - pub fn getPipelineExecutableInternalRepresentationsKHR( + pub fn getQueueCheckpointData2NV( self: Self, - device: Device, - p_executable_info: *const PipelineExecutableInfoKHR, - p_internal_representation_count: *u32, - p_internal_representations: ?[*]PipelineExecutableInternalRepresentationKHR, - ) GetPipelineExecutableInternalRepresentationsKHRError!Result { - const result = self.dispatch.vkGetPipelineExecutableInternalRepresentationsKHR( - device, - p_executable_info, - p_internal_representation_count, - p_internal_representations, + p_checkpoint_data_count: *u32, + p_checkpoint_data: ?[*]CheckpointData2NV, + ) void { + return self.wrapper.getQueueCheckpointData2NV( + self.handle, + p_checkpoint_data_count, + p_checkpoint_data, ); - switch (result) { - Result.success => {}, - Result.incomplete => {}, - Result.error_out_of_host_memory => return error.OutOfHostMemory, - Result.error_out_of_device_memory => return error.OutOfDeviceMemory, - else => return error.Unknown, - } - return result; } - pub fn cmdSetLineStippleEXT( + pub fn notifyOutOfBandNV( self: Self, - command_buffer: CommandBuffer, - line_stipple_factor: u32, - line_stipple_pattern: u16, + p_queue_type_info: *const OutOfBandQueueTypeInfoNV, ) void { - self.dispatch.vkCmdSetLineStippleEXT( - command_buffer, - line_stipple_factor, - line_stipple_pattern, + return self.wrapper.queueNotifyOutOfBandNV( + self.handle, + p_queue_type_info, ); } }; } - -// ------------------------------------------- - -pub const ANativeWindow = opaque {}; -pub const CAMetalLayer = opaque {}; -pub const AHardwareBuffer = opaque {};