semicongine/rendering/vulkan/api

Search:
Group by:

Types

AHardwareBuffer = object
ANativeWindow = object
CAMetalLayer = object
IOSurfaceRef = object
MTLBuffer_id = object
MTLDevice_id = object
MTLTexture_id = object
PFN_vkAllocationFunction = proc (pUserData: pointer; size: csize_t;
                                 alignment: csize_t;
                                 allocationScope: VkSystemAllocationScope): pointer {.
    cdecl.}
PFN_vkDebugReportCallbackEXT = proc (flags: VkDebugReportFlagsEXT;
                                     objectType: VkDebugReportObjectTypeEXT;
                                     theobject: uint64; location: csize_t;
                                     messageCode: int32; pLayerPrefix: cstring;
                                     pMessage: cstring; pUserData: pointer): VkBool32 {.
    cdecl.}
PFN_vkDebugUtilsMessengerCallbackEXT = proc (
    messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT;
    messageTypes: VkDebugUtilsMessageTypeFlagsEXT;
    pCallbackData: ptr VkDebugUtilsMessengerCallbackDataEXT; pUserData: pointer): VkBool32 {.
    cdecl.}
PFN_vkDeviceMemoryReportCallbackEXT = proc (
    pCallbackData: ptr VkDeviceMemoryReportCallbackDataEXT; pUserData: pointer): void {.
    cdecl.}
PFN_vkFaultCallbackFunction = proc (unrecordedFaults: VkBool32;
                                    faultCount: uint32; pFaults: ptr VkFaultData): void {.
    cdecl.}
PFN_vkFreeFunction = proc (pUserData: pointer; pMemory: pointer): void {.cdecl.}
PFN_vkGetInstanceProcAddrLUNARG = proc (instance: VkInstance; pName: cstring): PFN_vkVoidFunction {.
    cdecl.}
PFN_vkInternalAllocationNotification = proc (pUserData: pointer; size: csize_t;
    allocationType: VkInternalAllocationType;
    allocationScope: VkSystemAllocationScope): void {.cdecl.}
PFN_vkInternalFreeNotification = proc (pUserData: pointer; size: csize_t;
    allocationType: VkInternalAllocationType;
                                       allocationScope: VkSystemAllocationScope): void {.
    cdecl.}
PFN_vkReallocationFunction = proc (pUserData: pointer; pOriginal: pointer;
                                   size: csize_t; alignment: csize_t;
                                   allocationScope: VkSystemAllocationScope): pointer {.
    cdecl.}
PFN_vkVoidFunction = proc (): void {.cdecl.}
VkAabbPositionsKHR = object
  minX*: float32
  minY*: float32
  minZ*: float32
  maxX*: float32
  maxY*: float32
  maxZ*: float32
VkAccelerationStructureBuildRangeInfoKHR = object
  primitiveCount*: uint32
  primitiveOffset*: uint32
  firstVertex*: uint32
  transformOffset*: uint32
VkAccelerationStructureBuildSizesInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  accelerationStructureSize*: VkDeviceSize
  updateScratchSize*: VkDeviceSize
  buildScratchSize*: VkDeviceSize
VkAccelerationStructureBuildTypeKHR {.size: 4.} = enum
  VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
  VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
  VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2
VkAccelerationStructureCaptureDescriptorDataInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  accelerationStructure*: VkAccelerationStructureKHR
  accelerationStructureNV*: VkAccelerationStructureNV
VkAccelerationStructureCompatibilityKHR {.size: 4.} = enum
  VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
  VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1
VkAccelerationStructureCreateFlagBitsKHR {.size: 4.} = enum
  VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 1,
  VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 4,
  VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 8
VkAccelerationStructureCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  compactedSize*: VkDeviceSize
  info*: VkAccelerationStructureInfoNV
VkAccelerationStructureDeviceAddressInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  accelerationStructure*: VkAccelerationStructureKHR
VkAccelerationStructureGeometryTrianglesDataKHR = object
  sType*: VkStructureType
  pNext*: pointer
  vertexFormat*: VkFormat
  vertexData*: VkDeviceOrHostAddressConstKHR
  vertexStride*: VkDeviceSize
  maxVertex*: uint32
  indexType*: VkIndexType
  indexData*: VkDeviceOrHostAddressConstKHR
  transformData*: VkDeviceOrHostAddressConstKHR
VkAccelerationStructureInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  thetype*: VkAccelerationStructureTypeNV
  flags*: VkBuildAccelerationStructureFlagsNV
  instanceCount*: uint32
  geometryCount*: uint32
  pGeometries*: ptr VkGeometryNV
VkAccelerationStructureInstanceKHR = object
  transform*: VkTransformMatrixKHR
  instanceCustomIndex*: uint32
  mask*: uint32
  instanceShaderBindingTableRecordOffset*: uint32
  flags*: VkGeometryInstanceFlagsKHR
  accelerationStructureReference*: uint64
VkAccelerationStructureMatrixMotionInstanceNV = object
  transformT0*: VkTransformMatrixKHR
  transformT1*: VkTransformMatrixKHR
  instanceCustomIndex*: uint32
  mask*: uint32
  instanceShaderBindingTableRecordOffset*: uint32
  flags*: VkGeometryInstanceFlagsKHR
  accelerationStructureReference*: uint64
VkAccelerationStructureMemoryRequirementsTypeNV {.size: 4.} = enum
  VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
  VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
  VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2
VkAccelerationStructureMotionInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  maxInstances*: uint32
  flags*: VkAccelerationStructureMotionInfoFlagsNV
VkAccelerationStructureMotionInstanceTypeNV {.size: 4.} = enum
  VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
  VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
  VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2
VkAccelerationStructureSRTMotionInstanceNV = object
  transformT0*: VkSRTDataNV
  transformT1*: VkSRTDataNV
  instanceCustomIndex*: uint32
  mask*: uint32
  instanceShaderBindingTableRecordOffset*: uint32
  flags*: VkGeometryInstanceFlagsKHR
  accelerationStructureReference*: uint64
VkAccelerationStructureTrianglesOpacityMicromapEXT = object
  sType*: VkStructureType
  pNext*: pointer
  indexType*: VkIndexType
  indexBuffer*: VkDeviceOrHostAddressConstKHR
  indexStride*: VkDeviceSize
  baseTriangle*: uint32
  usageCountsCount*: uint32
  pUsageCounts*: ptr VkMicromapUsageEXT
  ppUsageCounts*: ptr ptr VkMicromapUsageEXT
  micromap*: VkMicromapEXT
VkAccelerationStructureTypeKHR {.size: 4.} = enum
  VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
  VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
  VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2
VkAccelerationStructureVersionInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  pVersionData*: ptr uint8
VkAccessFlagBits {.size: 4.} = enum
  VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 1, VK_ACCESS_INDEX_READ_BIT = 2,
  VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 4, VK_ACCESS_UNIFORM_READ_BIT = 8,
  VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 16, VK_ACCESS_SHADER_READ_BIT = 32,
  VK_ACCESS_SHADER_WRITE_BIT = 64, VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 128,
  VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 256,
  VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 512,
  VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 1024,
  VK_ACCESS_TRANSFER_READ_BIT = 2048, VK_ACCESS_TRANSFER_WRITE_BIT = 4096,
  VK_ACCESS_HOST_READ_BIT = 8192, VK_ACCESS_HOST_WRITE_BIT = 16384,
  VK_ACCESS_MEMORY_READ_BIT = 32768, VK_ACCESS_MEMORY_WRITE_BIT = 65536,
  VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 131072,
  VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144,
  VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288,
  VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 1048576,
  VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152,
  VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304,
  VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608,
  VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216,
  VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432,
  VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864,
  VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728
VkAccessFlagBits2 {.size: 8.} = enum
  VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 1, VK_ACCESS_2_INDEX_READ_BIT = 2,
  VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 4, VK_ACCESS_2_UNIFORM_READ_BIT = 8,
  VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 16, VK_ACCESS_2_SHADER_READ_BIT = 32,
  VK_ACCESS_2_SHADER_WRITE_BIT = 64,
  VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 128,
  VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 256,
  VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 512,
  VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 1024,
  VK_ACCESS_2_TRANSFER_READ_BIT = 2048, VK_ACCESS_2_TRANSFER_WRITE_BIT = 4096,
  VK_ACCESS_2_HOST_READ_BIT = 8192, VK_ACCESS_2_HOST_WRITE_BIT = 16384,
  VK_ACCESS_2_MEMORY_READ_BIT = 32768, VK_ACCESS_2_MEMORY_WRITE_BIT = 65536,
  VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 131072,
  VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 262144,
  VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 524288,
  VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 1048576,
  VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 2097152,
  VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 4194304,
  VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 8388608,
  VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 16777216,
  VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 33554432,
  VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 67108864,
  VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 134217728,
  VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 4294967296,
  VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 8589934592,
  VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 17179869184,
  VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 34359738368,
  VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 68719476736,
  VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 137438953472,
  VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 274877906944,
  VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 549755813888,
  VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 1099511627776,
  VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 2199023255552,
  VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 4398046511104,
  VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 8796093022208,
  VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 17592186044416,
  VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 35184372088832,
  VK_ACCESS_2_RESERVED_46_BIT_EXT = 70368744177664
VkAccessFlags = distinct VkFlags
VkAcquireNextImageInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  swapchain*: VkSwapchainKHR
  timeout*: uint64
  semaphore*: VkSemaphore
  fence*: VkFence
  deviceMask*: uint32
VkAcquireProfilingLockInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkAcquireProfilingLockFlagsKHR
  timeout*: uint64
VkAllocationCallbacks = object
  pUserData*: pointer
  pfnAllocation*: PFN_vkAllocationFunction
  pfnReallocation*: PFN_vkReallocationFunction
  pfnFree*: PFN_vkFreeFunction
  pfnInternalAllocation*: PFN_vkInternalAllocationNotification
  pfnInternalFree*: PFN_vkInternalFreeNotification
VkAmigoProfilingSubmitInfoSEC = object
  sType*: VkStructureType
  pNext*: pointer
  firstDrawTimestamp*: uint64
  swapBufferTimestamp*: uint64
VkApplicationInfo = object
  sType*: VkStructureType
  pNext*: pointer
  pApplicationName*: cstring
  applicationVersion*: uint32
  pEngineName*: cstring
  engineVersion*: uint32
  apiVersion*: uint32
VkApplicationParametersEXT = object
  sType*: VkStructureType
  pNext*: pointer
  vendorID*: uint32
  deviceID*: uint32
  key*: uint32
  value*: uint64
VkAttachmentDescription = object
  flags*: VkAttachmentDescriptionFlags
  format*: VkFormat
  samples*: VkSampleCountFlagBits
  loadOp*: VkAttachmentLoadOp
  storeOp*: VkAttachmentStoreOp
  stencilLoadOp*: VkAttachmentLoadOp
  stencilStoreOp*: VkAttachmentStoreOp
  initialLayout*: VkImageLayout
  finalLayout*: VkImageLayout
VkAttachmentDescription2 = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkAttachmentDescriptionFlags
  format*: VkFormat
  samples*: VkSampleCountFlagBits
  loadOp*: VkAttachmentLoadOp
  storeOp*: VkAttachmentStoreOp
  stencilLoadOp*: VkAttachmentLoadOp
  stencilStoreOp*: VkAttachmentStoreOp
  initialLayout*: VkImageLayout
  finalLayout*: VkImageLayout
VkAttachmentDescriptionFlagBits {.size: 4.} = enum
  VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 1
VkAttachmentDescriptionStencilLayout = object
  sType*: VkStructureType
  pNext*: pointer
  stencilInitialLayout*: VkImageLayout
  stencilFinalLayout*: VkImageLayout
VkAttachmentLoadOp {.size: 4.} = enum
  VK_ATTACHMENT_LOAD_OP_LOAD = 0, VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
  VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
  VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000
VkAttachmentReference = object
  attachment*: uint32
  layout*: VkImageLayout
VkAttachmentReference2 = object
  sType*: VkStructureType
  pNext*: pointer
  attachment*: uint32
  layout*: VkImageLayout
  aspectMask*: VkImageAspectFlags
VkAttachmentReferenceStencilLayout = object
  sType*: VkStructureType
  pNext*: pointer
  stencilLayout*: VkImageLayout
VkAttachmentSampleCountInfoAMD = object
  sType*: VkStructureType
  pNext*: pointer
  colorAttachmentCount*: uint32
  pColorAttachmentSamples*: ptr VkSampleCountFlagBits
  depthStencilAttachmentSamples*: VkSampleCountFlagBits
VkAttachmentSampleLocationsEXT = object
  attachmentIndex*: uint32
  sampleLocationsInfo*: VkSampleLocationsInfoEXT
VkAttachmentStoreOp {.size: 4.} = enum
  VK_ATTACHMENT_STORE_OP_STORE = 0, VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
  VK_ATTACHMENT_STORE_OP_NONE = 1000301000
VkBaseInStructure = object
  sType*: VkStructureType
  pNext*: ptr VkBaseInStructure
VkBindAccelerationStructureMemoryInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  accelerationStructure*: VkAccelerationStructureNV
  memory*: VkDeviceMemory
  memoryOffset*: VkDeviceSize
  deviceIndexCount*: uint32
  pDeviceIndices*: ptr uint32
VkBindBufferMemoryDeviceGroupInfo = object
  sType*: VkStructureType
  pNext*: pointer
  deviceIndexCount*: uint32
  pDeviceIndices*: ptr uint32
VkBindBufferMemoryInfo = object
  sType*: VkStructureType
  pNext*: pointer
  buffer*: VkBuffer
  memory*: VkDeviceMemory
  memoryOffset*: VkDeviceSize
VkBindImageMemoryDeviceGroupInfo = object
  sType*: VkStructureType
  pNext*: pointer
  deviceIndexCount*: uint32
  pDeviceIndices*: ptr uint32
  splitInstanceBindRegionCount*: uint32
  pSplitInstanceBindRegions*: ptr VkRect2D
VkBindImageMemoryInfo = object
  sType*: VkStructureType
  pNext*: pointer
  image*: VkImage
  memory*: VkDeviceMemory
  memoryOffset*: VkDeviceSize
VkBindImageMemorySwapchainInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  swapchain*: VkSwapchainKHR
  imageIndex*: uint32
VkBindImagePlaneMemoryInfo = object
  sType*: VkStructureType
  pNext*: pointer
  planeAspect*: VkImageAspectFlagBits
VkBindIndexBufferIndirectCommandNV = object
  bufferAddress*: VkDeviceAddress
  size*: uint32
  indexType*: VkIndexType
VkBindShaderGroupIndirectCommandNV = object
  groupIndex*: uint32
VkBindSparseInfo = object
  sType*: VkStructureType
  pNext*: pointer
  waitSemaphoreCount*: uint32
  pWaitSemaphores*: ptr VkSemaphore
  bufferBindCount*: uint32
  pBufferBinds*: ptr VkSparseBufferMemoryBindInfo
  imageOpaqueBindCount*: uint32
  pImageOpaqueBinds*: ptr VkSparseImageOpaqueMemoryBindInfo
  imageBindCount*: uint32
  pImageBinds*: ptr VkSparseImageMemoryBindInfo
  signalSemaphoreCount*: uint32
  pSignalSemaphores*: ptr VkSemaphore
VkBindVertexBufferIndirectCommandNV = object
  bufferAddress*: VkDeviceAddress
  size*: uint32
  stride*: uint32
VkBlendFactor {.size: 4.} = enum
  VK_BLEND_FACTOR_ZERO = 0, VK_BLEND_FACTOR_ONE = 1,
  VK_BLEND_FACTOR_SRC_COLOR = 2, VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
  VK_BLEND_FACTOR_DST_COLOR = 4, VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
  VK_BLEND_FACTOR_SRC_ALPHA = 6, VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
  VK_BLEND_FACTOR_DST_ALPHA = 8, VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
  VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
  VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
  VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
  VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
  VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, VK_BLEND_FACTOR_SRC1_COLOR = 15,
  VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, VK_BLEND_FACTOR_SRC1_ALPHA = 17,
  VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18
VkBlendOp {.size: 4.} = enum
  VK_BLEND_OP_ADD = 0, VK_BLEND_OP_SUBTRACT = 1,
  VK_BLEND_OP_REVERSE_SUBTRACT = 2, VK_BLEND_OP_MIN = 3, VK_BLEND_OP_MAX = 4,
  VK_BLEND_OP_ZERO_EXT = 1000148000, VK_BLEND_OP_SRC_EXT = 1000148001,
  VK_BLEND_OP_DST_EXT = 1000148002, VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
  VK_BLEND_OP_DST_OVER_EXT = 1000148004, VK_BLEND_OP_SRC_IN_EXT = 1000148005,
  VK_BLEND_OP_DST_IN_EXT = 1000148006, VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
  VK_BLEND_OP_DST_OUT_EXT = 1000148008, VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
  VK_BLEND_OP_DST_ATOP_EXT = 1000148010, VK_BLEND_OP_XOR_EXT = 1000148011,
  VK_BLEND_OP_MULTIPLY_EXT = 1000148012, VK_BLEND_OP_SCREEN_EXT = 1000148013,
  VK_BLEND_OP_OVERLAY_EXT = 1000148014, VK_BLEND_OP_DARKEN_EXT = 1000148015,
  VK_BLEND_OP_LIGHTEN_EXT = 1000148016, VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
  VK_BLEND_OP_COLORBURN_EXT = 1000148018,
  VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
  VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
  VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
  VK_BLEND_OP_EXCLUSION_EXT = 1000148022, VK_BLEND_OP_INVERT_EXT = 1000148023,
  VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
  VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
  VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
  VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
  VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
  VK_BLEND_OP_PINLIGHT_EXT = 1000148029, VK_BLEND_OP_HARDMIX_EXT = 1000148030,
  VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
  VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
  VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
  VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
  VK_BLEND_OP_PLUS_EXT = 1000148035, VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
  VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
  VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, VK_BLEND_OP_MINUS_EXT = 1000148039,
  VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
  VK_BLEND_OP_CONTRAST_EXT = 1000148041,
  VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, VK_BLEND_OP_RED_EXT = 1000148043,
  VK_BLEND_OP_GREEN_EXT = 1000148044, VK_BLEND_OP_BLUE_EXT = 1000148045
VkBlendOverlapEXT {.size: 4.} = enum
  VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
  VK_BLEND_OVERLAP_CONJOINT_EXT = 2
VkBlitImageInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcImage*: VkImage
  srcImageLayout*: VkImageLayout
  dstImage*: VkImage
  dstImageLayout*: VkImageLayout
  regionCount*: uint32
  pRegions*: ptr VkImageBlit2
  filter*: VkFilter
VkBool32 = uint32
VkBorderColor {.size: 4.} = enum
  VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
  VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
  VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
  VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
  VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
  VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004
VkBufferCaptureDescriptorDataInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  buffer*: VkBuffer
VkBufferCopy = object
  srcOffset*: VkDeviceSize
  dstOffset*: VkDeviceSize
  size*: VkDeviceSize
VkBufferCopy2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcOffset*: VkDeviceSize
  dstOffset*: VkDeviceSize
  size*: VkDeviceSize
VkBufferCopy2KHR = object
VkBufferCreateFlagBits {.size: 4.} = enum
  VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 1,
  VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 2,
  VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 4, VK_BUFFER_CREATE_PROTECTED_BIT = 8,
  VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 16,
  VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 32
VkBufferCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkBufferCreateFlags
  size*: VkDeviceSize
  usage*: VkBufferUsageFlags
  sharingMode*: VkSharingMode
  queueFamilyIndexCount*: uint32
  pQueueFamilyIndices*: ptr uint32
VkBufferDeviceAddressCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  deviceAddress*: VkDeviceAddress
VkBufferDeviceAddressInfo = object
  sType*: VkStructureType
  pNext*: pointer
  buffer*: VkBuffer
VkBufferImageCopy = object
  bufferOffset*: VkDeviceSize
  bufferRowLength*: uint32
  bufferImageHeight*: uint32
  imageSubresource*: VkImageSubresourceLayers
  imageOffset*: VkOffset3D
  imageExtent*: VkExtent3D
VkBufferImageCopy2 = object
  sType*: VkStructureType
  pNext*: pointer
  bufferOffset*: VkDeviceSize
  bufferRowLength*: uint32
  bufferImageHeight*: uint32
  imageSubresource*: VkImageSubresourceLayers
  imageOffset*: VkOffset3D
  imageExtent*: VkExtent3D
VkBufferMemoryBarrier = object
  sType*: VkStructureType
  pNext*: pointer
  srcAccessMask*: VkAccessFlags
  dstAccessMask*: VkAccessFlags
  srcQueueFamilyIndex*: uint32
  dstQueueFamilyIndex*: uint32
  buffer*: VkBuffer
  offset*: VkDeviceSize
  size*: VkDeviceSize
VkBufferMemoryBarrier2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcStageMask*: VkPipelineStageFlags2
  srcAccessMask*: VkAccessFlags2
  dstStageMask*: VkPipelineStageFlags2
  dstAccessMask*: VkAccessFlags2
  srcQueueFamilyIndex*: uint32
  dstQueueFamilyIndex*: uint32
  buffer*: VkBuffer
  offset*: VkDeviceSize
  size*: VkDeviceSize
VkBufferMemoryRequirementsInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  buffer*: VkBuffer
VkBufferOpaqueCaptureAddressCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  opaqueCaptureAddress*: uint64
VkBufferUsageFlagBits {.size: 4.} = enum
  VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 1, VK_BUFFER_USAGE_TRANSFER_DST_BIT = 2,
  VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 4,
  VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 8,
  VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 16,
  VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 32,
  VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 64,
  VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 128,
  VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 256,
  VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 512,
  VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 1024,
  VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 2048,
  VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 4096,
  VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 8192,
  VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 16384,
  VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 32768,
  VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 65536,
  VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 131072,
  VK_BUFFER_USAGE_RESERVED_18_BIT_QCOM = 262144, VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 524288,
  VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 1048576,
  VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 2097152,
  VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 4194304,
  VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 8388608,
  VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 16777216,
  VK_BUFFER_USAGE_RESERVED_25_BIT_AMD = 33554432,
  VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 67108864
VkBufferViewCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkBufferViewCreateFlags
  buffer*: VkBuffer
  format*: VkFormat
  offset*: VkDeviceSize
  range*: VkDeviceSize
VkBuildAccelerationStructureFlagBitsKHR {.size: 4.} = enum
  VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 1,
  VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 2,
  VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 4,
  VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 8,
  VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 16,
  VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 32,
  VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 64,
  VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 128,
  VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 256,
  VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_BIT_9_NV = 512,
  VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_BIT_10_NV = 1024
VkBuildAccelerationStructureModeKHR {.size: 4.} = enum
  VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
  VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1
VkBuildMicromapFlagBitsEXT {.size: 4.} = enum
  VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 1,
  VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 2,
  VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 4
VkBuildMicromapModeEXT {.size: 4.} = enum
  VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0
VkCalibratedTimestampInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  timeDomain*: VkTimeDomainEXT
VkCheckpointData2NV = object
  sType*: VkStructureType
  pNext*: pointer
  stage*: VkPipelineStageFlags2
  pCheckpointMarker*: pointer
VkCheckpointDataNV = object
  sType*: VkStructureType
  pNext*: pointer
  stage*: VkPipelineStageFlagBits
  pCheckpointMarker*: pointer
VkChromaLocation {.size: 4.} = enum
  VK_CHROMA_LOCATION_COSITED_EVEN = 0, VK_CHROMA_LOCATION_MIDPOINT = 1
VkClearAttachment = object
  aspectMask*: VkImageAspectFlags
  colorAttachment*: uint32
  clearValue*: VkClearValue
VkClearColorValue {.union.} = object
  float32*: array[4, float32]
  int32*: array[4, int32]
  uint32*: array[4, uint32]
VkClearDepthStencilValue = object
  depth*: float32
  stencil*: uint32
VkClearRect = object
  rect*: VkRect2D
  baseArrayLayer*: uint32
  layerCount*: uint32
VkClearValue {.union.} = object
  color*: VkClearColorValue
  depthStencil*: VkClearDepthStencilValue
VkCoarseSampleLocationNV = object
  pixelX*: uint32
  pixelY*: uint32
  sample*: uint32
VkCoarseSampleOrderCustomNV = object
  shadingRate*: VkShadingRatePaletteEntryNV
  sampleCount*: uint32
  sampleLocationCount*: uint32
  pSampleLocations*: ptr VkCoarseSampleLocationNV
VkCoarseSampleOrderTypeNV {.size: 4.} = enum
  VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
  VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
  VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
  VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3
VkColorBlendAdvancedEXT = object
  advancedBlendOp*: VkBlendOp
  srcPremultiplied*: VkBool32
  dstPremultiplied*: VkBool32
  blendOverlap*: VkBlendOverlapEXT
  clampResults*: VkBool32
VkColorBlendEquationEXT = object
  srcColorBlendFactor*: VkBlendFactor
  dstColorBlendFactor*: VkBlendFactor
  colorBlendOp*: VkBlendOp
  srcAlphaBlendFactor*: VkBlendFactor
  dstAlphaBlendFactor*: VkBlendFactor
  alphaBlendOp*: VkBlendOp
VkColorComponentFlagBits {.size: 4.} = enum
  VK_COLOR_COMPONENT_R_BIT = 1, VK_COLOR_COMPONENT_G_BIT = 2,
  VK_COLOR_COMPONENT_B_BIT = 4, VK_COLOR_COMPONENT_A_BIT = 8
VkColorSpaceKHR {.size: 4.} = enum
  VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
  VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
  VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
  VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
  VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
  VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
  VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
  VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
  VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
  VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
  VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
  VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
  VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
  VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
  VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
  VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000
VkCommandBufferAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  commandPool*: VkCommandPool
  level*: VkCommandBufferLevel
  commandBufferCount*: uint32
VkCommandBufferBeginInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkCommandBufferUsageFlags
  pInheritanceInfo*: ptr VkCommandBufferInheritanceInfo
VkCommandBufferInheritanceConditionalRenderingInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  conditionalRenderingEnable*: VkBool32
VkCommandBufferInheritanceInfo = object
  sType*: VkStructureType
  pNext*: pointer
  renderPass*: VkRenderPass
  subpass*: uint32
  framebuffer*: VkFramebuffer
  occlusionQueryEnable*: VkBool32
  queryFlags*: VkQueryControlFlags
  pipelineStatistics*: VkQueryPipelineStatisticFlags
VkCommandBufferInheritanceRenderingInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkRenderingFlags
  viewMask*: uint32
  colorAttachmentCount*: uint32
  pColorAttachmentFormats*: ptr VkFormat
  depthAttachmentFormat*: VkFormat
  stencilAttachmentFormat*: VkFormat
  rasterizationSamples*: VkSampleCountFlagBits
VkCommandBufferInheritanceViewportScissorInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  viewportScissor2D*: VkBool32
  viewportDepthCount*: uint32
  pViewportDepths*: ptr VkViewport
VkCommandBufferLevel {.size: 4.} = enum
  VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1
VkCommandBufferResetFlagBits {.size: 4.} = enum
  VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 1
VkCommandBufferSubmitInfo = object
  sType*: VkStructureType
  pNext*: pointer
  commandBuffer*: VkCommandBuffer
  deviceMask*: uint32
VkCommandBufferUsageFlagBits {.size: 4.} = enum
  VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 1,
  VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 2,
  VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 4
VkCommandPoolCreateFlagBits {.size: 4.} = enum
  VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 1,
  VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 2,
  VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 4
VkCommandPoolCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkCommandPoolCreateFlags
  queueFamilyIndex*: uint32
VkCommandPoolMemoryConsumption = object
  sType*: VkStructureType
  pNext*: pointer
  commandPoolAllocated*: VkDeviceSize
  commandPoolReservedSize*: VkDeviceSize
  commandBufferAllocated*: VkDeviceSize
VkCommandPoolMemoryReservationCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  commandPoolReservedSize*: VkDeviceSize
  commandPoolMaxCommandBuffers*: uint32
VkCommandPoolResetFlagBits {.size: 4.} = enum
  VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 1,
  VK_COMMAND_POOL_RESET_RESERVED_1_BIT_COREAVI = 2
VkCompareOp {.size: 4.} = enum
  VK_COMPARE_OP_NEVER = 0, VK_COMPARE_OP_LESS = 1, VK_COMPARE_OP_EQUAL = 2,
  VK_COMPARE_OP_LESS_OR_EQUAL = 3, VK_COMPARE_OP_GREATER = 4,
  VK_COMPARE_OP_NOT_EQUAL = 5, VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
  VK_COMPARE_OP_ALWAYS = 7
VkComponentSwizzle {.size: 4.} = enum
  VK_COMPONENT_SWIZZLE_IDENTITY = 0, VK_COMPONENT_SWIZZLE_ZERO = 1,
  VK_COMPONENT_SWIZZLE_ONE = 2, VK_COMPONENT_SWIZZLE_R = 3,
  VK_COMPONENT_SWIZZLE_G = 4, VK_COMPONENT_SWIZZLE_B = 5,
  VK_COMPONENT_SWIZZLE_A = 6
VkComponentTypeNV {.size: 4.} = enum
  VK_COMPONENT_TYPE_FLOAT16_NV = 0, VK_COMPONENT_TYPE_FLOAT32_NV = 1,
  VK_COMPONENT_TYPE_FLOAT64_NV = 2, VK_COMPONENT_TYPE_SINT8_NV = 3,
  VK_COMPONENT_TYPE_SINT16_NV = 4, VK_COMPONENT_TYPE_SINT32_NV = 5,
  VK_COMPONENT_TYPE_SINT64_NV = 6, VK_COMPONENT_TYPE_UINT8_NV = 7,
  VK_COMPONENT_TYPE_UINT16_NV = 8, VK_COMPONENT_TYPE_UINT32_NV = 9,
  VK_COMPONENT_TYPE_UINT64_NV = 10
VkCompositeAlphaFlagBitsKHR {.size: 4.} = enum
  VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1,
  VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2,
  VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4,
  VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8
VkComputePipelineCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineCreateFlags
  stage*: VkPipelineShaderStageCreateInfo
  layout*: VkPipelineLayout
  basePipelineHandle*: VkPipeline
  basePipelineIndex*: int32
VkConditionalRenderingFlagBitsEXT {.size: 4.} = enum
  VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 1
VkConformanceVersion = object
  major*: uint8
  minor*: uint8
  subminor*: uint8
  patch*: uint8
VkConservativeRasterizationModeEXT {.size: 4.} = enum
  VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
  VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
  VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2
VkCooperativeMatrixPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  MSize*: uint32
  NSize*: uint32
  KSize*: uint32
  AType*: VkComponentTypeNV
  BType*: VkComponentTypeNV
  CType*: VkComponentTypeNV
  DType*: VkComponentTypeNV
  scope*: VkScopeNV
VkCopyAccelerationStructureModeKHR {.size: 4.} = enum
  VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
  VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
  VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
  VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3
VkCopyBufferInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcBuffer*: VkBuffer
  dstBuffer*: VkBuffer
  regionCount*: uint32
  pRegions*: ptr VkBufferCopy2
VkCopyBufferToImageInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcBuffer*: VkBuffer
  dstImage*: VkImage
  dstImageLayout*: VkImageLayout
  regionCount*: uint32
  pRegions*: ptr VkBufferImageCopy2
VkCopyDescriptorSet = object
  sType*: VkStructureType
  pNext*: pointer
  srcSet*: VkDescriptorSet
  srcBinding*: uint32
  srcArrayElement*: uint32
  dstSet*: VkDescriptorSet
  dstBinding*: uint32
  dstArrayElement*: uint32
  descriptorCount*: uint32
VkCopyImageInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcImage*: VkImage
  srcImageLayout*: VkImageLayout
  dstImage*: VkImage
  dstImageLayout*: VkImageLayout
  regionCount*: uint32
  pRegions*: ptr VkImageCopy2
VkCopyImageToBufferInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcImage*: VkImage
  srcImageLayout*: VkImageLayout
  dstBuffer*: VkBuffer
  regionCount*: uint32
  pRegions*: ptr VkBufferImageCopy2
VkCopyMemoryToImageIndirectCommandNV = object
  srcAddress*: VkDeviceAddress
  bufferRowLength*: uint32
  bufferImageHeight*: uint32
  imageSubresource*: VkImageSubresourceLayers
  imageOffset*: VkOffset3D
  imageExtent*: VkExtent3D
VkCopyMicromapInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  src*: VkMicromapEXT
  dst*: VkMicromapEXT
  mode*: VkCopyMicromapModeEXT
VkCopyMicromapModeEXT {.size: 4.} = enum
  VK_COPY_MICROMAP_MODE_CLONE_EXT = 0, VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1,
  VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2,
  VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3
VkCoverageModulationModeNV {.size: 4.} = enum
  VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
  VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
  VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
  VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3
VkCoverageReductionModeNV {.size: 4.} = enum
  VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
  VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1
VkCuFunctionCreateInfoNVX = object
  sType*: VkStructureType
  pNext*: pointer
  module*: VkCuModuleNVX
  pName*: cstring
VkCuLaunchInfoNVX = object
  sType*: VkStructureType
  pNext*: pointer
  function*: VkCuFunctionNVX
  gridDimX*: uint32
  gridDimY*: uint32
  gridDimZ*: uint32
  blockDimX*: uint32
  blockDimY*: uint32
  blockDimZ*: uint32
  sharedMemBytes*: uint32
  paramCount*: csize_t
  pParams*: ptr pointer
  extraCount*: csize_t
  pExtras*: ptr pointer
VkCullModeFlagBits {.size: 4.} = enum
  VK_CULL_MODE_FRONT_BIT = 1, VK_CULL_MODE_BACK_BIT = 2
VkCuModuleCreateInfoNVX = object
  sType*: VkStructureType
  pNext*: pointer
  dataSize*: csize_t
  pData*: pointer
VkDebugMarkerMarkerInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pMarkerName*: cstring
  color*: array[4, float32]
VkDebugMarkerObjectNameInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  objectType*: VkDebugReportObjectTypeEXT
  theobject*: uint64
  pObjectName*: cstring
VkDebugMarkerObjectTagInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  objectType*: VkDebugReportObjectTypeEXT
  theobject*: uint64
  tagName*: uint64
  tagSize*: csize_t
  pTag*: pointer
VkDebugReportCallbackCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDebugReportFlagsEXT
  pfnCallback*: PFN_vkDebugReportCallbackEXT
  pUserData*: pointer
VkDebugReportFlagBitsEXT {.size: 4.} = enum
  VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 1, VK_DEBUG_REPORT_WARNING_BIT_EXT = 2,
  VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 4,
  VK_DEBUG_REPORT_ERROR_BIT_EXT = 8, VK_DEBUG_REPORT_DEBUG_BIT_EXT = 16
VkDebugReportObjectTypeEXT {.size: 4.} = enum
  VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
  VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
  VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
  VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
  VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
  VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
  VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
  VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
  VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
  VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
  VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
  VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
  VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
  VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
  VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
  VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
  VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
  VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
  VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
  VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
  VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
  VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
  VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
  VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
  VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
  VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
  VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
  VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
  VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
  VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
  VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
  VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
  VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
  VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
  VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
  VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
  VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
  VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
  VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000
VkDebugUtilsLabelEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pLabelName*: cstring
  color*: array[4, float32]
VkDebugUtilsMessageSeverityFlagBitsEXT {.size: 4.} = enum
  VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 1,
  VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 16,
  VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 256,
  VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 4096
VkDebugUtilsMessageTypeFlagBitsEXT {.size: 4.} = enum
  VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 1,
  VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 2,
  VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 4,
  VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 8
VkDebugUtilsMessengerCallbackDataEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDebugUtilsMessengerCallbackDataFlagsEXT
  pMessageIdName*: cstring
  messageIdNumber*: int32
  pMessage*: cstring
  queueLabelCount*: uint32
  pQueueLabels*: ptr VkDebugUtilsLabelEXT
  cmdBufLabelCount*: uint32
  pCmdBufLabels*: ptr VkDebugUtilsLabelEXT
  objectCount*: uint32
  pObjects*: ptr VkDebugUtilsObjectNameInfoEXT
VkDebugUtilsObjectNameInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  objectType*: VkObjectType
  objectHandle*: uint64
  pObjectName*: cstring
VkDebugUtilsObjectTagInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  objectType*: VkObjectType
  objectHandle*: uint64
  tagName*: uint64
  tagSize*: csize_t
  pTag*: pointer
VkDecompressMemoryRegionNV = object
  srcAddress*: VkDeviceAddress
  dstAddress*: VkDeviceAddress
  compressedSize*: VkDeviceSize
  decompressedSize*: VkDeviceSize
  decompressionMethod*: VkMemoryDecompressionMethodFlagsNV
VkDedicatedAllocationBufferCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  dedicatedAllocation*: VkBool32
VkDedicatedAllocationImageCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  dedicatedAllocation*: VkBool32
VkDedicatedAllocationMemoryAllocateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  image*: VkImage
  buffer*: VkBuffer
VkDependencyFlagBits {.size: 4.} = enum
  VK_DEPENDENCY_BY_REGION_BIT = 1, VK_DEPENDENCY_VIEW_LOCAL_BIT = 2,
  VK_DEPENDENCY_DEVICE_GROUP_BIT = 4, VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 8
VkDependencyInfo = object
  sType*: VkStructureType
  pNext*: pointer
  dependencyFlags*: VkDependencyFlags
  memoryBarrierCount*: uint32
  pMemoryBarriers*: ptr VkMemoryBarrier2
  bufferMemoryBarrierCount*: uint32
  pBufferMemoryBarriers*: ptr VkBufferMemoryBarrier2
  imageMemoryBarrierCount*: uint32
  pImageMemoryBarriers*: ptr VkImageMemoryBarrier2
VkDescriptorAddressInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  address*: VkDeviceAddress
  range*: VkDeviceSize
  format*: VkFormat
VkDescriptorBindingFlagBits {.size: 4.} = enum
  VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 1,
  VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 2,
  VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 4,
  VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 8,
  VK_DESCRIPTOR_BINDING_RESERVED_4_BIT_QCOM = 16
VkDescriptorBufferBindingInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  address*: VkDeviceAddress
  usage*: VkBufferUsageFlags
VkDescriptorBufferInfo = object
  buffer*: VkBuffer
  offset*: VkDeviceSize
  range*: VkDeviceSize
VkDescriptorDataEXT {.union.} = object
  pSampler*: ptr VkSampler
  pCombinedImageSampler*: ptr VkDescriptorImageInfo
  pInputAttachmentImage*: ptr VkDescriptorImageInfo
  pSampledImage*: ptr VkDescriptorImageInfo
  pStorageImage*: ptr VkDescriptorImageInfo
  pUniformTexelBuffer*: ptr VkDescriptorAddressInfoEXT
  pStorageTexelBuffer*: ptr VkDescriptorAddressInfoEXT
  pUniformBuffer*: ptr VkDescriptorAddressInfoEXT
  pStorageBuffer*: ptr VkDescriptorAddressInfoEXT
  accelerationStructure*: VkDeviceAddress
VkDescriptorGetInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  thetype*: VkDescriptorType
  data*: VkDescriptorDataEXT
VkDescriptorImageInfo = object
  sampler*: VkSampler
  imageView*: VkImageView
  imageLayout*: VkImageLayout
VkDescriptorPoolCreateFlagBits {.size: 4.} = enum
  VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 1,
  VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 2,
  VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 4
VkDescriptorPoolCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDescriptorPoolCreateFlags
  maxSets*: uint32
  poolSizeCount*: uint32
  pPoolSizes*: ptr VkDescriptorPoolSize
VkDescriptorPoolInlineUniformBlockCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  maxInlineUniformBlockBindings*: uint32
VkDescriptorPoolSize = object
  thetype*: VkDescriptorType
  descriptorCount*: uint32
VkDescriptorSetAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  descriptorPool*: VkDescriptorPool
  descriptorSetCount*: uint32
  pSetLayouts*: ptr VkDescriptorSetLayout
VkDescriptorSetBindingReferenceVALVE = object
  sType*: VkStructureType
  pNext*: pointer
  descriptorSetLayout*: VkDescriptorSetLayout
  binding*: uint32
VkDescriptorSetLayoutBinding = object
  binding*: uint32
  descriptorType*: VkDescriptorType
  descriptorCount*: uint32
  stageFlags*: VkShaderStageFlags
  pImmutableSamplers*: ptr VkSampler
VkDescriptorSetLayoutBindingFlagsCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  bindingCount*: uint32
  pBindingFlags*: ptr VkDescriptorBindingFlags
VkDescriptorSetLayoutCreateFlagBits {.size: 4.} = enum
  VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 1,
  VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 2,
  VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 4,
  VK_DESCRIPTOR_SET_LAYOUT_CREATE_RESERVED_3_BIT_AMD = 8,
  VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 16,
  VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 32
VkDescriptorSetLayoutCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDescriptorSetLayoutCreateFlags
  bindingCount*: uint32
  pBindings*: ptr VkDescriptorSetLayoutBinding
VkDescriptorSetLayoutHostMappingInfoVALVE = object
  sType*: VkStructureType
  pNext*: pointer
  descriptorOffset*: csize_t
  descriptorSize*: uint32
VkDescriptorSetLayoutSupport = object
  sType*: VkStructureType
  pNext*: pointer
  supported*: VkBool32
VkDescriptorSetVariableDescriptorCountAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  descriptorSetCount*: uint32
  pDescriptorCounts*: ptr uint32
VkDescriptorSetVariableDescriptorCountLayoutSupport = object
  sType*: VkStructureType
  pNext*: pointer
  maxVariableDescriptorCount*: uint32
VkDescriptorType {.size: 4.} = enum
  VK_DESCRIPTOR_TYPE_SAMPLER = 0, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
  VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
  VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
  VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
  VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
  VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
  VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
  VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
  VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000,
  VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
  VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
  VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000,
  VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000,
  VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001
VkDescriptorUpdateTemplateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDescriptorUpdateTemplateCreateFlags
  descriptorUpdateEntryCount*: uint32
  pDescriptorUpdateEntries*: ptr VkDescriptorUpdateTemplateEntry
  templateType*: VkDescriptorUpdateTemplateType
  descriptorSetLayout*: VkDescriptorSetLayout
  pipelineBindPoint*: VkPipelineBindPoint
  pipelineLayout*: VkPipelineLayout
  set*: uint32
VkDescriptorUpdateTemplateEntry = object
  dstBinding*: uint32
  dstArrayElement*: uint32
  descriptorCount*: uint32
  descriptorType*: VkDescriptorType
  offset*: csize_t
  stride*: csize_t
VkDescriptorUpdateTemplateType {.size: 4.} = enum
  VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
  VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1
VkDevice = distinct VkHandle
VkDeviceAddress = uint64
VkDeviceAddressBindingFlagBitsEXT {.size: 4.} = enum
  VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 1
VkDeviceAddressBindingTypeEXT {.size: 4.} = enum
  VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0,
  VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1
VkDeviceBufferMemoryRequirements = object
  sType*: VkStructureType
  pNext*: pointer
  pCreateInfo*: ptr VkBufferCreateInfo
VkDeviceCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDeviceCreateFlags
  queueCreateInfoCount*: uint32
  pQueueCreateInfos*: ptr VkDeviceQueueCreateInfo
  enabledLayerCount*: uint32
  ppEnabledLayerNames*: cstringArray
  enabledExtensionCount*: uint32
  ppEnabledExtensionNames*: cstringArray
  pEnabledFeatures*: ptr VkPhysicalDeviceFeatures
VkDeviceDeviceMemoryReportCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDeviceMemoryReportFlagsEXT
  pfnUserCallback*: PFN_vkDeviceMemoryReportCallbackEXT
  pUserData*: pointer
VkDeviceDiagnosticsConfigFlagBitsNV {.size: 4.} = enum
  VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 1,
  VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 2,
  VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 4,
  VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 8
VkDeviceEventInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  deviceEvent*: VkDeviceEventTypeEXT
VkDeviceEventTypeEXT {.size: 4.} = enum
  VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0
VkDeviceFaultAddressInfoEXT = object
  addressType*: VkDeviceFaultAddressTypeEXT
  reportedAddress*: VkDeviceAddress
  addressPrecision*: VkDeviceSize
VkDeviceFaultAddressTypeEXT {.size: 4.} = enum
  VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0,
  VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1,
  VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2,
  VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3,
  VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4,
  VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5,
  VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6
VkDeviceFaultCountsEXT = object
  sType*: VkStructureType
  pNext*: pointer
  addressInfoCount*: uint32
  vendorInfoCount*: uint32
  vendorBinarySize*: VkDeviceSize
VkDeviceFaultInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
  pAddressInfos*: ptr VkDeviceFaultAddressInfoEXT
  pVendorInfos*: ptr VkDeviceFaultVendorInfoEXT
  pVendorBinaryData*: pointer
VkDeviceFaultVendorBinaryHeaderVersionEXT {.size: 4.} = enum
  VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT_ENUM = 1
VkDeviceFaultVendorBinaryHeaderVersionOneEXT = object
  headerSize*: uint32
  headerVersion*: VkDeviceFaultVendorBinaryHeaderVersionEXT
  vendorID*: uint32
  deviceID*: uint32
  driverVersion*: uint32
  pipelineCacheUUID*: array[VK_UUID_SIZE, uint8]
  applicationNameOffset*: uint32
  applicationVersion*: uint32
  engineNameOffset*: uint32
VkDeviceFaultVendorInfoEXT = object
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
  vendorFaultCode*: uint64
  vendorFaultData*: uint64
VkDeviceGroupBindSparseInfo = object
  sType*: VkStructureType
  pNext*: pointer
  resourceDeviceIndex*: uint32
  memoryDeviceIndex*: uint32
VkDeviceGroupCommandBufferBeginInfo = object
  sType*: VkStructureType
  pNext*: pointer
  deviceMask*: uint32
VkDeviceGroupDeviceCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  physicalDeviceCount*: uint32
  pPhysicalDevices*: ptr VkPhysicalDevice
VkDeviceGroupPresentCapabilitiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  presentMask*: array[VK_MAX_DEVICE_GROUP_SIZE, uint32]
  modes*: VkDeviceGroupPresentModeFlagsKHR
VkDeviceGroupPresentInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  swapchainCount*: uint32
  pDeviceMasks*: ptr uint32
  mode*: VkDeviceGroupPresentModeFlagBitsKHR
VkDeviceGroupPresentModeFlagBitsKHR {.size: 4.} = enum
  VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 1,
  VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 2,
  VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 4,
  VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 8
VkDeviceGroupRenderPassBeginInfo = object
  sType*: VkStructureType
  pNext*: pointer
  deviceMask*: uint32
  deviceRenderAreaCount*: uint32
  pDeviceRenderAreas*: ptr VkRect2D
VkDeviceGroupSubmitInfo = object
  sType*: VkStructureType
  pNext*: pointer
  waitSemaphoreCount*: uint32
  pWaitSemaphoreDeviceIndices*: ptr uint32
  commandBufferCount*: uint32
  pCommandBufferDeviceMasks*: ptr uint32
  signalSemaphoreCount*: uint32
  pSignalSemaphoreDeviceIndices*: ptr uint32
VkDeviceImageMemoryRequirements = object
  sType*: VkStructureType
  pNext*: pointer
  pCreateInfo*: ptr VkImageCreateInfo
  planeAspect*: VkImageAspectFlagBits
VkDeviceMemoryOpaqueCaptureAddressInfo = object
  sType*: VkStructureType
  pNext*: pointer
  memory*: VkDeviceMemory
VkDeviceMemoryOverallocationCreateInfoAMD = object
  sType*: VkStructureType
  pNext*: pointer
  overallocationBehavior*: VkMemoryOverallocationBehaviorAMD
VkDeviceMemoryReportCallbackDataEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDeviceMemoryReportFlagsEXT
  thetype*: VkDeviceMemoryReportEventTypeEXT
  memoryObjectId*: uint64
  size*: VkDeviceSize
  objectType*: VkObjectType
  objectHandle*: uint64
  heapIndex*: uint32
VkDeviceMemoryReportEventTypeEXT {.size: 4.} = enum
  VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
  VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
  VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
  VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
  VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4
VkDeviceObjectReservationCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  pipelineCacheCreateInfoCount*: uint32
  pPipelineCacheCreateInfos*: ptr VkPipelineCacheCreateInfo
  pipelinePoolSizeCount*: uint32
  pPipelinePoolSizes*: ptr VkPipelinePoolSize
  semaphoreRequestCount*: uint32
  commandBufferRequestCount*: uint32
  fenceRequestCount*: uint32
  deviceMemoryRequestCount*: uint32
  bufferRequestCount*: uint32
  imageRequestCount*: uint32
  eventRequestCount*: uint32
  queryPoolRequestCount*: uint32
  bufferViewRequestCount*: uint32
  imageViewRequestCount*: uint32
  layeredImageViewRequestCount*: uint32
  pipelineCacheRequestCount*: uint32
  pipelineLayoutRequestCount*: uint32
  renderPassRequestCount*: uint32
  graphicsPipelineRequestCount*: uint32
  computePipelineRequestCount*: uint32
  descriptorSetLayoutRequestCount*: uint32
  samplerRequestCount*: uint32
  descriptorPoolRequestCount*: uint32
  descriptorSetRequestCount*: uint32
  framebufferRequestCount*: uint32
  commandPoolRequestCount*: uint32
  samplerYcbcrConversionRequestCount*: uint32
  surfaceRequestCount*: uint32
  swapchainRequestCount*: uint32
  displayModeRequestCount*: uint32
  subpassDescriptionRequestCount*: uint32
  attachmentDescriptionRequestCount*: uint32
  descriptorSetLayoutBindingRequestCount*: uint32
  descriptorSetLayoutBindingLimit*: uint32
  maxImageViewMipLevels*: uint32
  maxImageViewArrayLayers*: uint32
  maxLayeredImageViewMipLevels*: uint32
  maxOcclusionQueriesPerPool*: uint32
  maxPipelineStatisticsQueriesPerPool*: uint32
  maxTimestampQueriesPerPool*: uint32
  maxImmutableSamplersPerDescriptorSetLayout*: uint32
VkDeviceOrHostAddressConstKHR {.union.} = object
  deviceAddress*: VkDeviceAddress
  hostAddress*: pointer
VkDeviceOrHostAddressKHR {.union.} = object
  deviceAddress*: VkDeviceAddress
  hostAddress*: pointer
VkDevicePrivateDataCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  privateDataSlotRequestCount*: uint32
VkDeviceQueueCreateFlagBits {.size: 4.} = enum
  VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 1,
  VK_DEVICE_QUEUE_CREATE_RESERVED_1_BIT_QCOM = 2
VkDeviceQueueCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDeviceQueueCreateFlags
  queueFamilyIndex*: uint32
  queueCount*: uint32
  pQueuePriorities*: ptr float32
VkDeviceQueueGlobalPriorityCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  globalPriority*: VkQueueGlobalPriorityKHR
VkDeviceQueueInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDeviceQueueCreateFlags
  queueFamilyIndex*: uint32
  queueIndex*: uint32
VkDeviceSize = uint64
VkDirectDriverLoadingListLUNARG = object
  sType*: VkStructureType
  pNext*: pointer
  mode*: VkDirectDriverLoadingModeLUNARG
  driverCount*: uint32
  pDrivers*: ptr VkDirectDriverLoadingInfoLUNARG
VkDirectDriverLoadingModeLUNARG {.size: 4.} = enum
  VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0,
  VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1
VkDiscardRectangleModeEXT {.size: 4.} = enum
  VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
  VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1
VkDispatchIndirectCommand = object
  x*: uint32
  y*: uint32
  z*: uint32
VkDisplayEventInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  displayEvent*: VkDisplayEventTypeEXT
VkDisplayEventTypeEXT {.size: 4.} = enum
  VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0
VkDisplayModeParametersKHR = object
  visibleRegion*: VkExtent2D
  refreshRate*: uint32
VkDisplayModeProperties2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  displayModeProperties*: VkDisplayModePropertiesKHR
VkDisplayNativeHdrSurfaceCapabilitiesAMD = object
  sType*: VkStructureType
  pNext*: pointer
  localDimmingSupport*: VkBool32
VkDisplayPlaneAlphaFlagBitsKHR {.size: 4.} = enum
  VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 1,
  VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 2,
  VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 4,
  VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 8
VkDisplayPlaneCapabilities2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  capabilities*: VkDisplayPlaneCapabilitiesKHR
VkDisplayPlaneCapabilitiesKHR = object
  supportedAlpha*: VkDisplayPlaneAlphaFlagsKHR
  minSrcPosition*: VkOffset2D
  maxSrcPosition*: VkOffset2D
  minSrcExtent*: VkExtent2D
  maxSrcExtent*: VkExtent2D
  minDstPosition*: VkOffset2D
  maxDstPosition*: VkOffset2D
  minDstExtent*: VkExtent2D
  maxDstExtent*: VkExtent2D
VkDisplayPlaneInfo2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  mode*: VkDisplayModeKHR
  planeIndex*: uint32
VkDisplayPlaneProperties2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  displayPlaneProperties*: VkDisplayPlanePropertiesKHR
VkDisplayPlanePropertiesKHR = object
  currentDisplay*: VkDisplayKHR
  currentStackIndex*: uint32
VkDisplayPowerInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  powerState*: VkDisplayPowerStateEXT
VkDisplayPowerStateEXT {.size: 4.} = enum
  VK_DISPLAY_POWER_STATE_OFF_EXT = 0, VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
  VK_DISPLAY_POWER_STATE_ON_EXT = 2
VkDisplayPresentInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  srcRect*: VkRect2D
  dstRect*: VkRect2D
  persistent*: VkBool32
VkDisplayProperties2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  displayProperties*: VkDisplayPropertiesKHR
VkDisplayPropertiesKHR = object
  display*: VkDisplayKHR
  displayName*: cstring
  physicalDimensions*: VkExtent2D
  physicalResolution*: VkExtent2D
  supportedTransforms*: VkSurfaceTransformFlagsKHR
  planeReorderPossible*: VkBool32
  persistentContent*: VkBool32
VkDisplaySurfaceCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDisplaySurfaceCreateFlagsKHR
  displayMode*: VkDisplayModeKHR
  planeIndex*: uint32
  planeStackIndex*: uint32
  transform*: VkSurfaceTransformFlagBitsKHR
  globalAlpha*: float32
  alphaMode*: VkDisplayPlaneAlphaFlagBitsKHR
  imageExtent*: VkExtent2D
VkDrawIndexedIndirectCommand = object
  indexCount*: uint32
  instanceCount*: uint32
  firstIndex*: uint32
  vertexOffset*: int32
  firstInstance*: uint32
VkDrawIndirectCommand = object
  vertexCount*: uint32
  instanceCount*: uint32
  firstVertex*: uint32
  firstInstance*: uint32
VkDrawMeshTasksIndirectCommandEXT = object
  groupCountX*: uint32
  groupCountY*: uint32
  groupCountZ*: uint32
VkDrawMeshTasksIndirectCommandNV = object
  taskCount*: uint32
  firstTask*: uint32
VkDriverId {.size: 4.} = enum
  VK_DRIVER_ID_AMD_PROPRIETARY = 1, VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
  VK_DRIVER_ID_MESA_RADV = 3, VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
  VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
  VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
  VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
  VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, VK_DRIVER_ID_ARM_PROPRIETARY = 9,
  VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, VK_DRIVER_ID_GGP_PROPRIETARY = 11,
  VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, VK_DRIVER_ID_MESA_LLVMPIPE = 13,
  VK_DRIVER_ID_MOLTENVK = 14, VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
  VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
  VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, VK_DRIVER_ID_MESA_TURNIP = 18,
  VK_DRIVER_ID_MESA_V3DV = 19, VK_DRIVER_ID_MESA_PANVK = 20,
  VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, VK_DRIVER_ID_MESA_VENUS = 22,
  VK_DRIVER_ID_MESA_DOZEN = 23, VK_DRIVER_ID_MESA_NVK = 24,
  VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25
VkDrmFormatModifierProperties2EXT = object
  drmFormatModifier*: uint64
  drmFormatModifierPlaneCount*: uint32
  drmFormatModifierTilingFeatures*: VkFormatFeatureFlags2
VkDrmFormatModifierPropertiesEXT = object
  drmFormatModifier*: uint64
  drmFormatModifierPlaneCount*: uint32
  drmFormatModifierTilingFeatures*: VkFormatFeatureFlags
VkDrmFormatModifierPropertiesList2EXT = object
  sType*: VkStructureType
  pNext*: pointer
  drmFormatModifierCount*: uint32
  pDrmFormatModifierProperties*: ptr VkDrmFormatModifierProperties2EXT
VkDrmFormatModifierPropertiesListEXT = object
  sType*: VkStructureType
  pNext*: pointer
  drmFormatModifierCount*: uint32
  pDrmFormatModifierProperties*: ptr VkDrmFormatModifierPropertiesEXT
VkDynamicState {.size: 4.} = enum
  VK_DYNAMIC_STATE_VIEWPORT = 0, VK_DYNAMIC_STATE_SCISSOR = 1,
  VK_DYNAMIC_STATE_LINE_WIDTH = 2, VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
  VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
  VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
  VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
  VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
  VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
  VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
  VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001,
  VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002,
  VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
  VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
  VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
  VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000,
  VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
  VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
  VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
  VK_DYNAMIC_STATE_CULL_MODE = 1000267000,
  VK_DYNAMIC_STATE_FRONT_FACE = 1000267001,
  VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002,
  VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003,
  VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004,
  VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005,
  VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006,
  VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007,
  VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008,
  VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009,
  VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010,
  VK_DYNAMIC_STATE_STENCIL_OP = 1000267011,
  VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
  VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
  VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
  VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001,
  VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002,
  VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
  VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004,
  VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
  VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002,
  VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003,
  VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004,
  VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005,
  VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006,
  VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007,
  VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008,
  VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009,
  VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010,
  VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011,
  VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012,
  VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013,
  VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014,
  VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015,
  VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016,
  VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017,
  VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018,
  VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019,
  VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020,
  VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021,
  VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022,
  VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023,
  VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024,
  VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025,
  VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026,
  VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027,
  VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028,
  VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029,
  VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030,
  VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031,
  VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032
VkEventCreateFlagBits {.size: 4.} = enum
  VK_EVENT_CREATE_DEVICE_ONLY_BIT = 1
VkEventCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkEventCreateFlags
VkExportFenceCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  handleTypes*: VkExternalFenceHandleTypeFlags
VkExportMemoryAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  handleTypes*: VkExternalMemoryHandleTypeFlags
VkExportMemoryAllocateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  handleTypes*: VkExternalMemoryHandleTypeFlagsNV
VkExportMetalObjectTypeFlagBitsEXT {.size: 4.} = enum
  VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT = 1,
  VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT = 2,
  VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT = 4,
  VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT = 8,
  VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT = 16,
  VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT = 32
VkExportSemaphoreCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  handleTypes*: VkExternalSemaphoreHandleTypeFlags
VkExtensionProperties = object
  extensionName*: array[VK_MAX_EXTENSION_NAME_SIZE, char]
  specVersion*: uint32
VkExtent2D = object
  width*: uint32
  height*: uint32
VkExtent3D = object
  width*: uint32
  height*: uint32
  depth*: uint32
VkExternalBufferProperties = object
  sType*: VkStructureType
  pNext*: pointer
  externalMemoryProperties*: VkExternalMemoryProperties
VkExternalFenceFeatureFlagBits {.size: 4.} = enum
  VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 1,
  VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 2
VkExternalFenceHandleTypeFlagBits {.size: 4.} = enum
  VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
  VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
  VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
  VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 8,
  VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV = 16,
  VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV = 32
VkExternalFenceProperties = object
  sType*: VkStructureType
  pNext*: pointer
  exportFromImportedHandleTypes*: VkExternalFenceHandleTypeFlags
  compatibleHandleTypes*: VkExternalFenceHandleTypeFlags
  externalFenceFeatures*: VkExternalFenceFeatureFlags
VkExternalImageFormatProperties = object
  sType*: VkStructureType
  pNext*: pointer
  externalMemoryProperties*: VkExternalMemoryProperties
VkExternalImageFormatPropertiesNV = object
  imageFormatProperties*: VkImageFormatProperties
  externalMemoryFeatures*: VkExternalMemoryFeatureFlagsNV
  exportFromImportedHandleTypes*: VkExternalMemoryHandleTypeFlagsNV
  compatibleHandleTypes*: VkExternalMemoryHandleTypeFlagsNV
VkExternalMemoryFeatureFlagBits {.size: 4.} = enum
  VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 1,
  VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 2,
  VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 4
VkExternalMemoryFeatureFlagBitsNV {.size: 4.} = enum
  VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 1,
  VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 2,
  VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 4
VkExternalMemoryHandleTypeFlagBits {.size: 4.} = enum
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 8,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 16,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 32,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 64,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 128,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 256,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 512,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 1024,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 2048,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 4096,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV = 8192
VkExternalMemoryHandleTypeFlagBitsNV {.size: 4.} = enum
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 1,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 2,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 4,
  VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 8
VkExternalMemoryProperties = object
  externalMemoryFeatures*: VkExternalMemoryFeatureFlags
  exportFromImportedHandleTypes*: VkExternalMemoryHandleTypeFlags
  compatibleHandleTypes*: VkExternalMemoryHandleTypeFlags
VkExternalSemaphoreFeatureFlagBits {.size: 4.} = enum
  VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 1,
  VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 2
VkExternalSemaphoreHandleTypeFlagBits {.size: 4.} = enum
  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 8,
  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 16,
  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV = 32,
  VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 128
VkExternalSemaphoreProperties = object
  sType*: VkStructureType
  pNext*: pointer
  exportFromImportedHandleTypes*: VkExternalSemaphoreHandleTypeFlags
  compatibleHandleTypes*: VkExternalSemaphoreHandleTypeFlags
  externalSemaphoreFeatures*: VkExternalSemaphoreFeatureFlags
VkFaultCallbackInfo = object
  sType*: VkStructureType
  pNext*: pointer
  faultCount*: uint32
  pFaults*: ptr VkFaultData
  pfnFaultCallback*: PFN_vkFaultCallbackFunction
VkFaultData = object
  sType*: VkStructureType
  pNext*: pointer
  faultLevel*: VkFaultLevel
  faultType*: VkFaultType
VkFaultLevel {.size: 4.} = enum
  VK_FAULT_LEVEL_UNASSIGNED = 0, VK_FAULT_LEVEL_CRITICAL = 1,
  VK_FAULT_LEVEL_RECOVERABLE = 2, VK_FAULT_LEVEL_WARNING = 3
VkFaultQueryBehavior {.size: 4.} = enum
  VK_FAULT_QUERY_BEHAVIOR_GET_AND_CLEAR_ALL_FAULTS = 0
VkFaultType {.size: 4.} = enum
  VK_FAULT_TYPE_INVALID = 0, VK_FAULT_TYPE_UNASSIGNED = 1,
  VK_FAULT_TYPE_IMPLEMENTATION = 2, VK_FAULT_TYPE_SYSTEM = 3,
  VK_FAULT_TYPE_PHYSICAL_DEVICE = 4, VK_FAULT_TYPE_COMMAND_BUFFER_FULL = 5,
  VK_FAULT_TYPE_INVALID_API_USAGE = 6
VkFenceCreateFlagBits {.size: 4.} = enum
  VK_FENCE_CREATE_SIGNALED_BIT = 1
VkFenceCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkFenceCreateFlags
VkFenceGetFdInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  fence*: VkFence
  handleType*: VkExternalFenceHandleTypeFlagBits
VkFenceImportFlagBits {.size: 4.} = enum
  VK_FENCE_IMPORT_TEMPORARY_BIT = 1
VkFilter {.size: 4.} = enum
  VK_FILTER_NEAREST = 0, VK_FILTER_LINEAR = 1, VK_FILTER_CUBIC_EXT = 1000015000
VkFilterCubicImageViewImageFormatPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  filterCubic*: VkBool32
  filterCubicMinmax*: VkBool32
VkFlags = uint32
VkFlags64 = uint64
VkFormat {.size: 4.} = enum
  VK_FORMAT_UNDEFINED = 0, VK_FORMAT_R4G4_UNORM_PACK8 = 1,
  VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
  VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
  VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
  VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, VK_FORMAT_R8_UNORM = 9,
  VK_FORMAT_R8_SNORM = 10, VK_FORMAT_R8_USCALED = 11, VK_FORMAT_R8_SSCALED = 12,
  VK_FORMAT_R8_UINT = 13, VK_FORMAT_R8_SINT = 14, VK_FORMAT_R8_SRGB = 15,
  VK_FORMAT_R8G8_UNORM = 16, VK_FORMAT_R8G8_SNORM = 17,
  VK_FORMAT_R8G8_USCALED = 18, VK_FORMAT_R8G8_SSCALED = 19,
  VK_FORMAT_R8G8_UINT = 20, VK_FORMAT_R8G8_SINT = 21, VK_FORMAT_R8G8_SRGB = 22,
  VK_FORMAT_R8G8B8_UNORM = 23, VK_FORMAT_R8G8B8_SNORM = 24,
  VK_FORMAT_R8G8B8_USCALED = 25, VK_FORMAT_R8G8B8_SSCALED = 26,
  VK_FORMAT_R8G8B8_UINT = 27, VK_FORMAT_R8G8B8_SINT = 28,
  VK_FORMAT_R8G8B8_SRGB = 29, VK_FORMAT_B8G8R8_UNORM = 30,
  VK_FORMAT_B8G8R8_SNORM = 31, VK_FORMAT_B8G8R8_USCALED = 32,
  VK_FORMAT_B8G8R8_SSCALED = 33, VK_FORMAT_B8G8R8_UINT = 34,
  VK_FORMAT_B8G8R8_SINT = 35, VK_FORMAT_B8G8R8_SRGB = 36,
  VK_FORMAT_R8G8B8A8_UNORM = 37, VK_FORMAT_R8G8B8A8_SNORM = 38,
  VK_FORMAT_R8G8B8A8_USCALED = 39, VK_FORMAT_R8G8B8A8_SSCALED = 40,
  VK_FORMAT_R8G8B8A8_UINT = 41, VK_FORMAT_R8G8B8A8_SINT = 42,
  VK_FORMAT_R8G8B8A8_SRGB = 43, VK_FORMAT_B8G8R8A8_UNORM = 44,
  VK_FORMAT_B8G8R8A8_SNORM = 45, VK_FORMAT_B8G8R8A8_USCALED = 46,
  VK_FORMAT_B8G8R8A8_SSCALED = 47, VK_FORMAT_B8G8R8A8_UINT = 48,
  VK_FORMAT_B8G8R8A8_SINT = 49, VK_FORMAT_B8G8R8A8_SRGB = 50,
  VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
  VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
  VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
  VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
  VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
  VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
  VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
  VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
  VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
  VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
  VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
  VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
  VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
  VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
  VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
  VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, VK_FORMAT_R16_UNORM = 70,
  VK_FORMAT_R16_SNORM = 71, VK_FORMAT_R16_USCALED = 72,
  VK_FORMAT_R16_SSCALED = 73, VK_FORMAT_R16_UINT = 74, VK_FORMAT_R16_SINT = 75,
  VK_FORMAT_R16_SFLOAT = 76, VK_FORMAT_R16G16_UNORM = 77,
  VK_FORMAT_R16G16_SNORM = 78, VK_FORMAT_R16G16_USCALED = 79,
  VK_FORMAT_R16G16_SSCALED = 80, VK_FORMAT_R16G16_UINT = 81,
  VK_FORMAT_R16G16_SINT = 82, VK_FORMAT_R16G16_SFLOAT = 83,
  VK_FORMAT_R16G16B16_UNORM = 84, VK_FORMAT_R16G16B16_SNORM = 85,
  VK_FORMAT_R16G16B16_USCALED = 86, VK_FORMAT_R16G16B16_SSCALED = 87,
  VK_FORMAT_R16G16B16_UINT = 88, VK_FORMAT_R16G16B16_SINT = 89,
  VK_FORMAT_R16G16B16_SFLOAT = 90, VK_FORMAT_R16G16B16A16_UNORM = 91,
  VK_FORMAT_R16G16B16A16_SNORM = 92, VK_FORMAT_R16G16B16A16_USCALED = 93,
  VK_FORMAT_R16G16B16A16_SSCALED = 94, VK_FORMAT_R16G16B16A16_UINT = 95,
  VK_FORMAT_R16G16B16A16_SINT = 96, VK_FORMAT_R16G16B16A16_SFLOAT = 97,
  VK_FORMAT_R32_UINT = 98, VK_FORMAT_R32_SINT = 99, VK_FORMAT_R32_SFLOAT = 100,
  VK_FORMAT_R32G32_UINT = 101, VK_FORMAT_R32G32_SINT = 102,
  VK_FORMAT_R32G32_SFLOAT = 103, VK_FORMAT_R32G32B32_UINT = 104,
  VK_FORMAT_R32G32B32_SINT = 105, VK_FORMAT_R32G32B32_SFLOAT = 106,
  VK_FORMAT_R32G32B32A32_UINT = 107, VK_FORMAT_R32G32B32A32_SINT = 108,
  VK_FORMAT_R32G32B32A32_SFLOAT = 109, VK_FORMAT_R64_UINT = 110,
  VK_FORMAT_R64_SINT = 111, VK_FORMAT_R64_SFLOAT = 112,
  VK_FORMAT_R64G64_UINT = 113, VK_FORMAT_R64G64_SINT = 114,
  VK_FORMAT_R64G64_SFLOAT = 115, VK_FORMAT_R64G64B64_UINT = 116,
  VK_FORMAT_R64G64B64_SINT = 117, VK_FORMAT_R64G64B64_SFLOAT = 118,
  VK_FORMAT_R64G64B64A64_UINT = 119, VK_FORMAT_R64G64B64A64_SINT = 120,
  VK_FORMAT_R64G64B64A64_SFLOAT = 121, VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
  VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, VK_FORMAT_D16_UNORM = 124,
  VK_FORMAT_X8_D24_UNORM_PACK32 = 125, VK_FORMAT_D32_SFLOAT = 126,
  VK_FORMAT_S8_UINT = 127, VK_FORMAT_D16_UNORM_S8_UINT = 128,
  VK_FORMAT_D24_UNORM_S8_UINT = 129, VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
  VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
  VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
  VK_FORMAT_BC2_UNORM_BLOCK = 135, VK_FORMAT_BC2_SRGB_BLOCK = 136,
  VK_FORMAT_BC3_UNORM_BLOCK = 137, VK_FORMAT_BC3_SRGB_BLOCK = 138,
  VK_FORMAT_BC4_UNORM_BLOCK = 139, VK_FORMAT_BC4_SNORM_BLOCK = 140,
  VK_FORMAT_BC5_UNORM_BLOCK = 141, VK_FORMAT_BC5_SNORM_BLOCK = 142,
  VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
  VK_FORMAT_BC7_UNORM_BLOCK = 145, VK_FORMAT_BC7_SRGB_BLOCK = 146,
  VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
  VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
  VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
  VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
  VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
  VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
  VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
  VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
  VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
  VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
  VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
  VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
  VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
  VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
  VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
  VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
  VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
  VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
  VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
  VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
  VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
  VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
  VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
  VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
  VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
  VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
  VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
  VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
  VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
  VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
  VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000,
  VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001,
  VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002,
  VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003,
  VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004,
  VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005,
  VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006,
  VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007,
  VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008,
  VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009,
  VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010,
  VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011,
  VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012,
  VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013,
  VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
  VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
  VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
  VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
  VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
  VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
  VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
  VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
  VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
  VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
  VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
  VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
  VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
  VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
  VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
  VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
  VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
  VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
  VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
  VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
  VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
  VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
  VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
  VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
  VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
  VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
  VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
  VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
  VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
  VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
  VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
  VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
  VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
  VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
  VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT = 1000288000,
  VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT = 1000288001,
  VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT = 1000288002,
  VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT = 1000288003,
  VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT = 1000288004,
  VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT = 1000288005,
  VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT = 1000288006,
  VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT = 1000288007,
  VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT = 1000288008,
  VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT = 1000288009,
  VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT = 1000288010,
  VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT = 1000288011,
  VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT = 1000288012,
  VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT = 1000288013,
  VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT = 1000288014,
  VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT = 1000288015,
  VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT = 1000288016,
  VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT = 1000288017,
  VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT = 1000288018,
  VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT = 1000288019,
  VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT = 1000288020,
  VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT = 1000288021,
  VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT = 1000288022,
  VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT = 1000288023,
  VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT = 1000288024,
  VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT = 1000288025,
  VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT = 1000288026,
  VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT = 1000288027,
  VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT = 1000288028,
  VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT = 1000288029,
  VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000,
  VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001,
  VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002,
  VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003,
  VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000,
  VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001,
  VK_FORMAT_R16G16_S10_5_NV = 1000464000
VkFormatFeatureFlagBits {.size: 4.} = enum
  VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 1,
  VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 2,
  VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 4,
  VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 8,
  VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 16,
  VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 32,
  VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 64,
  VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 128,
  VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 256,
  VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 512,
  VK_FORMAT_FEATURE_BLIT_SRC_BIT = 1024, VK_FORMAT_FEATURE_BLIT_DST_BIT = 2048,
  VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 4096,
  VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 8192,
  VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 16384,
  VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 32768,
  VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 65536,
  VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 131072,
  VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 262144, VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 524288, VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 1048576, VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 2097152,
  VK_FORMAT_FEATURE_DISJOINT_BIT = 4194304,
  VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 8388608,
  VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 16777216,
  VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 33554432,
  VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 67108864,
  VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 134217728,
  VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 268435456,
  VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 536870912,
  VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 1073741824
VkFormatFeatureFlagBits2 {.size: 8.} = enum
  VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 1,
  VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 2,
  VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 4,
  VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 8,
  VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 16,
  VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 32,
  VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 64,
  VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 128,
  VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 256,
  VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 512,
  VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 1024,
  VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 2048,
  VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 4096,
  VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 8192,
  VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 16384,
  VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 32768,
  VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 65536,
  VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 131072, VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 262144, VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 524288, VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 1048576, VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 2097152,
  VK_FORMAT_FEATURE_2_DISJOINT_BIT = 4194304,
  VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 8388608,
  VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 16777216,
  VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 33554432,
  VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 67108864,
  VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 134217728,
  VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 268435456,
  VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 536870912,
  VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 1073741824,
  VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 2147483648,
  VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 4294967296,
  VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 8589934592,
  VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 17179869184,
  VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 34359738368,
  VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 68719476736,
  VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 137438953472,
  VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 274877906944,
  VK_FORMAT_FEATURE_2_RESERVED_39_BIT_EXT = 549755813888,
  VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 1099511627776,
  VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 2199023255552,
  VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 4398046511104,
  VK_FORMAT_FEATURE_2_RESERVED_44_BIT_EXT = 17592186044416,
  VK_FORMAT_FEATURE_2_RESERVED_45_BIT_EXT = 35184372088832
VkFormatProperties = object
  linearTilingFeatures*: VkFormatFeatureFlags
  optimalTilingFeatures*: VkFormatFeatureFlags
  bufferFeatures*: VkFormatFeatureFlags
VkFormatProperties2 = object
  sType*: VkStructureType
  pNext*: pointer
  formatProperties*: VkFormatProperties
VkFormatProperties3 = object
  sType*: VkStructureType
  pNext*: pointer
  linearTilingFeatures*: VkFormatFeatureFlags2
  optimalTilingFeatures*: VkFormatFeatureFlags2
  bufferFeatures*: VkFormatFeatureFlags2
VkFragmentShadingRateAttachmentInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  pFragmentShadingRateAttachment*: ptr VkAttachmentReference2
  shadingRateAttachmentTexelSize*: VkExtent2D
VkFragmentShadingRateCombinerOpKHR {.size: 4.} = enum
  VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
  VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
  VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
  VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
  VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4
VkFragmentShadingRateNV {.size: 4.} = enum
  VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
  VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
  VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
  VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
  VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
  VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
  VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
  VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
  VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
  VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
  VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
  VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15
VkFragmentShadingRateTypeNV {.size: 4.} = enum
  VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
  VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1
VkFramebufferAttachmentImageInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkImageCreateFlags
  usage*: VkImageUsageFlags
  width*: uint32
  height*: uint32
  layerCount*: uint32
  viewFormatCount*: uint32
  pViewFormats*: ptr VkFormat
VkFramebufferAttachmentsCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  attachmentImageInfoCount*: uint32
  pAttachmentImageInfos*: ptr VkFramebufferAttachmentImageInfo
VkFramebufferCreateFlagBits {.size: 4.} = enum
  VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 1
VkFramebufferCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkFramebufferCreateFlags
  renderPass*: VkRenderPass
  attachmentCount*: uint32
  pAttachments*: ptr VkImageView
  width*: uint32
  height*: uint32
  layers*: uint32
VkFramebufferMixedSamplesCombinationNV = object
  sType*: VkStructureType
  pNext*: pointer
  coverageReductionMode*: VkCoverageReductionModeNV
  rasterizationSamples*: VkSampleCountFlagBits
  depthStencilSamples*: VkSampleCountFlags
  colorSamples*: VkSampleCountFlags
VkFrontFace {.size: 4.} = enum
  VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, VK_FRONT_FACE_CLOCKWISE = 1
VkFullScreenExclusiveEXT {.size: 4.} = enum
  VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT = 0,
  VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT = 1,
  VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT = 2,
  VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT = 3
VkGeneratedCommandsInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  pipelineBindPoint*: VkPipelineBindPoint
  pipeline*: VkPipeline
  indirectCommandsLayout*: VkIndirectCommandsLayoutNV
  streamCount*: uint32
  pStreams*: ptr VkIndirectCommandsStreamNV
  sequencesCount*: uint32
  preprocessBuffer*: VkBuffer
  preprocessOffset*: VkDeviceSize
  preprocessSize*: VkDeviceSize
  sequencesCountBuffer*: VkBuffer
  sequencesCountOffset*: VkDeviceSize
  sequencesIndexBuffer*: VkBuffer
  sequencesIndexOffset*: VkDeviceSize
VkGeneratedCommandsMemoryRequirementsInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  pipelineBindPoint*: VkPipelineBindPoint
  pipeline*: VkPipeline
  indirectCommandsLayout*: VkIndirectCommandsLayoutNV
  maxSequencesCount*: uint32
VkGeometryAABBNV = object
  sType*: VkStructureType
  pNext*: pointer
  aabbData*: VkBuffer
  numAABBs*: uint32
  stride*: uint32
  offset*: VkDeviceSize
VkGeometryFlagBitsKHR {.size: 4.} = enum
  VK_GEOMETRY_OPAQUE_BIT_KHR = 1,
  VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 2
VkGeometryInstanceFlagBitsKHR {.size: 4.} = enum
  VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1,
  VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 2,
  VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4,
  VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8,
  VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 16,
  VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 32
VkGeometryNV = object
  sType*: VkStructureType
  pNext*: pointer
  geometryType*: VkGeometryTypeKHR
  geometry*: VkGeometryDataNV
  flags*: VkGeometryFlagsKHR
VkGeometryTrianglesNV = object
  sType*: VkStructureType
  pNext*: pointer
  vertexData*: VkBuffer
  vertexOffset*: VkDeviceSize
  vertexCount*: uint32
  vertexStride*: VkDeviceSize
  vertexFormat*: VkFormat
  indexData*: VkBuffer
  indexOffset*: VkDeviceSize
  indexCount*: uint32
  indexType*: VkIndexType
  transformData*: VkBuffer
  transformOffset*: VkDeviceSize
VkGeometryTypeKHR {.size: 4.} = enum
  VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, VK_GEOMETRY_TYPE_AABBS_KHR = 1,
  VK_GEOMETRY_TYPE_INSTANCES_KHR = 2
VkGraphicsPipelineCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineCreateFlags
  stageCount*: uint32
  pStages*: ptr VkPipelineShaderStageCreateInfo
  pVertexInputState*: ptr VkPipelineVertexInputStateCreateInfo
  pInputAssemblyState*: ptr VkPipelineInputAssemblyStateCreateInfo
  pTessellationState*: ptr VkPipelineTessellationStateCreateInfo
  pViewportState*: ptr VkPipelineViewportStateCreateInfo
  pRasterizationState*: ptr VkPipelineRasterizationStateCreateInfo
  pMultisampleState*: ptr VkPipelineMultisampleStateCreateInfo
  pDepthStencilState*: ptr VkPipelineDepthStencilStateCreateInfo
  pColorBlendState*: ptr VkPipelineColorBlendStateCreateInfo
  pDynamicState*: ptr VkPipelineDynamicStateCreateInfo
  layout*: VkPipelineLayout
  renderPass*: VkRenderPass
  subpass*: uint32
  basePipelineHandle*: VkPipeline
  basePipelineIndex*: int32
VkGraphicsPipelineLibraryFlagBitsEXT {.size: 4.} = enum
  VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 1,
  VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 2,
  VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 4,
  VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 8
VkGraphicsPipelineShaderGroupsCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  groupCount*: uint32
  pGroups*: ptr VkGraphicsShaderGroupCreateInfoNV
  pipelineCount*: uint32
  pPipelines*: ptr VkPipeline
VkGraphicsShaderGroupCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  stageCount*: uint32
  pStages*: ptr VkPipelineShaderStageCreateInfo
  pVertexInputState*: ptr VkPipelineVertexInputStateCreateInfo
  pTessellationState*: ptr VkPipelineTessellationStateCreateInfo
VkHandle = distinct uint
VkHdrMetadataEXT = object
  sType*: VkStructureType
  pNext*: pointer
  displayPrimaryRed*: VkXYColorEXT
  displayPrimaryGreen*: VkXYColorEXT
  displayPrimaryBlue*: VkXYColorEXT
  whitePoint*: VkXYColorEXT
  maxLuminance*: float32
  minLuminance*: float32
  maxContentLightLevel*: float32
  maxFrameAverageLightLevel*: float32
VkImageAspectFlagBits {.size: 4.} = enum
  VK_IMAGE_ASPECT_COLOR_BIT = 1, VK_IMAGE_ASPECT_DEPTH_BIT = 2,
  VK_IMAGE_ASPECT_STENCIL_BIT = 4, VK_IMAGE_ASPECT_METADATA_BIT = 8,
  VK_IMAGE_ASPECT_PLANE_0_BIT = 16, VK_IMAGE_ASPECT_PLANE_1_BIT = 32,
  VK_IMAGE_ASPECT_PLANE_2_BIT = 64,
  VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 128,
  VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 256,
  VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 512,
  VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 1024
VkImageBlit = object
  srcSubresource*: VkImageSubresourceLayers
  srcOffsets*: array[2, VkOffset3D]
  dstSubresource*: VkImageSubresourceLayers
  dstOffsets*: array[2, VkOffset3D]
VkImageBlit2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcSubresource*: VkImageSubresourceLayers
  srcOffsets*: array[2, VkOffset3D]
  dstSubresource*: VkImageSubresourceLayers
  dstOffsets*: array[2, VkOffset3D]
VkImageBlit2KHR = object
VkImageCaptureDescriptorDataInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  image*: VkImage
VkImageCompressionControlEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkImageCompressionFlagsEXT
  compressionControlPlaneCount*: uint32
  pFixedRateFlags*: ptr VkImageCompressionFixedRateFlagsEXT
VkImageCompressionFixedRateFlagBitsEXT {.size: 4.} = enum
  VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 1,
  VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 2,
  VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 4,
  VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 8,
  VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 16,
  VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 32,
  VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 64,
  VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 128,
  VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 256,
  VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 512,
  VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 1024,
  VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 2048,
  VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 4096,
  VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 8192,
  VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 16384,
  VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 32768,
  VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 65536,
  VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 131072,
  VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 262144,
  VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 524288,
  VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 1048576,
  VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 2097152,
  VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 4194304,
  VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 8388608
VkImageCompressionFlagBitsEXT {.size: 4.} = enum
  VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 1,
  VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 2,
  VK_IMAGE_COMPRESSION_DISABLED_EXT = 4
VkImageCompressionPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  imageCompressionFlags*: VkImageCompressionFlagsEXT
  imageCompressionFixedRateFlags*: VkImageCompressionFixedRateFlagsEXT
VkImageConstraintsInfoFlagBitsFUCHSIA {.size: 4.} = enum
  VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA = 1,
  VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA = 2,
  VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA = 4,
  VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA = 8,
  VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = 16
VkImageCopy = object
  srcSubresource*: VkImageSubresourceLayers
  srcOffset*: VkOffset3D
  dstSubresource*: VkImageSubresourceLayers
  dstOffset*: VkOffset3D
  extent*: VkExtent3D
VkImageCopy2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcSubresource*: VkImageSubresourceLayers
  srcOffset*: VkOffset3D
  dstSubresource*: VkImageSubresourceLayers
  dstOffset*: VkOffset3D
  extent*: VkExtent3D
VkImageCopy2KHR = object
VkImageCreateFlagBits {.size: 4.} = enum
  VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 1,
  VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 2,
  VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 4,
  VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 8,
  VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 16,
  VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 32,
  VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 64,
  VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 128,
  VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 256, VK_IMAGE_CREATE_DISJOINT_BIT = 512,
  VK_IMAGE_CREATE_ALIAS_BIT = 1024, VK_IMAGE_CREATE_PROTECTED_BIT = 2048,
  VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 4096,
  VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 8192,
  VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 16384,
  VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 32768,
  VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 65536,
  VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 131072,
  VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 262144,
  VK_IMAGE_CREATE_RESERVED_19_BIT_EXT = 524288
VkImageCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkImageCreateFlags
  imageType*: VkImageType
  format*: VkFormat
  extent*: VkExtent3D
  mipLevels*: uint32
  arrayLayers*: uint32
  samples*: VkSampleCountFlagBits
  tiling*: VkImageTiling
  usage*: VkImageUsageFlags
  sharingMode*: VkSharingMode
  queueFamilyIndexCount*: uint32
  pQueueFamilyIndices*: ptr uint32
  initialLayout*: VkImageLayout
VkImageDrmFormatModifierExplicitCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  drmFormatModifier*: uint64
  drmFormatModifierPlaneCount*: uint32
  pPlaneLayouts*: ptr VkSubresourceLayout
VkImageDrmFormatModifierListCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  drmFormatModifierCount*: uint32
  pDrmFormatModifiers*: ptr uint64
VkImageDrmFormatModifierPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  drmFormatModifier*: uint64
VkImageFormatListCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  viewFormatCount*: uint32
  pViewFormats*: ptr VkFormat
VkImageFormatProperties = object
  maxExtent*: VkExtent3D
  maxMipLevels*: uint32
  maxArrayLayers*: uint32
  sampleCounts*: VkSampleCountFlags
  maxResourceSize*: VkDeviceSize
VkImageFormatProperties2 = object
  sType*: VkStructureType
  pNext*: pointer
  imageFormatProperties*: VkImageFormatProperties
VkImageLayout {.size: 4.} = enum
  VK_IMAGE_LAYOUT_UNDEFINED = 0, VK_IMAGE_LAYOUT_GENERAL = 1,
  VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
  VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
  VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
  VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
  VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
  VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
  VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
  VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
  VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
  VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
  VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
  VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
  VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
  VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
  VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
  VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
  VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
  VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
  VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
  VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
  VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
  VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
  VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000,
  VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001,
  VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000
VkImageMemoryBarrier = object
  sType*: VkStructureType
  pNext*: pointer
  srcAccessMask*: VkAccessFlags
  dstAccessMask*: VkAccessFlags
  oldLayout*: VkImageLayout
  newLayout*: VkImageLayout
  srcQueueFamilyIndex*: uint32
  dstQueueFamilyIndex*: uint32
  image*: VkImage
  subresourceRange*: VkImageSubresourceRange
VkImageMemoryBarrier2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcStageMask*: VkPipelineStageFlags2
  srcAccessMask*: VkAccessFlags2
  dstStageMask*: VkPipelineStageFlags2
  dstAccessMask*: VkAccessFlags2
  oldLayout*: VkImageLayout
  newLayout*: VkImageLayout
  srcQueueFamilyIndex*: uint32
  dstQueueFamilyIndex*: uint32
  image*: VkImage
  subresourceRange*: VkImageSubresourceRange
VkImageMemoryRequirementsInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  image*: VkImage
VkImagePlaneMemoryRequirementsInfo = object
  sType*: VkStructureType
  pNext*: pointer
  planeAspect*: VkImageAspectFlagBits
VkImageResolve = object
  srcSubresource*: VkImageSubresourceLayers
  srcOffset*: VkOffset3D
  dstSubresource*: VkImageSubresourceLayers
  dstOffset*: VkOffset3D
  extent*: VkExtent3D
VkImageResolve2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcSubresource*: VkImageSubresourceLayers
  srcOffset*: VkOffset3D
  dstSubresource*: VkImageSubresourceLayers
  dstOffset*: VkOffset3D
  extent*: VkExtent3D
VkImageSparseMemoryRequirementsInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  image*: VkImage
VkImageStencilUsageCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  stencilUsage*: VkImageUsageFlags
VkImageSubresource = object
  aspectMask*: VkImageAspectFlags
  mipLevel*: uint32
  arrayLayer*: uint32
VkImageSubresource2EXT = object
  sType*: VkStructureType
  pNext*: pointer
  imageSubresource*: VkImageSubresource
VkImageSubresourceLayers = object
  aspectMask*: VkImageAspectFlags
  mipLevel*: uint32
  baseArrayLayer*: uint32
  layerCount*: uint32
VkImageSubresourceRange = object
  aspectMask*: VkImageAspectFlags
  baseMipLevel*: uint32
  levelCount*: uint32
  baseArrayLayer*: uint32
  layerCount*: uint32
VkImageSwapchainCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  swapchain*: VkSwapchainKHR
VkImageTiling {.size: 4.} = enum
  VK_IMAGE_TILING_OPTIMAL = 0, VK_IMAGE_TILING_LINEAR = 1,
  VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000
VkImageType {.size: 4.} = enum
  VK_IMAGE_TYPE_1D = 0, VK_IMAGE_TYPE_2D = 1, VK_IMAGE_TYPE_3D = 2
VkImageUsageFlagBits {.size: 4.} = enum
  VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 1, VK_IMAGE_USAGE_TRANSFER_DST_BIT = 2,
  VK_IMAGE_USAGE_SAMPLED_BIT = 4, VK_IMAGE_USAGE_STORAGE_BIT = 8,
  VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 16,
  VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32,
  VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64,
  VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128,
  VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 256,
  VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 512,
  VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 1024,
  VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 2048,
  VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 4096,
  VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 8192,
  VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 16384,
  VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 32768,
  VK_IMAGE_USAGE_RESERVED_16_BIT_QCOM = 65536,
  VK_IMAGE_USAGE_RESERVED_17_BIT_QCOM = 131072,
  VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 262144,
  VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 524288,
  VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 1048576,
  VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 2097152,
  VK_IMAGE_USAGE_RESERVED_22_BIT_EXT = 4194304
VkImageViewAddressPropertiesNVX = object
  sType*: VkStructureType
  pNext*: pointer
  deviceAddress*: VkDeviceAddress
  size*: VkDeviceSize
VkImageViewASTCDecodeModeEXT = object
  sType*: VkStructureType
  pNext*: pointer
  decodeMode*: VkFormat
VkImageViewCaptureDescriptorDataInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  imageView*: VkImageView
VkImageViewCreateFlagBits {.size: 4.} = enum
  VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 1,
  VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 2,
  VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 4
VkImageViewCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkImageViewCreateFlags
  image*: VkImage
  viewType*: VkImageViewType
  format*: VkFormat
  components*: VkComponentMapping
  subresourceRange*: VkImageSubresourceRange
VkImageViewHandleInfoNVX = object
  sType*: VkStructureType
  pNext*: pointer
  imageView*: VkImageView
  descriptorType*: VkDescriptorType
  sampler*: VkSampler
VkImageViewMinLodCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  minLod*: float32
VkImageViewSampleWeightCreateInfoQCOM = object
  sType*: VkStructureType
  pNext*: pointer
  filterCenter*: VkOffset2D
  filterSize*: VkExtent2D
  numPhases*: uint32
VkImageViewSlicedCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  sliceOffset*: uint32
  sliceCount*: uint32
VkImageViewType {.size: 4.} = enum
  VK_IMAGE_VIEW_TYPE_1D = 0, VK_IMAGE_VIEW_TYPE_2D = 1,
  VK_IMAGE_VIEW_TYPE_3D = 2, VK_IMAGE_VIEW_TYPE_CUBE = 3,
  VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
  VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6
VkImageViewUsageCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  usage*: VkImageUsageFlags
VkImportFenceFdInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  fence*: VkFence
  flags*: VkFenceImportFlags
  handleType*: VkExternalFenceHandleTypeFlagBits
  fd*: cint
VkImportMemoryFdInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  handleType*: VkExternalMemoryHandleTypeFlagBits
  fd*: cint
VkImportMemoryHostPointerInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  handleType*: VkExternalMemoryHandleTypeFlagBits
  pHostPointer*: pointer
VkImportSemaphoreFdInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  semaphore*: VkSemaphore
  flags*: VkSemaphoreImportFlags
  handleType*: VkExternalSemaphoreHandleTypeFlagBits
  fd*: cint
VkIndexType {.size: 4.} = enum
  VK_INDEX_TYPE_UINT16 = 0, VK_INDEX_TYPE_UINT32 = 1,
  VK_INDEX_TYPE_NONE_KHR = 1000165000, VK_INDEX_TYPE_UINT8_EXT = 1000265000
VkIndirectCommandsLayoutCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkIndirectCommandsLayoutUsageFlagsNV
  pipelineBindPoint*: VkPipelineBindPoint
  tokenCount*: uint32
  pTokens*: ptr VkIndirectCommandsLayoutTokenNV
  streamCount*: uint32
  pStreamStrides*: ptr uint32
VkIndirectCommandsLayoutTokenNV = object
  sType*: VkStructureType
  pNext*: pointer
  tokenType*: VkIndirectCommandsTokenTypeNV
  stream*: uint32
  offset*: uint32
  vertexBindingUnit*: uint32
  vertexDynamicStride*: VkBool32
  pushconstantPipelineLayout*: VkPipelineLayout
  pushconstantShaderStageFlags*: VkShaderStageFlags
  pushconstantOffset*: uint32
  pushconstantSize*: uint32
  indirectStateFlags*: VkIndirectStateFlagsNV
  indexTypeCount*: uint32
  pIndexTypes*: ptr VkIndexType
  pIndexTypeValues*: ptr uint32
VkIndirectCommandsLayoutUsageFlagBitsNV {.size: 4.} = enum
  VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 1,
  VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 2,
  VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 4
VkIndirectCommandsStreamNV = object
  buffer*: VkBuffer
  offset*: VkDeviceSize
VkIndirectCommandsTokenTypeNV {.size: 4.} = enum
  VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
  VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
  VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
  VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
  VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
  VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
  VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
  VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
  VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000
VkIndirectStateFlagBitsNV {.size: 4.} = enum
  VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 1
VkInitializePerformanceApiInfoINTEL = object
  sType*: VkStructureType
  pNext*: pointer
  pUserData*: pointer
VkInputAttachmentAspectReference = object
  subpass*: uint32
  inputAttachmentIndex*: uint32
  aspectMask*: VkImageAspectFlags
VkInstance = distinct VkHandle
VkInstanceCreateFlagBits {.size: 4.} = enum
  VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 1
VkInstanceCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkInstanceCreateFlags
  pApplicationInfo*: ptr VkApplicationInfo
  enabledLayerCount*: uint32
  ppEnabledLayerNames*: cstringArray
  enabledExtensionCount*: uint32
  ppEnabledExtensionNames*: cstringArray
VkInternalAllocationType {.size: 4.} = enum
  VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0
VkLayerProperties = object
  layerName*: array[VK_MAX_EXTENSION_NAME_SIZE, char]
  specVersion*: uint32
  implementationVersion*: uint32
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
VkLineRasterizationModeEXT {.size: 4.} = enum
  VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
  VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
  VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
  VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3
VkLogicOp {.size: 4.} = enum
  VK_LOGIC_OP_CLEAR = 0, VK_LOGIC_OP_AND = 1, VK_LOGIC_OP_AND_REVERSE = 2,
  VK_LOGIC_OP_COPY = 3, VK_LOGIC_OP_AND_INVERTED = 4, VK_LOGIC_OP_NO_OP = 5,
  VK_LOGIC_OP_XOR = 6, VK_LOGIC_OP_OR = 7, VK_LOGIC_OP_NOR = 8,
  VK_LOGIC_OP_EQUIVALENT = 9, VK_LOGIC_OP_INVERT = 10,
  VK_LOGIC_OP_OR_REVERSE = 11, VK_LOGIC_OP_COPY_INVERTED = 12,
  VK_LOGIC_OP_OR_INVERTED = 13, VK_LOGIC_OP_NAND = 14, VK_LOGIC_OP_SET = 15
VkMappedMemoryRange = object
  sType*: VkStructureType
  pNext*: pointer
  memory*: VkDeviceMemory
  offset*: VkDeviceSize
  size*: VkDeviceSize
VkMemoryAllocateFlagBits {.size: 4.} = enum
  VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 1,
  VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 2,
  VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 4
VkMemoryAllocateFlagsInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkMemoryAllocateFlags
  deviceMask*: uint32
VkMemoryAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  allocationSize*: VkDeviceSize
  memoryTypeIndex*: uint32
VkMemoryBarrier = object
  sType*: VkStructureType
  pNext*: pointer
  srcAccessMask*: VkAccessFlags
  dstAccessMask*: VkAccessFlags
VkMemoryBarrier2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcStageMask*: VkPipelineStageFlags2
  srcAccessMask*: VkAccessFlags2
  dstStageMask*: VkPipelineStageFlags2
  dstAccessMask*: VkAccessFlags2
VkMemoryDecompressionMethodFlagBitsNV {.size: 8.} = enum
  VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 1
VkMemoryDedicatedAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  image*: VkImage
  buffer*: VkBuffer
VkMemoryDedicatedRequirements = object
  sType*: VkStructureType
  pNext*: pointer
  prefersDedicatedAllocation*: VkBool32
  requiresDedicatedAllocation*: VkBool32
VkMemoryFdPropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  memoryTypeBits*: uint32
VkMemoryGetFdInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  memory*: VkDeviceMemory
  handleType*: VkExternalMemoryHandleTypeFlagBits
VkMemoryHeap = object
  size*: VkDeviceSize
  flags*: VkMemoryHeapFlags
VkMemoryHeapFlagBits {.size: 4.} = enum
  VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 1, VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 2,
  VK_MEMORY_HEAP_SEU_SAFE_BIT = 4
VkMemoryHostPointerPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  memoryTypeBits*: uint32
VkMemoryOpaqueCaptureAddressAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  opaqueCaptureAddress*: uint64
VkMemoryOverallocationBehaviorAMD {.size: 4.} = enum
  VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
  VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
  VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2
VkMemoryPriorityAllocateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  priority*: float32
VkMemoryPropertyFlagBits {.size: 4.} = enum
  VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 1,
  VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 2,
  VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 4,
  VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 8,
  VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 16,
  VK_MEMORY_PROPERTY_PROTECTED_BIT = 32,
  VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 64,
  VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 128,
  VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 256
VkMemoryRequirements = object
  size*: VkDeviceSize
  alignment*: VkDeviceSize
  memoryTypeBits*: uint32
VkMemoryRequirements2 = object
  sType*: VkStructureType
  pNext*: pointer
  memoryRequirements*: VkMemoryRequirements
VkMemoryType = object
  propertyFlags*: VkMemoryPropertyFlags
  heapIndex*: uint32
VkMicromapBuildInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  thetype*: VkMicromapTypeEXT
  flags*: VkBuildMicromapFlagsEXT
  mode*: VkBuildMicromapModeEXT
  dstMicromap*: VkMicromapEXT
  usageCountsCount*: uint32
  pUsageCounts*: ptr VkMicromapUsageEXT
  ppUsageCounts*: ptr ptr VkMicromapUsageEXT
  data*: VkDeviceOrHostAddressConstKHR
  scratchData*: VkDeviceOrHostAddressKHR
  triangleArray*: VkDeviceOrHostAddressConstKHR
  triangleArrayStride*: VkDeviceSize
VkMicromapBuildSizesInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  micromapSize*: VkDeviceSize
  buildScratchSize*: VkDeviceSize
  discardable*: VkBool32
VkMicromapCreateFlagBitsEXT {.size: 4.} = enum
  VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 1
VkMicromapCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  createFlags*: VkMicromapCreateFlagsEXT
  buffer*: VkBuffer
  offset*: VkDeviceSize
  size*: VkDeviceSize
  thetype*: VkMicromapTypeEXT
  deviceAddress*: VkDeviceAddress
VkMicromapTriangleEXT = object
  dataOffset*: uint32
  subdivisionLevel*: uint16
  format*: uint16
VkMicromapTypeEXT {.size: 4.} = enum
  VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0
VkMicromapUsageEXT = object
  count*: uint32
  subdivisionLevel*: uint32
  format*: uint32
VkMicromapVersionInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pVersionData*: ptr uint8
VkMultiDrawIndexedInfoEXT = object
  firstIndex*: uint32
  indexCount*: uint32
  vertexOffset*: int32
VkMultiDrawInfoEXT = object
  firstVertex*: uint32
  vertexCount*: uint32
VkMultisampledRenderToSingleSampledInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  multisampledRenderToSingleSampledEnable*: VkBool32
  rasterizationSamples*: VkSampleCountFlagBits
VkMultisamplePropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxSampleLocationGridSize*: VkExtent2D
VkMultiviewPerViewAttributesInfoNVX = object
  sType*: VkStructureType
  pNext*: pointer
  perViewAttributes*: VkBool32
  perViewAttributesPositionXOnly*: VkBool32
VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM = object
  sType*: VkStructureType
  pNext*: pointer
  perViewRenderAreaCount*: uint32
  pPerViewRenderAreas*: ptr VkRect2D
VkMutableDescriptorTypeCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  mutableDescriptorTypeListCount*: uint32
  pMutableDescriptorTypeLists*: ptr VkMutableDescriptorTypeListEXT
VkMutableDescriptorTypeListEXT = object
  descriptorTypeCount*: uint32
  pDescriptorTypes*: ptr VkDescriptorType
VkNonDispatchableHandle = distinct uint
VkObjectType {.size: 4.} = enum
  VK_OBJECT_TYPE_UNKNOWN = 0, VK_OBJECT_TYPE_INSTANCE = 1,
  VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, VK_OBJECT_TYPE_DEVICE = 3,
  VK_OBJECT_TYPE_QUEUE = 4, VK_OBJECT_TYPE_SEMAPHORE = 5,
  VK_OBJECT_TYPE_COMMAND_BUFFER = 6, VK_OBJECT_TYPE_FENCE = 7,
  VK_OBJECT_TYPE_DEVICE_MEMORY = 8, VK_OBJECT_TYPE_BUFFER = 9,
  VK_OBJECT_TYPE_IMAGE = 10, VK_OBJECT_TYPE_EVENT = 11,
  VK_OBJECT_TYPE_QUERY_POOL = 12, VK_OBJECT_TYPE_BUFFER_VIEW = 13,
  VK_OBJECT_TYPE_IMAGE_VIEW = 14, VK_OBJECT_TYPE_SHADER_MODULE = 15,
  VK_OBJECT_TYPE_PIPELINE_CACHE = 16, VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
  VK_OBJECT_TYPE_RENDER_PASS = 18, VK_OBJECT_TYPE_PIPELINE = 19,
  VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, VK_OBJECT_TYPE_SAMPLER = 21,
  VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
  VK_OBJECT_TYPE_FRAMEBUFFER = 24, VK_OBJECT_TYPE_COMMAND_POOL = 25,
  VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
  VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
  VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
  VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
  VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
  VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
  VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
  VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
  VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
  VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
  VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
  VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
  VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
  VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
  VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
  VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
  VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
  VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
  VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000,
  VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000,
  VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000,
  VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000,
  VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV = 1000489000
VkOffset2D = object
  x*: int32
  y*: int32
VkOffset3D = object
  x*: int32
  y*: int32
  z*: int32
VkOpacityMicromapFormatEXT {.size: 4.} = enum
  VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1,
  VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2
VkOpacityMicromapSpecialIndexEXT {.size: 4.} = enum
  VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4,
  VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3,
  VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2,
  VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1
VkOpaqueCaptureDescriptorDataCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  opaqueCaptureDescriptorData*: pointer
VkOpticalFlowExecuteFlagBitsNV {.size: 4.} = enum
  VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 1
VkOpticalFlowExecuteInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkOpticalFlowExecuteFlagsNV
  regionCount*: uint32
  pRegions*: ptr VkRect2D
VkOpticalFlowGridSizeFlagBitsNV {.size: 4.} = enum
  VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 1,
  VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 2,
  VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 4,
  VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 8
VkOpticalFlowImageFormatPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  format*: VkFormat
VkOpticalFlowPerformanceLevelNV {.size: 4.} = enum
  VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0,
  VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1,
  VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2,
  VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3
VkOpticalFlowSessionBindingPointNV {.size: 4.} = enum
  VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0,
  VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1,
  VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2,
  VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3,
  VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4,
  VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5,
  VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6,
  VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7,
  VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8
VkOpticalFlowSessionCreateFlagBitsNV {.size: 4.} = enum
  VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 1,
  VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 2,
  VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 4,
  VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 8,
  VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 16
VkOpticalFlowSessionCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  width*: uint32
  height*: uint32
  imageFormat*: VkFormat
  flowVectorFormat*: VkFormat
  costFormat*: VkFormat
  outputGridSize*: VkOpticalFlowGridSizeFlagsNV
  hintGridSize*: VkOpticalFlowGridSizeFlagsNV
  performanceLevel*: VkOpticalFlowPerformanceLevelNV
  flags*: VkOpticalFlowSessionCreateFlagsNV
VkOpticalFlowSessionCreatePrivateDataInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  id*: uint32
  size*: uint32
  pPrivateData*: pointer
VkOpticalFlowUsageFlagBitsNV {.size: 4.} = enum
  VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 1,
  VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 2,
  VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 4, VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 8,
  VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 16
VkPastPresentationTimingGOOGLE = object
  presentID*: uint32
  desiredPresentTime*: uint64
  actualPresentTime*: uint64
  earliestPresentTime*: uint64
  presentMargin*: uint64
VkPeerMemoryFeatureFlagBits {.size: 4.} = enum
  VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 1,
  VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 2,
  VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 4,
  VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 8
VkPerformanceConfigurationTypeINTEL {.size: 4.} = enum
  VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0
VkPerformanceCounterDescriptionFlagBitsKHR {.size: 4.} = enum
  VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 1,
  VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 2
VkPerformanceCounterDescriptionKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPerformanceCounterDescriptionFlagsKHR
  name*: array[VK_MAX_DESCRIPTION_SIZE, char]
  category*: array[VK_MAX_DESCRIPTION_SIZE, char]
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
VkPerformanceCounterKHR = object
  sType*: VkStructureType
  pNext*: pointer
  unit*: VkPerformanceCounterUnitKHR
  scope*: VkPerformanceCounterScopeKHR
  storage*: VkPerformanceCounterStorageKHR
  uuid*: array[VK_UUID_SIZE, uint8]
VkPerformanceCounterResultKHR {.union.} = object
  int32*: int32
  int64*: int64
  uint32*: uint32
  uint64*: uint64
  float32*: float32
  float64*: float64
VkPerformanceCounterScopeKHR {.size: 4.} = enum
  VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
  VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
  VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2
VkPerformanceCounterStorageKHR {.size: 4.} = enum
  VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
  VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
  VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
  VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
  VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
  VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5
VkPerformanceCounterUnitKHR {.size: 4.} = enum
  VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
  VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
  VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
  VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
  VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
  VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
  VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
  VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
  VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
  VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
  VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10
VkPerformanceMarkerInfoINTEL = object
  sType*: VkStructureType
  pNext*: pointer
  marker*: uint64
VkPerformanceOverrideInfoINTEL = object
  sType*: VkStructureType
  pNext*: pointer
  thetype*: VkPerformanceOverrideTypeINTEL
  enable*: VkBool32
  parameter*: uint64
VkPerformanceOverrideTypeINTEL {.size: 4.} = enum
  VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
  VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1
VkPerformanceParameterTypeINTEL {.size: 4.} = enum
  VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
  VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1
VkPerformanceQueryReservationInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  maxPerformanceQueriesPerPool*: uint32
VkPerformanceQuerySubmitInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  counterPassIndex*: uint32
VkPerformanceStreamMarkerInfoINTEL = object
  sType*: VkStructureType
  pNext*: pointer
  marker*: uint32
VkPerformanceValueDataINTEL {.union.} = object
  value32*: uint32
  value64*: uint64
  valueFloat*: float32
  valueBool*: VkBool32
  valueString*: cstring
VkPerformanceValueTypeINTEL {.size: 4.} = enum
  VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
  VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
  VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
  VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
  VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4
VkPhysicalDevice8BitStorageFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  storageBuffer8BitAccess*: VkBool32
  uniformAndStorageBuffer8BitAccess*: VkBool32
  storagePushConstant8*: VkBool32
VkPhysicalDevice16BitStorageFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  storageBuffer16BitAccess*: VkBool32
  uniformAndStorageBuffer16BitAccess*: VkBool32
  storagePushConstant16*: VkBool32
  storageInputOutput16*: VkBool32
VkPhysicalDevice4444FormatsFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  formatA4R4G4B4*: VkBool32
  formatA4B4G4R4*: VkBool32
VkPhysicalDeviceAccelerationStructureFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  accelerationStructure*: VkBool32
  accelerationStructureCaptureReplay*: VkBool32
  accelerationStructureIndirectBuild*: VkBool32
  accelerationStructureHostCommands*: VkBool32
  descriptorBindingAccelerationStructureUpdateAfterBind*: VkBool32
VkPhysicalDeviceAccelerationStructurePropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  maxGeometryCount*: uint64
  maxInstanceCount*: uint64
  maxPrimitiveCount*: uint64
  maxPerStageDescriptorAccelerationStructures*: uint32
  maxPerStageDescriptorUpdateAfterBindAccelerationStructures*: uint32
  maxDescriptorSetAccelerationStructures*: uint32
  maxDescriptorSetUpdateAfterBindAccelerationStructures*: uint32
  minAccelerationStructureScratchOffsetAlignment*: uint32
VkPhysicalDeviceAddressBindingReportFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  reportAddressBinding*: VkBool32
VkPhysicalDeviceAmigoProfilingFeaturesSEC = object
  sType*: VkStructureType
  pNext*: pointer
  amigoProfiling*: VkBool32
VkPhysicalDeviceASTCDecodeFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  decodeModeSharedExponent*: VkBool32
VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  attachmentFeedbackLoopLayout*: VkBool32
VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  advancedBlendCoherentOperations*: VkBool32
VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  advancedBlendMaxColorAttachments*: uint32
  advancedBlendIndependentBlend*: VkBool32
  advancedBlendNonPremultipliedSrcColor*: VkBool32
  advancedBlendNonPremultipliedDstColor*: VkBool32
  advancedBlendCorrelatedOverlap*: VkBool32
  advancedBlendAllOperations*: VkBool32
VkPhysicalDeviceBorderColorSwizzleFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  borderColorSwizzle*: VkBool32
  borderColorSwizzleFromImage*: VkBool32
VkPhysicalDeviceBufferDeviceAddressFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  bufferDeviceAddress*: VkBool32
  bufferDeviceAddressCaptureReplay*: VkBool32
  bufferDeviceAddressMultiDevice*: VkBool32
VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  bufferDeviceAddress*: VkBool32
  bufferDeviceAddressCaptureReplay*: VkBool32
  bufferDeviceAddressMultiDevice*: VkBool32
VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI = object
  sType*: VkStructureType
  pNext*: pointer
  clustercullingShader*: VkBool32
  multiviewClusterCullingShader*: VkBool32
VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI = object
  sType*: VkStructureType
  pNext*: pointer
  maxWorkGroupCount*: array[3, uint32]
  maxWorkGroupSize*: array[3, uint32]
  maxOutputClusterCount*: uint32
VkPhysicalDeviceCoherentMemoryFeaturesAMD = object
  sType*: VkStructureType
  pNext*: pointer
  deviceCoherentMemory*: VkBool32
VkPhysicalDeviceColorWriteEnableFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  colorWriteEnable*: VkBool32
VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  computeDerivativeGroupQuads*: VkBool32
  computeDerivativeGroupLinear*: VkBool32
VkPhysicalDeviceConditionalRenderingFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  conditionalRendering*: VkBool32
  inheritedConditionalRendering*: VkBool32
VkPhysicalDeviceConservativeRasterizationPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  primitiveOverestimationSize*: float32
  maxExtraPrimitiveOverestimationSize*: float32
  extraPrimitiveOverestimationSizeGranularity*: float32
  primitiveUnderestimation*: VkBool32
  conservativePointAndLineRasterization*: VkBool32
  degenerateTrianglesRasterized*: VkBool32
  degenerateLinesRasterized*: VkBool32
  fullyCoveredFragmentShaderInputVariable*: VkBool32
  conservativeRasterizationPostDepthCoverage*: VkBool32
VkPhysicalDeviceCooperativeMatrixFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  cooperativeMatrix*: VkBool32
  cooperativeMatrixRobustBufferAccess*: VkBool32
VkPhysicalDeviceCooperativeMatrixPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  cooperativeMatrixSupportedStages*: VkShaderStageFlags
VkPhysicalDeviceCopyMemoryIndirectFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  indirectCopy*: VkBool32
VkPhysicalDeviceCopyMemoryIndirectPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  supportedQueues*: VkQueueFlags
VkPhysicalDeviceCornerSampledImageFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  cornerSampledImage*: VkBool32
VkPhysicalDeviceCoverageReductionModeFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  coverageReductionMode*: VkBool32
VkPhysicalDeviceCustomBorderColorFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  customBorderColors*: VkBool32
  customBorderColorWithoutFormat*: VkBool32
VkPhysicalDeviceCustomBorderColorPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxCustomBorderColorSamplers*: uint32
VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  dedicatedAllocationImageAliasing*: VkBool32
VkPhysicalDeviceDepthClampZeroOneFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  depthClampZeroOne*: VkBool32
VkPhysicalDeviceDepthClipControlFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  depthClipControl*: VkBool32
VkPhysicalDeviceDepthClipEnableFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  depthClipEnable*: VkBool32
VkPhysicalDeviceDepthStencilResolveProperties = object
  sType*: VkStructureType
  pNext*: pointer
  supportedDepthResolveModes*: VkResolveModeFlags
  supportedStencilResolveModes*: VkResolveModeFlags
  independentResolveNone*: VkBool32
  independentResolve*: VkBool32
VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  combinedImageSamplerDensityMapDescriptorSize*: csize_t
VkPhysicalDeviceDescriptorBufferFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  descriptorBuffer*: VkBool32
  descriptorBufferCaptureReplay*: VkBool32
  descriptorBufferImageLayoutIgnored*: VkBool32
  descriptorBufferPushDescriptors*: VkBool32
VkPhysicalDeviceDescriptorBufferPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  combinedImageSamplerDescriptorSingleArray*: VkBool32
  bufferlessPushDescriptors*: VkBool32
  allowSamplerImageViewPostSubmitCreation*: VkBool32
  descriptorBufferOffsetAlignment*: VkDeviceSize
  maxDescriptorBufferBindings*: uint32
  maxResourceDescriptorBufferBindings*: uint32
  maxSamplerDescriptorBufferBindings*: uint32
  maxEmbeddedImmutableSamplerBindings*: uint32
  maxEmbeddedImmutableSamplers*: uint32
  bufferCaptureReplayDescriptorDataSize*: csize_t
  imageCaptureReplayDescriptorDataSize*: csize_t
  imageViewCaptureReplayDescriptorDataSize*: csize_t
  samplerCaptureReplayDescriptorDataSize*: csize_t
  accelerationStructureCaptureReplayDescriptorDataSize*: csize_t
  samplerDescriptorSize*: csize_t
  combinedImageSamplerDescriptorSize*: csize_t
  sampledImageDescriptorSize*: csize_t
  storageImageDescriptorSize*: csize_t
  uniformTexelBufferDescriptorSize*: csize_t
  robustUniformTexelBufferDescriptorSize*: csize_t
  storageTexelBufferDescriptorSize*: csize_t
  robustStorageTexelBufferDescriptorSize*: csize_t
  uniformBufferDescriptorSize*: csize_t
  robustUniformBufferDescriptorSize*: csize_t
  storageBufferDescriptorSize*: csize_t
  robustStorageBufferDescriptorSize*: csize_t
  inputAttachmentDescriptorSize*: csize_t
  accelerationStructureDescriptorSize*: csize_t
  maxSamplerDescriptorBufferRange*: VkDeviceSize
  maxResourceDescriptorBufferRange*: VkDeviceSize
  samplerDescriptorBufferAddressSpaceSize*: VkDeviceSize
  resourceDescriptorBufferAddressSpaceSize*: VkDeviceSize
  descriptorBufferAddressSpaceSize*: VkDeviceSize
VkPhysicalDeviceDescriptorIndexingFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  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
VkPhysicalDeviceDescriptorIndexingProperties = object
  sType*: VkStructureType
  pNext*: pointer
  maxUpdateAfterBindDescriptorsInAllPools*: uint32
  shaderUniformBufferArrayNonUniformIndexingNative*: VkBool32
  shaderSampledImageArrayNonUniformIndexingNative*: VkBool32
  shaderStorageBufferArrayNonUniformIndexingNative*: VkBool32
  shaderStorageImageArrayNonUniformIndexingNative*: VkBool32
  shaderInputAttachmentArrayNonUniformIndexingNative*: VkBool32
  robustBufferAccessUpdateAfterBind*: VkBool32
  quadDivergentImplicitLod*: VkBool32
  maxPerStageDescriptorUpdateAfterBindSamplers*: uint32
  maxPerStageDescriptorUpdateAfterBindUniformBuffers*: uint32
  maxPerStageDescriptorUpdateAfterBindStorageBuffers*: uint32
  maxPerStageDescriptorUpdateAfterBindSampledImages*: uint32
  maxPerStageDescriptorUpdateAfterBindStorageImages*: uint32
  maxPerStageDescriptorUpdateAfterBindInputAttachments*: uint32
  maxPerStageUpdateAfterBindResources*: uint32
  maxDescriptorSetUpdateAfterBindSamplers*: uint32
  maxDescriptorSetUpdateAfterBindUniformBuffers*: uint32
  maxDescriptorSetUpdateAfterBindUniformBuffersDynamic*: uint32
  maxDescriptorSetUpdateAfterBindStorageBuffers*: uint32
  maxDescriptorSetUpdateAfterBindStorageBuffersDynamic*: uint32
  maxDescriptorSetUpdateAfterBindSampledImages*: uint32
  maxDescriptorSetUpdateAfterBindStorageImages*: uint32
  maxDescriptorSetUpdateAfterBindInputAttachments*: uint32
VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE = object
  sType*: VkStructureType
  pNext*: pointer
  descriptorSetHostMapping*: VkBool32
VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  deviceGeneratedCommands*: VkBool32
VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  maxGraphicsShaderGroupCount*: uint32
  maxIndirectSequenceCount*: uint32
  maxIndirectCommandsTokenCount*: uint32
  maxIndirectCommandsStreamCount*: uint32
  maxIndirectCommandsTokenOffset*: uint32
  maxIndirectCommandsStreamStride*: uint32
  minSequencesCountBufferOffsetAlignment*: uint32
  minSequencesIndexBufferOffsetAlignment*: uint32
  minIndirectCommandsBufferOffsetAlignment*: uint32
VkPhysicalDeviceDeviceMemoryReportFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  deviceMemoryReport*: VkBool32
VkPhysicalDeviceDiagnosticsConfigFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  diagnosticsConfig*: VkBool32
VkPhysicalDeviceDiscardRectanglePropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxDiscardRectangles*: uint32
VkPhysicalDeviceDriverProperties = object
  sType*: VkStructureType
  pNext*: pointer
  driverID*: VkDriverId
  driverName*: array[VK_MAX_DRIVER_NAME_SIZE, char]
  driverInfo*: array[VK_MAX_DRIVER_INFO_SIZE, char]
  conformanceVersion*: VkConformanceVersion
VkPhysicalDeviceDrmPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  hasPrimary*: VkBool32
  hasRender*: VkBool32
  primaryMajor*: int64
  primaryMinor*: int64
  renderMajor*: int64
  renderMinor*: int64
VkPhysicalDeviceDynamicRenderingFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  dynamicRendering*: VkBool32
VkPhysicalDeviceExclusiveScissorFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  exclusiveScissor*: VkBool32
VkPhysicalDeviceExtendedDynamicState2FeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  extendedDynamicState2*: VkBool32
  extendedDynamicState2LogicOp*: VkBool32
  extendedDynamicState2PatchControlPoints*: VkBool32
VkPhysicalDeviceExtendedDynamicState3FeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  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*: VkBool32
VkPhysicalDeviceExtendedDynamicState3PropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  dynamicPrimitiveTopologyUnrestricted*: VkBool32
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  extendedDynamicState*: VkBool32
VkPhysicalDeviceExternalMemoryHostPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  minImportedHostPointerAlignment*: VkDeviceSize
VkPhysicalDeviceExternalMemoryRDMAFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  externalMemoryRDMA*: VkBool32
VkPhysicalDeviceFaultFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  deviceFault*: VkBool32
  deviceFaultVendorBinary*: VkBool32
VkPhysicalDeviceFeatures = object
  robustBufferAccess*: VkBool32
  fullDrawIndexUint32*: VkBool32
  imageCubeArray*: VkBool32
  independentBlend*: VkBool32
  geometryShader*: VkBool32
  tessellationShader*: VkBool32
  sampleRateShading*: VkBool32
  dualSrcBlend*: VkBool32
  logicOp*: VkBool32
  multiDrawIndirect*: VkBool32
  drawIndirectFirstInstance*: VkBool32
  depthClamp*: VkBool32
  depthBiasClamp*: VkBool32
  fillModeNonSolid*: VkBool32
  depthBounds*: VkBool32
  wideLines*: VkBool32
  largePoints*: VkBool32
  alphaToOne*: VkBool32
  multiViewport*: VkBool32
  samplerAnisotropy*: VkBool32
  textureCompressionETC2*: VkBool32
  textureCompressionASTC_LDR*: VkBool32
  textureCompressionBC*: VkBool32
  occlusionQueryPrecise*: VkBool32
  pipelineStatisticsQuery*: VkBool32
  vertexPipelineStoresAndAtomics*: VkBool32
  fragmentStoresAndAtomics*: VkBool32
  shaderTessellationAndGeometryPointSize*: VkBool32
  shaderImageGatherExtended*: VkBool32
  shaderStorageImageExtendedFormats*: VkBool32
  shaderStorageImageMultisample*: VkBool32
  shaderStorageImageReadWithoutFormat*: VkBool32
  shaderStorageImageWriteWithoutFormat*: VkBool32
  shaderUniformBufferArrayDynamicIndexing*: VkBool32
  shaderSampledImageArrayDynamicIndexing*: VkBool32
  shaderStorageBufferArrayDynamicIndexing*: VkBool32
  shaderStorageImageArrayDynamicIndexing*: VkBool32
  shaderClipDistance*: VkBool32
  shaderCullDistance*: VkBool32
  shaderFloat64*: VkBool32
  shaderInt64*: VkBool32
  shaderInt16*: VkBool32
  shaderResourceResidency*: VkBool32
  shaderResourceMinLod*: VkBool32
  sparseBinding*: VkBool32
  sparseResidencyBuffer*: VkBool32
  sparseResidencyImage2D*: VkBool32
  sparseResidencyImage3D*: VkBool32
  sparseResidency2Samples*: VkBool32
  sparseResidency4Samples*: VkBool32
  sparseResidency8Samples*: VkBool32
  sparseResidency16Samples*: VkBool32
  sparseResidencyAliased*: VkBool32
  variableMultisampleRate*: VkBool32
  inheritedQueries*: VkBool32
VkPhysicalDeviceFeatures2 = object
  sType*: VkStructureType
  pNext*: pointer
  features*: VkPhysicalDeviceFeatures
VkPhysicalDeviceFloatControlsProperties = object
  sType*: VkStructureType
  pNext*: pointer
  denormBehaviorIndependence*: VkShaderFloatControlsIndependence
  roundingModeIndependence*: VkShaderFloatControlsIndependence
  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*: VkBool32
VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentDensityMapDeferred*: VkBool32
VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  subsampledLoads*: VkBool32
  subsampledCoarseReconstructionEarlyAccess*: VkBool32
  maxSubsampledArrayLayers*: uint32
  maxDescriptorSetSubsampledSamplers*: uint32
VkPhysicalDeviceFragmentDensityMapFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentDensityMap*: VkBool32
  fragmentDensityMapDynamic*: VkBool32
  fragmentDensityMapNonSubsampledImages*: VkBool32
VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentDensityMapOffset*: VkBool32
VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentDensityOffsetGranularity*: VkExtent2D
VkPhysicalDeviceFragmentDensityMapPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  minFragmentDensityTexelSize*: VkExtent2D
  maxFragmentDensityTexelSize*: VkExtent2D
  fragmentDensityInvocations*: VkBool32
VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentShaderBarycentric*: VkBool32
VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  triStripVertexOrderIndependentOfProvokingVertex*: VkBool32
VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentShaderSampleInterlock*: VkBool32
  fragmentShaderPixelInterlock*: VkBool32
  fragmentShaderShadingRateInterlock*: VkBool32
VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentShadingRateEnums*: VkBool32
  supersampleFragmentShadingRates*: VkBool32
  noInvocationFragmentShadingRates*: VkBool32
VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  maxFragmentShadingRateInvocationCount*: VkSampleCountFlagBits
VkPhysicalDeviceFragmentShadingRateFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  pipelineFragmentShadingRate*: VkBool32
  primitiveFragmentShadingRate*: VkBool32
  attachmentFragmentShadingRate*: VkBool32
VkPhysicalDeviceFragmentShadingRateKHR = object
  sType*: VkStructureType
  pNext*: pointer
  sampleCounts*: VkSampleCountFlags
  fragmentSize*: VkExtent2D
VkPhysicalDeviceFragmentShadingRatePropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  minFragmentShadingRateAttachmentTexelSize*: VkExtent2D
  maxFragmentShadingRateAttachmentTexelSize*: VkExtent2D
  maxFragmentShadingRateAttachmentTexelSizeAspectRatio*: uint32
  primitiveFragmentShadingRateWithMultipleViewports*: VkBool32
  layeredShadingRateAttachments*: VkBool32
  fragmentShadingRateNonTrivialCombinerOps*: VkBool32
  maxFragmentSize*: VkExtent2D
  maxFragmentSizeAspectRatio*: uint32
  maxFragmentShadingRateCoverageSamples*: uint32
  maxFragmentShadingRateRasterizationSamples*: VkSampleCountFlagBits
  fragmentShadingRateWithShaderDepthStencilWrites*: VkBool32
  fragmentShadingRateWithSampleMask*: VkBool32
  fragmentShadingRateWithShaderSampleMask*: VkBool32
  fragmentShadingRateWithConservativeRasterization*: VkBool32
  fragmentShadingRateWithFragmentShaderInterlock*: VkBool32
  fragmentShadingRateWithCustomSampleLocations*: VkBool32
  fragmentShadingRateStrictMultiplyCombiner*: VkBool32
VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  globalPriorityQuery*: VkBool32
VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  graphicsPipelineLibrary*: VkBool32
VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  graphicsPipelineLibraryFastLinking*: VkBool32
  graphicsPipelineLibraryIndependentInterpolationDecoration*: VkBool32
VkPhysicalDeviceGroupProperties = object
  sType*: VkStructureType
  pNext*: pointer
  physicalDeviceCount*: uint32
  physicalDevices*: array[VK_MAX_DEVICE_GROUP_SIZE, VkPhysicalDevice]
  subsetAllocation*: VkBool32
VkPhysicalDeviceHostQueryResetFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  hostQueryReset*: VkBool32
VkPhysicalDeviceIDProperties = object
  sType*: VkStructureType
  pNext*: pointer
  deviceUUID*: array[VK_UUID_SIZE, uint8]
  driverUUID*: array[VK_UUID_SIZE, uint8]
  deviceLUID*: array[VK_LUID_SIZE, uint8]
  deviceNodeMask*: uint32
  deviceLUIDValid*: VkBool32
VkPhysicalDeviceImage2DViewOf3DFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  image2DViewOf3D*: VkBool32
  sampler2DViewOf3D*: VkBool32
VkPhysicalDeviceImageCompressionControlFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  imageCompressionControl*: VkBool32
VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  imageCompressionControlSwapchain*: VkBool32
VkPhysicalDeviceImageDrmFormatModifierInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  drmFormatModifier*: uint64
  sharingMode*: VkSharingMode
  queueFamilyIndexCount*: uint32
  pQueueFamilyIndices*: ptr uint32
VkPhysicalDeviceImageFormatInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  format*: VkFormat
  thetype*: VkImageType
  tiling*: VkImageTiling
  usage*: VkImageUsageFlags
  flags*: VkImageCreateFlags
VkPhysicalDeviceImagelessFramebufferFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  imagelessFramebuffer*: VkBool32
VkPhysicalDeviceImageProcessingFeaturesQCOM = object
  sType*: VkStructureType
  pNext*: pointer
  textureSampleWeighted*: VkBool32
  textureBoxFilter*: VkBool32
  textureBlockMatch*: VkBool32
VkPhysicalDeviceImageProcessingPropertiesQCOM = object
  sType*: VkStructureType
  pNext*: pointer
  maxWeightFilterPhases*: uint32
  maxWeightFilterDimension*: VkExtent2D
  maxBlockMatchRegion*: VkExtent2D
  maxBoxFilterBlockSize*: VkExtent2D
VkPhysicalDeviceImageRobustnessFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  robustImageAccess*: VkBool32
VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  imageSlicedViewOf3D*: VkBool32
VkPhysicalDeviceImageViewImageFormatInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  imageViewType*: VkImageViewType
VkPhysicalDeviceImageViewMinLodFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  minLod*: VkBool32
VkPhysicalDeviceIndexTypeUint8FeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  indexTypeUint8*: VkBool32
VkPhysicalDeviceInheritedViewportScissorFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  inheritedViewportScissor2D*: VkBool32
VkPhysicalDeviceInlineUniformBlockFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  inlineUniformBlock*: VkBool32
  descriptorBindingInlineUniformBlockUpdateAfterBind*: VkBool32
VkPhysicalDeviceInlineUniformBlockProperties = object
  sType*: VkStructureType
  pNext*: pointer
  maxInlineUniformBlockSize*: uint32
  maxPerStageDescriptorInlineUniformBlocks*: uint32
  maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks*: uint32
  maxDescriptorSetInlineUniformBlocks*: uint32
  maxDescriptorSetUpdateAfterBindInlineUniformBlocks*: uint32
VkPhysicalDeviceInvocationMaskFeaturesHUAWEI = object
  sType*: VkStructureType
  pNext*: pointer
  invocationMask*: VkBool32
VkPhysicalDeviceLegacyDitheringFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  legacyDithering*: VkBool32
VkPhysicalDeviceLimits = object
  maxImageDimension1D*: uint32
  maxImageDimension2D*: uint32
  maxImageDimension3D*: uint32
  maxImageDimensionCube*: uint32
  maxImageArrayLayers*: uint32
  maxTexelBufferElements*: uint32
  maxUniformBufferRange*: uint32
  maxStorageBufferRange*: uint32
  maxPushConstantsSize*: uint32
  maxMemoryAllocationCount*: uint32
  maxSamplerAllocationCount*: uint32
  bufferImageGranularity*: VkDeviceSize
  sparseAddressSpaceSize*: VkDeviceSize
  maxBoundDescriptorSets*: uint32
  maxPerStageDescriptorSamplers*: uint32
  maxPerStageDescriptorUniformBuffers*: uint32
  maxPerStageDescriptorStorageBuffers*: uint32
  maxPerStageDescriptorSampledImages*: uint32
  maxPerStageDescriptorStorageImages*: uint32
  maxPerStageDescriptorInputAttachments*: uint32
  maxPerStageResources*: uint32
  maxDescriptorSetSamplers*: uint32
  maxDescriptorSetUniformBuffers*: uint32
  maxDescriptorSetUniformBuffersDynamic*: uint32
  maxDescriptorSetStorageBuffers*: uint32
  maxDescriptorSetStorageBuffersDynamic*: uint32
  maxDescriptorSetSampledImages*: uint32
  maxDescriptorSetStorageImages*: uint32
  maxDescriptorSetInputAttachments*: uint32
  maxVertexInputAttributes*: uint32
  maxVertexInputBindings*: uint32
  maxVertexInputAttributeOffset*: uint32
  maxVertexInputBindingStride*: uint32
  maxVertexOutputComponents*: uint32
  maxTessellationGenerationLevel*: uint32
  maxTessellationPatchSize*: uint32
  maxTessellationControlPerVertexInputComponents*: uint32
  maxTessellationControlPerVertexOutputComponents*: uint32
  maxTessellationControlPerPatchOutputComponents*: uint32
  maxTessellationControlTotalOutputComponents*: uint32
  maxTessellationEvaluationInputComponents*: uint32
  maxTessellationEvaluationOutputComponents*: uint32
  maxGeometryShaderInvocations*: uint32
  maxGeometryInputComponents*: uint32
  maxGeometryOutputComponents*: uint32
  maxGeometryOutputVertices*: uint32
  maxGeometryTotalOutputComponents*: uint32
  maxFragmentInputComponents*: uint32
  maxFragmentOutputAttachments*: uint32
  maxFragmentDualSrcAttachments*: uint32
  maxFragmentCombinedOutputResources*: uint32
  maxComputeSharedMemorySize*: uint32
  maxComputeWorkGroupCount*: array[3, uint32]
  maxComputeWorkGroupInvocations*: uint32
  maxComputeWorkGroupSize*: array[3, uint32]
  subPixelPrecisionBits*: uint32
  subTexelPrecisionBits*: uint32
  mipmapPrecisionBits*: uint32
  maxDrawIndexedIndexValue*: uint32
  maxDrawIndirectCount*: uint32
  maxSamplerLodBias*: float32
  maxSamplerAnisotropy*: float32
  maxViewports*: uint32
  maxViewportDimensions*: array[2, uint32]
  viewportBoundsRange*: array[2, float32]
  viewportSubPixelBits*: uint32
  minMemoryMapAlignment*: csize_t
  minTexelBufferOffsetAlignment*: VkDeviceSize
  minUniformBufferOffsetAlignment*: VkDeviceSize
  minStorageBufferOffsetAlignment*: VkDeviceSize
  minTexelOffset*: int32
  maxTexelOffset*: uint32
  minTexelGatherOffset*: int32
  maxTexelGatherOffset*: uint32
  minInterpolationOffset*: float32
  maxInterpolationOffset*: float32
  subPixelInterpolationOffsetBits*: uint32
  maxFramebufferWidth*: uint32
  maxFramebufferHeight*: uint32
  maxFramebufferLayers*: uint32
  framebufferColorSampleCounts*: VkSampleCountFlags
  framebufferDepthSampleCounts*: VkSampleCountFlags
  framebufferStencilSampleCounts*: VkSampleCountFlags
  framebufferNoAttachmentsSampleCounts*: VkSampleCountFlags
  maxColorAttachments*: uint32
  sampledImageColorSampleCounts*: VkSampleCountFlags
  sampledImageIntegerSampleCounts*: VkSampleCountFlags
  sampledImageDepthSampleCounts*: VkSampleCountFlags
  sampledImageStencilSampleCounts*: VkSampleCountFlags
  storageImageSampleCounts*: VkSampleCountFlags
  maxSampleMaskWords*: uint32
  timestampComputeAndGraphics*: VkBool32
  timestampPeriod*: float32
  maxClipDistances*: uint32
  maxCullDistances*: uint32
  maxCombinedClipAndCullDistances*: uint32
  discreteQueuePriorities*: uint32
  pointSizeRange*: array[2, float32]
  lineWidthRange*: array[2, float32]
  pointSizeGranularity*: float32
  lineWidthGranularity*: float32
  strictLines*: VkBool32
  standardSampleLocations*: VkBool32
  optimalBufferCopyOffsetAlignment*: VkDeviceSize
  optimalBufferCopyRowPitchAlignment*: VkDeviceSize
  nonCoherentAtomSize*: VkDeviceSize
VkPhysicalDeviceLinearColorAttachmentFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  linearColorAttachment*: VkBool32
VkPhysicalDeviceLineRasterizationFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  rectangularLines*: VkBool32
  bresenhamLines*: VkBool32
  smoothLines*: VkBool32
  stippledRectangularLines*: VkBool32
  stippledBresenhamLines*: VkBool32
  stippledSmoothLines*: VkBool32
VkPhysicalDeviceLineRasterizationPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  lineSubPixelPrecisionBits*: uint32
VkPhysicalDeviceMaintenance3Properties = object
  sType*: VkStructureType
  pNext*: pointer
  maxPerSetDescriptors*: uint32
  maxMemoryAllocationSize*: VkDeviceSize
VkPhysicalDeviceMaintenance4Features = object
  sType*: VkStructureType
  pNext*: pointer
  maintenance4*: VkBool32
VkPhysicalDeviceMaintenance4Properties = object
  sType*: VkStructureType
  pNext*: pointer
  maxBufferSize*: VkDeviceSize
VkPhysicalDeviceMemoryBudgetPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  heapBudget*: array[VK_MAX_MEMORY_HEAPS, VkDeviceSize]
  heapUsage*: array[VK_MAX_MEMORY_HEAPS, VkDeviceSize]
VkPhysicalDeviceMemoryDecompressionFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  memoryDecompression*: VkBool32
VkPhysicalDeviceMemoryDecompressionPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  decompressionMethods*: VkMemoryDecompressionMethodFlagsNV
  maxDecompressionIndirectCount*: uint64
VkPhysicalDeviceMemoryPriorityFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  memoryPriority*: VkBool32
VkPhysicalDeviceMemoryProperties = object
  memoryTypeCount*: uint32
  memoryTypes*: array[VK_MAX_MEMORY_TYPES, VkMemoryType]
  memoryHeapCount*: uint32
  memoryHeaps*: array[VK_MAX_MEMORY_HEAPS, VkMemoryHeap]
VkPhysicalDeviceMemoryProperties2 = object
  sType*: VkStructureType
  pNext*: pointer
  memoryProperties*: VkPhysicalDeviceMemoryProperties
VkPhysicalDeviceMeshShaderFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  taskShader*: VkBool32
  meshShader*: VkBool32
  multiviewMeshShader*: VkBool32
  primitiveFragmentShadingRateMeshShader*: VkBool32
  meshShaderQueries*: VkBool32
VkPhysicalDeviceMeshShaderFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  taskShader*: VkBool32
  meshShader*: VkBool32
VkPhysicalDeviceMeshShaderPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxTaskWorkGroupTotalCount*: uint32
  maxTaskWorkGroupCount*: array[3, uint32]
  maxTaskWorkGroupInvocations*: uint32
  maxTaskWorkGroupSize*: array[3, uint32]
  maxTaskPayloadSize*: uint32
  maxTaskSharedMemorySize*: uint32
  maxTaskPayloadAndSharedMemorySize*: uint32
  maxMeshWorkGroupTotalCount*: uint32
  maxMeshWorkGroupCount*: array[3, uint32]
  maxMeshWorkGroupInvocations*: uint32
  maxMeshWorkGroupSize*: array[3, uint32]
  maxMeshSharedMemorySize*: uint32
  maxMeshPayloadAndSharedMemorySize*: uint32
  maxMeshOutputMemorySize*: uint32
  maxMeshPayloadAndOutputMemorySize*: uint32
  maxMeshOutputComponents*: uint32
  maxMeshOutputVertices*: uint32
  maxMeshOutputPrimitives*: uint32
  maxMeshOutputLayers*: uint32
  maxMeshMultiviewViewCount*: uint32
  meshOutputPerVertexGranularity*: uint32
  meshOutputPerPrimitiveGranularity*: uint32
  maxPreferredTaskWorkGroupInvocations*: uint32
  maxPreferredMeshWorkGroupInvocations*: uint32
  prefersLocalInvocationVertexOutput*: VkBool32
  prefersLocalInvocationPrimitiveOutput*: VkBool32
  prefersCompactVertexOutput*: VkBool32
  prefersCompactPrimitiveOutput*: VkBool32
VkPhysicalDeviceMeshShaderPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  maxDrawMeshTasksCount*: uint32
  maxTaskWorkGroupInvocations*: uint32
  maxTaskWorkGroupSize*: array[3, uint32]
  maxTaskTotalMemorySize*: uint32
  maxTaskOutputCount*: uint32
  maxMeshWorkGroupInvocations*: uint32
  maxMeshWorkGroupSize*: array[3, uint32]
  maxMeshTotalMemorySize*: uint32
  maxMeshOutputVertices*: uint32
  maxMeshOutputPrimitives*: uint32
  maxMeshMultiviewViewCount*: uint32
  meshOutputPerVertexGranularity*: uint32
  meshOutputPerPrimitiveGranularity*: uint32
VkPhysicalDeviceMultiDrawFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  multiDraw*: VkBool32
VkPhysicalDeviceMultiDrawPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxMultiDrawCount*: uint32
VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  multisampledRenderToSingleSampled*: VkBool32
VkPhysicalDeviceMultiviewFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  multiview*: VkBool32
  multiviewGeometryShader*: VkBool32
  multiviewTessellationShader*: VkBool32
VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = object
  sType*: VkStructureType
  pNext*: pointer
  perViewPositionAllComponents*: VkBool32
VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM = object
  sType*: VkStructureType
  pNext*: pointer
  multiviewPerViewRenderAreas*: VkBool32
VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = object
  sType*: VkStructureType
  pNext*: pointer
  multiviewPerViewViewports*: VkBool32
VkPhysicalDeviceMultiviewProperties = object
  sType*: VkStructureType
  pNext*: pointer
  maxMultiviewViewCount*: uint32
  maxMultiviewInstanceIndex*: uint32
VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  mutableDescriptorType*: VkBool32
VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  nonSeamlessCubeMap*: VkBool32
VkPhysicalDeviceOpacityMicromapFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  micromap*: VkBool32
  micromapCaptureReplay*: VkBool32
  micromapHostCommands*: VkBool32
VkPhysicalDeviceOpacityMicromapPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxOpacity2StateSubdivisionLevel*: uint32
  maxOpacity4StateSubdivisionLevel*: uint32
VkPhysicalDeviceOpticalFlowFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  opticalFlow*: VkBool32
VkPhysicalDeviceOpticalFlowPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  supportedOutputGridSizes*: VkOpticalFlowGridSizeFlagsNV
  supportedHintGridSizes*: VkOpticalFlowGridSizeFlagsNV
  hintSupported*: VkBool32
  costSupported*: VkBool32
  bidirectionalFlowSupported*: VkBool32
  globalFlowSupported*: VkBool32
  minWidth*: uint32
  minHeight*: uint32
  maxWidth*: uint32
  maxHeight*: uint32
  maxNumRegionsOfInterest*: uint32
VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pageableDeviceLocalMemory*: VkBool32
VkPhysicalDevicePCIBusInfoPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pciDomain*: uint32
  pciBus*: uint32
  pciDevice*: uint32
  pciFunction*: uint32
VkPhysicalDevicePerformanceQueryFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  performanceCounterQueryPools*: VkBool32
  performanceCounterMultipleQueryPools*: VkBool32
VkPhysicalDevicePerformanceQueryPropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  allowCommandBufferQueryCopies*: VkBool32
VkPhysicalDevicePipelineCreationCacheControlFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  pipelineCreationCacheControl*: VkBool32
VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  pipelineExecutableInfo*: VkBool32
VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pipelineLibraryGroupHandles*: VkBool32
VkPhysicalDevicePipelinePropertiesFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pipelinePropertiesIdentifier*: VkBool32
VkPhysicalDevicePipelineProtectedAccessFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pipelineProtectedAccess*: VkBool32
VkPhysicalDevicePipelineRobustnessFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pipelineRobustness*: VkBool32
VkPhysicalDevicePipelineRobustnessPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  defaultRobustnessStorageBuffers*: VkPipelineRobustnessBufferBehaviorEXT
  defaultRobustnessUniformBuffers*: VkPipelineRobustnessBufferBehaviorEXT
  defaultRobustnessVertexInputs*: VkPipelineRobustnessBufferBehaviorEXT
  defaultRobustnessImages*: VkPipelineRobustnessImageBehaviorEXT
VkPhysicalDevicePointClippingProperties = object
  sType*: VkStructureType
  pNext*: pointer
  pointClippingBehavior*: VkPointClippingBehavior
VkPhysicalDevicePresentBarrierFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  presentBarrier*: VkBool32
VkPhysicalDevicePresentIdFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  presentId*: VkBool32
VkPhysicalDevicePresentWaitFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  presentWait*: VkBool32
VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  primitivesGeneratedQuery*: VkBool32
  primitivesGeneratedQueryWithRasterizerDiscard*: VkBool32
  primitivesGeneratedQueryWithNonZeroStreams*: VkBool32
VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  primitiveTopologyListRestart*: VkBool32
  primitiveTopologyPatchListRestart*: VkBool32
VkPhysicalDevicePrivateDataFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  privateData*: VkBool32
VkPhysicalDeviceProperties = object
  apiVersion*: uint32
  driverVersion*: uint32
  vendorID*: uint32
  deviceID*: uint32
  deviceType*: VkPhysicalDeviceType
  deviceName*: array[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE, char]
  pipelineCacheUUID*: array[VK_UUID_SIZE, uint8]
  limits*: VkPhysicalDeviceLimits
  sparseProperties*: VkPhysicalDeviceSparseProperties
VkPhysicalDeviceProperties2 = object
  sType*: VkStructureType
  pNext*: pointer
  properties*: VkPhysicalDeviceProperties
VkPhysicalDeviceProtectedMemoryFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  protectedMemory*: VkBool32
VkPhysicalDeviceProtectedMemoryProperties = object
  sType*: VkStructureType
  pNext*: pointer
  protectedNoFault*: VkBool32
VkPhysicalDeviceProvokingVertexFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  provokingVertexLast*: VkBool32
  transformFeedbackPreservesProvokingVertex*: VkBool32
VkPhysicalDeviceProvokingVertexPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  provokingVertexModePerPipeline*: VkBool32
  transformFeedbackPreservesTriangleFanProvokingVertex*: VkBool32
VkPhysicalDevicePushDescriptorPropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  maxPushDescriptors*: uint32
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  rasterizationOrderColorAttachmentAccess*: VkBool32
  rasterizationOrderDepthAttachmentAccess*: VkBool32
  rasterizationOrderStencilAttachmentAccess*: VkBool32
VkPhysicalDeviceRayQueryFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  rayQuery*: VkBool32
VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  rayTracingInvocationReorder*: VkBool32
VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  rayTracingInvocationReorderReorderingHint*: VkRayTracingInvocationReorderModeNV
VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  rayTracingMaintenance1*: VkBool32
  rayTracingPipelineTraceRaysIndirect2*: VkBool32
VkPhysicalDeviceRayTracingMotionBlurFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  rayTracingMotionBlur*: VkBool32
  rayTracingMotionBlurPipelineTraceRaysIndirect*: VkBool32
VkPhysicalDeviceRayTracingPipelineFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  rayTracingPipeline*: VkBool32
  rayTracingPipelineShaderGroupHandleCaptureReplay*: VkBool32
  rayTracingPipelineShaderGroupHandleCaptureReplayMixed*: VkBool32
  rayTracingPipelineTraceRaysIndirect*: VkBool32
  rayTraversalPrimitiveCulling*: VkBool32
VkPhysicalDeviceRayTracingPipelinePropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  shaderGroupHandleSize*: uint32
  maxRayRecursionDepth*: uint32
  maxShaderGroupStride*: uint32
  shaderGroupBaseAlignment*: uint32
  shaderGroupHandleCaptureReplaySize*: uint32
  maxRayDispatchInvocationCount*: uint32
  shaderGroupHandleAlignment*: uint32
  maxRayHitAttributeSize*: uint32
VkPhysicalDeviceRayTracingPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  shaderGroupHandleSize*: uint32
  maxRecursionDepth*: uint32
  maxShaderGroupStride*: uint32
  shaderGroupBaseAlignment*: uint32
  maxGeometryCount*: uint64
  maxInstanceCount*: uint64
  maxTriangleCount*: uint64
  maxDescriptorSetAccelerationStructures*: uint32
VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  representativeFragmentTest*: VkBool32
VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  formatRgba10x6WithoutYCbCrSampler*: VkBool32
VkPhysicalDeviceRobustness2FeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  robustBufferAccess2*: VkBool32
  robustImageAccess2*: VkBool32
  nullDescriptor*: VkBool32
VkPhysicalDeviceRobustness2PropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  robustStorageBufferAccessSizeAlignment*: VkDeviceSize
  robustUniformBufferAccessSizeAlignment*: VkDeviceSize
VkPhysicalDeviceSampleLocationsPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  sampleLocationSampleCounts*: VkSampleCountFlags
  maxSampleLocationGridSize*: VkExtent2D
  sampleLocationCoordinateRange*: array[2, float32]
  sampleLocationSubPixelBits*: uint32
  variableSampleLocations*: VkBool32
VkPhysicalDeviceSamplerFilterMinmaxProperties = object
  sType*: VkStructureType
  pNext*: pointer
  filterMinmaxSingleComponentFormats*: VkBool32
  filterMinmaxImageComponentMapping*: VkBool32
VkPhysicalDeviceSamplerYcbcrConversionFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  samplerYcbcrConversion*: VkBool32
VkPhysicalDeviceScalarBlockLayoutFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  scalarBlockLayout*: VkBool32
VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  separateDepthStencilLayouts*: VkBool32
VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  shaderBufferFloat16Atomics*: VkBool32
  shaderBufferFloat16AtomicAdd*: VkBool32
  shaderBufferFloat16AtomicMinMax*: VkBool32
  shaderBufferFloat32AtomicMinMax*: VkBool32
  shaderBufferFloat64AtomicMinMax*: VkBool32
  shaderSharedFloat16Atomics*: VkBool32
  shaderSharedFloat16AtomicAdd*: VkBool32
  shaderSharedFloat16AtomicMinMax*: VkBool32
  shaderSharedFloat32AtomicMinMax*: VkBool32
  shaderSharedFloat64AtomicMinMax*: VkBool32
  shaderImageFloat32AtomicMinMax*: VkBool32
  sparseImageFloat32AtomicMinMax*: VkBool32
VkPhysicalDeviceShaderAtomicFloatFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  shaderBufferFloat32Atomics*: VkBool32
  shaderBufferFloat32AtomicAdd*: VkBool32
  shaderBufferFloat64Atomics*: VkBool32
  shaderBufferFloat64AtomicAdd*: VkBool32
  shaderSharedFloat32Atomics*: VkBool32
  shaderSharedFloat32AtomicAdd*: VkBool32
  shaderSharedFloat64Atomics*: VkBool32
  shaderSharedFloat64AtomicAdd*: VkBool32
  shaderImageFloat32Atomics*: VkBool32
  shaderImageFloat32AtomicAdd*: VkBool32
  sparseImageFloat32Atomics*: VkBool32
  sparseImageFloat32AtomicAdd*: VkBool32
VkPhysicalDeviceShaderAtomicInt64Features = object
  sType*: VkStructureType
  pNext*: pointer
  shaderBufferInt64Atomics*: VkBool32
  shaderSharedInt64Atomics*: VkBool32
VkPhysicalDeviceShaderClockFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  shaderSubgroupClock*: VkBool32
  shaderDeviceClock*: VkBool32
VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM = object
  sType*: VkStructureType
  pNext*: pointer
  shaderCoreBuiltins*: VkBool32
VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM = object
  sType*: VkStructureType
  pNext*: pointer
  shaderCoreMask*: uint64
  shaderCoreCount*: uint32
  shaderWarpsPerCore*: uint32
VkPhysicalDeviceShaderCoreProperties2AMD = object
  sType*: VkStructureType
  pNext*: pointer
  shaderCoreFeatures*: VkShaderCorePropertiesFlagsAMD
  activeComputeUnitCount*: uint32
VkPhysicalDeviceShaderCorePropertiesAMD = object
  sType*: VkStructureType
  pNext*: pointer
  shaderEngineCount*: uint32
  shaderArraysPerEngineCount*: uint32
  computeUnitsPerShaderArray*: uint32
  simdPerComputeUnit*: uint32
  wavefrontsPerSimd*: uint32
  wavefrontSize*: uint32
  sgprsPerSimd*: uint32
  minSgprAllocation*: uint32
  maxSgprAllocation*: uint32
  sgprAllocationGranularity*: uint32
  vgprsPerSimd*: uint32
  minVgprAllocation*: uint32
  maxVgprAllocation*: uint32
  vgprAllocationGranularity*: uint32
VkPhysicalDeviceShaderCorePropertiesARM = object
  sType*: VkStructureType
  pNext*: pointer
  pixelRate*: uint32
  texelRate*: uint32
  fmaRate*: uint32
VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  shaderDemoteToHelperInvocation*: VkBool32
VkPhysicalDeviceShaderDrawParametersFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  shaderDrawParameters*: VkBool32
VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD = object
  sType*: VkStructureType
  pNext*: pointer
  shaderEarlyAndLateFragmentTests*: VkBool32
VkPhysicalDeviceShaderFloat16Int8Features = object
  sType*: VkStructureType
  pNext*: pointer
  shaderFloat16*: VkBool32
  shaderInt8*: VkBool32
VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  shaderImageInt64Atomics*: VkBool32
  sparseImageInt64Atomics*: VkBool32
VkPhysicalDeviceShaderImageFootprintFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  imageFootprint*: VkBool32
VkPhysicalDeviceShaderIntegerDotProductFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  shaderIntegerDotProduct*: VkBool32
VkPhysicalDeviceShaderIntegerDotProductProperties = object
  sType*: VkStructureType
  pNext*: pointer
  integerDotProduct8BitUnsignedAccelerated*: VkBool32
  integerDotProduct8BitSignedAccelerated*: VkBool32
  integerDotProduct8BitMixedSignednessAccelerated*: VkBool32
  integerDotProduct4x8BitPackedUnsignedAccelerated*: VkBool32
  integerDotProduct4x8BitPackedSignedAccelerated*: VkBool32
  integerDotProduct4x8BitPackedMixedSignednessAccelerated*: VkBool32
  integerDotProduct16BitUnsignedAccelerated*: VkBool32
  integerDotProduct16BitSignedAccelerated*: VkBool32
  integerDotProduct16BitMixedSignednessAccelerated*: VkBool32
  integerDotProduct32BitUnsignedAccelerated*: VkBool32
  integerDotProduct32BitSignedAccelerated*: VkBool32
  integerDotProduct32BitMixedSignednessAccelerated*: VkBool32
  integerDotProduct64BitUnsignedAccelerated*: VkBool32
  integerDotProduct64BitSignedAccelerated*: VkBool32
  integerDotProduct64BitMixedSignednessAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating8BitUnsignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating8BitSignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating16BitUnsignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating16BitSignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating32BitUnsignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating32BitSignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating64BitUnsignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating64BitSignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated*: VkBool32
VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = object
  sType*: VkStructureType
  pNext*: pointer
  shaderIntegerFunctions2*: VkBool32
VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  shaderModuleIdentifier*: VkBool32
VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  shaderModuleIdentifierAlgorithmUUID*: array[VK_UUID_SIZE, uint8]
VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  shaderSMBuiltins*: VkBool32
VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  shaderSMCount*: uint32
  shaderWarpsPerSM*: uint32
VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  shaderSubgroupExtendedTypes*: VkBool32
VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  shaderSubgroupUniformControlFlow*: VkBool32
VkPhysicalDeviceShaderTerminateInvocationFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  shaderTerminateInvocation*: VkBool32
VkPhysicalDeviceShadingRateImageFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  shadingRateImage*: VkBool32
  shadingRateCoarseSampleOrder*: VkBool32
VkPhysicalDeviceShadingRateImagePropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  shadingRateTexelSize*: VkExtent2D
  shadingRatePaletteSize*: uint32
  shadingRateMaxCoarseSamples*: uint32
VkPhysicalDeviceSparseImageFormatInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  format*: VkFormat
  thetype*: VkImageType
  samples*: VkSampleCountFlagBits
  usage*: VkImageUsageFlags
  tiling*: VkImageTiling
VkPhysicalDeviceSparseProperties = object
  residencyStandard2DBlockShape*: VkBool32
  residencyStandard2DMultisampleBlockShape*: VkBool32
  residencyStandard3DBlockShape*: VkBool32
  residencyAlignedMipSize*: VkBool32
  residencyNonResidentStrict*: VkBool32
VkPhysicalDeviceSubgroupProperties = object
  sType*: VkStructureType
  pNext*: pointer
  subgroupSize*: uint32
  supportedStages*: VkShaderStageFlags
  supportedOperations*: VkSubgroupFeatureFlags
  quadOperationsInAllStages*: VkBool32
VkPhysicalDeviceSubgroupSizeControlFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  subgroupSizeControl*: VkBool32
  computeFullSubgroups*: VkBool32
VkPhysicalDeviceSubgroupSizeControlProperties = object
  sType*: VkStructureType
  pNext*: pointer
  minSubgroupSize*: uint32
  maxSubgroupSize*: uint32
  maxComputeWorkgroupSubgroups*: uint32
  requiredSubgroupSizeStages*: VkShaderStageFlags
VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  subpassMergeFeedback*: VkBool32
VkPhysicalDeviceSubpassShadingFeaturesHUAWEI = object
  sType*: VkStructureType
  pNext*: pointer
  subpassShading*: VkBool32
VkPhysicalDeviceSubpassShadingPropertiesHUAWEI = object
  sType*: VkStructureType
  pNext*: pointer
  maxSubpassShadingWorkgroupSizeAspectRatio*: uint32
VkPhysicalDeviceSurfaceInfo2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  surface*: VkSurfaceKHR
VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  swapchainMaintenance1*: VkBool32
VkPhysicalDeviceSynchronization2Features = object
  sType*: VkStructureType
  pNext*: pointer
  synchronization2*: VkBool32
VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  texelBufferAlignment*: VkBool32
VkPhysicalDeviceTexelBufferAlignmentProperties = object
  sType*: VkStructureType
  pNext*: pointer
  storageTexelBufferOffsetAlignmentBytes*: VkDeviceSize
  storageTexelBufferOffsetSingleTexelAlignment*: VkBool32
  uniformTexelBufferOffsetAlignmentBytes*: VkDeviceSize
  uniformTexelBufferOffsetSingleTexelAlignment*: VkBool32
VkPhysicalDeviceTextureCompressionASTCHDRFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  textureCompressionASTC_HDR*: VkBool32
VkPhysicalDeviceTilePropertiesFeaturesQCOM = object
  sType*: VkStructureType
  pNext*: pointer
  tileProperties*: VkBool32
VkPhysicalDeviceTimelineSemaphoreFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  timelineSemaphore*: VkBool32
VkPhysicalDeviceTimelineSemaphoreProperties = object
  sType*: VkStructureType
  pNext*: pointer
  maxTimelineSemaphoreValueDifference*: uint64
VkPhysicalDeviceToolProperties = object
  sType*: VkStructureType
  pNext*: pointer
  name*: array[VK_MAX_EXTENSION_NAME_SIZE, char]
  version*: array[VK_MAX_EXTENSION_NAME_SIZE, char]
  purposes*: VkToolPurposeFlags
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
  layer*: array[VK_MAX_EXTENSION_NAME_SIZE, char]
VkPhysicalDeviceTransformFeedbackFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  transformFeedback*: VkBool32
  geometryStreams*: VkBool32
VkPhysicalDeviceTransformFeedbackPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxTransformFeedbackStreams*: uint32
  maxTransformFeedbackBuffers*: uint32
  maxTransformFeedbackBufferSize*: VkDeviceSize
  maxTransformFeedbackStreamDataSize*: uint32
  maxTransformFeedbackBufferDataSize*: uint32
  maxTransformFeedbackBufferDataStride*: uint32
  transformFeedbackQueries*: VkBool32
  transformFeedbackStreamsLinesTriangles*: VkBool32
  transformFeedbackRasterizationStreamSelect*: VkBool32
  transformFeedbackDraw*: VkBool32
VkPhysicalDeviceType {.size: 4.} = enum
  VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
  VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
  VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, VK_PHYSICAL_DEVICE_TYPE_CPU = 4
VkPhysicalDeviceUniformBufferStandardLayoutFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  uniformBufferStandardLayout*: VkBool32
VkPhysicalDeviceVariablePointersFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  variablePointersStorageBuffer*: VkBool32
  variablePointers*: VkBool32
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  vertexAttributeInstanceRateDivisor*: VkBool32
  vertexAttributeInstanceRateZeroDivisor*: VkBool32
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxVertexAttribDivisor*: uint32
VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  vertexInputDynamicState*: VkBool32
VkPhysicalDeviceVulkan11Features = object
  sType*: VkStructureType
  pNext*: pointer
  storageBuffer16BitAccess*: VkBool32
  uniformAndStorageBuffer16BitAccess*: VkBool32
  storagePushConstant16*: VkBool32
  storageInputOutput16*: VkBool32
  multiview*: VkBool32
  multiviewGeometryShader*: VkBool32
  multiviewTessellationShader*: VkBool32
  variablePointersStorageBuffer*: VkBool32
  variablePointers*: VkBool32
  protectedMemory*: VkBool32
  samplerYcbcrConversion*: VkBool32
  shaderDrawParameters*: VkBool32
VkPhysicalDeviceVulkan11Properties = object
  sType*: VkStructureType
  pNext*: pointer
  deviceUUID*: array[VK_UUID_SIZE, uint8]
  driverUUID*: array[VK_UUID_SIZE, uint8]
  deviceLUID*: array[VK_LUID_SIZE, uint8]
  deviceNodeMask*: uint32
  deviceLUIDValid*: VkBool32
  subgroupSize*: uint32
  subgroupSupportedStages*: VkShaderStageFlags
  subgroupSupportedOperations*: VkSubgroupFeatureFlags
  subgroupQuadOperationsInAllStages*: VkBool32
  pointClippingBehavior*: VkPointClippingBehavior
  maxMultiviewViewCount*: uint32
  maxMultiviewInstanceIndex*: uint32
  protectedNoFault*: VkBool32
  maxPerSetDescriptors*: uint32
  maxMemoryAllocationSize*: VkDeviceSize
VkPhysicalDeviceVulkan12Features = object
  sType*: VkStructureType
  pNext*: pointer
  samplerMirrorClampToEdge*: VkBool32
  drawIndirectCount*: VkBool32
  storageBuffer8BitAccess*: VkBool32
  uniformAndStorageBuffer8BitAccess*: VkBool32
  storagePushConstant8*: VkBool32
  shaderBufferInt64Atomics*: VkBool32
  shaderSharedInt64Atomics*: VkBool32
  shaderFloat16*: VkBool32
  shaderInt8*: VkBool32
  descriptorIndexing*: VkBool32
  shaderInputAttachmentArrayDynamicIndexing*: VkBool32
  shaderUniformTexelBufferArrayDynamicIndexing*: VkBool32
  shaderStorageTexelBufferArrayDynamicIndexing*: VkBool32
  shaderUniformBufferArrayNonUniformIndexing*: VkBool32
  shaderSampledImageArrayNonUniformIndexing*: VkBool32
  shaderStorageBufferArrayNonUniformIndexing*: VkBool32
  shaderStorageImageArrayNonUniformIndexing*: VkBool32
  shaderInputAttachmentArrayNonUniformIndexing*: VkBool32
  shaderUniformTexelBufferArrayNonUniformIndexing*: VkBool32
  shaderStorageTexelBufferArrayNonUniformIndexing*: VkBool32
  descriptorBindingUniformBufferUpdateAfterBind*: VkBool32
  descriptorBindingSampledImageUpdateAfterBind*: VkBool32
  descriptorBindingStorageImageUpdateAfterBind*: VkBool32
  descriptorBindingStorageBufferUpdateAfterBind*: VkBool32
  descriptorBindingUniformTexelBufferUpdateAfterBind*: VkBool32
  descriptorBindingStorageTexelBufferUpdateAfterBind*: VkBool32
  descriptorBindingUpdateUnusedWhilePending*: VkBool32
  descriptorBindingPartiallyBound*: VkBool32
  descriptorBindingVariableDescriptorCount*: VkBool32
  runtimeDescriptorArray*: VkBool32
  samplerFilterMinmax*: VkBool32
  scalarBlockLayout*: VkBool32
  imagelessFramebuffer*: VkBool32
  uniformBufferStandardLayout*: VkBool32
  shaderSubgroupExtendedTypes*: VkBool32
  separateDepthStencilLayouts*: VkBool32
  hostQueryReset*: VkBool32
  timelineSemaphore*: VkBool32
  bufferDeviceAddress*: VkBool32
  bufferDeviceAddressCaptureReplay*: VkBool32
  bufferDeviceAddressMultiDevice*: VkBool32
  vulkanMemoryModel*: VkBool32
  vulkanMemoryModelDeviceScope*: VkBool32
  vulkanMemoryModelAvailabilityVisibilityChains*: VkBool32
  shaderOutputViewportIndex*: VkBool32
  shaderOutputLayer*: VkBool32
  subgroupBroadcastDynamicId*: VkBool32
VkPhysicalDeviceVulkan12Properties = object
  sType*: VkStructureType
  pNext*: pointer
  driverID*: VkDriverId
  driverName*: array[VK_MAX_DRIVER_NAME_SIZE, char]
  driverInfo*: array[VK_MAX_DRIVER_INFO_SIZE, char]
  conformanceVersion*: VkConformanceVersion
  denormBehaviorIndependence*: VkShaderFloatControlsIndependence
  roundingModeIndependence*: VkShaderFloatControlsIndependence
  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*: VkBool32
  maxUpdateAfterBindDescriptorsInAllPools*: uint32
  shaderUniformBufferArrayNonUniformIndexingNative*: VkBool32
  shaderSampledImageArrayNonUniformIndexingNative*: VkBool32
  shaderStorageBufferArrayNonUniformIndexingNative*: VkBool32
  shaderStorageImageArrayNonUniformIndexingNative*: VkBool32
  shaderInputAttachmentArrayNonUniformIndexingNative*: VkBool32
  robustBufferAccessUpdateAfterBind*: VkBool32
  quadDivergentImplicitLod*: VkBool32
  maxPerStageDescriptorUpdateAfterBindSamplers*: uint32
  maxPerStageDescriptorUpdateAfterBindUniformBuffers*: uint32
  maxPerStageDescriptorUpdateAfterBindStorageBuffers*: uint32
  maxPerStageDescriptorUpdateAfterBindSampledImages*: uint32
  maxPerStageDescriptorUpdateAfterBindStorageImages*: uint32
  maxPerStageDescriptorUpdateAfterBindInputAttachments*: uint32
  maxPerStageUpdateAfterBindResources*: uint32
  maxDescriptorSetUpdateAfterBindSamplers*: uint32
  maxDescriptorSetUpdateAfterBindUniformBuffers*: uint32
  maxDescriptorSetUpdateAfterBindUniformBuffersDynamic*: uint32
  maxDescriptorSetUpdateAfterBindStorageBuffers*: uint32
  maxDescriptorSetUpdateAfterBindStorageBuffersDynamic*: uint32
  maxDescriptorSetUpdateAfterBindSampledImages*: uint32
  maxDescriptorSetUpdateAfterBindStorageImages*: uint32
  maxDescriptorSetUpdateAfterBindInputAttachments*: uint32
  supportedDepthResolveModes*: VkResolveModeFlags
  supportedStencilResolveModes*: VkResolveModeFlags
  independentResolveNone*: VkBool32
  independentResolve*: VkBool32
  filterMinmaxSingleComponentFormats*: VkBool32
  filterMinmaxImageComponentMapping*: VkBool32
  maxTimelineSemaphoreValueDifference*: uint64
  framebufferIntegerColorSampleCounts*: VkSampleCountFlags
VkPhysicalDeviceVulkan13Features = object
  sType*: VkStructureType
  pNext*: pointer
  robustImageAccess*: VkBool32
  inlineUniformBlock*: VkBool32
  descriptorBindingInlineUniformBlockUpdateAfterBind*: VkBool32
  pipelineCreationCacheControl*: VkBool32
  privateData*: VkBool32
  shaderDemoteToHelperInvocation*: VkBool32
  shaderTerminateInvocation*: VkBool32
  subgroupSizeControl*: VkBool32
  computeFullSubgroups*: VkBool32
  synchronization2*: VkBool32
  textureCompressionASTC_HDR*: VkBool32
  shaderZeroInitializeWorkgroupMemory*: VkBool32
  dynamicRendering*: VkBool32
  shaderIntegerDotProduct*: VkBool32
  maintenance4*: VkBool32
VkPhysicalDeviceVulkan13Properties = object
  sType*: VkStructureType
  pNext*: pointer
  minSubgroupSize*: uint32
  maxSubgroupSize*: uint32
  maxComputeWorkgroupSubgroups*: uint32
  requiredSubgroupSizeStages*: VkShaderStageFlags
  maxInlineUniformBlockSize*: uint32
  maxPerStageDescriptorInlineUniformBlocks*: uint32
  maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks*: uint32
  maxDescriptorSetInlineUniformBlocks*: uint32
  maxDescriptorSetUpdateAfterBindInlineUniformBlocks*: uint32
  maxInlineUniformTotalSize*: uint32
  integerDotProduct8BitUnsignedAccelerated*: VkBool32
  integerDotProduct8BitSignedAccelerated*: VkBool32
  integerDotProduct8BitMixedSignednessAccelerated*: VkBool32
  integerDotProduct4x8BitPackedUnsignedAccelerated*: VkBool32
  integerDotProduct4x8BitPackedSignedAccelerated*: VkBool32
  integerDotProduct4x8BitPackedMixedSignednessAccelerated*: VkBool32
  integerDotProduct16BitUnsignedAccelerated*: VkBool32
  integerDotProduct16BitSignedAccelerated*: VkBool32
  integerDotProduct16BitMixedSignednessAccelerated*: VkBool32
  integerDotProduct32BitUnsignedAccelerated*: VkBool32
  integerDotProduct32BitSignedAccelerated*: VkBool32
  integerDotProduct32BitMixedSignednessAccelerated*: VkBool32
  integerDotProduct64BitUnsignedAccelerated*: VkBool32
  integerDotProduct64BitSignedAccelerated*: VkBool32
  integerDotProduct64BitMixedSignednessAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating8BitUnsignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating8BitSignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating16BitUnsignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating16BitSignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating32BitUnsignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating32BitSignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating64BitUnsignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating64BitSignedAccelerated*: VkBool32
  integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated*: VkBool32
  storageTexelBufferOffsetAlignmentBytes*: VkDeviceSize
  storageTexelBufferOffsetSingleTexelAlignment*: VkBool32
  uniformTexelBufferOffsetAlignmentBytes*: VkDeviceSize
  uniformTexelBufferOffsetSingleTexelAlignment*: VkBool32
  maxBufferSize*: VkDeviceSize
VkPhysicalDeviceVulkanMemoryModelFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  vulkanMemoryModel*: VkBool32
  vulkanMemoryModelDeviceScope*: VkBool32
  vulkanMemoryModelAvailabilityVisibilityChains*: VkBool32
VkPhysicalDeviceVulkanSC10Features = object
  sType*: VkStructureType
  pNext*: pointer
  shaderAtomicInstructions*: VkBool32
VkPhysicalDeviceVulkanSC10Properties = object
  sType*: VkStructureType
  pNext*: pointer
  deviceNoDynamicHostAllocations*: VkBool32
  deviceDestroyFreesMemory*: VkBool32
  commandPoolMultipleCommandBuffersRecording*: VkBool32
  commandPoolResetCommandBuffer*: VkBool32
  commandBufferSimultaneousUse*: VkBool32
  secondaryCommandBufferNullOrImagelessFramebuffer*: VkBool32
  recycleDescriptorSetMemory*: VkBool32
  recyclePipelineMemory*: VkBool32
  maxRenderPassSubpasses*: uint32
  maxRenderPassDependencies*: uint32
  maxSubpassInputAttachments*: uint32
  maxSubpassPreserveAttachments*: uint32
  maxFramebufferAttachments*: uint32
  maxDescriptorSetLayoutBindings*: uint32
  maxQueryFaultCount*: uint32
  maxCallbackFaultCount*: uint32
  maxCommandPoolCommandBuffers*: uint32
  maxCommandBufferSize*: VkDeviceSize
VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  workgroupMemoryExplicitLayout*: VkBool32
  workgroupMemoryExplicitLayoutScalarBlockLayout*: VkBool32
  workgroupMemoryExplicitLayout8BitAccess*: VkBool32
  workgroupMemoryExplicitLayout16BitAccess*: VkBool32
VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  ycbcr2plane444Formats*: VkBool32
VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  ycbcrImageArrays*: VkBool32
VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  shaderZeroInitializeWorkgroupMemory*: VkBool32
VkPipelineBindPoint {.size: 4.} = enum
  VK_PIPELINE_BIND_POINT_GRAPHICS = 0, VK_PIPELINE_BIND_POINT_COMPUTE = 1,
  VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
  VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003
VkPipelineCacheCreateFlagBits {.size: 4.} = enum
  VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 1,
  VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_EXT = 2,
  VK_PIPELINE_CACHE_CREATE_USE_APPLICATION_STORAGE_BIT = 4
VkPipelineCacheCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineCacheCreateFlags
  initialDataSize*: csize_t
  pInitialData*: pointer
VkPipelineCacheHeaderVersion {.size: 4.} = enum
  VK_PIPELINE_CACHE_HEADER_VERSION_ONE_ENUM = 1,
  VK_PIPELINE_CACHE_HEADER_VERSION_SAFETY_CRITICAL_ONE_ENUM = 1000298001
VkPipelineCacheHeaderVersionOne = object
  headerSize*: uint32
  headerVersion*: VkPipelineCacheHeaderVersion
  vendorID*: uint32
  deviceID*: uint32
  pipelineCacheUUID*: array[VK_UUID_SIZE, uint8]
VkPipelineCacheHeaderVersionSafetyCriticalOne = object
  headerVersionOne*: VkPipelineCacheHeaderVersionOne
  validationVersion*: VkPipelineCacheValidationVersion
  implementationData*: uint32
  pipelineIndexCount*: uint32
  pipelineIndexStride*: uint32
  pipelineIndexOffset*: uint64
VkPipelineCacheSafetyCriticalIndexEntry = object
  pipelineIdentifier*: array[VK_UUID_SIZE, uint8]
  pipelineMemorySize*: uint64
  jsonSize*: uint64
  jsonOffset*: uint64
  stageIndexCount*: uint32
  stageIndexStride*: uint32
  stageIndexOffset*: uint64
VkPipelineCacheStageValidationIndexEntry = object
  codeSize*: uint64
  codeOffset*: uint64
VkPipelineCacheValidationVersion {.size: 4.} = enum
  VK_PIPELINE_CACHE_VALIDATION_VERSION_SAFETY_CRITICAL_ONE = 1
VkPipelineColorBlendAdvancedStateCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  srcPremultiplied*: VkBool32
  dstPremultiplied*: VkBool32
  blendOverlap*: VkBlendOverlapEXT
VkPipelineColorBlendAttachmentState = object
  blendEnable*: VkBool32
  srcColorBlendFactor*: VkBlendFactor
  dstColorBlendFactor*: VkBlendFactor
  colorBlendOp*: VkBlendOp
  srcAlphaBlendFactor*: VkBlendFactor
  dstAlphaBlendFactor*: VkBlendFactor
  alphaBlendOp*: VkBlendOp
  colorWriteMask*: VkColorComponentFlags
VkPipelineColorBlendStateCreateFlagBits {.size: 4.} = enum
  VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 1
VkPipelineColorBlendStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineColorBlendStateCreateFlags
  logicOpEnable*: VkBool32
  logicOp*: VkLogicOp
  attachmentCount*: uint32
  pAttachments*: ptr VkPipelineColorBlendAttachmentState
  blendConstants*: array[4, float32]
VkPipelineColorWriteCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  attachmentCount*: uint32
  pColorWriteEnables*: ptr VkBool32
VkPipelineCompilerControlCreateInfoAMD = object
  sType*: VkStructureType
  pNext*: pointer
  compilerControlFlags*: VkPipelineCompilerControlFlagsAMD
VkPipelineCoverageModulationStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineCoverageModulationStateCreateFlagsNV
  coverageModulationMode*: VkCoverageModulationModeNV
  coverageModulationTableEnable*: VkBool32
  coverageModulationTableCount*: uint32
  pCoverageModulationTable*: ptr float32
VkPipelineCoverageToColorStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineCoverageToColorStateCreateFlagsNV
  coverageToColorEnable*: VkBool32
  coverageToColorLocation*: uint32
VkPipelineCreateFlagBits {.size: 4.} = enum
  VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 1,
  VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 2,
  VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4,
  VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8,
  VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 16,
  VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 32,
  VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 64,
  VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 128,
  VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 256,
  VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 512,
  VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 1024,
  VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 2048,
  VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 4096,
  VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 8192,
  VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 16384,
  VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 32768,
  VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 65536,
  VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 131072,
  VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 262144, VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 524288,
  VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 1048576, VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 2097152, VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 4194304,
  VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 8388608,
  VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 16777216,
  VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 33554432,
  VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 67108864,
  VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = 134217728,
  VK_PIPELINE_CREATE_RESERVED_BIT_28_NV = 268435456,
  VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 536870912,
  VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = 1073741824
VkPipelineCreationFeedback = object
  flags*: VkPipelineCreationFeedbackFlags
  duration*: uint64
VkPipelineCreationFeedbackCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  pPipelineCreationFeedback*: ptr VkPipelineCreationFeedback
  pipelineStageCreationFeedbackCount*: uint32
  pPipelineStageCreationFeedbacks*: ptr VkPipelineCreationFeedback
VkPipelineCreationFeedbackFlagBits {.size: 4.} = enum
  VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 1,
  VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 2,
  VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 4
VkPipelineDepthStencilStateCreateFlagBits {.size: 4.} = enum
  VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 1, VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 2
VkPipelineDepthStencilStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineDepthStencilStateCreateFlags
  depthTestEnable*: VkBool32
  depthWriteEnable*: VkBool32
  depthCompareOp*: VkCompareOp
  depthBoundsTestEnable*: VkBool32
  stencilTestEnable*: VkBool32
  front*: VkStencilOpState
  back*: VkStencilOpState
  minDepthBounds*: float32
  maxDepthBounds*: float32
VkPipelineDiscardRectangleStateCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineDiscardRectangleStateCreateFlagsEXT
  discardRectangleMode*: VkDiscardRectangleModeEXT
  discardRectangleCount*: uint32
  pDiscardRectangles*: ptr VkRect2D
VkPipelineDynamicStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineDynamicStateCreateFlags
  dynamicStateCount*: uint32
  pDynamicStates*: ptr VkDynamicState
VkPipelineExecutableInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  pipeline*: VkPipeline
  executableIndex*: uint32
VkPipelineExecutableInternalRepresentationKHR = object
  sType*: VkStructureType
  pNext*: pointer
  name*: array[VK_MAX_DESCRIPTION_SIZE, char]
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
  isText*: VkBool32
  dataSize*: csize_t
  pData*: pointer
VkPipelineExecutablePropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  stages*: VkShaderStageFlags
  name*: array[VK_MAX_DESCRIPTION_SIZE, char]
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
  subgroupSize*: uint32
VkPipelineExecutableStatisticFormatKHR {.size: 4.} = enum
  VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
  VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
  VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
  VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3
VkPipelineExecutableStatisticKHR = object
  sType*: VkStructureType
  pNext*: pointer
  name*: array[VK_MAX_DESCRIPTION_SIZE, char]
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
  format*: VkPipelineExecutableStatisticFormatKHR
  value*: VkPipelineExecutableStatisticValueKHR
VkPipelineExecutableStatisticValueKHR {.union.} = object
  b32*: VkBool32
  i64*: int64
  u64*: uint64
  f64*: float64
VkPipelineFragmentShadingRateStateCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentSize*: VkExtent2D
  combinerOps*: array[2, VkFragmentShadingRateCombinerOpKHR]
VkPipelineInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  pipeline*: VkPipeline
VkPipelineInputAssemblyStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineInputAssemblyStateCreateFlags
  topology*: VkPrimitiveTopology
  primitiveRestartEnable*: VkBool32
VkPipelineLayoutCreateFlagBits {.size: 4.} = enum
  VK_PIPELINE_LAYOUT_CREATE_RESERVED_0_BIT_AMD = 1,
  VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 2
VkPipelineLayoutCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineLayoutCreateFlags
  setLayoutCount*: uint32
  pSetLayouts*: ptr VkDescriptorSetLayout
  pushConstantRangeCount*: uint32
  pPushConstantRanges*: ptr VkPushConstantRange
VkPipelineLibraryCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  libraryCount*: uint32
  pLibraries*: ptr VkPipeline
VkPipelineMatchControl {.size: 4.} = enum
  VK_PIPELINE_MATCH_CONTROL_APPLICATION_UUID_EXACT_MATCH = 0
VkPipelineMultisampleStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineMultisampleStateCreateFlags
  rasterizationSamples*: VkSampleCountFlagBits
  sampleShadingEnable*: VkBool32
  minSampleShading*: float32
  pSampleMask*: ptr VkSampleMask
  alphaToCoverageEnable*: VkBool32
  alphaToOneEnable*: VkBool32
VkPipelineOfflineCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  pipelineIdentifier*: array[VK_UUID_SIZE, uint8]
  matchControl*: VkPipelineMatchControl
  poolEntrySize*: VkDeviceSize
VkPipelinePoolSize = object
  sType*: VkStructureType
  pNext*: pointer
  poolEntrySize*: VkDeviceSize
  poolEntryCount*: uint32
VkPipelinePropertiesIdentifierEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pipelineIdentifier*: array[VK_UUID_SIZE, uint8]
VkPipelineRasterizationConservativeStateCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineRasterizationConservativeStateCreateFlagsEXT
  conservativeRasterizationMode*: VkConservativeRasterizationModeEXT
  extraPrimitiveOverestimationSize*: float32
VkPipelineRasterizationLineStateCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  lineRasterizationMode*: VkLineRasterizationModeEXT
  stippledLineEnable*: VkBool32
  lineStippleFactor*: uint32
  lineStipplePattern*: uint16
VkPipelineRasterizationStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineRasterizationStateCreateFlags
  depthClampEnable*: VkBool32
  rasterizerDiscardEnable*: VkBool32
  polygonMode*: VkPolygonMode
  cullMode*: VkCullModeFlags
  frontFace*: VkFrontFace
  depthBiasEnable*: VkBool32
  depthBiasConstantFactor*: float32
  depthBiasClamp*: float32
  depthBiasSlopeFactor*: float32
  lineWidth*: float32
VkPipelineRasterizationStateRasterizationOrderAMD = object
  sType*: VkStructureType
  pNext*: pointer
  rasterizationOrder*: VkRasterizationOrderAMD
VkPipelineRasterizationStateStreamCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineRasterizationStateStreamCreateFlagsEXT
  rasterizationStream*: uint32
VkPipelineRenderingCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  viewMask*: uint32
  colorAttachmentCount*: uint32
  pColorAttachmentFormats*: ptr VkFormat
  depthAttachmentFormat*: VkFormat
  stencilAttachmentFormat*: VkFormat
VkPipelineRepresentativeFragmentTestStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  representativeFragmentTestEnable*: VkBool32
VkPipelineRobustnessBufferBehaviorEXT {.size: 4.} = enum
  VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = 0,
  VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = 1,
  VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = 2,
  VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = 3
VkPipelineRobustnessImageBehaviorEXT {.size: 4.} = enum
  VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = 0,
  VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = 1,
  VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = 2,
  VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = 3
VkPipelineSampleLocationsStateCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  sampleLocationsEnable*: VkBool32
  sampleLocationsInfo*: VkSampleLocationsInfoEXT
VkPipelineShaderStageCreateFlagBits {.size: 4.} = enum
  VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 1,
  VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 2,
  VK_PIPELINE_SHADER_STAGE_CREATE_RESERVED_3_BIT_KHR = 8
VkPipelineShaderStageCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineShaderStageCreateFlags
  stage*: VkShaderStageFlagBits
  module*: VkShaderModule
  pName*: cstring
  pSpecializationInfo*: ptr VkSpecializationInfo
VkPipelineShaderStageModuleIdentifierCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  identifierSize*: uint32
  pIdentifier*: ptr uint8
VkPipelineShaderStageRequiredSubgroupSizeCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  requiredSubgroupSize*: uint32
VkPipelineStageFlagBits {.size: 4.} = enum
  VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 1,
  VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 2,
  VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 4,
  VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 8,
  VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 16,
  VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 32,
  VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 64,
  VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 128,
  VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 256,
  VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 512,
  VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 1024,
  VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 2048,
  VK_PIPELINE_STAGE_TRANSFER_BIT = 4096,
  VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 8192,
  VK_PIPELINE_STAGE_HOST_BIT = 16384,
  VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768,
  VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536,
  VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 131072,
  VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 262144,
  VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 524288,
  VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 1048576,
  VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 2097152,
  VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304,
  VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608,
  VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 16777216,
  VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432
VkPipelineStageFlagBits2 {.size: 8.} = enum
  VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 1,
  VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 2,
  VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 4,
  VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 8,
  VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 16,
  VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 32,
  VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 64,
  VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 128,
  VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 256,
  VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 512,
  VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 1024,
  VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 2048,
  VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 4096,
  VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 8192,
  VK_PIPELINE_STAGE_2_HOST_BIT = 16384,
  VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 32768,
  VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 65536,
  VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 131072,
  VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 262144,
  VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 524288,
  VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 1048576,
  VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 2097152,
  VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 4194304,
  VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 8388608,
  VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 16777216,
  VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 33554432,
  VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 67108864,
  VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 134217728,
  VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 268435456,
  VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 536870912,
  VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 1073741824,
  VK_PIPELINE_STAGE_2_COPY_BIT = 4294967296,
  VK_PIPELINE_STAGE_2_RESOLVE_BIT = 8589934592,
  VK_PIPELINE_STAGE_2_BLIT_BIT = 17179869184,
  VK_PIPELINE_STAGE_2_CLEAR_BIT = 34359738368,
  VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 68719476736,
  VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 137438953472,
  VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 274877906944,
  VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 549755813888,
  VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 1099511627776,
  VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 2199023255552
VkPipelineTessellationStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineTessellationStateCreateFlags
  patchControlPoints*: uint32
VkPipelineVertexInputDivisorStateCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  vertexBindingDivisorCount*: uint32
  pVertexBindingDivisors*: ptr VkVertexInputBindingDivisorDescriptionEXT
VkPipelineVertexInputStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineVertexInputStateCreateFlags
  vertexBindingDescriptionCount*: uint32
  pVertexBindingDescriptions*: ptr VkVertexInputBindingDescription
  vertexAttributeDescriptionCount*: uint32
  pVertexAttributeDescriptions*: ptr VkVertexInputAttributeDescription
VkPipelineViewportCoarseSampleOrderStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  sampleOrderType*: VkCoarseSampleOrderTypeNV
  customSampleOrderCount*: uint32
  pCustomSampleOrders*: ptr VkCoarseSampleOrderCustomNV
VkPipelineViewportDepthClipControlCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  negativeOneToOne*: VkBool32
VkPipelineViewportExclusiveScissorStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  exclusiveScissorCount*: uint32
  pExclusiveScissors*: ptr VkRect2D
VkPipelineViewportShadingRateImageStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  shadingRateImageEnable*: VkBool32
  viewportCount*: uint32
  pShadingRatePalettes*: ptr VkShadingRatePaletteNV
VkPipelineViewportStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineViewportStateCreateFlags
  viewportCount*: uint32
  pViewports*: ptr VkViewport
  scissorCount*: uint32
  pScissors*: ptr VkRect2D
VkPipelineViewportSwizzleStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineViewportSwizzleStateCreateFlagsNV
  viewportCount*: uint32
  pViewportSwizzles*: ptr VkViewportSwizzleNV
VkPipelineViewportWScalingStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  viewportWScalingEnable*: VkBool32
  viewportCount*: uint32
  pViewportWScalings*: ptr VkViewportWScalingNV
VkPointClippingBehavior {.size: 4.} = enum
  VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
  VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1
VkPolygonMode {.size: 4.} = enum
  VK_POLYGON_MODE_FILL = 0, VK_POLYGON_MODE_LINE = 1, VK_POLYGON_MODE_POINT = 2,
  VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000
VkPresentGravityFlagBitsEXT {.size: 4.} = enum
  VK_PRESENT_GRAVITY_MIN_BIT_EXT = 1, VK_PRESENT_GRAVITY_MAX_BIT_EXT = 2,
  VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 4
VkPresentIdKHR = object
  sType*: VkStructureType
  pNext*: pointer
  swapchainCount*: uint32
  pPresentIds*: ptr uint64
VkPresentInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  waitSemaphoreCount*: uint32
  pWaitSemaphores*: ptr VkSemaphore
  swapchainCount*: uint32
  pSwapchains*: ptr VkSwapchainKHR
  pImageIndices*: ptr uint32
  pResults*: ptr VkResult
VkPresentModeKHR {.size: 4.} = enum
  VK_PRESENT_MODE_IMMEDIATE_KHR = 0, VK_PRESENT_MODE_MAILBOX_KHR = 1,
  VK_PRESENT_MODE_FIFO_KHR = 2, VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
  VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
  VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001
VkPresentRegionKHR = object
  rectangleCount*: uint32
  pRectangles*: ptr VkRectLayerKHR
VkPresentRegionsKHR = object
  sType*: VkStructureType
  pNext*: pointer
  swapchainCount*: uint32
  pRegions*: ptr VkPresentRegionKHR
VkPresentScalingFlagBitsEXT {.size: 4.} = enum
  VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 1,
  VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 2,
  VK_PRESENT_SCALING_STRETCH_BIT_EXT = 4
VkPresentTimeGOOGLE = object
  presentID*: uint32
  desiredPresentTime*: uint64
VkPresentTimesInfoGOOGLE = object
  sType*: VkStructureType
  pNext*: pointer
  swapchainCount*: uint32
  pTimes*: ptr VkPresentTimeGOOGLE
VkPrimitiveTopology {.size: 4.} = enum
  VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
  VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
  VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
  VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
  VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
  VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
  VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
  VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
  VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10
VkPrivateDataSlotCreateFlagBits {.size: 4.} = enum
  VK_PRIVATE_DATA_SLOT_CREATE_RESERVED_0_BIT_NV = 1
VkProtectedSubmitInfo = object
  sType*: VkStructureType
  pNext*: pointer
  protectedSubmit*: VkBool32
VkProvokingVertexModeEXT {.size: 4.} = enum
  VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
  VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1
VkPushConstantRange = object
  stageFlags*: VkShaderStageFlags
  offset*: uint32
  size*: uint32
VkQueryControlFlagBits {.size: 4.} = enum
  VK_QUERY_CONTROL_PRECISE_BIT = 1
VkQueryPipelineStatisticFlagBits {.size: 4.} = enum
  VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 1,
  VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 2,
  VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 4,
  VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 8,
  VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 16,
  VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 32,
  VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 64,
  VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 128,
  VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 256, VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 512,
  VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 1024,
  VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 2048,
  VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 4096, VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 8192
VkQueryPoolCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkQueryPoolCreateFlags
  queryType*: VkQueryType
  queryCount*: uint32
  pipelineStatistics*: VkQueryPipelineStatisticFlags
VkQueryPoolPerformanceCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  queueFamilyIndex*: uint32
  counterIndexCount*: uint32
  pCounterIndices*: ptr uint32
VkQueryPoolPerformanceQueryCreateInfoINTEL = object
  sType*: VkStructureType
  pNext*: pointer
  performanceCountersSampling*: VkQueryPoolSamplingModeINTEL
VkQueryPoolSamplingModeINTEL {.size: 4.} = enum
  VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0
VkQueryResultFlagBits {.size: 4.} = enum
  VK_QUERY_RESULT_64_BIT = 1, VK_QUERY_RESULT_WAIT_BIT = 2,
  VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 4, VK_QUERY_RESULT_PARTIAL_BIT = 8,
  VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 16
VkQueryResultStatusKHR {.size: 4.} = enum
  VK_QUERY_RESULT_STATUS_ERROR_KHR = -1,
  VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0,
  VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1
VkQueryType {.size: 4.} = enum
  VK_QUERY_TYPE_OCCLUSION = 0, VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
  VK_QUERY_TYPE_TIMESTAMP = 2,
  VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
  VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
  VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
  VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
  VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
  VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
  VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
  VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
  VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000,
  VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000, VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000,
  VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001,
  VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000,
  VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001
VkQueue = distinct VkHandle
VkQueueFamilyCheckpointProperties2NV = object
  sType*: VkStructureType
  pNext*: pointer
  checkpointExecutionStageMask*: VkPipelineStageFlags2
VkQueueFamilyCheckpointPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  checkpointExecutionStageMask*: VkPipelineStageFlags
VkQueueFamilyGlobalPriorityPropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  priorityCount*: uint32
  priorities*: array[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR, VkQueueGlobalPriorityKHR]
VkQueueFamilyProperties = object
  queueFlags*: VkQueueFlags
  queueCount*: uint32
  timestampValidBits*: uint32
  minImageTransferGranularity*: VkExtent3D
VkQueueFamilyProperties2 = object
  sType*: VkStructureType
  pNext*: pointer
  queueFamilyProperties*: VkQueueFamilyProperties
VkQueueFlagBits {.size: 4.} = enum
  VK_QUEUE_GRAPHICS_BIT = 1, VK_QUEUE_COMPUTE_BIT = 2,
  VK_QUEUE_TRANSFER_BIT = 4, VK_QUEUE_SPARSE_BINDING_BIT = 8,
  VK_QUEUE_PROTECTED_BIT = 16, VK_QUEUE_VIDEO_DECODE_BIT_KHR = 32,
  VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 64, VK_QUEUE_RESERVED_7_BIT_QCOM = 128,
  VK_QUEUE_OPTICAL_FLOW_BIT_NV = 256, VK_QUEUE_RESERVED_9_BIT_EXT = 512
VkQueueFlags = distinct VkFlags
VkQueueGlobalPriorityKHR {.size: 4.} = enum
  VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128,
  VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256,
  VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512,
  VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024
VkRasterizationOrderAMD {.size: 4.} = enum
  VK_RASTERIZATION_ORDER_STRICT_AMD = 0, VK_RASTERIZATION_ORDER_RELAXED_AMD = 1
VkRayTracingInvocationReorderModeNV {.size: 4.} = enum
  VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0,
  VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1
VkRayTracingPipelineCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineCreateFlags
  stageCount*: uint32
  pStages*: ptr VkPipelineShaderStageCreateInfo
  groupCount*: uint32
  pGroups*: ptr VkRayTracingShaderGroupCreateInfoKHR
  maxPipelineRayRecursionDepth*: uint32
  pLibraryInfo*: ptr VkPipelineLibraryCreateInfoKHR
  pLibraryInterface*: ptr VkRayTracingPipelineInterfaceCreateInfoKHR
  pDynamicState*: ptr VkPipelineDynamicStateCreateInfo
  layout*: VkPipelineLayout
  basePipelineHandle*: VkPipeline
  basePipelineIndex*: int32
VkRayTracingPipelineCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineCreateFlags
  stageCount*: uint32
  pStages*: ptr VkPipelineShaderStageCreateInfo
  groupCount*: uint32
  pGroups*: ptr VkRayTracingShaderGroupCreateInfoNV
  maxRecursionDepth*: uint32
  layout*: VkPipelineLayout
  basePipelineHandle*: VkPipeline
  basePipelineIndex*: int32
VkRayTracingPipelineInterfaceCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  maxPipelineRayPayloadSize*: uint32
  maxPipelineRayHitAttributeSize*: uint32
VkRayTracingShaderGroupCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  thetype*: VkRayTracingShaderGroupTypeKHR
  generalShader*: uint32
  closestHitShader*: uint32
  anyHitShader*: uint32
  intersectionShader*: uint32
  pShaderGroupCaptureReplayHandle*: pointer
VkRayTracingShaderGroupCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  thetype*: VkRayTracingShaderGroupTypeKHR
  generalShader*: uint32
  closestHitShader*: uint32
  anyHitShader*: uint32
  intersectionShader*: uint32
VkRayTracingShaderGroupTypeKHR {.size: 4.} = enum
  VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
  VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
  VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2
VkRect2D = object
  offset*: VkOffset2D
  extent*: VkExtent2D
VkRectLayerKHR = object
  offset*: VkOffset2D
  extent*: VkExtent2D
  layer*: uint32
VkRefreshCycleDurationGOOGLE = object
  refreshDuration*: uint64
VkRefreshObjectKHR = object
  objectType*: VkObjectType
  objectHandle*: uint64
  flags*: VkRefreshObjectFlagsKHR
VkRefreshObjectListKHR = object
  sType*: VkStructureType
  pNext*: pointer
  objectCount*: uint32
  pObjects*: ptr VkRefreshObjectKHR
VkReleaseSwapchainImagesInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  swapchain*: VkSwapchainKHR
  imageIndexCount*: uint32
  pImageIndices*: ptr uint32
VkRemoteAddressNV = pointer
VkRenderingAttachmentInfo = object
  sType*: VkStructureType
  pNext*: pointer
  imageView*: VkImageView
  imageLayout*: VkImageLayout
  resolveMode*: VkResolveModeFlagBits
  resolveImageView*: VkImageView
  resolveImageLayout*: VkImageLayout
  loadOp*: VkAttachmentLoadOp
  storeOp*: VkAttachmentStoreOp
  clearValue*: VkClearValue
VkRenderingFlagBits {.size: 4.} = enum
  VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 1,
  VK_RENDERING_SUSPENDING_BIT = 2, VK_RENDERING_RESUMING_BIT = 4,
  VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 8
VkRenderingFragmentDensityMapAttachmentInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  imageView*: VkImageView
  imageLayout*: VkImageLayout
VkRenderingFragmentShadingRateAttachmentInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  imageView*: VkImageView
  imageLayout*: VkImageLayout
  shadingRateAttachmentTexelSize*: VkExtent2D
VkRenderingInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkRenderingFlags
  renderArea*: VkRect2D
  layerCount*: uint32
  viewMask*: uint32
  colorAttachmentCount*: uint32
  pColorAttachments*: ptr VkRenderingAttachmentInfo
  pDepthAttachment*: ptr VkRenderingAttachmentInfo
  pStencilAttachment*: ptr VkRenderingAttachmentInfo
VkRenderPassAttachmentBeginInfo = object
  sType*: VkStructureType
  pNext*: pointer
  attachmentCount*: uint32
  pAttachments*: ptr VkImageView
VkRenderPassBeginInfo = object
  sType*: VkStructureType
  pNext*: pointer
  renderPass*: VkRenderPass
  framebuffer*: VkFramebuffer
  renderArea*: VkRect2D
  clearValueCount*: uint32
  pClearValues*: ptr VkClearValue
VkRenderPassCreateFlagBits {.size: 4.} = enum
  VK_RENDER_PASS_CREATE_RESERVED_0_BIT_KHR = 1,
  VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 2
VkRenderPassCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkRenderPassCreateFlags
  attachmentCount*: uint32
  pAttachments*: ptr VkAttachmentDescription
  subpassCount*: uint32
  pSubpasses*: ptr VkSubpassDescription
  dependencyCount*: uint32
  pDependencies*: ptr VkSubpassDependency
VkRenderPassCreateInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkRenderPassCreateFlags
  attachmentCount*: uint32
  pAttachments*: ptr VkAttachmentDescription2
  subpassCount*: uint32
  pSubpasses*: ptr VkSubpassDescription2
  dependencyCount*: uint32
  pDependencies*: ptr VkSubpassDependency2
  correlatedViewMaskCount*: uint32
  pCorrelatedViewMasks*: ptr uint32
VkRenderPassCreationControlEXT = object
  sType*: VkStructureType
  pNext*: pointer
  disallowMerging*: VkBool32
VkRenderPassCreationFeedbackCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pRenderPassFeedback*: ptr VkRenderPassCreationFeedbackInfoEXT
VkRenderPassCreationFeedbackInfoEXT = object
  postMergeSubpassCount*: uint32
VkRenderPassFragmentDensityMapCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentDensityMapAttachment*: VkAttachmentReference
VkRenderPassInputAttachmentAspectCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  aspectReferenceCount*: uint32
  pAspectReferences*: ptr VkInputAttachmentAspectReference
VkRenderPassMultiviewCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  subpassCount*: uint32
  pViewMasks*: ptr uint32
  dependencyCount*: uint32
  pViewOffsets*: ptr int32
  correlationMaskCount*: uint32
  pCorrelationMasks*: ptr uint32
VkRenderPassSampleLocationsBeginInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  attachmentInitialSampleLocationsCount*: uint32
  pAttachmentInitialSampleLocations*: ptr VkAttachmentSampleLocationsEXT
  postSubpassSampleLocationsCount*: uint32
  pPostSubpassSampleLocations*: ptr VkSubpassSampleLocationsEXT
VkRenderPassSubpassFeedbackCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pSubpassFeedback*: ptr VkRenderPassSubpassFeedbackInfoEXT
VkRenderPassSubpassFeedbackInfoEXT = object
  subpassMergeStatus*: VkSubpassMergeStatusEXT
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
  postMergeIndex*: uint32
VkResolveImageInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcImage*: VkImage
  srcImageLayout*: VkImageLayout
  dstImage*: VkImage
  dstImageLayout*: VkImageLayout
  regionCount*: uint32
  pRegions*: ptr VkImageResolve2
VkResolveModeFlagBits {.size: 4.} = enum
  VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 1, VK_RESOLVE_MODE_AVERAGE_BIT = 2,
  VK_RESOLVE_MODE_MIN_BIT = 4, VK_RESOLVE_MODE_MAX_BIT = 8
VkResult {.size: 4.} = enum
  VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000,
  VK_ERROR_NO_PIPELINE_MATCH = -1000298001,
  VK_ERROR_INVALID_PIPELINE_CACHE_DATA = -1000298000,
  VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
  VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
  VK_ERROR_NOT_PERMITTED_KHR = -1000174001,
  VK_ERROR_FRAGMENTATION = -1000161000,
  VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
  VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
  VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
  VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005,
  VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004,
  VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003,
  VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002,
  VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001,
  VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000,
  VK_ERROR_INVALID_SHADER_NV = -1000012000,
  VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
  VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
  VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
  VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
  VK_ERROR_SURFACE_LOST_KHR = -1000000000, VK_ERROR_UNKNOWN = -13,
  VK_ERROR_FRAGMENTED_POOL = -12, VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
  VK_ERROR_TOO_MANY_OBJECTS = -10, VK_ERROR_INCOMPATIBLE_DRIVER = -9,
  VK_ERROR_FEATURE_NOT_PRESENT = -8, VK_ERROR_EXTENSION_NOT_PRESENT = -7,
  VK_ERROR_LAYER_NOT_PRESENT = -6, VK_ERROR_MEMORY_MAP_FAILED = -5,
  VK_ERROR_DEVICE_LOST = -4, VK_ERROR_INITIALIZATION_FAILED = -3,
  VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, VK_ERROR_OUT_OF_HOST_MEMORY = -1,
  VK_SUCCESS = 0, VK_NOT_READY = 1, VK_TIMEOUT = 2, VK_EVENT_SET = 3,
  VK_EVENT_RESET = 4, VK_INCOMPLETE = 5, VK_SUBOPTIMAL_KHR = 1000001003,
  VK_THREAD_IDLE_KHR = 1000268000, VK_THREAD_DONE_KHR = 1000268001,
  VK_OPERATION_DEFERRED_KHR = 1000268002,
  VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
  VK_PIPELINE_COMPILE_REQUIRED = 1000297000
VkSampleCountFlagBits {.size: 4.} = enum
  VK_SAMPLE_COUNT_1_BIT = 1, VK_SAMPLE_COUNT_2_BIT = 2,
  VK_SAMPLE_COUNT_4_BIT = 4, VK_SAMPLE_COUNT_8_BIT = 8,
  VK_SAMPLE_COUNT_16_BIT = 16, VK_SAMPLE_COUNT_32_BIT = 32,
  VK_SAMPLE_COUNT_64_BIT = 64
VkSampleLocationEXT = object
  x*: float32
  y*: float32
VkSampleLocationsInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  sampleLocationsPerPixel*: VkSampleCountFlagBits
  sampleLocationGridSize*: VkExtent2D
  sampleLocationsCount*: uint32
  pSampleLocations*: ptr VkSampleLocationEXT
VkSampleMask = uint32
VkSamplerAddressMode {.size: 4.} = enum
  VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
  VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
  VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
  VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
  VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4
VkSamplerCaptureDescriptorDataInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  sampler*: VkSampler
VkSamplerCreateFlagBits {.size: 4.} = enum
  VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 1,
  VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 2,
  VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 4,
  VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 8,
  VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 16
VkSamplerCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkSamplerCreateFlags
  magFilter*: VkFilter
  minFilter*: VkFilter
  mipmapMode*: VkSamplerMipmapMode
  addressModeU*: VkSamplerAddressMode
  addressModeV*: VkSamplerAddressMode
  addressModeW*: VkSamplerAddressMode
  mipLodBias*: float32
  anisotropyEnable*: VkBool32
  maxAnisotropy*: float32
  compareEnable*: VkBool32
  compareOp*: VkCompareOp
  minLod*: float32
  maxLod*: float32
  borderColor*: VkBorderColor
  unnormalizedCoordinates*: VkBool32
VkSamplerCustomBorderColorCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  customBorderColor*: VkClearColorValue
  format*: VkFormat
VkSamplerMipmapMode {.size: 4.} = enum
  VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, VK_SAMPLER_MIPMAP_MODE_LINEAR = 1
VkSamplerReductionMode {.size: 4.} = enum
  VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
  VK_SAMPLER_REDUCTION_MODE_MIN = 1, VK_SAMPLER_REDUCTION_MODE_MAX = 2
VkSamplerReductionModeCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  reductionMode*: VkSamplerReductionMode
VkSamplerYcbcrConversionCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  format*: VkFormat
  ycbcrModel*: VkSamplerYcbcrModelConversion
  ycbcrRange*: VkSamplerYcbcrRange
  components*: VkComponentMapping
  xChromaOffset*: VkChromaLocation
  yChromaOffset*: VkChromaLocation
  chromaFilter*: VkFilter
  forceExplicitReconstruction*: VkBool32
VkSamplerYcbcrConversionImageFormatProperties = object
  sType*: VkStructureType
  pNext*: pointer
  combinedImageSamplerDescriptorCount*: uint32
VkSamplerYcbcrConversionInfo = object
  sType*: VkStructureType
  pNext*: pointer
  conversion*: VkSamplerYcbcrConversion
VkSamplerYcbcrModelConversion {.size: 4.} = enum
  VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
  VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
  VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
  VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
  VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4
VkSamplerYcbcrRange {.size: 4.} = enum
  VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1
VkSciSyncClientTypeNV {.size: 4.} = enum
  VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_NV = 0,
  VK_SCI_SYNC_CLIENT_TYPE_WAITER_NV = 1,
  VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_WAITER_NV = 2
VkSciSyncPrimitiveTypeNV {.size: 4.} = enum
  VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV = 0,
  VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV = 1
VkScopeNV {.size: 4.} = enum
  VK_SCOPE_DEVICE_NV = 1, VK_SCOPE_WORKGROUP_NV = 2, VK_SCOPE_SUBGROUP_NV = 3,
  VK_SCOPE_QUEUE_FAMILY_NV = 5
VkSemaphoreCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkSemaphoreCreateFlags
VkSemaphoreGetFdInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  semaphore*: VkSemaphore
  handleType*: VkExternalSemaphoreHandleTypeFlagBits
VkSemaphoreImportFlagBits {.size: 4.} = enum
  VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 1
VkSemaphoreSignalInfo = object
  sType*: VkStructureType
  pNext*: pointer
  semaphore*: VkSemaphore
  value*: uint64
VkSemaphoreSubmitInfo = object
  sType*: VkStructureType
  pNext*: pointer
  semaphore*: VkSemaphore
  value*: uint64
  stageMask*: VkPipelineStageFlags2
  deviceIndex*: uint32
VkSemaphoreType {.size: 4.} = enum
  VK_SEMAPHORE_TYPE_BINARY = 0, VK_SEMAPHORE_TYPE_TIMELINE = 1
VkSemaphoreTypeCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  semaphoreType*: VkSemaphoreType
  initialValue*: uint64
VkSemaphoreWaitFlagBits {.size: 4.} = enum
  VK_SEMAPHORE_WAIT_ANY_BIT = 1
VkSemaphoreWaitInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkSemaphoreWaitFlags
  semaphoreCount*: uint32
  pSemaphores*: ptr VkSemaphore
  pValues*: ptr uint64
VkSetStateFlagsIndirectCommandNV = object
  data*: uint32
VkShaderFloatControlsIndependence {.size: 4.} = enum
  VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
  VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
  VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2
VkShaderGroupShaderKHR {.size: 4.} = enum
  VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
  VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
  VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
  VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3
VkShaderInfoTypeAMD {.size: 4.} = enum
  VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0, VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
  VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2
VkShaderModuleCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkShaderModuleCreateFlags
  codeSize*: csize_t
  pCode*: ptr uint32
VkShaderModuleIdentifierEXT = object
  sType*: VkStructureType
  pNext*: pointer
  identifierSize*: uint32
  identifier*: array[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT, uint8]
VkShaderModuleValidationCacheCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  validationCache*: VkValidationCacheEXT
VkShaderResourceUsageAMD = object
  numUsedVgprs*: uint32
  numUsedSgprs*: uint32
  ldsSizePerLocalWorkGroup*: uint32
  ldsUsageSizeInBytes*: csize_t
  scratchMemUsageInBytes*: csize_t
VkShaderStageFlagBits {.size: 4.} = enum
  VK_SHADER_STAGE_VERTEX_BIT = 1, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 2,
  VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 4,
  VK_SHADER_STAGE_GEOMETRY_BIT = 8, VK_SHADER_STAGE_FRAGMENT_BIT = 16,
  VK_SHADER_STAGE_COMPUTE_BIT = 32, VK_SHADER_STAGE_TASK_BIT_EXT = 64,
  VK_SHADER_STAGE_MESH_BIT_EXT = 128, VK_SHADER_STAGE_RAYGEN_BIT_KHR = 256,
  VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 512,
  VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 1024,
  VK_SHADER_STAGE_MISS_BIT_KHR = 2048,
  VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 4096,
  VK_SHADER_STAGE_CALLABLE_BIT_KHR = 8192,
  VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 16384,
  VK_SHADER_STAGE_EXT_483_RESERVE_15 = 32768,
  VK_SHADER_STAGE_EXT_483_RESERVE_16 = 65536,
  VK_SHADER_STAGE_EXT_483_RESERVE_17 = 131072,
  VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 524288
VkShaderStatisticsInfoAMD = object
  shaderStageMask*: VkShaderStageFlags
  resourceUsage*: VkShaderResourceUsageAMD
  numPhysicalVgprs*: uint32
  numPhysicalSgprs*: uint32
  numAvailableVgprs*: uint32
  numAvailableSgprs*: uint32
  computeWorkGroupSize*: array[3, uint32]
VkShadingRatePaletteEntryNV {.size: 4.} = enum
  VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
  VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
  VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
  VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
  VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
  VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
  VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
  VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
  VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
  VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
  VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
  VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11
VkShadingRatePaletteNV = object
  shadingRatePaletteEntryCount*: uint32
  pShadingRatePaletteEntries*: ptr VkShadingRatePaletteEntryNV
VkSharedPresentSurfaceCapabilitiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  sharedPresentSupportedUsageFlags*: VkImageUsageFlags
VkSharingMode {.size: 4.} = enum
  VK_SHARING_MODE_EXCLUSIVE = 0, VK_SHARING_MODE_CONCURRENT = 1
VkSparseBufferMemoryBindInfo = object
  buffer*: VkBuffer
  bindCount*: uint32
  pBinds*: ptr VkSparseMemoryBind
VkSparseImageFormatFlagBits {.size: 4.} = enum
  VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 1,
  VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 2,
  VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 4
VkSparseImageFormatProperties = object
  aspectMask*: VkImageAspectFlags
  imageGranularity*: VkExtent3D
  flags*: VkSparseImageFormatFlags
VkSparseImageFormatProperties2 = object
  sType*: VkStructureType
  pNext*: pointer
  properties*: VkSparseImageFormatProperties
VkSparseImageMemoryBind = object
  subresource*: VkImageSubresource
  offset*: VkOffset3D
  extent*: VkExtent3D
  memory*: VkDeviceMemory
  memoryOffset*: VkDeviceSize
  flags*: VkSparseMemoryBindFlags
VkSparseImageMemoryBindInfo = object
  image*: VkImage
  bindCount*: uint32
  pBinds*: ptr VkSparseImageMemoryBind
VkSparseImageMemoryRequirements = object
  formatProperties*: VkSparseImageFormatProperties
  imageMipTailFirstLod*: uint32
  imageMipTailSize*: VkDeviceSize
  imageMipTailOffset*: VkDeviceSize
  imageMipTailStride*: VkDeviceSize
VkSparseImageMemoryRequirements2 = object
  sType*: VkStructureType
  pNext*: pointer
  memoryRequirements*: VkSparseImageMemoryRequirements
VkSparseImageOpaqueMemoryBindInfo = object
  image*: VkImage
  bindCount*: uint32
  pBinds*: ptr VkSparseMemoryBind
VkSparseMemoryBind = object
  resourceOffset*: VkDeviceSize
  size*: VkDeviceSize
  memory*: VkDeviceMemory
  memoryOffset*: VkDeviceSize
  flags*: VkSparseMemoryBindFlags
VkSparseMemoryBindFlagBits {.size: 4.} = enum
  VK_SPARSE_MEMORY_BIND_METADATA_BIT = 1
VkSpecializationInfo = object
  mapEntryCount*: uint32
  pMapEntries*: ptr VkSpecializationMapEntry
  dataSize*: csize_t
  pData*: pointer
VkSpecializationMapEntry = object
  constantID*: uint32
  offset*: uint32
  size*: csize_t
VkSRTDataNV = object
  sx*: float32
  a*: float32
  b*: float32
  pvx*: float32
  sy*: float32
  c*: float32
  pvy*: float32
  sz*: float32
  pvz*: float32
  qx*: float32
  qy*: float32
  qz*: float32
  qw*: float32
  tx*: float32
  ty*: float32
  tz*: float32
VkStencilFaceFlagBits {.size: 4.} = enum
  VK_STENCIL_FACE_FRONT_BIT = 1, VK_STENCIL_FACE_BACK_BIT = 2
VkStencilOp {.size: 4.} = enum
  VK_STENCIL_OP_KEEP = 0, VK_STENCIL_OP_ZERO = 1, VK_STENCIL_OP_REPLACE = 2,
  VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
  VK_STENCIL_OP_INVERT = 5, VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
  VK_STENCIL_OP_DECREMENT_AND_WRAP = 7
VkStencilOpState = object
  failOp*: VkStencilOp
  passOp*: VkStencilOp
  depthFailOp*: VkStencilOp
  compareOp*: VkCompareOp
  compareMask*: uint32
  writeMask*: uint32
  reference*: uint32
VkStructureType {.size: 4.} = enum
  VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
  VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
  VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
  VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
  VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
  VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
  VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
  VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
  VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
  VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
  VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
  VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
  VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
  VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
  VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
  VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
  VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
  VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
  VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
  VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
  VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
  VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
  VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
  VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
  VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
  VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
  VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
  VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
  VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
  VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
  VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
  VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
  VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
  VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
  VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
  VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
  VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
  VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
  VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
  VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
  VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
  VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
  VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
  VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
  VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
  VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
  VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
  VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54,
  VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
  VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
  VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
  VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
  VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
  VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
  VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
  VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
  VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
  VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
  VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID = 1000010000,
  VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID = 1000010001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID = 1000010002,
  VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
  VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
  VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
  VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
  VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000,
  VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
  VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002,
  VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003,
  VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004,
  VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
  VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
  VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
  VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
  VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
  VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
  VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011,
  VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012,
  VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
  VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015, VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016,
  VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
  VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001,
  VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002,
  VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
  VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
  VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
  VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
  VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
  VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
  VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
  VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038003,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT = 1000038005, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000038006,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT = 1000038007,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT = 1000038010,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039003,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT = 1000039005, VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000039006,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT = 1000039007,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT = 1000039008,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010,
  VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000,
  VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001,
  VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003, VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004, VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005,
  VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006,
  VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
  VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000,
  VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001,
  VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003,
  VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004, VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
  VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
  VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
  VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
  VK_STRUCTURE_TYPE_PRIVATE_VENDOR_INFO_RESERVED_OFFSET_0_NV = 1000051000,
  VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
  VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
  VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
  VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
  VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
  VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
  VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
  VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
  VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
  VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
  VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
  VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
  VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
  VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
  VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
  VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
  VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
  VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
  VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
  VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
  VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
  VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
  VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
  VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
  VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000,
  VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
  VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = 1000068000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = 1000068001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = 1000068002,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
  VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
  VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
  VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
  VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
  VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
  VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
  VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
  VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
  VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
  VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
  VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
  VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
  VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
  VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
  VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
  VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
  VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
  VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
  VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
  VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
  VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
  VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000, VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
  VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
  VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
  VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
  VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
  VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
  VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
  VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
  VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
  VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
  VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
  VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
  VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
  VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
  VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
  VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
  VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
  VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
  VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
  VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
  VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
  VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
  VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
  VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
  VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
  VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
  VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
  VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
  VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
  VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
  VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
  VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
  VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
  VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
  VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_RESERVATION_INFO_KHR = 1000116007,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
  VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
  VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
  VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
  VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
  VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
  VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
  VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
  VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
  VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
  VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
  VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
  VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
  VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
  VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
  VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
  VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
  VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
  VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
  VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
  VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
  VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
  VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001,
  VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002, VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003,
  VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
  VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
  VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
  VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
  VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
  VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
  VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
  VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
  VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
  VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
  VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000, VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002, VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003, VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004, VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
  VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006, VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
  VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
  VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010, VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011, VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
  VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
  VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
  VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017, VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
  VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020, VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
  VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
  VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
  VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
  VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
  VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
  VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
  VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
  VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
  VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006,
  VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002, VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
  VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
  VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
  VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
  VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
  VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
  VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006, VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007, VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
  VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
  VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000, VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
  VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
  VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
  VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
  VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
  VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
  VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
  VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000, VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001, VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002,
  VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003,
  VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004,
  VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005,
  VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
  VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
  VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
  VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000, VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
  VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
  VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
  VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
  VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
  VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
  VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000, VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
  VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
  VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
  VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
  VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
  VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
  VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
  VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
  VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000,
  VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001, VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000, VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002,
  VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
  VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
  VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
  VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
  VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
  VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
  VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000,
  VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
  VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
  VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
  VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
  VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
  VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
  VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
  VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
  VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
  VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000, VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
  VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
  VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
  VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
  VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
  VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000,
  VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001,
  VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000,
  VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001,
  VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002,
  VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003,
  VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004,
  VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
  VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
  VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
  VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
  VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005, VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000, VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001, VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
  VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
  VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
  VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
  VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
  VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000,
  VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001,
  VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002,
  VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000,
  VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001,
  VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_FEATURES = 1000298000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_PROPERTIES = 1000298001,
  VK_STRUCTURE_TYPE_DEVICE_OBJECT_RESERVATION_CREATE_INFO = 1000298002,
  VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_RESERVATION_CREATE_INFO = 1000298003,
  VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_CONSUMPTION = 1000298004,
  VK_STRUCTURE_TYPE_PIPELINE_POOL_SIZE = 1000298005,
  VK_STRUCTURE_TYPE_FAULT_DATA = 1000298007,
  VK_STRUCTURE_TYPE_FAULT_CALLBACK_INFO = 1000298008,
  VK_STRUCTURE_TYPE_PIPELINE_OFFLINE_CREATE_INFO = 1000298010,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
  VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
  VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
  VK_STRUCTURE_TYPE_REFRESH_OBJECT_LIST_KHR = 1000308000,
  VK_STRUCTURE_TYPE_RESERVED_QCOM = 1000309000,
  VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000,
  VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001,
  VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002,
  VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003,
  VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004,
  VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005,
  VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006,
  VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007,
  VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008,
  VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009,
  VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010,
  VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011,
  VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000,
  VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001,
  VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002,
  VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003,
  VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004,
  VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005,
  VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007,
  VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
  VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002,
  VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003,
  VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004,
  VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005,
  VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006,
  VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007,
  VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008, VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009, VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010,
  VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011, VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
  VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001, VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002, VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
  VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
  VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
  VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000,
  VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001,
  VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002,
  VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003,
  VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004,
  VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005,
  VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006,
  VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007,
  VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008,
  VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009,
  VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000,
  VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001,
  VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = 1000338002,
  VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = 1000338003,
  VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000,
  VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001,
  VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
  VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000,
  VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
  VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
  VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000,
  VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
  VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000,
  VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
  VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
  VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
  VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
  VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
  VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000,
  VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001,
  VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002,
  VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003,
  VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004,
  VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005,
  VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006,
  VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007,
  VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008,
  VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009,
  VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
  VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
  VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001,
  VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV = 1000373000,
  VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV = 1000373001,
  VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV = 1000373002,
  VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV = 1000373003,
  VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373004,
  VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373005,
  VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV = 1000373006,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV = 1000373007,
  VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV = 1000374000,
  VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV = 1000374001,
  VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV = 1000374002,
  VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV = 1000374003, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV = 1000374004, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000,
  VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001, VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
  VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
  VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000,
  VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
  VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
  VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000,
  VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001,
  VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002,
  VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003,
  VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006,
  VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007,
  VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008, VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001,
  VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002,
  VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000,
  VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000,
  VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001,
  VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001, VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
  VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT = 1000435000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001,
  VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000,
  VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001,
  VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002,
  VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003,
  VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000,
  VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001, VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002,
  VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001,
  VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002,
  VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003,
  VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004,
  VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005, VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000,
  VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000,
  VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000,
  VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV = 1000489000,
  VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV = 1000489001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV = 1000489002, VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV = 1000489003, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000, VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001
VkSubgroupFeatureFlagBits {.size: 4.} = enum
  VK_SUBGROUP_FEATURE_BASIC_BIT = 1, VK_SUBGROUP_FEATURE_VOTE_BIT = 2,
  VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 4, VK_SUBGROUP_FEATURE_BALLOT_BIT = 8,
  VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 16,
  VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 32,
  VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 64, VK_SUBGROUP_FEATURE_QUAD_BIT = 128,
  VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 256
VkSubmitFlagBits {.size: 4.} = enum
  VK_SUBMIT_PROTECTED_BIT = 1
VkSubmitFlags = distinct VkFlags
VkSubmitInfo = object
  sType*: VkStructureType
  pNext*: pointer
  waitSemaphoreCount*: uint32
  pWaitSemaphores*: ptr VkSemaphore
  pWaitDstStageMask*: ptr VkPipelineStageFlags
  commandBufferCount*: uint32
  pCommandBuffers*: ptr VkCommandBuffer
  signalSemaphoreCount*: uint32
  pSignalSemaphores*: ptr VkSemaphore
VkSubmitInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkSubmitFlags
  waitSemaphoreInfoCount*: uint32
  pWaitSemaphoreInfos*: ptr VkSemaphoreSubmitInfo
  commandBufferInfoCount*: uint32
  pCommandBufferInfos*: ptr VkCommandBufferSubmitInfo
  signalSemaphoreInfoCount*: uint32
  pSignalSemaphoreInfos*: ptr VkSemaphoreSubmitInfo
VkSubmitInfo2KHR = object
VkSubpassBeginInfo = object
  sType*: VkStructureType
  pNext*: pointer
  contents*: VkSubpassContents
VkSubpassContents {.size: 4.} = enum
  VK_SUBPASS_CONTENTS_INLINE = 0,
  VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1
VkSubpassDependency = object
  srcSubpass*: uint32
  dstSubpass*: uint32
  srcStageMask*: VkPipelineStageFlags
  dstStageMask*: VkPipelineStageFlags
  srcAccessMask*: VkAccessFlags
  dstAccessMask*: VkAccessFlags
  dependencyFlags*: VkDependencyFlags
VkSubpassDependency2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcSubpass*: uint32
  dstSubpass*: uint32
  srcStageMask*: VkPipelineStageFlags
  dstStageMask*: VkPipelineStageFlags
  srcAccessMask*: VkAccessFlags
  dstAccessMask*: VkAccessFlags
  dependencyFlags*: VkDependencyFlags
  viewOffset*: int32
VkSubpassDescription = object
  flags*: VkSubpassDescriptionFlags
  pipelineBindPoint*: VkPipelineBindPoint
  inputAttachmentCount*: uint32
  pInputAttachments*: ptr VkAttachmentReference
  colorAttachmentCount*: uint32
  pColorAttachments*: ptr VkAttachmentReference
  pResolveAttachments*: ptr VkAttachmentReference
  pDepthStencilAttachment*: ptr VkAttachmentReference
  preserveAttachmentCount*: uint32
  pPreserveAttachments*: ptr uint32
VkSubpassDescription2 = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkSubpassDescriptionFlags
  pipelineBindPoint*: VkPipelineBindPoint
  viewMask*: uint32
  inputAttachmentCount*: uint32
  pInputAttachments*: ptr VkAttachmentReference2
  colorAttachmentCount*: uint32
  pColorAttachments*: ptr VkAttachmentReference2
  pResolveAttachments*: ptr VkAttachmentReference2
  pDepthStencilAttachment*: ptr VkAttachmentReference2
  preserveAttachmentCount*: uint32
  pPreserveAttachments*: ptr uint32
VkSubpassDescriptionDepthStencilResolve = object
  sType*: VkStructureType
  pNext*: pointer
  depthResolveMode*: VkResolveModeFlagBits
  stencilResolveMode*: VkResolveModeFlagBits
  pDepthStencilResolveAttachment*: ptr VkAttachmentReference2
VkSubpassDescriptionFlagBits {.size: 4.} = enum
  VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 1,
  VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 2,
  VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 4,
  VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 8, VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 16, VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 32, VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 64,
  VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 128
VkSubpassEndInfo = object
  sType*: VkStructureType
  pNext*: pointer
VkSubpassFragmentDensityMapOffsetEndInfoQCOM = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentDensityOffsetCount*: uint32
  pFragmentDensityOffsets*: ptr VkOffset2D
VkSubpassMergeStatusEXT {.size: 4.} = enum
  VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0,
  VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1,
  VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2,
  VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3,
  VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4,
  VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5,
  VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6,
  VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7,
  VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8,
  VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9,
  VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10,
  VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11,
  VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12,
  VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13
VkSubpassResolvePerformanceQueryEXT = object
  sType*: VkStructureType
  pNext*: pointer
  optimal*: VkBool32
VkSubpassSampleLocationsEXT = object
  subpassIndex*: uint32
  sampleLocationsInfo*: VkSampleLocationsInfoEXT
VkSubpassShadingPipelineCreateInfoHUAWEI = object
  sType*: VkStructureType
  pNext*: pointer
  renderPass*: VkRenderPass
  subpass*: uint32
VkSubresourceLayout = object
  offset*: VkDeviceSize
  size*: VkDeviceSize
  rowPitch*: VkDeviceSize
  arrayPitch*: VkDeviceSize
  depthPitch*: VkDeviceSize
VkSubresourceLayout2EXT = object
  sType*: VkStructureType
  pNext*: pointer
  subresourceLayout*: VkSubresourceLayout
VkSurfaceCapabilities2EXT = object
  sType*: VkStructureType
  pNext*: pointer
  minImageCount*: uint32
  maxImageCount*: uint32
  currentExtent*: VkExtent2D
  minImageExtent*: VkExtent2D
  maxImageExtent*: VkExtent2D
  maxImageArrayLayers*: uint32
  supportedTransforms*: VkSurfaceTransformFlagsKHR
  currentTransform*: VkSurfaceTransformFlagBitsKHR
  supportedCompositeAlpha*: VkCompositeAlphaFlagsKHR
  supportedUsageFlags*: VkImageUsageFlags
  supportedSurfaceCounters*: VkSurfaceCounterFlagsEXT
VkSurfaceCapabilities2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  surfaceCapabilities*: VkSurfaceCapabilitiesKHR
VkSurfaceCapabilitiesKHR = object
  minImageCount*: uint32
  maxImageCount*: uint32
  currentExtent*: VkExtent2D
  minImageExtent*: VkExtent2D
  maxImageExtent*: VkExtent2D
  maxImageArrayLayers*: uint32
  supportedTransforms*: VkSurfaceTransformFlagsKHR
  currentTransform*: VkSurfaceTransformFlagBitsKHR
  supportedCompositeAlpha*: VkCompositeAlphaFlagsKHR
  supportedUsageFlags*: VkImageUsageFlags
VkSurfaceCapabilitiesPresentBarrierNV = object
  sType*: VkStructureType
  pNext*: pointer
  presentBarrierSupported*: VkBool32
VkSurfaceCounterFlagBitsEXT {.size: 4.} = enum
  VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 1
VkSurfaceFormat2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  surfaceFormat*: VkSurfaceFormatKHR
VkSurfaceFormatKHR = object
  format*: VkFormat
  colorSpace*: VkColorSpaceKHR
VkSurfacePresentModeCompatibilityEXT = object
  sType*: VkStructureType
  pNext*: pointer
  presentModeCount*: uint32
  pPresentModes*: ptr VkPresentModeKHR
VkSurfacePresentModeEXT = object
  sType*: VkStructureType
  pNext*: pointer
  presentMode*: VkPresentModeKHR
VkSurfacePresentScalingCapabilitiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  supportedPresentScaling*: VkPresentScalingFlagsEXT
  supportedPresentGravityX*: VkPresentGravityFlagsEXT
  supportedPresentGravityY*: VkPresentGravityFlagsEXT
  minScaledImageExtent*: VkExtent2D
  maxScaledImageExtent*: VkExtent2D
VkSurfaceProtectedCapabilitiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  supportsProtected*: VkBool32
VkSurfaceTransformFlagBitsKHR {.size: 4.} = enum
  VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1,
  VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2,
  VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4,
  VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8,
  VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16,
  VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32,
  VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64,
  VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128,
  VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256
VkSwapchainCounterCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  surfaceCounters*: VkSurfaceCounterFlagsEXT
VkSwapchainCreateFlagBitsKHR {.size: 4.} = enum
  VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 1,
  VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 2,
  VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 4,
  VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 8,
  VK_SWAPCHAIN_CREATE_RESERVED_4_BIT_EXT = 16
VkSwapchainCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkSwapchainCreateFlagsKHR
  surface*: VkSurfaceKHR
  minImageCount*: uint32
  imageFormat*: VkFormat
  imageColorSpace*: VkColorSpaceKHR
  imageExtent*: VkExtent2D
  imageArrayLayers*: uint32
  imageUsage*: VkImageUsageFlags
  imageSharingMode*: VkSharingMode
  queueFamilyIndexCount*: uint32
  pQueueFamilyIndices*: ptr uint32
  preTransform*: VkSurfaceTransformFlagBitsKHR
  compositeAlpha*: VkCompositeAlphaFlagBitsKHR
  presentMode*: VkPresentModeKHR
  clipped*: VkBool32
  oldSwapchain*: VkSwapchainKHR
VkSwapchainDisplayNativeHdrCreateInfoAMD = object
  sType*: VkStructureType
  pNext*: pointer
  localDimmingEnable*: VkBool32
VkSwapchainImageUsageFlagBitsANDROID {.size: 4.} = enum
  VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID = 1
VkSwapchainPresentBarrierCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  presentBarrierEnable*: VkBool32
VkSwapchainPresentFenceInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  swapchainCount*: uint32
  pFences*: ptr VkFence
VkSwapchainPresentModeInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  swapchainCount*: uint32
  pPresentModes*: ptr VkPresentModeKHR
VkSwapchainPresentModesCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  presentModeCount*: uint32
  pPresentModes*: ptr VkPresentModeKHR
VkSwapchainPresentScalingCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  scalingBehavior*: VkPresentScalingFlagsEXT
  presentGravityX*: VkPresentGravityFlagsEXT
  presentGravityY*: VkPresentGravityFlagsEXT
VkSystemAllocationScope {.size: 4.} = enum
  VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
  VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
  VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4
VkTessellationDomainOrigin {.size: 4.} = enum
  VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
  VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1
VkTextureLODGatherFormatPropertiesAMD = object
  sType*: VkStructureType
  pNext*: pointer
  supportsTextureGatherLODBiasAMD*: VkBool32
VkTilePropertiesQCOM = object
  sType*: VkStructureType
  pNext*: pointer
  tileSize*: VkExtent3D
  apronSize*: VkExtent2D
  origin*: VkOffset2D
VkTimeDomainEXT {.size: 4.} = enum
  VK_TIME_DOMAIN_DEVICE_EXT = 0, VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
  VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
  VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3
VkTimelineSemaphoreSubmitInfo = object
  sType*: VkStructureType
  pNext*: pointer
  waitSemaphoreValueCount*: uint32
  pWaitSemaphoreValues*: ptr uint64
  signalSemaphoreValueCount*: uint32
  pSignalSemaphoreValues*: ptr uint64
VkToolPurposeFlagBits {.size: 4.} = enum
  VK_TOOL_PURPOSE_VALIDATION_BIT = 1, VK_TOOL_PURPOSE_PROFILING_BIT = 2,
  VK_TOOL_PURPOSE_TRACING_BIT = 4, VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 8,
  VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 16,
  VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 32,
  VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 64
VkTraceRaysIndirectCommand2KHR = object
  raygenShaderRecordAddress*: VkDeviceAddress
  raygenShaderRecordSize*: VkDeviceSize
  missShaderBindingTableAddress*: VkDeviceAddress
  missShaderBindingTableSize*: VkDeviceSize
  missShaderBindingTableStride*: VkDeviceSize
  hitShaderBindingTableAddress*: VkDeviceAddress
  hitShaderBindingTableSize*: VkDeviceSize
  hitShaderBindingTableStride*: VkDeviceSize
  callableShaderBindingTableAddress*: VkDeviceAddress
  callableShaderBindingTableSize*: VkDeviceSize
  callableShaderBindingTableStride*: VkDeviceSize
  width*: uint32
  height*: uint32
  depth*: uint32
VkTraceRaysIndirectCommandKHR = object
  width*: uint32
  height*: uint32
  depth*: uint32
VkTransformMatrixKHR = object
  matrix*: array[3 * 4, float32]
VkValidationCacheCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkValidationCacheCreateFlagsEXT
  initialDataSize*: csize_t
  pInitialData*: pointer
VkValidationCacheHeaderVersionEXT {.size: 4.} = enum
  VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1
VkValidationCheckEXT {.size: 4.} = enum
  VK_VALIDATION_CHECK_ALL_EXT = 0, VK_VALIDATION_CHECK_SHADERS_EXT = 1
VkValidationFeatureDisableEXT {.size: 4.} = enum
  VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
  VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
  VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
  VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
  VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
  VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
  VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
  VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7
VkValidationFeatureEnableEXT {.size: 4.} = enum
  VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
  VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
  VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
  VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
  VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4
VkValidationFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  enabledValidationFeatureCount*: uint32
  pEnabledValidationFeatures*: ptr VkValidationFeatureEnableEXT
  disabledValidationFeatureCount*: uint32
  pDisabledValidationFeatures*: ptr VkValidationFeatureDisableEXT
VkValidationFlagsEXT = object
  sType*: VkStructureType
  pNext*: pointer
  disabledValidationCheckCount*: uint32
  pDisabledValidationChecks*: ptr VkValidationCheckEXT
VkVendorId {.size: 4.} = enum
  VK_VENDOR_ID_VIV = 65537, VK_VENDOR_ID_VSI = 65538,
  VK_VENDOR_ID_KAZAN = 65539, VK_VENDOR_ID_CODEPLAY = 65540,
  VK_VENDOR_ID_MESA = 65541, VK_VENDOR_ID_POCL = 65542
VkVertexInputAttributeDescription = object
  location*: uint32
  binding*: uint32
  format*: VkFormat
  offset*: uint32
VkVertexInputAttributeDescription2EXT = object
  sType*: VkStructureType
  pNext*: pointer
  location*: uint32
  binding*: uint32
  format*: VkFormat
  offset*: uint32
VkVertexInputBindingDescription = object
  binding*: uint32
  stride*: uint32
  inputRate*: VkVertexInputRate
VkVertexInputBindingDescription2EXT = object
  sType*: VkStructureType
  pNext*: pointer
  binding*: uint32
  stride*: uint32
  inputRate*: VkVertexInputRate
  divisor*: uint32
VkVertexInputBindingDivisorDescriptionEXT = object
  binding*: uint32
  divisor*: uint32
VkVertexInputRate {.size: 4.} = enum
  VK_VERTEX_INPUT_RATE_VERTEX = 0, VK_VERTEX_INPUT_RATE_INSTANCE = 1
VkVideoCapabilityFlagBitsKHR {.size: 4.} = enum
  VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 1,
  VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 2
VkVideoChromaSubsamplingFlagBitsKHR {.size: 4.} = enum
  VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 1,
  VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 2,
  VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 4,
  VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 8
VkVideoCodecOperationFlagBitsKHR {.size: 4.} = enum
  VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 1,
  VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 2,
  VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT = 65536,
  VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT = 131072
VkVideoCodingControlFlagBitsKHR {.size: 4.} = enum
  VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 1,
  VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 2,
  VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_LAYER_BIT_KHR = 4
VkVideoComponentBitDepthFlagBitsKHR {.size: 4.} = enum
  VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 1,
  VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 4,
  VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 16
VkVideoDecodeCapabilityFlagBitsKHR {.size: 4.} = enum
  VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 1,
  VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 2
VkVideoDecodeH264PictureLayoutFlagBitsKHR {.size: 4.} = enum
  VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 1,
  VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 2
VkVideoDecodeUsageFlagBitsKHR {.size: 4.} = enum
  VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 1,
  VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 2,
  VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 4
VkVideoEncodeCapabilityFlagBitsKHR {.size: 4.} = enum
  VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 1
VkVideoEncodeContentFlagBitsKHR {.size: 4.} = enum
  VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 1,
  VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 2,
  VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 4
VkVideoEncodeH264CapabilityFlagBitsEXT {.size: 4.} = enum
  VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_ENABLED_BIT_EXT = 1,
  VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_DISABLED_BIT_EXT = 2,
  VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT = 4,
  VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT = 8,
  VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT = 16,
  VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT = 32,
  VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT = 64,
  VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT = 128,
  VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT = 256,
  VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT = 512,
  VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT = 1024,
  VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT = 2048,
  VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT = 4096,
  VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT = 8192,
  VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT = 16384,
  VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT = 32768,
  VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT = 65536,
  VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT = 131072,
  VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT = 262144, VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT = 524288,
  VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT = 1048576,
  VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT = 2097152,
  VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT = 4194304,
  VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT = 8388608,
  VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT = 16777216
VkVideoEncodeH264InputModeFlagBitsEXT {.size: 4.} = enum
  VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT = 1,
  VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT = 2,
  VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT = 4
VkVideoEncodeH264OutputModeFlagBitsEXT {.size: 4.} = enum
  VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT = 1,
  VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT = 2,
  VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT = 4
VkVideoEncodeH264RateControlStructureEXT {.size: 4.} = enum
  VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT = 0,
  VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_EXT = 1,
  VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_EXT = 2
VkVideoEncodeH265CapabilityFlagBitsEXT {.size: 4.} = enum
  VK_VIDEO_ENCODE_H265_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT = 1,
  VK_VIDEO_ENCODE_H265_CAPABILITY_SCALING_LISTS_BIT_EXT = 2,
  VK_VIDEO_ENCODE_H265_CAPABILITY_SAMPLE_ADAPTIVE_OFFSET_ENABLED_BIT_EXT = 4,
  VK_VIDEO_ENCODE_H265_CAPABILITY_PCM_ENABLE_BIT_EXT = 8,
  VK_VIDEO_ENCODE_H265_CAPABILITY_SPS_TEMPORAL_MVP_ENABLED_BIT_EXT = 16,
  VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT = 32,
  VK_VIDEO_ENCODE_H265_CAPABILITY_INIT_QP_MINUS26_BIT_EXT = 64, VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT = 128,
  VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT = 256,
  VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT = 512,
  VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_DISABLED_BIT_EXT = 1024, VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT = 2048,
  VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT = 4096,
  VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT = 8192,
  VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT = 16384,
  VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT = 32768,
  VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT = 65536, VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT = 131072,
  VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT = 262144,
  VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT = 524288,
  VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT = 1048576,
  VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT = 2097152, VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT = 4194304,
  VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT = 8388608,
  VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT = 16777216,
  VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT = 33554432
VkVideoEncodeH265CtbSizeFlagBitsEXT {.size: 4.} = enum
  VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT = 1,
  VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT = 2,
  VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT = 4
VkVideoEncodeH265InputModeFlagBitsEXT {.size: 4.} = enum
  VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT = 1,
  VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_SEGMENT_BIT_EXT = 2,
  VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT = 4
VkVideoEncodeH265OutputModeFlagBitsEXT {.size: 4.} = enum
  VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT = 1,
  VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_SEGMENT_BIT_EXT = 2,
  VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT = 4
VkVideoEncodeH265RateControlStructureEXT {.size: 4.} = enum
  VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT = 0,
  VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_EXT = 1,
  VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_EXT = 2
VkVideoEncodeH265TransformBlockSizeFlagBitsEXT {.size: 4.} = enum
  VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT = 1,
  VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT = 2,
  VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT = 4,
  VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT = 8
VkVideoEncodeRateControlModeFlagBitsKHR {.size: 4.} = enum
  VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR = 1,
  VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 2,
  VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 4
VkVideoEncodeTuningModeKHR {.size: 4.} = enum
  VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0,
  VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1,
  VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2,
  VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3,
  VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4
VkVideoEncodeUsageFlagBitsKHR {.size: 4.} = enum
  VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 1,
  VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 2,
  VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 4,
  VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 8
VkVideoSessionCreateFlagBitsKHR {.size: 4.} = enum
  VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 1
VkViewport = object
  x*: float32
  y*: float32
  width*: float32
  height*: float32
  minDepth*: float32
  maxDepth*: float32
VkViewportCoordinateSwizzleNV {.size: 4.} = enum
  VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
  VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
  VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
  VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
  VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
  VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
  VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
  VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7
VkViewportWScalingNV = object
  xcoeff*: float32
  ycoeff*: float32
VkWriteDescriptorSet = object
  sType*: VkStructureType
  pNext*: pointer
  dstSet*: VkDescriptorSet
  dstBinding*: uint32
  dstArrayElement*: uint32
  descriptorCount*: uint32
  descriptorType*: VkDescriptorType
  pImageInfo*: ptr VkDescriptorImageInfo
  pBufferInfo*: ptr VkDescriptorBufferInfo
  pTexelBufferView*: ptr VkBufferView
VkWriteDescriptorSetAccelerationStructureKHR = object
  sType*: VkStructureType
  pNext*: pointer
  accelerationStructureCount*: uint32
  pAccelerationStructures*: ptr VkAccelerationStructureKHR
VkWriteDescriptorSetAccelerationStructureNV = object
  sType*: VkStructureType
  pNext*: pointer
  accelerationStructureCount*: uint32
  pAccelerationStructures*: ptr VkAccelerationStructureNV
VkWriteDescriptorSetInlineUniformBlock = object
  sType*: VkStructureType
  pNext*: pointer
  dataSize*: uint32
  pData*: pointer
VkXYColorEXT = object
  x*: float32
  y*: float32

Vars

vkAcquireDrmDisplayEXT: proc (physicalDevice: VkPhysicalDevice; drmFd: int32;
                              display: VkDisplayKHR): VkResult {.stdcall.}
vkAcquireNextImage2KHR: proc (device: VkDevice;
                              pAcquireInfo: ptr VkAcquireNextImageInfoKHR;
                              pImageIndex: ptr uint32): VkResult {.stdcall.}
vkAcquireNextImageKHR: proc (device: VkDevice; swapchain: VkSwapchainKHR;
                             timeout: uint64; semaphore: VkSemaphore;
                             fence: VkFence; pImageIndex: ptr uint32): VkResult {.
    stdcall.}
vkAcquireProfilingLockKHR: proc (device: VkDevice;
                                 pInfo: ptr VkAcquireProfilingLockInfoKHR): VkResult {.
    stdcall.}
vkAllocateCommandBuffers: proc (device: VkDevice;
                                pAllocateInfo: ptr VkCommandBufferAllocateInfo;
                                pCommandBuffers: ptr VkCommandBuffer): VkResult {.
    stdcall.}
vkAllocateDescriptorSets: proc (device: VkDevice;
                                pAllocateInfo: ptr VkDescriptorSetAllocateInfo;
                                pDescriptorSets: ptr VkDescriptorSet): VkResult {.
    stdcall.}
vkAllocateMemory: proc (device: VkDevice;
                        pAllocateInfo: ptr VkMemoryAllocateInfo;
                        pAllocator: ptr VkAllocationCallbacks;
                        pMemory: ptr VkDeviceMemory): VkResult {.stdcall.}
vkBeginCommandBuffer: proc (commandBuffer: VkCommandBuffer;
                            pBeginInfo: ptr VkCommandBufferBeginInfo): VkResult {.
    stdcall.}
vkBindAccelerationStructureMemoryNV: proc (device: VkDevice;
    bindInfoCount: uint32;
    pBindInfos: ptr VkBindAccelerationStructureMemoryInfoNV): VkResult {.stdcall.}
vkBindBufferMemory: proc (device: VkDevice; buffer: VkBuffer;
                          memory: VkDeviceMemory; memoryOffset: VkDeviceSize): VkResult {.
    stdcall.}
vkBindBufferMemory2: proc (device: VkDevice; bindInfoCount: uint32;
                           pBindInfos: ptr VkBindBufferMemoryInfo): VkResult {.
    stdcall.}
vkBindImageMemory: proc (device: VkDevice; image: VkImage;
                         memory: VkDeviceMemory; memoryOffset: VkDeviceSize): VkResult {.
    stdcall.}
vkBindImageMemory2: proc (device: VkDevice; bindInfoCount: uint32;
                          pBindInfos: ptr VkBindImageMemoryInfo): VkResult {.
    stdcall.}
vkBuildAccelerationStructuresKHR: proc (device: VkDevice; deferredOperation: VkDeferredOperationKHR;
                                        infoCount: uint32; pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR;
    ppBuildRangeInfos: ptr ptr VkAccelerationStructureBuildRangeInfoKHR): VkResult {.
    stdcall.}
vkBuildMicromapsEXT: proc (device: VkDevice;
                           deferredOperation: VkDeferredOperationKHR;
                           infoCount: uint32; pInfos: ptr VkMicromapBuildInfoEXT): VkResult {.
    stdcall.}
vkCmdBeginConditionalRenderingEXT: proc (commandBuffer: VkCommandBuffer;
    pConditionalRenderingBegin: ptr VkConditionalRenderingBeginInfoEXT): void {.
    stdcall.}
vkCmdBeginDebugUtilsLabelEXT: proc (commandBuffer: VkCommandBuffer;
                                    pLabelInfo: ptr VkDebugUtilsLabelEXT): void {.
    stdcall.}
vkCmdBeginQuery: proc (commandBuffer: VkCommandBuffer; queryPool: VkQueryPool;
                       query: uint32; flags: VkQueryControlFlags): void {.
    stdcall.}
vkCmdBeginQueryIndexedEXT: proc (commandBuffer: VkCommandBuffer;
                                 queryPool: VkQueryPool; query: uint32;
                                 flags: VkQueryControlFlags; index: uint32): void {.
    stdcall.}
vkCmdBeginRendering: proc (commandBuffer: VkCommandBuffer;
                           pRenderingInfo: ptr VkRenderingInfo): void {.stdcall.}
vkCmdBeginRenderPass: proc (commandBuffer: VkCommandBuffer;
                            pRenderPassBegin: ptr VkRenderPassBeginInfo;
                            contents: VkSubpassContents): void {.stdcall.}
vkCmdBeginRenderPass2: proc (commandBuffer: VkCommandBuffer;
                             pRenderPassBegin: ptr VkRenderPassBeginInfo;
                             pSubpassBeginInfo: ptr VkSubpassBeginInfo): void {.
    stdcall.}
vkCmdBeginTransformFeedbackEXT: proc (commandBuffer: VkCommandBuffer;
                                      firstCounterBuffer: uint32;
                                      counterBufferCount: uint32;
                                      pCounterBuffers: ptr VkBuffer;
                                      pCounterBufferOffsets: ptr VkDeviceSize): void {.
    stdcall.}
vkCmdBindDescriptorBufferEmbeddedSamplersEXT: proc (
    commandBuffer: VkCommandBuffer; pipelineBindPoint: VkPipelineBindPoint;
    layout: VkPipelineLayout; set: uint32): void {.stdcall.}
vkCmdBindDescriptorBuffersEXT: proc (commandBuffer: VkCommandBuffer;
                                     bufferCount: uint32; pBindingInfos: ptr VkDescriptorBufferBindingInfoEXT): void {.
    stdcall.}
vkCmdBindDescriptorSets: proc (commandBuffer: VkCommandBuffer;
                               pipelineBindPoint: VkPipelineBindPoint;
                               layout: VkPipelineLayout; firstSet: uint32;
                               descriptorSetCount: uint32;
                               pDescriptorSets: ptr VkDescriptorSet;
                               dynamicOffsetCount: uint32;
                               pDynamicOffsets: ptr uint32): void {.stdcall.}
vkCmdBindIndexBuffer: proc (commandBuffer: VkCommandBuffer; buffer: VkBuffer;
                            offset: VkDeviceSize; indexType: VkIndexType): void {.
    stdcall.}
vkCmdBindInvocationMaskHUAWEI: proc (commandBuffer: VkCommandBuffer;
                                     imageView: VkImageView;
                                     imageLayout: VkImageLayout): void {.stdcall.}
vkCmdBindPipeline: proc (commandBuffer: VkCommandBuffer;
                         pipelineBindPoint: VkPipelineBindPoint;
                         pipeline: VkPipeline): void {.stdcall.}
vkCmdBindPipelineShaderGroupNV: proc (commandBuffer: VkCommandBuffer;
                                      pipelineBindPoint: VkPipelineBindPoint;
                                      pipeline: VkPipeline; groupIndex: uint32): void {.
    stdcall.}
vkCmdBindShadingRateImageNV: proc (commandBuffer: VkCommandBuffer;
                                   imageView: VkImageView;
                                   imageLayout: VkImageLayout): void {.stdcall.}
vkCmdBindTransformFeedbackBuffersEXT: proc (commandBuffer: VkCommandBuffer;
    firstBinding: uint32; bindingCount: uint32; pBuffers: ptr VkBuffer;
    pOffsets: ptr VkDeviceSize; pSizes: ptr VkDeviceSize): void {.stdcall.}
vkCmdBindVertexBuffers: proc (commandBuffer: VkCommandBuffer;
                              firstBinding: uint32; bindingCount: uint32;
                              pBuffers: ptr VkBuffer; pOffsets: ptr VkDeviceSize): void {.
    stdcall.}
vkCmdBindVertexBuffers2: proc (commandBuffer: VkCommandBuffer;
                               firstBinding: uint32; bindingCount: uint32;
                               pBuffers: ptr VkBuffer;
                               pOffsets: ptr VkDeviceSize;
                               pSizes: ptr VkDeviceSize;
                               pStrides: ptr VkDeviceSize): void {.stdcall.}
vkCmdBlitImage: proc (commandBuffer: VkCommandBuffer; srcImage: VkImage;
                      srcImageLayout: VkImageLayout; dstImage: VkImage;
                      dstImageLayout: VkImageLayout; regionCount: uint32;
                      pRegions: ptr VkImageBlit; filter: VkFilter): void {.
    stdcall.}
vkCmdBlitImage2: proc (commandBuffer: VkCommandBuffer;
                       pBlitImageInfo: ptr VkBlitImageInfo2): void {.stdcall.}
vkCmdBuildAccelerationStructureNV: proc (commandBuffer: VkCommandBuffer;
    pInfo: ptr VkAccelerationStructureInfoNV; instanceData: VkBuffer;
    instanceOffset: VkDeviceSize; update: VkBool32;
    dst: VkAccelerationStructureNV; src: VkAccelerationStructureNV;
    scratch: VkBuffer; scratchOffset: VkDeviceSize): void {.stdcall.}
vkCmdBuildAccelerationStructuresIndirectKHR: proc (
    commandBuffer: VkCommandBuffer; infoCount: uint32;
    pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR;
    pIndirectDeviceAddresses: ptr VkDeviceAddress; pIndirectStrides: ptr uint32;
    ppMaxPrimitiveCounts: ptr ptr uint32): void {.stdcall.}
vkCmdBuildAccelerationStructuresKHR: proc (commandBuffer: VkCommandBuffer;
    infoCount: uint32; pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR;
    ppBuildRangeInfos: ptr ptr VkAccelerationStructureBuildRangeInfoKHR): void {.
    stdcall.}
vkCmdBuildMicromapsEXT: proc (commandBuffer: VkCommandBuffer; infoCount: uint32;
                              pInfos: ptr VkMicromapBuildInfoEXT): void {.
    stdcall.}
vkCmdClearAttachments: proc (commandBuffer: VkCommandBuffer;
                             attachmentCount: uint32;
                             pAttachments: ptr VkClearAttachment;
                             rectCount: uint32; pRects: ptr VkClearRect): void {.
    stdcall.}
vkCmdClearColorImage: proc (commandBuffer: VkCommandBuffer; image: VkImage;
                            imageLayout: VkImageLayout;
                            pColor: ptr VkClearColorValue; rangeCount: uint32;
                            pRanges: ptr VkImageSubresourceRange): void {.
    stdcall.}
vkCmdClearDepthStencilImage: proc (commandBuffer: VkCommandBuffer;
                                   image: VkImage; imageLayout: VkImageLayout;
                                   pDepthStencil: ptr VkClearDepthStencilValue;
                                   rangeCount: uint32;
                                   pRanges: ptr VkImageSubresourceRange): void {.
    stdcall.}
vkCmdCopyAccelerationStructureKHR: proc (commandBuffer: VkCommandBuffer;
    pInfo: ptr VkCopyAccelerationStructureInfoKHR): void {.stdcall.}
vkCmdCopyBuffer: proc (commandBuffer: VkCommandBuffer; srcBuffer: VkBuffer;
                       dstBuffer: VkBuffer; regionCount: uint32;
                       pRegions: ptr VkBufferCopy): void {.stdcall.}
vkCmdCopyBuffer2: proc (commandBuffer: VkCommandBuffer;
                        pCopyBufferInfo: ptr VkCopyBufferInfo2): void {.stdcall.}
vkCmdCopyBufferToImage: proc (commandBuffer: VkCommandBuffer;
                              srcBuffer: VkBuffer; dstImage: VkImage;
                              dstImageLayout: VkImageLayout;
                              regionCount: uint32;
                              pRegions: ptr VkBufferImageCopy): void {.stdcall.}
vkCmdCopyBufferToImage2: proc (commandBuffer: VkCommandBuffer;
    pCopyBufferToImageInfo: ptr VkCopyBufferToImageInfo2): void {.stdcall.}
vkCmdCopyImage: proc (commandBuffer: VkCommandBuffer; srcImage: VkImage;
                      srcImageLayout: VkImageLayout; dstImage: VkImage;
                      dstImageLayout: VkImageLayout; regionCount: uint32;
                      pRegions: ptr VkImageCopy): void {.stdcall.}
vkCmdCopyImage2: proc (commandBuffer: VkCommandBuffer;
                       pCopyImageInfo: ptr VkCopyImageInfo2): void {.stdcall.}
vkCmdCopyImageToBuffer: proc (commandBuffer: VkCommandBuffer; srcImage: VkImage;
                              srcImageLayout: VkImageLayout;
                              dstBuffer: VkBuffer; regionCount: uint32;
                              pRegions: ptr VkBufferImageCopy): void {.stdcall.}
vkCmdCopyImageToBuffer2: proc (commandBuffer: VkCommandBuffer;
    pCopyImageToBufferInfo: ptr VkCopyImageToBufferInfo2): void {.stdcall.}
vkCmdCopyMemoryIndirectNV: proc (commandBuffer: VkCommandBuffer;
                                 copyBufferAddress: VkDeviceAddress;
                                 copyCount: uint32; stride: uint32): void {.
    stdcall.}
vkCmdCopyMemoryToImageIndirectNV: proc (commandBuffer: VkCommandBuffer;
                                        copyBufferAddress: VkDeviceAddress;
                                        copyCount: uint32; stride: uint32;
                                        dstImage: VkImage;
                                        dstImageLayout: VkImageLayout;
    pImageSubresources: ptr VkImageSubresourceLayers): void {.stdcall.}
vkCmdCopyMemoryToMicromapEXT: proc (commandBuffer: VkCommandBuffer;
                                    pInfo: ptr VkCopyMemoryToMicromapInfoEXT): void {.
    stdcall.}
vkCmdCopyMicromapEXT: proc (commandBuffer: VkCommandBuffer;
                            pInfo: ptr VkCopyMicromapInfoEXT): void {.stdcall.}
vkCmdCopyMicromapToMemoryEXT: proc (commandBuffer: VkCommandBuffer;
                                    pInfo: ptr VkCopyMicromapToMemoryInfoEXT): void {.
    stdcall.}
vkCmdCopyQueryPoolResults: proc (commandBuffer: VkCommandBuffer;
                                 queryPool: VkQueryPool; firstQuery: uint32;
                                 queryCount: uint32; dstBuffer: VkBuffer;
                                 dstOffset: VkDeviceSize; stride: VkDeviceSize;
                                 flags: VkQueryResultFlags): void {.stdcall.}
vkCmdCuLaunchKernelNVX: proc (commandBuffer: VkCommandBuffer;
                              pLaunchInfo: ptr VkCuLaunchInfoNVX): void {.
    stdcall.}
vkCmdDecompressMemoryIndirectCountNV: proc (commandBuffer: VkCommandBuffer;
    indirectCommandsAddress: VkDeviceAddress;
    indirectCommandsCountAddress: VkDeviceAddress; stride: uint32): void {.
    stdcall.}
vkCmdDecompressMemoryNV: proc (commandBuffer: VkCommandBuffer;
                               decompressRegionCount: uint32;
    pDecompressMemoryRegions: ptr VkDecompressMemoryRegionNV): void {.stdcall.}
vkCmdDispatch: proc (commandBuffer: VkCommandBuffer; groupCountX: uint32;
                     groupCountY: uint32; groupCountZ: uint32): void {.stdcall.}
vkCmdDispatchBase: proc (commandBuffer: VkCommandBuffer; baseGroupX: uint32;
                         baseGroupY: uint32; baseGroupZ: uint32;
                         groupCountX: uint32; groupCountY: uint32;
                         groupCountZ: uint32): void {.stdcall.}
vkCmdDispatchIndirect: proc (commandBuffer: VkCommandBuffer; buffer: VkBuffer;
                             offset: VkDeviceSize): void {.stdcall.}
vkCmdDraw: proc (commandBuffer: VkCommandBuffer; vertexCount: uint32;
                 instanceCount: uint32; firstVertex: uint32;
                 firstInstance: uint32): void {.stdcall.}
vkCmdDrawClusterHUAWEI: proc (commandBuffer: VkCommandBuffer;
                              groupCountX: uint32; groupCountY: uint32;
                              groupCountZ: uint32): void {.stdcall.}
vkCmdDrawClusterIndirectHUAWEI: proc (commandBuffer: VkCommandBuffer;
                                      buffer: VkBuffer; offset: VkDeviceSize): void {.
    stdcall.}
vkCmdDrawIndexed: proc (commandBuffer: VkCommandBuffer; indexCount: uint32;
                        instanceCount: uint32; firstIndex: uint32;
                        vertexOffset: int32; firstInstance: uint32): void {.
    stdcall.}
vkCmdDrawIndexedIndirect: proc (commandBuffer: VkCommandBuffer;
                                buffer: VkBuffer; offset: VkDeviceSize;
                                drawCount: uint32; stride: uint32): void {.
    stdcall.}
vkCmdDrawIndexedIndirectCount: proc (commandBuffer: VkCommandBuffer;
                                     buffer: VkBuffer; offset: VkDeviceSize;
                                     countBuffer: VkBuffer;
                                     countBufferOffset: VkDeviceSize;
                                     maxDrawCount: uint32; stride: uint32): void {.
    stdcall.}
vkCmdDrawIndirect: proc (commandBuffer: VkCommandBuffer; buffer: VkBuffer;
                         offset: VkDeviceSize; drawCount: uint32; stride: uint32): void {.
    stdcall.}
vkCmdDrawIndirectByteCountEXT: proc (commandBuffer: VkCommandBuffer;
                                     instanceCount: uint32;
                                     firstInstance: uint32;
                                     counterBuffer: VkBuffer;
                                     counterBufferOffset: VkDeviceSize;
                                     counterOffset: uint32; vertexStride: uint32): void {.
    stdcall.}
vkCmdDrawIndirectCount: proc (commandBuffer: VkCommandBuffer; buffer: VkBuffer;
                              offset: VkDeviceSize; countBuffer: VkBuffer;
                              countBufferOffset: VkDeviceSize;
                              maxDrawCount: uint32; stride: uint32): void {.
    stdcall.}
vkCmdDrawMeshTasksEXT: proc (commandBuffer: VkCommandBuffer;
                             groupCountX: uint32; groupCountY: uint32;
                             groupCountZ: uint32): void {.stdcall.}
vkCmdDrawMeshTasksIndirectCountEXT: proc (commandBuffer: VkCommandBuffer;
    buffer: VkBuffer; offset: VkDeviceSize; countBuffer: VkBuffer;
    countBufferOffset: VkDeviceSize; maxDrawCount: uint32; stride: uint32): void {.
    stdcall.}
vkCmdDrawMeshTasksIndirectCountNV: proc (commandBuffer: VkCommandBuffer;
    buffer: VkBuffer; offset: VkDeviceSize; countBuffer: VkBuffer;
    countBufferOffset: VkDeviceSize; maxDrawCount: uint32; stride: uint32): void {.
    stdcall.}
vkCmdDrawMeshTasksIndirectEXT: proc (commandBuffer: VkCommandBuffer;
                                     buffer: VkBuffer; offset: VkDeviceSize;
                                     drawCount: uint32; stride: uint32): void {.
    stdcall.}
vkCmdDrawMeshTasksIndirectNV: proc (commandBuffer: VkCommandBuffer;
                                    buffer: VkBuffer; offset: VkDeviceSize;
                                    drawCount: uint32; stride: uint32): void {.
    stdcall.}
vkCmdDrawMeshTasksNV: proc (commandBuffer: VkCommandBuffer; taskCount: uint32;
                            firstTask: uint32): void {.stdcall.}
vkCmdDrawMultiEXT: proc (commandBuffer: VkCommandBuffer; drawCount: uint32;
                         pVertexInfo: ptr VkMultiDrawInfoEXT;
                         instanceCount: uint32; firstInstance: uint32;
                         stride: uint32): void {.stdcall.}
vkCmdDrawMultiIndexedEXT: proc (commandBuffer: VkCommandBuffer;
                                drawCount: uint32;
                                pIndexInfo: ptr VkMultiDrawIndexedInfoEXT;
                                instanceCount: uint32; firstInstance: uint32;
                                stride: uint32; pVertexOffset: ptr int32): void {.
    stdcall.}
vkCmdEndConditionalRenderingEXT: proc (commandBuffer: VkCommandBuffer): void {.
    stdcall.}
vkCmdEndDebugUtilsLabelEXT: proc (commandBuffer: VkCommandBuffer): void {.
    stdcall.}
vkCmdEndQuery: proc (commandBuffer: VkCommandBuffer; queryPool: VkQueryPool;
                     query: uint32): void {.stdcall.}
vkCmdEndQueryIndexedEXT: proc (commandBuffer: VkCommandBuffer;
                               queryPool: VkQueryPool; query: uint32;
                               index: uint32): void {.stdcall.}
vkCmdEndRendering: proc (commandBuffer: VkCommandBuffer): void {.stdcall.}
vkCmdEndRenderPass: proc (commandBuffer: VkCommandBuffer): void {.stdcall.}
vkCmdEndRenderPass2: proc (commandBuffer: VkCommandBuffer;
                           pSubpassEndInfo: ptr VkSubpassEndInfo): void {.
    stdcall.}
vkCmdEndTransformFeedbackEXT: proc (commandBuffer: VkCommandBuffer;
                                    firstCounterBuffer: uint32;
                                    counterBufferCount: uint32;
                                    pCounterBuffers: ptr VkBuffer;
                                    pCounterBufferOffsets: ptr VkDeviceSize): void {.
    stdcall.}
vkCmdExecuteCommands: proc (commandBuffer: VkCommandBuffer;
                            commandBufferCount: uint32;
                            pCommandBuffers: ptr VkCommandBuffer): void {.
    stdcall.}
vkCmdExecuteGeneratedCommandsNV: proc (commandBuffer: VkCommandBuffer;
                                       isPreprocessed: VkBool32;
    pGeneratedCommandsInfo: ptr VkGeneratedCommandsInfoNV): void {.stdcall.}
vkCmdFillBuffer: proc (commandBuffer: VkCommandBuffer; dstBuffer: VkBuffer;
                       dstOffset: VkDeviceSize; size: VkDeviceSize; data: uint32): void {.
    stdcall.}
vkCmdInsertDebugUtilsLabelEXT: proc (commandBuffer: VkCommandBuffer;
                                     pLabelInfo: ptr VkDebugUtilsLabelEXT): void {.
    stdcall.}
vkCmdNextSubpass: proc (commandBuffer: VkCommandBuffer;
                        contents: VkSubpassContents): void {.stdcall.}
vkCmdNextSubpass2: proc (commandBuffer: VkCommandBuffer;
                         pSubpassBeginInfo: ptr VkSubpassBeginInfo;
                         pSubpassEndInfo: ptr VkSubpassEndInfo): void {.stdcall.}
vkCmdOpticalFlowExecuteNV: proc (commandBuffer: VkCommandBuffer;
                                 session: VkOpticalFlowSessionNV;
                                 pExecuteInfo: ptr VkOpticalFlowExecuteInfoNV): void {.
    stdcall.}
vkCmdPipelineBarrier: proc (commandBuffer: VkCommandBuffer;
                            srcStageMask: VkPipelineStageFlags;
                            dstStageMask: VkPipelineStageFlags;
                            dependencyFlags: VkDependencyFlags;
                            memoryBarrierCount: uint32;
                            pMemoryBarriers: ptr VkMemoryBarrier;
                            bufferMemoryBarrierCount: uint32;
                            pBufferMemoryBarriers: ptr VkBufferMemoryBarrier;
                            imageMemoryBarrierCount: uint32;
                            pImageMemoryBarriers: ptr VkImageMemoryBarrier): void {.
    stdcall.}
vkCmdPipelineBarrier2: proc (commandBuffer: VkCommandBuffer;
                             pDependencyInfo: ptr VkDependencyInfo): void {.
    stdcall.}
vkCmdPreprocessGeneratedCommandsNV: proc (commandBuffer: VkCommandBuffer;
    pGeneratedCommandsInfo: ptr VkGeneratedCommandsInfoNV): void {.stdcall.}
vkCmdPushConstants: proc (commandBuffer: VkCommandBuffer;
                          layout: VkPipelineLayout;
                          stageFlags: VkShaderStageFlags; offset: uint32;
                          size: uint32; pValues: pointer): void {.stdcall.}
vkCmdPushDescriptorSetKHR: proc (commandBuffer: VkCommandBuffer;
                                 pipelineBindPoint: VkPipelineBindPoint;
                                 layout: VkPipelineLayout; set: uint32;
                                 descriptorWriteCount: uint32;
                                 pDescriptorWrites: ptr VkWriteDescriptorSet): void {.
    stdcall.}
vkCmdPushDescriptorSetWithTemplateKHR: proc (commandBuffer: VkCommandBuffer;
    descriptorUpdateTemplate: VkDescriptorUpdateTemplate;
    layout: VkPipelineLayout; set: uint32; pData: pointer): void {.stdcall.}
vkCmdResetEvent: proc (commandBuffer: VkCommandBuffer; event: VkEvent;
                       stageMask: VkPipelineStageFlags): void {.stdcall.}
vkCmdResetEvent2: proc (commandBuffer: VkCommandBuffer; event: VkEvent;
                        stageMask: VkPipelineStageFlags2): void {.stdcall.}
vkCmdResetQueryPool: proc (commandBuffer: VkCommandBuffer;
                           queryPool: VkQueryPool; firstQuery: uint32;
                           queryCount: uint32): void {.stdcall.}
vkCmdResolveImage: proc (commandBuffer: VkCommandBuffer; srcImage: VkImage;
                         srcImageLayout: VkImageLayout; dstImage: VkImage;
                         dstImageLayout: VkImageLayout; regionCount: uint32;
                         pRegions: ptr VkImageResolve): void {.stdcall.}
vkCmdResolveImage2: proc (commandBuffer: VkCommandBuffer;
                          pResolveImageInfo: ptr VkResolveImageInfo2): void {.
    stdcall.}
vkCmdSetAlphaToCoverageEnableEXT: proc (commandBuffer: VkCommandBuffer;
                                        alphaToCoverageEnable: VkBool32): void {.
    stdcall.}
vkCmdSetAlphaToOneEnableEXT: proc (commandBuffer: VkCommandBuffer;
                                   alphaToOneEnable: VkBool32): void {.stdcall.}
vkCmdSetBlendConstants: proc (commandBuffer: VkCommandBuffer;
                              blendConstants: array[4, float32]): void {.stdcall.}
vkCmdSetCheckpointNV: proc (commandBuffer: VkCommandBuffer;
                            pCheckpointMarker: pointer): void {.stdcall.}
vkCmdSetCoarseSampleOrderNV: proc (commandBuffer: VkCommandBuffer;
                                   sampleOrderType: VkCoarseSampleOrderTypeNV;
                                   customSampleOrderCount: uint32;
    pCustomSampleOrders: ptr VkCoarseSampleOrderCustomNV): void {.stdcall.}
vkCmdSetColorBlendAdvancedEXT: proc (commandBuffer: VkCommandBuffer;
                                     firstAttachment: uint32;
                                     attachmentCount: uint32;
    pColorBlendAdvanced: ptr VkColorBlendAdvancedEXT): void {.stdcall.}
vkCmdSetColorBlendEnableEXT: proc (commandBuffer: VkCommandBuffer;
                                   firstAttachment: uint32;
                                   attachmentCount: uint32;
                                   pColorBlendEnables: ptr VkBool32): void {.
    stdcall.}
vkCmdSetColorBlendEquationEXT: proc (commandBuffer: VkCommandBuffer;
                                     firstAttachment: uint32;
                                     attachmentCount: uint32;
    pColorBlendEquations: ptr VkColorBlendEquationEXT): void {.stdcall.}
vkCmdSetColorWriteEnableEXT: proc (commandBuffer: VkCommandBuffer;
                                   attachmentCount: uint32;
                                   pColorWriteEnables: ptr VkBool32): void {.
    stdcall.}
vkCmdSetColorWriteMaskEXT: proc (commandBuffer: VkCommandBuffer;
                                 firstAttachment: uint32;
                                 attachmentCount: uint32;
                                 pColorWriteMasks: ptr VkColorComponentFlags): void {.
    stdcall.}
vkCmdSetConservativeRasterizationModeEXT: proc (commandBuffer: VkCommandBuffer;
    conservativeRasterizationMode: VkConservativeRasterizationModeEXT): void {.
    stdcall.}
vkCmdSetCoverageModulationModeNV: proc (commandBuffer: VkCommandBuffer;
    coverageModulationMode: VkCoverageModulationModeNV): void {.stdcall.}
vkCmdSetCoverageModulationTableEnableNV: proc (commandBuffer: VkCommandBuffer;
    coverageModulationTableEnable: VkBool32): void {.stdcall.}
vkCmdSetCoverageModulationTableNV: proc (commandBuffer: VkCommandBuffer;
    coverageModulationTableCount: uint32; pCoverageModulationTable: ptr float32): void {.
    stdcall.}
vkCmdSetCoverageReductionModeNV: proc (commandBuffer: VkCommandBuffer;
    coverageReductionMode: VkCoverageReductionModeNV): void {.stdcall.}
vkCmdSetCoverageToColorEnableNV: proc (commandBuffer: VkCommandBuffer;
                                       coverageToColorEnable: VkBool32): void {.
    stdcall.}
vkCmdSetCoverageToColorLocationNV: proc (commandBuffer: VkCommandBuffer;
    coverageToColorLocation: uint32): void {.stdcall.}
vkCmdSetCullMode: proc (commandBuffer: VkCommandBuffer;
                        cullMode: VkCullModeFlags): void {.stdcall.}
vkCmdSetDepthBias: proc (commandBuffer: VkCommandBuffer;
                         depthBiasConstantFactor: float32;
                         depthBiasClamp: float32; depthBiasSlopeFactor: float32): void {.
    stdcall.}
vkCmdSetDepthBiasEnable: proc (commandBuffer: VkCommandBuffer;
                               depthBiasEnable: VkBool32): void {.stdcall.}
vkCmdSetDepthBounds: proc (commandBuffer: VkCommandBuffer;
                           minDepthBounds: float32; maxDepthBounds: float32): void {.
    stdcall.}
vkCmdSetDepthBoundsTestEnable: proc (commandBuffer: VkCommandBuffer;
                                     depthBoundsTestEnable: VkBool32): void {.
    stdcall.}
vkCmdSetDepthClampEnableEXT: proc (commandBuffer: VkCommandBuffer;
                                   depthClampEnable: VkBool32): void {.stdcall.}
vkCmdSetDepthClipEnableEXT: proc (commandBuffer: VkCommandBuffer;
                                  depthClipEnable: VkBool32): void {.stdcall.}
vkCmdSetDepthClipNegativeOneToOneEXT: proc (commandBuffer: VkCommandBuffer;
    negativeOneToOne: VkBool32): void {.stdcall.}
vkCmdSetDepthCompareOp: proc (commandBuffer: VkCommandBuffer;
                              depthCompareOp: VkCompareOp): void {.stdcall.}
vkCmdSetDepthTestEnable: proc (commandBuffer: VkCommandBuffer;
                               depthTestEnable: VkBool32): void {.stdcall.}
vkCmdSetDepthWriteEnable: proc (commandBuffer: VkCommandBuffer;
                                depthWriteEnable: VkBool32): void {.stdcall.}
vkCmdSetDescriptorBufferOffsetsEXT: proc (commandBuffer: VkCommandBuffer;
    pipelineBindPoint: VkPipelineBindPoint; layout: VkPipelineLayout;
    firstSet: uint32; setCount: uint32; pBufferIndices: ptr uint32;
    pOffsets: ptr VkDeviceSize): void {.stdcall.}
vkCmdSetDeviceMask: proc (commandBuffer: VkCommandBuffer; deviceMask: uint32): void {.
    stdcall.}
vkCmdSetDiscardRectangleEnableEXT: proc (commandBuffer: VkCommandBuffer;
    discardRectangleEnable: VkBool32): void {.stdcall.}
vkCmdSetDiscardRectangleEXT: proc (commandBuffer: VkCommandBuffer;
                                   firstDiscardRectangle: uint32;
                                   discardRectangleCount: uint32;
                                   pDiscardRectangles: ptr VkRect2D): void {.
    stdcall.}
vkCmdSetDiscardRectangleModeEXT: proc (commandBuffer: VkCommandBuffer;
    discardRectangleMode: VkDiscardRectangleModeEXT): void {.stdcall.}
vkCmdSetEvent: proc (commandBuffer: VkCommandBuffer; event: VkEvent;
                     stageMask: VkPipelineStageFlags): void {.stdcall.}
vkCmdSetEvent2: proc (commandBuffer: VkCommandBuffer; event: VkEvent;
                      pDependencyInfo: ptr VkDependencyInfo): void {.stdcall.}
vkCmdSetExclusiveScissorEnableNV: proc (commandBuffer: VkCommandBuffer;
                                        firstExclusiveScissor: uint32;
                                        exclusiveScissorCount: uint32;
                                        pExclusiveScissorEnables: ptr VkBool32): void {.
    stdcall.}
vkCmdSetExclusiveScissorNV: proc (commandBuffer: VkCommandBuffer;
                                  firstExclusiveScissor: uint32;
                                  exclusiveScissorCount: uint32;
                                  pExclusiveScissors: ptr VkRect2D): void {.
    stdcall.}
vkCmdSetExtraPrimitiveOverestimationSizeEXT: proc (
    commandBuffer: VkCommandBuffer; extraPrimitiveOverestimationSize: float32): void {.
    stdcall.}
vkCmdSetFragmentShadingRateEnumNV: proc (commandBuffer: VkCommandBuffer;
    shadingRate: VkFragmentShadingRateNV;
    combinerOps: array[2, VkFragmentShadingRateCombinerOpKHR]): void {.stdcall.}
vkCmdSetFragmentShadingRateKHR: proc (commandBuffer: VkCommandBuffer;
                                      pFragmentSize: ptr VkExtent2D; combinerOps: array[
    2, VkFragmentShadingRateCombinerOpKHR]): void {.stdcall.}
vkCmdSetFrontFace: proc (commandBuffer: VkCommandBuffer; frontFace: VkFrontFace): void {.
    stdcall.}
vkCmdSetLineRasterizationModeEXT: proc (commandBuffer: VkCommandBuffer;
    lineRasterizationMode: VkLineRasterizationModeEXT): void {.stdcall.}
vkCmdSetLineStippleEnableEXT: proc (commandBuffer: VkCommandBuffer;
                                    stippledLineEnable: VkBool32): void {.
    stdcall.}
vkCmdSetLineStippleEXT: proc (commandBuffer: VkCommandBuffer;
                              lineStippleFactor: uint32;
                              lineStipplePattern: uint16): void {.stdcall.}
vkCmdSetLineWidth: proc (commandBuffer: VkCommandBuffer; lineWidth: float32): void {.
    stdcall.}
vkCmdSetLogicOpEnableEXT: proc (commandBuffer: VkCommandBuffer;
                                logicOpEnable: VkBool32): void {.stdcall.}
vkCmdSetPerformanceMarkerINTEL: proc (commandBuffer: VkCommandBuffer;
    pMarkerInfo: ptr VkPerformanceMarkerInfoINTEL): VkResult {.stdcall.}
vkCmdSetPerformanceOverrideINTEL: proc (commandBuffer: VkCommandBuffer;
    pOverrideInfo: ptr VkPerformanceOverrideInfoINTEL): VkResult {.stdcall.}
vkCmdSetPolygonModeEXT: proc (commandBuffer: VkCommandBuffer;
                              polygonMode: VkPolygonMode): void {.stdcall.}
vkCmdSetPrimitiveRestartEnable: proc (commandBuffer: VkCommandBuffer;
                                      primitiveRestartEnable: VkBool32): void {.
    stdcall.}
vkCmdSetPrimitiveTopology: proc (commandBuffer: VkCommandBuffer;
                                 primitiveTopology: VkPrimitiveTopology): void {.
    stdcall.}
vkCmdSetProvokingVertexModeEXT: proc (commandBuffer: VkCommandBuffer;
    provokingVertexMode: VkProvokingVertexModeEXT): void {.stdcall.}
vkCmdSetRasterizationSamplesEXT: proc (commandBuffer: VkCommandBuffer;
    rasterizationSamples: VkSampleCountFlagBits): void {.stdcall.}
vkCmdSetRasterizationStreamEXT: proc (commandBuffer: VkCommandBuffer;
                                      rasterizationStream: uint32): void {.
    stdcall.}
vkCmdSetRasterizerDiscardEnable: proc (commandBuffer: VkCommandBuffer;
                                       rasterizerDiscardEnable: VkBool32): void {.
    stdcall.}
vkCmdSetRayTracingPipelineStackSizeKHR: proc (commandBuffer: VkCommandBuffer;
    pipelineStackSize: uint32): void {.stdcall.}
vkCmdSetRepresentativeFragmentTestEnableNV: proc (
    commandBuffer: VkCommandBuffer; representativeFragmentTestEnable: VkBool32): void {.
    stdcall.}
vkCmdSetSampleLocationsEnableEXT: proc (commandBuffer: VkCommandBuffer;
                                        sampleLocationsEnable: VkBool32): void {.
    stdcall.}
vkCmdSetSampleLocationsEXT: proc (commandBuffer: VkCommandBuffer;
    pSampleLocationsInfo: ptr VkSampleLocationsInfoEXT): void {.stdcall.}
vkCmdSetSampleMaskEXT: proc (commandBuffer: VkCommandBuffer;
                             samples: VkSampleCountFlagBits;
                             pSampleMask: ptr VkSampleMask): void {.stdcall.}
vkCmdSetScissor: proc (commandBuffer: VkCommandBuffer; firstScissor: uint32;
                       scissorCount: uint32; pScissors: ptr VkRect2D): void {.
    stdcall.}
vkCmdSetScissorWithCount: proc (commandBuffer: VkCommandBuffer;
                                scissorCount: uint32; pScissors: ptr VkRect2D): void {.
    stdcall.}
vkCmdSetShadingRateImageEnableNV: proc (commandBuffer: VkCommandBuffer;
                                        shadingRateImageEnable: VkBool32): void {.
    stdcall.}
vkCmdSetStencilCompareMask: proc (commandBuffer: VkCommandBuffer;
                                  faceMask: VkStencilFaceFlags;
                                  compareMask: uint32): void {.stdcall.}
vkCmdSetStencilOp: proc (commandBuffer: VkCommandBuffer;
                         faceMask: VkStencilFaceFlags; failOp: VkStencilOp;
                         passOp: VkStencilOp; depthFailOp: VkStencilOp;
                         compareOp: VkCompareOp): void {.stdcall.}
vkCmdSetStencilReference: proc (commandBuffer: VkCommandBuffer;
                                faceMask: VkStencilFaceFlags; reference: uint32): void {.
    stdcall.}
vkCmdSetStencilTestEnable: proc (commandBuffer: VkCommandBuffer;
                                 stencilTestEnable: VkBool32): void {.stdcall.}
vkCmdSetStencilWriteMask: proc (commandBuffer: VkCommandBuffer;
                                faceMask: VkStencilFaceFlags; writeMask: uint32): void {.
    stdcall.}
vkCmdSetTessellationDomainOriginEXT: proc (commandBuffer: VkCommandBuffer;
    domainOrigin: VkTessellationDomainOrigin): void {.stdcall.}
vkCmdSetVertexInputEXT: proc (commandBuffer: VkCommandBuffer;
                              vertexBindingDescriptionCount: uint32;
    pVertexBindingDescriptions: ptr VkVertexInputBindingDescription2EXT;
                              vertexAttributeDescriptionCount: uint32;
    pVertexAttributeDescriptions: ptr VkVertexInputAttributeDescription2EXT): void {.
    stdcall.}
vkCmdSetViewport: proc (commandBuffer: VkCommandBuffer; firstViewport: uint32;
                        viewportCount: uint32; pViewports: ptr VkViewport): void {.
    stdcall.}
vkCmdSetViewportShadingRatePaletteNV: proc (commandBuffer: VkCommandBuffer;
    firstViewport: uint32; viewportCount: uint32;
    pShadingRatePalettes: ptr VkShadingRatePaletteNV): void {.stdcall.}
vkCmdSetViewportSwizzleNV: proc (commandBuffer: VkCommandBuffer;
                                 firstViewport: uint32; viewportCount: uint32;
                                 pViewportSwizzles: ptr VkViewportSwizzleNV): void {.
    stdcall.}
vkCmdSetViewportWithCount: proc (commandBuffer: VkCommandBuffer;
                                 viewportCount: uint32;
                                 pViewports: ptr VkViewport): void {.stdcall.}
vkCmdSetViewportWScalingEnableNV: proc (commandBuffer: VkCommandBuffer;
                                        viewportWScalingEnable: VkBool32): void {.
    stdcall.}
vkCmdSetViewportWScalingNV: proc (commandBuffer: VkCommandBuffer;
                                  firstViewport: uint32; viewportCount: uint32;
                                  pViewportWScalings: ptr VkViewportWScalingNV): void {.
    stdcall.}
vkCmdSubpassShadingHUAWEI: proc (commandBuffer: VkCommandBuffer): void {.stdcall.}
vkCmdTraceRaysIndirect2KHR: proc (commandBuffer: VkCommandBuffer;
                                  indirectDeviceAddress: VkDeviceAddress): void {.
    stdcall.}
vkCmdTraceRaysIndirectKHR: proc (commandBuffer: VkCommandBuffer;
    pRaygenShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR;
    pMissShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR;
    pHitShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR;
    pCallableShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR;
                                 indirectDeviceAddress: VkDeviceAddress): void {.
    stdcall.}
vkCmdTraceRaysKHR: proc (commandBuffer: VkCommandBuffer;
    pRaygenShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR;
    pMissShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR;
    pHitShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR;
    pCallableShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR;
                         width: uint32; height: uint32; depth: uint32): void {.
    stdcall.}
vkCmdTraceRaysNV: proc (commandBuffer: VkCommandBuffer;
                        raygenShaderBindingTableBuffer: VkBuffer;
                        raygenShaderBindingOffset: VkDeviceSize;
                        missShaderBindingTableBuffer: VkBuffer;
                        missShaderBindingOffset: VkDeviceSize;
                        missShaderBindingStride: VkDeviceSize;
                        hitShaderBindingTableBuffer: VkBuffer;
                        hitShaderBindingOffset: VkDeviceSize;
                        hitShaderBindingStride: VkDeviceSize;
                        callableShaderBindingTableBuffer: VkBuffer;
                        callableShaderBindingOffset: VkDeviceSize;
                        callableShaderBindingStride: VkDeviceSize;
                        width: uint32; height: uint32; depth: uint32): void {.
    stdcall.}
vkCmdUpdateBuffer: proc (commandBuffer: VkCommandBuffer; dstBuffer: VkBuffer;
                         dstOffset: VkDeviceSize; dataSize: VkDeviceSize;
                         pData: pointer): void {.stdcall.}
vkCmdWaitEvents: proc (commandBuffer: VkCommandBuffer; eventCount: uint32;
                       pEvents: ptr VkEvent; srcStageMask: VkPipelineStageFlags;
                       dstStageMask: VkPipelineStageFlags;
                       memoryBarrierCount: uint32;
                       pMemoryBarriers: ptr VkMemoryBarrier;
                       bufferMemoryBarrierCount: uint32;
                       pBufferMemoryBarriers: ptr VkBufferMemoryBarrier;
                       imageMemoryBarrierCount: uint32;
                       pImageMemoryBarriers: ptr VkImageMemoryBarrier): void {.
    stdcall.}
vkCmdWaitEvents2: proc (commandBuffer: VkCommandBuffer; eventCount: uint32;
                        pEvents: ptr VkEvent;
                        pDependencyInfos: ptr VkDependencyInfo): void {.stdcall.}
vkCmdWriteAccelerationStructuresPropertiesKHR: proc (
    commandBuffer: VkCommandBuffer; accelerationStructureCount: uint32;
    pAccelerationStructures: ptr VkAccelerationStructureKHR;
    queryType: VkQueryType; queryPool: VkQueryPool; firstQuery: uint32): void {.
    stdcall.}
vkCmdWriteAccelerationStructuresPropertiesNV: proc (
    commandBuffer: VkCommandBuffer; accelerationStructureCount: uint32;
    pAccelerationStructures: ptr VkAccelerationStructureNV;
    queryType: VkQueryType; queryPool: VkQueryPool; firstQuery: uint32): void {.
    stdcall.}
vkCmdWriteBufferMarkerAMD: proc (commandBuffer: VkCommandBuffer;
                                 pipelineStage: VkPipelineStageFlagBits;
                                 dstBuffer: VkBuffer; dstOffset: VkDeviceSize;
                                 marker: uint32): void {.stdcall.}
vkCmdWriteMicromapsPropertiesEXT: proc (commandBuffer: VkCommandBuffer;
                                        micromapCount: uint32;
                                        pMicromaps: ptr VkMicromapEXT;
                                        queryType: VkQueryType;
                                        queryPool: VkQueryPool;
                                        firstQuery: uint32): void {.stdcall.}
vkCmdWriteTimestamp: proc (commandBuffer: VkCommandBuffer;
                           pipelineStage: VkPipelineStageFlagBits;
                           queryPool: VkQueryPool; query: uint32): void {.
    stdcall.}
vkCmdWriteTimestamp2: proc (commandBuffer: VkCommandBuffer;
                            stage: VkPipelineStageFlags2;
                            queryPool: VkQueryPool; query: uint32): void {.
    stdcall.}
vkCompileDeferredNV: proc (device: VkDevice; pipeline: VkPipeline;
                           shader: uint32): VkResult {.stdcall.}
vkCopyMemoryToMicromapEXT: proc (device: VkDevice;
                                 deferredOperation: VkDeferredOperationKHR;
                                 pInfo: ptr VkCopyMemoryToMicromapInfoEXT): VkResult {.
    stdcall.}
vkCopyMicromapEXT: proc (device: VkDevice;
                         deferredOperation: VkDeferredOperationKHR;
                         pInfo: ptr VkCopyMicromapInfoEXT): VkResult {.stdcall.}
vkCopyMicromapToMemoryEXT: proc (device: VkDevice;
                                 deferredOperation: VkDeferredOperationKHR;
                                 pInfo: ptr VkCopyMicromapToMemoryInfoEXT): VkResult {.
    stdcall.}
vkCreateAccelerationStructureKHR: proc (device: VkDevice; pCreateInfo: ptr VkAccelerationStructureCreateInfoKHR;
                                        pAllocator: ptr VkAllocationCallbacks;
    pAccelerationStructure: ptr VkAccelerationStructureKHR): VkResult {.stdcall.}
vkCreateAccelerationStructureNV: proc (device: VkDevice; pCreateInfo: ptr VkAccelerationStructureCreateInfoNV;
                                       pAllocator: ptr VkAllocationCallbacks;
    pAccelerationStructure: ptr VkAccelerationStructureNV): VkResult {.stdcall.}
vkCreateBuffer: proc (device: VkDevice; pCreateInfo: ptr VkBufferCreateInfo;
                      pAllocator: ptr VkAllocationCallbacks;
                      pBuffer: ptr VkBuffer): VkResult {.stdcall.}
vkCreateBufferView: proc (device: VkDevice;
                          pCreateInfo: ptr VkBufferViewCreateInfo;
                          pAllocator: ptr VkAllocationCallbacks;
                          pView: ptr VkBufferView): VkResult {.stdcall.}
vkCreateCommandPool: proc (device: VkDevice;
                           pCreateInfo: ptr VkCommandPoolCreateInfo;
                           pAllocator: ptr VkAllocationCallbacks;
                           pCommandPool: ptr VkCommandPool): VkResult {.stdcall.}
vkCreateComputePipelines: proc (device: VkDevice;
                                pipelineCache: VkPipelineCache;
                                createInfoCount: uint32;
                                pCreateInfos: ptr VkComputePipelineCreateInfo;
                                pAllocator: ptr VkAllocationCallbacks;
                                pPipelines: ptr VkPipeline): VkResult {.stdcall.}
vkCreateCuFunctionNVX: proc (device: VkDevice;
                             pCreateInfo: ptr VkCuFunctionCreateInfoNVX;
                             pAllocator: ptr VkAllocationCallbacks;
                             pFunction: ptr VkCuFunctionNVX): VkResult {.stdcall.}
vkCreateCuModuleNVX: proc (device: VkDevice;
                           pCreateInfo: ptr VkCuModuleCreateInfoNVX;
                           pAllocator: ptr VkAllocationCallbacks;
                           pModule: ptr VkCuModuleNVX): VkResult {.stdcall.}
vkCreateDebugReportCallbackEXT: proc (instance: VkInstance; pCreateInfo: ptr VkDebugReportCallbackCreateInfoEXT;
                                      pAllocator: ptr VkAllocationCallbacks;
                                      pCallback: ptr VkDebugReportCallbackEXT): VkResult {.
    stdcall.}
vkCreateDebugUtilsMessengerEXT: proc (instance: VkInstance; pCreateInfo: ptr VkDebugUtilsMessengerCreateInfoEXT;
                                      pAllocator: ptr VkAllocationCallbacks;
                                      pMessenger: ptr VkDebugUtilsMessengerEXT): VkResult {.
    stdcall.}
vkCreateDeferredOperationKHR: proc (device: VkDevice;
                                    pAllocator: ptr VkAllocationCallbacks;
    pDeferredOperation: ptr VkDeferredOperationKHR): VkResult {.stdcall.}
vkCreateDescriptorPool: proc (device: VkDevice;
                              pCreateInfo: ptr VkDescriptorPoolCreateInfo;
                              pAllocator: ptr VkAllocationCallbacks;
                              pDescriptorPool: ptr VkDescriptorPool): VkResult {.
    stdcall.}
vkCreateDescriptorSetLayout: proc (device: VkDevice; pCreateInfo: ptr VkDescriptorSetLayoutCreateInfo;
                                   pAllocator: ptr VkAllocationCallbacks;
                                   pSetLayout: ptr VkDescriptorSetLayout): VkResult {.
    stdcall.}
vkCreateDescriptorUpdateTemplate: proc (device: VkDevice; pCreateInfo: ptr VkDescriptorUpdateTemplateCreateInfo;
                                        pAllocator: ptr VkAllocationCallbacks;
    pDescriptorUpdateTemplate: ptr VkDescriptorUpdateTemplate): VkResult {.
    stdcall.}
vkCreateDevice: proc (physicalDevice: VkPhysicalDevice;
                      pCreateInfo: ptr VkDeviceCreateInfo;
                      pAllocator: ptr VkAllocationCallbacks;
                      pDevice: ptr VkDevice): VkResult {.stdcall.}
vkCreateDisplayModeKHR: proc (physicalDevice: VkPhysicalDevice;
                              display: VkDisplayKHR;
                              pCreateInfo: ptr VkDisplayModeCreateInfoKHR;
                              pAllocator: ptr VkAllocationCallbacks;
                              pMode: ptr VkDisplayModeKHR): VkResult {.stdcall.}
vkCreateDisplayPlaneSurfaceKHR: proc (instance: VkInstance; pCreateInfo: ptr VkDisplaySurfaceCreateInfoKHR;
                                      pAllocator: ptr VkAllocationCallbacks;
                                      pSurface: ptr VkSurfaceKHR): VkResult {.
    stdcall.}
vkCreateEvent: proc (device: VkDevice; pCreateInfo: ptr VkEventCreateInfo;
                     pAllocator: ptr VkAllocationCallbacks; pEvent: ptr VkEvent): VkResult {.
    stdcall.}
vkCreateFence: proc (device: VkDevice; pCreateInfo: ptr VkFenceCreateInfo;
                     pAllocator: ptr VkAllocationCallbacks; pFence: ptr VkFence): VkResult {.
    stdcall.}
vkCreateFramebuffer: proc (device: VkDevice;
                           pCreateInfo: ptr VkFramebufferCreateInfo;
                           pAllocator: ptr VkAllocationCallbacks;
                           pFramebuffer: ptr VkFramebuffer): VkResult {.stdcall.}
vkCreateGraphicsPipelines: proc (device: VkDevice;
                                 pipelineCache: VkPipelineCache;
                                 createInfoCount: uint32; pCreateInfos: ptr VkGraphicsPipelineCreateInfo;
                                 pAllocator: ptr VkAllocationCallbacks;
                                 pPipelines: ptr VkPipeline): VkResult {.stdcall.}
vkCreateHeadlessSurfaceEXT: proc (instance: VkInstance; pCreateInfo: ptr VkHeadlessSurfaceCreateInfoEXT;
                                  pAllocator: ptr VkAllocationCallbacks;
                                  pSurface: ptr VkSurfaceKHR): VkResult {.
    stdcall.}
vkCreateImage: proc (device: VkDevice; pCreateInfo: ptr VkImageCreateInfo;
                     pAllocator: ptr VkAllocationCallbacks; pImage: ptr VkImage): VkResult {.
    stdcall.}
vkCreateImageView: proc (device: VkDevice;
                         pCreateInfo: ptr VkImageViewCreateInfo;
                         pAllocator: ptr VkAllocationCallbacks;
                         pView: ptr VkImageView): VkResult {.stdcall.}
vkCreateIndirectCommandsLayoutNV: proc (device: VkDevice; pCreateInfo: ptr VkIndirectCommandsLayoutCreateInfoNV;
                                        pAllocator: ptr VkAllocationCallbacks;
    pIndirectCommandsLayout: ptr VkIndirectCommandsLayoutNV): VkResult {.stdcall.}
vkCreateInstance: proc (pCreateInfo: ptr VkInstanceCreateInfo;
                        pAllocator: ptr VkAllocationCallbacks;
                        pInstance: ptr VkInstance): VkResult {.stdcall.}
vkCreateMicromapEXT: proc (device: VkDevice;
                           pCreateInfo: ptr VkMicromapCreateInfoEXT;
                           pAllocator: ptr VkAllocationCallbacks;
                           pMicromap: ptr VkMicromapEXT): VkResult {.stdcall.}
vkCreateOpticalFlowSessionNV: proc (device: VkDevice; pCreateInfo: ptr VkOpticalFlowSessionCreateInfoNV;
                                    pAllocator: ptr VkAllocationCallbacks;
                                    pSession: ptr VkOpticalFlowSessionNV): VkResult {.
    stdcall.}
vkCreatePipelineCache: proc (device: VkDevice;
                             pCreateInfo: ptr VkPipelineCacheCreateInfo;
                             pAllocator: ptr VkAllocationCallbacks;
                             pPipelineCache: ptr VkPipelineCache): VkResult {.
    stdcall.}
vkCreatePipelineLayout: proc (device: VkDevice;
                              pCreateInfo: ptr VkPipelineLayoutCreateInfo;
                              pAllocator: ptr VkAllocationCallbacks;
                              pPipelineLayout: ptr VkPipelineLayout): VkResult {.
    stdcall.}
vkCreatePrivateDataSlot: proc (device: VkDevice;
                               pCreateInfo: ptr VkPrivateDataSlotCreateInfo;
                               pAllocator: ptr VkAllocationCallbacks;
                               pPrivateDataSlot: ptr VkPrivateDataSlot): VkResult {.
    stdcall.}
vkCreateQueryPool: proc (device: VkDevice;
                         pCreateInfo: ptr VkQueryPoolCreateInfo;
                         pAllocator: ptr VkAllocationCallbacks;
                         pQueryPool: ptr VkQueryPool): VkResult {.stdcall.}
vkCreateRayTracingPipelinesKHR: proc (device: VkDevice; deferredOperation: VkDeferredOperationKHR;
                                      pipelineCache: VkPipelineCache;
                                      createInfoCount: uint32; pCreateInfos: ptr VkRayTracingPipelineCreateInfoKHR;
                                      pAllocator: ptr VkAllocationCallbacks;
                                      pPipelines: ptr VkPipeline): VkResult {.
    stdcall.}
vkCreateRayTracingPipelinesNV: proc (device: VkDevice;
                                     pipelineCache: VkPipelineCache;
                                     createInfoCount: uint32; pCreateInfos: ptr VkRayTracingPipelineCreateInfoNV;
                                     pAllocator: ptr VkAllocationCallbacks;
                                     pPipelines: ptr VkPipeline): VkResult {.
    stdcall.}
vkCreateRenderPass: proc (device: VkDevice;
                          pCreateInfo: ptr VkRenderPassCreateInfo;
                          pAllocator: ptr VkAllocationCallbacks;
                          pRenderPass: ptr VkRenderPass): VkResult {.stdcall.}
vkCreateRenderPass2: proc (device: VkDevice;
                           pCreateInfo: ptr VkRenderPassCreateInfo2;
                           pAllocator: ptr VkAllocationCallbacks;
                           pRenderPass: ptr VkRenderPass): VkResult {.stdcall.}
vkCreateSampler: proc (device: VkDevice; pCreateInfo: ptr VkSamplerCreateInfo;
                       pAllocator: ptr VkAllocationCallbacks;
                       pSampler: ptr VkSampler): VkResult {.stdcall.}
vkCreateSamplerYcbcrConversion: proc (device: VkDevice; pCreateInfo: ptr VkSamplerYcbcrConversionCreateInfo;
                                      pAllocator: ptr VkAllocationCallbacks;
    pYcbcrConversion: ptr VkSamplerYcbcrConversion): VkResult {.stdcall.}
vkCreateSemaphore: proc (device: VkDevice;
                         pCreateInfo: ptr VkSemaphoreCreateInfo;
                         pAllocator: ptr VkAllocationCallbacks;
                         pSemaphore: ptr VkSemaphore): VkResult {.stdcall.}
vkCreateShaderModule: proc (device: VkDevice;
                            pCreateInfo: ptr VkShaderModuleCreateInfo;
                            pAllocator: ptr VkAllocationCallbacks;
                            pShaderModule: ptr VkShaderModule): VkResult {.
    stdcall.}
vkCreateSharedSwapchainsKHR: proc (device: VkDevice; swapchainCount: uint32;
                                   pCreateInfos: ptr VkSwapchainCreateInfoKHR;
                                   pAllocator: ptr VkAllocationCallbacks;
                                   pSwapchains: ptr VkSwapchainKHR): VkResult {.
    stdcall.}
vkCreateSwapchainKHR: proc (device: VkDevice;
                            pCreateInfo: ptr VkSwapchainCreateInfoKHR;
                            pAllocator: ptr VkAllocationCallbacks;
                            pSwapchain: ptr VkSwapchainKHR): VkResult {.stdcall.}
vkCreateValidationCacheEXT: proc (device: VkDevice; pCreateInfo: ptr VkValidationCacheCreateInfoEXT;
                                  pAllocator: ptr VkAllocationCallbacks;
                                  pValidationCache: ptr VkValidationCacheEXT): VkResult {.
    stdcall.}
vkDebugReportMessageEXT: proc (instance: VkInstance;
                               flags: VkDebugReportFlagsEXT;
                               objectType: VkDebugReportObjectTypeEXT;
                               theobject: uint64; location: csize_t;
                               messageCode: int32; pLayerPrefix: cstring;
                               pMessage: cstring): void {.stdcall.}
vkDeferredOperationJoinKHR: proc (device: VkDevice;
                                  operation: VkDeferredOperationKHR): VkResult {.
    stdcall.}
vkDestroyAccelerationStructureKHR: proc (device: VkDevice;
    accelerationStructure: VkAccelerationStructureKHR;
    pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkDestroyAccelerationStructureNV: proc (device: VkDevice; accelerationStructure: VkAccelerationStructureNV;
                                        pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyBuffer: proc (device: VkDevice; buffer: VkBuffer;
                       pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkDestroyBufferView: proc (device: VkDevice; bufferView: VkBufferView;
                           pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyCommandPool: proc (device: VkDevice; commandPool: VkCommandPool;
                            pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyCuFunctionNVX: proc (device: VkDevice; function: VkCuFunctionNVX;
                              pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyCuModuleNVX: proc (device: VkDevice; module: VkCuModuleNVX;
                            pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyDebugReportCallbackEXT: proc (instance: VkInstance;
                                       callback: VkDebugReportCallbackEXT;
                                       pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyDebugUtilsMessengerEXT: proc (instance: VkInstance;
                                       messenger: VkDebugUtilsMessengerEXT;
                                       pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyDeferredOperationKHR: proc (device: VkDevice;
                                     operation: VkDeferredOperationKHR;
                                     pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyDescriptorPool: proc (device: VkDevice;
                               descriptorPool: VkDescriptorPool;
                               pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyDescriptorSetLayout: proc (device: VkDevice;
                                    descriptorSetLayout: VkDescriptorSetLayout;
                                    pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyDescriptorUpdateTemplate: proc (device: VkDevice;
    descriptorUpdateTemplate: VkDescriptorUpdateTemplate;
    pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkDestroyDevice: proc (device: VkDevice; pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyEvent: proc (device: VkDevice; event: VkEvent;
                      pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkDestroyFence: proc (device: VkDevice; fence: VkFence;
                      pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkDestroyFramebuffer: proc (device: VkDevice; framebuffer: VkFramebuffer;
                            pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyImage: proc (device: VkDevice; image: VkImage;
                      pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkDestroyImageView: proc (device: VkDevice; imageView: VkImageView;
                          pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkDestroyIndirectCommandsLayoutNV: proc (device: VkDevice;
    indirectCommandsLayout: VkIndirectCommandsLayoutNV;
    pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkDestroyInstance: proc (instance: VkInstance;
                         pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkDestroyMicromapEXT: proc (device: VkDevice; micromap: VkMicromapEXT;
                            pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyOpticalFlowSessionNV: proc (device: VkDevice;
                                     session: VkOpticalFlowSessionNV;
                                     pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyPipeline: proc (device: VkDevice; pipeline: VkPipeline;
                         pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkDestroyPipelineCache: proc (device: VkDevice; pipelineCache: VkPipelineCache;
                              pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyPipelineLayout: proc (device: VkDevice;
                               pipelineLayout: VkPipelineLayout;
                               pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyPrivateDataSlot: proc (device: VkDevice;
                                privateDataSlot: VkPrivateDataSlot;
                                pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyQueryPool: proc (device: VkDevice; queryPool: VkQueryPool;
                          pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkDestroyRenderPass: proc (device: VkDevice; renderPass: VkRenderPass;
                           pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroySampler: proc (device: VkDevice; sampler: VkSampler;
                        pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkDestroySamplerYcbcrConversion: proc (device: VkDevice; ycbcrConversion: VkSamplerYcbcrConversion;
                                       pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroySemaphore: proc (device: VkDevice; semaphore: VkSemaphore;
                          pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkDestroyShaderModule: proc (device: VkDevice; shaderModule: VkShaderModule;
                             pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroySurfaceKHR: proc (instance: VkInstance; surface: VkSurfaceKHR;
                           pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroySwapchainKHR: proc (device: VkDevice; swapchain: VkSwapchainKHR;
                             pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDestroyValidationCacheEXT: proc (device: VkDevice;
                                   validationCache: VkValidationCacheEXT;
                                   pAllocator: ptr VkAllocationCallbacks): void {.
    stdcall.}
vkDeviceWaitIdle: proc (device: VkDevice): VkResult {.stdcall.}
vkDisplayPowerControlEXT: proc (device: VkDevice; display: VkDisplayKHR;
                                pDisplayPowerInfo: ptr VkDisplayPowerInfoEXT): VkResult {.
    stdcall.}
vkEndCommandBuffer: proc (commandBuffer: VkCommandBuffer): VkResult {.stdcall.}
vkEnumerateDeviceExtensionProperties: proc (physicalDevice: VkPhysicalDevice;
    pLayerName: cstring; pPropertyCount: ptr uint32;
    pProperties: ptr VkExtensionProperties): VkResult {.stdcall.}
vkEnumerateDeviceLayerProperties: proc (physicalDevice: VkPhysicalDevice;
                                        pPropertyCount: ptr uint32;
                                        pProperties: ptr VkLayerProperties): VkResult {.
    stdcall.}
vkEnumerateInstanceExtensionProperties: proc (pLayerName: cstring;
    pPropertyCount: ptr uint32; pProperties: ptr VkExtensionProperties): VkResult {.
    stdcall.}
vkEnumerateInstanceLayerProperties: proc (pPropertyCount: ptr uint32;
    pProperties: ptr VkLayerProperties): VkResult {.stdcall.}
vkEnumerateInstanceVersion: proc (pApiVersion: ptr uint32): VkResult {.stdcall.}
vkEnumeratePhysicalDeviceGroups: proc (instance: VkInstance;
                                       pPhysicalDeviceGroupCount: ptr uint32;
    pPhysicalDeviceGroupProperties: ptr VkPhysicalDeviceGroupProperties): VkResult {.
    stdcall.}
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR: proc (
    physicalDevice: VkPhysicalDevice; queueFamilyIndex: uint32;
    pCounterCount: ptr uint32; pCounters: ptr VkPerformanceCounterKHR;
    pCounterDescriptions: ptr VkPerformanceCounterDescriptionKHR): VkResult {.
    stdcall.}
vkEnumeratePhysicalDevices: proc (instance: VkInstance;
                                  pPhysicalDeviceCount: ptr uint32;
                                  pPhysicalDevices: ptr VkPhysicalDevice): VkResult {.
    stdcall.}
vkFlushMappedMemoryRanges: proc (device: VkDevice; memoryRangeCount: uint32;
                                 pMemoryRanges: ptr VkMappedMemoryRange): VkResult {.
    stdcall.}
vkFreeCommandBuffers: proc (device: VkDevice; commandPool: VkCommandPool;
                            commandBufferCount: uint32;
                            pCommandBuffers: ptr VkCommandBuffer): void {.
    stdcall.}
vkFreeDescriptorSets: proc (device: VkDevice; descriptorPool: VkDescriptorPool;
                            descriptorSetCount: uint32;
                            pDescriptorSets: ptr VkDescriptorSet): VkResult {.
    stdcall.}
vkFreeMemory: proc (device: VkDevice; memory: VkDeviceMemory;
                    pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}
vkGetAccelerationStructureBuildSizesKHR: proc (device: VkDevice;
    buildType: VkAccelerationStructureBuildTypeKHR;
    pBuildInfo: ptr VkAccelerationStructureBuildGeometryInfoKHR;
    pMaxPrimitiveCounts: ptr uint32;
    pSizeInfo: ptr VkAccelerationStructureBuildSizesInfoKHR): void {.stdcall.}
vkGetAccelerationStructureHandleNV: proc (device: VkDevice;
    accelerationStructure: VkAccelerationStructureNV; dataSize: csize_t;
    pData: pointer): VkResult {.stdcall.}
vkGetBufferMemoryRequirements: proc (device: VkDevice; buffer: VkBuffer;
    pMemoryRequirements: ptr VkMemoryRequirements): void {.stdcall.}
vkGetBufferMemoryRequirements2: proc (device: VkDevice; pInfo: ptr VkBufferMemoryRequirementsInfo2;
    pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.}
vkGetBufferOpaqueCaptureAddress: proc (device: VkDevice;
                                       pInfo: ptr VkBufferDeviceAddressInfo): uint64 {.
    stdcall.}
vkGetBufferOpaqueCaptureDescriptorDataEXT: proc (device: VkDevice;
    pInfo: ptr VkBufferCaptureDescriptorDataInfoEXT; pData: pointer): VkResult {.
    stdcall.}
vkGetCalibratedTimestampsEXT: proc (device: VkDevice; timestampCount: uint32;
    pTimestampInfos: ptr VkCalibratedTimestampInfoEXT; pTimestamps: ptr uint64;
                                    pMaxDeviation: ptr uint64): VkResult {.
    stdcall.}
vkGetDeferredOperationMaxConcurrencyKHR: proc (device: VkDevice;
    operation: VkDeferredOperationKHR): uint32 {.stdcall.}
vkGetDeferredOperationResultKHR: proc (device: VkDevice;
                                       operation: VkDeferredOperationKHR): VkResult {.
    stdcall.}
vkGetDescriptorEXT: proc (device: VkDevice;
                          pDescriptorInfo: ptr VkDescriptorGetInfoEXT;
                          dataSize: csize_t; pDescriptor: pointer): void {.
    stdcall.}
vkGetDescriptorSetHostMappingVALVE: proc (device: VkDevice;
    descriptorSet: VkDescriptorSet; ppData: ptr pointer): void {.stdcall.}
vkGetDescriptorSetLayoutBindingOffsetEXT: proc (device: VkDevice;
    layout: VkDescriptorSetLayout; binding: uint32; pOffset: ptr VkDeviceSize): void {.
    stdcall.}
vkGetDescriptorSetLayoutSizeEXT: proc (device: VkDevice;
                                       layout: VkDescriptorSetLayout;
                                       pLayoutSizeInBytes: ptr VkDeviceSize): void {.
    stdcall.}
vkGetDescriptorSetLayoutSupport: proc (device: VkDevice; pCreateInfo: ptr VkDescriptorSetLayoutCreateInfo;
    pSupport: ptr VkDescriptorSetLayoutSupport): void {.stdcall.}
vkGetDeviceBufferMemoryRequirements: proc (device: VkDevice;
    pInfo: ptr VkDeviceBufferMemoryRequirements;
    pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.}
vkGetDeviceFaultInfoEXT: proc (device: VkDevice;
                               pFaultCounts: ptr VkDeviceFaultCountsEXT;
                               pFaultInfo: ptr VkDeviceFaultInfoEXT): VkResult {.
    stdcall.}
vkGetDeviceGroupPeerMemoryFeatures: proc (device: VkDevice; heapIndex: uint32;
    localDeviceIndex: uint32; remoteDeviceIndex: uint32;
    pPeerMemoryFeatures: ptr VkPeerMemoryFeatureFlags): void {.stdcall.}
vkGetDeviceGroupPresentCapabilitiesKHR: proc (device: VkDevice;
    pDeviceGroupPresentCapabilities: ptr VkDeviceGroupPresentCapabilitiesKHR): VkResult {.
    stdcall.}
vkGetDeviceImageMemoryRequirements: proc (device: VkDevice;
    pInfo: ptr VkDeviceImageMemoryRequirements;
    pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.}
vkGetDeviceImageSparseMemoryRequirements: proc (device: VkDevice;
    pInfo: ptr VkDeviceImageMemoryRequirements;
    pSparseMemoryRequirementCount: ptr uint32;
    pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements2): void {.
    stdcall.}
vkGetDeviceMemoryCommitment: proc (device: VkDevice; memory: VkDeviceMemory;
                                   pCommittedMemoryInBytes: ptr VkDeviceSize): void {.
    stdcall.}
vkGetDeviceMicromapCompatibilityEXT: proc (device: VkDevice;
    pVersionInfo: ptr VkMicromapVersionInfoEXT;
    pCompatibility: ptr VkAccelerationStructureCompatibilityKHR): void {.stdcall.}
vkGetDeviceProcAddr: proc (device: VkDevice; pName: cstring): PFN_vkVoidFunction {.
    stdcall.}
vkGetDeviceQueue: proc (device: VkDevice; queueFamilyIndex: uint32;
                        queueIndex: uint32; pQueue: ptr VkQueue): void {.stdcall.}
vkGetDeviceQueue2: proc (device: VkDevice; pQueueInfo: ptr VkDeviceQueueInfo2;
                         pQueue: ptr VkQueue): void {.stdcall.}
vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI: proc (device: VkDevice;
    renderpass: VkRenderPass; pMaxWorkgroupSize: ptr VkExtent2D): VkResult {.
    stdcall.}
vkGetDisplayModeProperties2KHR: proc (physicalDevice: VkPhysicalDevice;
                                      display: VkDisplayKHR;
                                      pPropertyCount: ptr uint32; pProperties: ptr VkDisplayModeProperties2KHR): VkResult {.
    stdcall.}
vkGetDisplayModePropertiesKHR: proc (physicalDevice: VkPhysicalDevice;
                                     display: VkDisplayKHR;
                                     pPropertyCount: ptr uint32; pProperties: ptr VkDisplayModePropertiesKHR): VkResult {.
    stdcall.}
vkGetDisplayPlaneCapabilities2KHR: proc (physicalDevice: VkPhysicalDevice;
    pDisplayPlaneInfo: ptr VkDisplayPlaneInfo2KHR;
    pCapabilities: ptr VkDisplayPlaneCapabilities2KHR): VkResult {.stdcall.}
vkGetDisplayPlaneCapabilitiesKHR: proc (physicalDevice: VkPhysicalDevice;
                                        mode: VkDisplayModeKHR;
                                        planeIndex: uint32; pCapabilities: ptr VkDisplayPlaneCapabilitiesKHR): VkResult {.
    stdcall.}
vkGetDisplayPlaneSupportedDisplaysKHR: proc (physicalDevice: VkPhysicalDevice;
    planeIndex: uint32; pDisplayCount: ptr uint32; pDisplays: ptr VkDisplayKHR): VkResult {.
    stdcall.}
vkGetDrmDisplayEXT: proc (physicalDevice: VkPhysicalDevice; drmFd: int32;
                          connectorId: uint32; display: ptr VkDisplayKHR): VkResult {.
    stdcall.}
vkGetDynamicRenderingTilePropertiesQCOM: proc (device: VkDevice;
    pRenderingInfo: ptr VkRenderingInfo; pProperties: ptr VkTilePropertiesQCOM): VkResult {.
    stdcall.}
vkGetEventStatus: proc (device: VkDevice; event: VkEvent): VkResult {.stdcall.}
vkGetFenceFdKHR: proc (device: VkDevice; pGetFdInfo: ptr VkFenceGetFdInfoKHR;
                       pFd: ptr cint): VkResult {.stdcall.}
vkGetFenceStatus: proc (device: VkDevice; fence: VkFence): VkResult {.stdcall.}
vkGetFramebufferTilePropertiesQCOM: proc (device: VkDevice;
    framebuffer: VkFramebuffer; pPropertiesCount: ptr uint32;
    pProperties: ptr VkTilePropertiesQCOM): VkResult {.stdcall.}
vkGetGeneratedCommandsMemoryRequirementsNV: proc (device: VkDevice;
    pInfo: ptr VkGeneratedCommandsMemoryRequirementsInfoNV;
    pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.}
vkGetImageMemoryRequirements: proc (device: VkDevice; image: VkImage;
    pMemoryRequirements: ptr VkMemoryRequirements): void {.stdcall.}
vkGetImageMemoryRequirements2: proc (device: VkDevice;
                                     pInfo: ptr VkImageMemoryRequirementsInfo2;
    pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.}
vkGetImageOpaqueCaptureDescriptorDataEXT: proc (device: VkDevice;
    pInfo: ptr VkImageCaptureDescriptorDataInfoEXT; pData: pointer): VkResult {.
    stdcall.}
vkGetImageSparseMemoryRequirements: proc (device: VkDevice; image: VkImage;
    pSparseMemoryRequirementCount: ptr uint32;
    pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements): void {.
    stdcall.}
vkGetImageSparseMemoryRequirements2: proc (device: VkDevice;
    pInfo: ptr VkImageSparseMemoryRequirementsInfo2;
    pSparseMemoryRequirementCount: ptr uint32;
    pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements2): void {.
    stdcall.}
vkGetImageSubresourceLayout: proc (device: VkDevice; image: VkImage;
                                   pSubresource: ptr VkImageSubresource;
                                   pLayout: ptr VkSubresourceLayout): void {.
    stdcall.}
vkGetImageSubresourceLayout2EXT: proc (device: VkDevice; image: VkImage;
    pSubresource: ptr VkImageSubresource2EXT;
                                       pLayout: ptr VkSubresourceLayout2EXT): void {.
    stdcall.}
vkGetImageViewAddressNVX: proc (device: VkDevice; imageView: VkImageView;
    pProperties: ptr VkImageViewAddressPropertiesNVX): VkResult {.stdcall.}
vkGetImageViewHandleNVX: proc (device: VkDevice;
                               pInfo: ptr VkImageViewHandleInfoNVX): uint32 {.
    stdcall.}
vkGetMemoryFdKHR: proc (device: VkDevice; pGetFdInfo: ptr VkMemoryGetFdInfoKHR;
                        pFd: ptr cint): VkResult {.stdcall.}
vkGetMemoryFdPropertiesKHR: proc (device: VkDevice; handleType: VkExternalMemoryHandleTypeFlagBits;
                                  fd: cint; pMemoryFdProperties: ptr VkMemoryFdPropertiesKHR): VkResult {.
    stdcall.}
vkGetMemoryHostPointerPropertiesEXT: proc (device: VkDevice;
    handleType: VkExternalMemoryHandleTypeFlagBits; pHostPointer: pointer;
    pMemoryHostPointerProperties: ptr VkMemoryHostPointerPropertiesEXT): VkResult {.
    stdcall.}
vkGetMemoryRemoteAddressNV: proc (device: VkDevice; pMemoryGetRemoteAddressInfo: ptr VkMemoryGetRemoteAddressInfoNV;
                                  pAddress: ptr VkRemoteAddressNV): VkResult {.
    stdcall.}
vkGetMicromapBuildSizesEXT: proc (device: VkDevice; buildType: VkAccelerationStructureBuildTypeKHR;
                                  pBuildInfo: ptr VkMicromapBuildInfoEXT;
                                  pSizeInfo: ptr VkMicromapBuildSizesInfoEXT): void {.
    stdcall.}
vkGetPastPresentationTimingGOOGLE: proc (device: VkDevice;
    swapchain: VkSwapchainKHR; pPresentationTimingCount: ptr uint32;
    pPresentationTimings: ptr VkPastPresentationTimingGOOGLE): VkResult {.
    stdcall.}
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT: proc (
    physicalDevice: VkPhysicalDevice; pTimeDomainCount: ptr uint32;
    pTimeDomains: ptr VkTimeDomainEXT): VkResult {.stdcall.}
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV: proc (
    physicalDevice: VkPhysicalDevice; pPropertyCount: ptr uint32;
    pProperties: ptr VkCooperativeMatrixPropertiesNV): VkResult {.stdcall.}
vkGetPhysicalDeviceDisplayPlaneProperties2KHR: proc (
    physicalDevice: VkPhysicalDevice; pPropertyCount: ptr uint32;
    pProperties: ptr VkDisplayPlaneProperties2KHR): VkResult {.stdcall.}
vkGetPhysicalDeviceDisplayPlanePropertiesKHR: proc (
    physicalDevice: VkPhysicalDevice; pPropertyCount: ptr uint32;
    pProperties: ptr VkDisplayPlanePropertiesKHR): VkResult {.stdcall.}
vkGetPhysicalDeviceDisplayProperties2KHR: proc (
    physicalDevice: VkPhysicalDevice; pPropertyCount: ptr uint32;
    pProperties: ptr VkDisplayProperties2KHR): VkResult {.stdcall.}
vkGetPhysicalDeviceDisplayPropertiesKHR: proc (physicalDevice: VkPhysicalDevice;
    pPropertyCount: ptr uint32; pProperties: ptr VkDisplayPropertiesKHR): VkResult {.
    stdcall.}
vkGetPhysicalDeviceExternalBufferProperties: proc (
    physicalDevice: VkPhysicalDevice;
    pExternalBufferInfo: ptr VkPhysicalDeviceExternalBufferInfo;
    pExternalBufferProperties: ptr VkExternalBufferProperties): void {.stdcall.}
vkGetPhysicalDeviceExternalFenceProperties: proc (
    physicalDevice: VkPhysicalDevice;
    pExternalFenceInfo: ptr VkPhysicalDeviceExternalFenceInfo;
    pExternalFenceProperties: ptr VkExternalFenceProperties): void {.stdcall.}
vkGetPhysicalDeviceExternalImageFormatPropertiesNV: proc (
    physicalDevice: VkPhysicalDevice; format: VkFormat; thetype: VkImageType;
    tiling: VkImageTiling; usage: VkImageUsageFlags; flags: VkImageCreateFlags;
    externalHandleType: VkExternalMemoryHandleTypeFlagsNV;
    pExternalImageFormatProperties: ptr VkExternalImageFormatPropertiesNV): VkResult {.
    stdcall.}
vkGetPhysicalDeviceExternalSemaphoreProperties: proc (
    physicalDevice: VkPhysicalDevice;
    pExternalSemaphoreInfo: ptr VkPhysicalDeviceExternalSemaphoreInfo;
    pExternalSemaphoreProperties: ptr VkExternalSemaphoreProperties): void {.
    stdcall.}
vkGetPhysicalDeviceFeatures: proc (physicalDevice: VkPhysicalDevice;
                                   pFeatures: ptr VkPhysicalDeviceFeatures): void {.
    stdcall.}
vkGetPhysicalDeviceFeatures2: proc (physicalDevice: VkPhysicalDevice;
                                    pFeatures: ptr VkPhysicalDeviceFeatures2): void {.
    stdcall.}
vkGetPhysicalDeviceFormatProperties: proc (physicalDevice: VkPhysicalDevice;
    format: VkFormat; pFormatProperties: ptr VkFormatProperties): void {.stdcall.}
vkGetPhysicalDeviceFormatProperties2: proc (physicalDevice: VkPhysicalDevice;
    format: VkFormat; pFormatProperties: ptr VkFormatProperties2): void {.
    stdcall.}
vkGetPhysicalDeviceFragmentShadingRatesKHR: proc (
    physicalDevice: VkPhysicalDevice; pFragmentShadingRateCount: ptr uint32;
    pFragmentShadingRates: ptr VkPhysicalDeviceFragmentShadingRateKHR): VkResult {.
    stdcall.}
vkGetPhysicalDeviceImageFormatProperties: proc (
    physicalDevice: VkPhysicalDevice; format: VkFormat; thetype: VkImageType;
    tiling: VkImageTiling; usage: VkImageUsageFlags; flags: VkImageCreateFlags;
    pImageFormatProperties: ptr VkImageFormatProperties): VkResult {.stdcall.}
vkGetPhysicalDeviceImageFormatProperties2: proc (
    physicalDevice: VkPhysicalDevice;
    pImageFormatInfo: ptr VkPhysicalDeviceImageFormatInfo2;
    pImageFormatProperties: ptr VkImageFormatProperties2): VkResult {.stdcall.}
vkGetPhysicalDeviceMemoryProperties: proc (physicalDevice: VkPhysicalDevice;
    pMemoryProperties: ptr VkPhysicalDeviceMemoryProperties): void {.stdcall.}
vkGetPhysicalDeviceMemoryProperties2: proc (physicalDevice: VkPhysicalDevice;
    pMemoryProperties: ptr VkPhysicalDeviceMemoryProperties2): void {.stdcall.}
vkGetPhysicalDeviceMultisamplePropertiesEXT: proc (
    physicalDevice: VkPhysicalDevice; samples: VkSampleCountFlagBits;
    pMultisampleProperties: ptr VkMultisamplePropertiesEXT): void {.stdcall.}
vkGetPhysicalDeviceOpticalFlowImageFormatsNV: proc (
    physicalDevice: VkPhysicalDevice;
    pOpticalFlowImageFormatInfo: ptr VkOpticalFlowImageFormatInfoNV;
    pFormatCount: ptr uint32;
    pImageFormatProperties: ptr VkOpticalFlowImageFormatPropertiesNV): VkResult {.
    stdcall.}
vkGetPhysicalDevicePresentRectanglesKHR: proc (physicalDevice: VkPhysicalDevice;
    surface: VkSurfaceKHR; pRectCount: ptr uint32; pRects: ptr VkRect2D): VkResult {.
    stdcall.}
vkGetPhysicalDeviceProperties: proc (physicalDevice: VkPhysicalDevice;
    pProperties: ptr VkPhysicalDeviceProperties): void {.stdcall.}
vkGetPhysicalDeviceProperties2: proc (physicalDevice: VkPhysicalDevice;
    pProperties: ptr VkPhysicalDeviceProperties2): void {.stdcall.}
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR: proc (
    physicalDevice: VkPhysicalDevice;
    pPerformanceQueryCreateInfo: ptr VkQueryPoolPerformanceCreateInfoKHR;
    pNumPasses: ptr uint32): void {.stdcall.}
vkGetPhysicalDeviceQueueFamilyProperties: proc (
    physicalDevice: VkPhysicalDevice; pQueueFamilyPropertyCount: ptr uint32;
    pQueueFamilyProperties: ptr VkQueueFamilyProperties): void {.stdcall.}
vkGetPhysicalDeviceQueueFamilyProperties2: proc (
    physicalDevice: VkPhysicalDevice; pQueueFamilyPropertyCount: ptr uint32;
    pQueueFamilyProperties: ptr VkQueueFamilyProperties2): void {.stdcall.}
vkGetPhysicalDeviceSparseImageFormatProperties: proc (
    physicalDevice: VkPhysicalDevice; format: VkFormat; thetype: VkImageType;
    samples: VkSampleCountFlagBits; usage: VkImageUsageFlags;
    tiling: VkImageTiling; pPropertyCount: ptr uint32;
    pProperties: ptr VkSparseImageFormatProperties): void {.stdcall.}
vkGetPhysicalDeviceSparseImageFormatProperties2: proc (
    physicalDevice: VkPhysicalDevice;
    pFormatInfo: ptr VkPhysicalDeviceSparseImageFormatInfo2;
    pPropertyCount: ptr uint32; pProperties: ptr VkSparseImageFormatProperties2): void {.
    stdcall.}
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV: proc (
    physicalDevice: VkPhysicalDevice; pCombinationCount: ptr uint32;
    pCombinations: ptr VkFramebufferMixedSamplesCombinationNV): VkResult {.
    stdcall.}
vkGetPhysicalDeviceSurfaceCapabilities2EXT: proc (
    physicalDevice: VkPhysicalDevice; surface: VkSurfaceKHR;
    pSurfaceCapabilities: ptr VkSurfaceCapabilities2EXT): VkResult {.stdcall.}
vkGetPhysicalDeviceSurfaceCapabilities2KHR: proc (
    physicalDevice: VkPhysicalDevice;
    pSurfaceInfo: ptr VkPhysicalDeviceSurfaceInfo2KHR;
    pSurfaceCapabilities: ptr VkSurfaceCapabilities2KHR): VkResult {.stdcall.}
vkGetPhysicalDeviceSurfaceCapabilitiesKHR: proc (
    physicalDevice: VkPhysicalDevice; surface: VkSurfaceKHR;
    pSurfaceCapabilities: ptr VkSurfaceCapabilitiesKHR): VkResult {.stdcall.}
vkGetPhysicalDeviceSurfaceFormats2KHR: proc (physicalDevice: VkPhysicalDevice;
    pSurfaceInfo: ptr VkPhysicalDeviceSurfaceInfo2KHR;
    pSurfaceFormatCount: ptr uint32; pSurfaceFormats: ptr VkSurfaceFormat2KHR): VkResult {.
    stdcall.}
vkGetPhysicalDeviceSurfaceFormatsKHR: proc (physicalDevice: VkPhysicalDevice;
    surface: VkSurfaceKHR; pSurfaceFormatCount: ptr uint32;
    pSurfaceFormats: ptr VkSurfaceFormatKHR): VkResult {.stdcall.}
vkGetPhysicalDeviceSurfacePresentModesKHR: proc (
    physicalDevice: VkPhysicalDevice; surface: VkSurfaceKHR;
    pPresentModeCount: ptr uint32; pPresentModes: ptr VkPresentModeKHR): VkResult {.
    stdcall.}
vkGetPhysicalDeviceSurfaceSupportKHR: proc (physicalDevice: VkPhysicalDevice;
    queueFamilyIndex: uint32; surface: VkSurfaceKHR; pSupported: ptr VkBool32): VkResult {.
    stdcall.}
vkGetPhysicalDeviceToolProperties: proc (physicalDevice: VkPhysicalDevice;
    pToolCount: ptr uint32; pToolProperties: ptr VkPhysicalDeviceToolProperties): VkResult {.
    stdcall.}
vkGetPipelineCacheData: proc (device: VkDevice; pipelineCache: VkPipelineCache;
                              pDataSize: ptr csize_t; pData: pointer): VkResult {.
    stdcall.}
vkGetPipelineExecutableInternalRepresentationsKHR: proc (device: VkDevice;
    pExecutableInfo: ptr VkPipelineExecutableInfoKHR;
    pInternalRepresentationCount: ptr uint32;
    pInternalRepresentations: ptr VkPipelineExecutableInternalRepresentationKHR): VkResult {.
    stdcall.}
vkGetPipelineExecutablePropertiesKHR: proc (device: VkDevice;
    pPipelineInfo: ptr VkPipelineInfoKHR; pExecutableCount: ptr uint32;
    pProperties: ptr VkPipelineExecutablePropertiesKHR): VkResult {.stdcall.}
vkGetPipelineExecutableStatisticsKHR: proc (device: VkDevice;
    pExecutableInfo: ptr VkPipelineExecutableInfoKHR;
    pStatisticCount: ptr uint32;
    pStatistics: ptr VkPipelineExecutableStatisticKHR): VkResult {.stdcall.}
vkGetPipelinePropertiesEXT: proc (device: VkDevice;
                                  pPipelineInfo: ptr VkPipelineInfoEXT;
                                  pPipelineProperties: ptr VkBaseOutStructure): VkResult {.
    stdcall.}
vkGetPrivateData: proc (device: VkDevice; objectType: VkObjectType;
                        objectHandle: uint64;
                        privateDataSlot: VkPrivateDataSlot; pData: ptr uint64): void {.
    stdcall.}
vkGetQueryPoolResults: proc (device: VkDevice; queryPool: VkQueryPool;
                             firstQuery: uint32; queryCount: uint32;
                             dataSize: csize_t; pData: pointer;
                             stride: VkDeviceSize; flags: VkQueryResultFlags): VkResult {.
    stdcall.}
vkGetQueueCheckpointDataNV: proc (queue: VkQueue;
                                  pCheckpointDataCount: ptr uint32;
                                  pCheckpointData: ptr VkCheckpointDataNV): void {.
    stdcall.}
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR: proc (device: VkDevice;
    pipeline: VkPipeline; firstGroup: uint32; groupCount: uint32;
    dataSize: csize_t; pData: pointer): VkResult {.stdcall.}
vkGetRayTracingShaderGroupHandlesKHR: proc (device: VkDevice;
    pipeline: VkPipeline; firstGroup: uint32; groupCount: uint32;
    dataSize: csize_t; pData: pointer): VkResult {.stdcall.}
vkGetRayTracingShaderGroupHandlesNV: proc (device: VkDevice;
    pipeline: VkPipeline; firstGroup: uint32; groupCount: uint32;
    dataSize: csize_t; pData: pointer): VkResult {.stdcall.}
vkGetRayTracingShaderGroupStackSizeKHR: proc (device: VkDevice;
    pipeline: VkPipeline; group: uint32; groupShader: VkShaderGroupShaderKHR): VkDeviceSize {.
    stdcall.}
vkGetRefreshCycleDurationGOOGLE: proc (device: VkDevice;
                                       swapchain: VkSwapchainKHR;
    pDisplayTimingProperties: ptr VkRefreshCycleDurationGOOGLE): VkResult {.
    stdcall.}
vkGetRenderAreaGranularity: proc (device: VkDevice; renderPass: VkRenderPass;
                                  pGranularity: ptr VkExtent2D): void {.stdcall.}
vkGetSemaphoreCounterValue: proc (device: VkDevice; semaphore: VkSemaphore;
                                  pValue: ptr uint64): VkResult {.stdcall.}
vkGetSemaphoreFdKHR: proc (device: VkDevice;
                           pGetFdInfo: ptr VkSemaphoreGetFdInfoKHR;
                           pFd: ptr cint): VkResult {.stdcall.}
vkGetShaderInfoAMD: proc (device: VkDevice; pipeline: VkPipeline;
                          shaderStage: VkShaderStageFlagBits;
                          infoType: VkShaderInfoTypeAMD; pInfoSize: ptr csize_t;
                          pInfo: pointer): VkResult {.stdcall.}
vkGetShaderModuleCreateInfoIdentifierEXT: proc (device: VkDevice;
    pCreateInfo: ptr VkShaderModuleCreateInfo;
    pIdentifier: ptr VkShaderModuleIdentifierEXT): void {.stdcall.}
vkGetShaderModuleIdentifierEXT: proc (device: VkDevice;
                                      shaderModule: VkShaderModule; pIdentifier: ptr VkShaderModuleIdentifierEXT): void {.
    stdcall.}
vkGetSwapchainCounterEXT: proc (device: VkDevice; swapchain: VkSwapchainKHR;
                                counter: VkSurfaceCounterFlagBitsEXT;
                                pCounterValue: ptr uint64): VkResult {.stdcall.}
vkGetSwapchainImagesKHR: proc (device: VkDevice; swapchain: VkSwapchainKHR;
                               pSwapchainImageCount: ptr uint32;
                               pSwapchainImages: ptr VkImage): VkResult {.
    stdcall.}
vkGetSwapchainStatusKHR: proc (device: VkDevice; swapchain: VkSwapchainKHR): VkResult {.
    stdcall.}
vkGetValidationCacheDataEXT: proc (device: VkDevice;
                                   validationCache: VkValidationCacheEXT;
                                   pDataSize: ptr csize_t; pData: pointer): VkResult {.
    stdcall.}
vkImportFenceFdKHR: proc (device: VkDevice;
                          pImportFenceFdInfo: ptr VkImportFenceFdInfoKHR): VkResult {.
    stdcall.}
vkImportSemaphoreFdKHR: proc (device: VkDevice; pImportSemaphoreFdInfo: ptr VkImportSemaphoreFdInfoKHR): VkResult {.
    stdcall.}
vkInitializePerformanceApiINTEL: proc (device: VkDevice; pInitializeInfo: ptr VkInitializePerformanceApiInfoINTEL): VkResult {.
    stdcall.}
vkInvalidateMappedMemoryRanges: proc (device: VkDevice;
                                      memoryRangeCount: uint32;
                                      pMemoryRanges: ptr VkMappedMemoryRange): VkResult {.
    stdcall.}
vkMapMemory: proc (device: VkDevice; memory: VkDeviceMemory;
                   offset: VkDeviceSize; size: VkDeviceSize;
                   flags: VkMemoryMapFlags; ppData: ptr pointer): VkResult {.
    stdcall.}
vkMergePipelineCaches: proc (device: VkDevice; dstCache: VkPipelineCache;
                             srcCacheCount: uint32;
                             pSrcCaches: ptr VkPipelineCache): VkResult {.
    stdcall.}
vkMergeValidationCachesEXT: proc (device: VkDevice;
                                  dstCache: VkValidationCacheEXT;
                                  srcCacheCount: uint32;
                                  pSrcCaches: ptr VkValidationCacheEXT): VkResult {.
    stdcall.}
vkQueueBeginDebugUtilsLabelEXT: proc (queue: VkQueue;
                                      pLabelInfo: ptr VkDebugUtilsLabelEXT): void {.
    stdcall.}
vkQueueBindSparse: proc (queue: VkQueue; bindInfoCount: uint32;
                         pBindInfo: ptr VkBindSparseInfo; fence: VkFence): VkResult {.
    stdcall.}
vkQueueEndDebugUtilsLabelEXT: proc (queue: VkQueue): void {.stdcall.}
vkQueueInsertDebugUtilsLabelEXT: proc (queue: VkQueue;
                                       pLabelInfo: ptr VkDebugUtilsLabelEXT): void {.
    stdcall.}
vkQueuePresentKHR: proc (queue: VkQueue; pPresentInfo: ptr VkPresentInfoKHR): VkResult {.
    stdcall.}
vkQueueSubmit: proc (queue: VkQueue; submitCount: uint32;
                     pSubmits: ptr VkSubmitInfo; fence: VkFence): VkResult {.
    stdcall.}
vkQueueSubmit2: proc (queue: VkQueue; submitCount: uint32;
                      pSubmits: ptr VkSubmitInfo2; fence: VkFence): VkResult {.
    stdcall.}
vkQueueWaitIdle: proc (queue: VkQueue): VkResult {.stdcall.}
vkRegisterDeviceEventEXT: proc (device: VkDevice;
                                pDeviceEventInfo: ptr VkDeviceEventInfoEXT;
                                pAllocator: ptr VkAllocationCallbacks;
                                pFence: ptr VkFence): VkResult {.stdcall.}
vkRegisterDisplayEventEXT: proc (device: VkDevice; display: VkDisplayKHR;
                                 pDisplayEventInfo: ptr VkDisplayEventInfoEXT;
                                 pAllocator: ptr VkAllocationCallbacks;
                                 pFence: ptr VkFence): VkResult {.stdcall.}
vkReleaseDisplayEXT: proc (physicalDevice: VkPhysicalDevice;
                           display: VkDisplayKHR): VkResult {.stdcall.}
vkReleaseProfilingLockKHR: proc (device: VkDevice): void {.stdcall.}
vkReleaseSwapchainImagesEXT: proc (device: VkDevice; pReleaseInfo: ptr VkReleaseSwapchainImagesInfoEXT): VkResult {.
    stdcall.}
vkResetCommandBuffer: proc (commandBuffer: VkCommandBuffer;
                            flags: VkCommandBufferResetFlags): VkResult {.
    stdcall.}
vkResetCommandPool: proc (device: VkDevice; commandPool: VkCommandPool;
                          flags: VkCommandPoolResetFlags): VkResult {.stdcall.}
vkResetDescriptorPool: proc (device: VkDevice; descriptorPool: VkDescriptorPool;
                             flags: VkDescriptorPoolResetFlags): VkResult {.
    stdcall.}
vkResetEvent: proc (device: VkDevice; event: VkEvent): VkResult {.stdcall.}
vkResetFences: proc (device: VkDevice; fenceCount: uint32; pFences: ptr VkFence): VkResult {.
    stdcall.}
vkResetQueryPool: proc (device: VkDevice; queryPool: VkQueryPool;
                        firstQuery: uint32; queryCount: uint32): void {.stdcall.}
vkSetDebugUtilsObjectNameEXT: proc (device: VkDevice; pNameInfo: ptr VkDebugUtilsObjectNameInfoEXT): VkResult {.
    stdcall.}
vkSetDebugUtilsObjectTagEXT: proc (device: VkDevice;
                                   pTagInfo: ptr VkDebugUtilsObjectTagInfoEXT): VkResult {.
    stdcall.}
vkSetDeviceMemoryPriorityEXT: proc (device: VkDevice; memory: VkDeviceMemory;
                                    priority: float32): void {.stdcall.}
vkSetEvent: proc (device: VkDevice; event: VkEvent): VkResult {.stdcall.}
vkSetHdrMetadataEXT: proc (device: VkDevice; swapchainCount: uint32;
                           pSwapchains: ptr VkSwapchainKHR;
                           pMetadata: ptr VkHdrMetadataEXT): void {.stdcall.}
vkSetLocalDimmingAMD: proc (device: VkDevice; swapChain: VkSwapchainKHR;
                            localDimmingEnable: VkBool32): void {.stdcall.}
vkSetPrivateData: proc (device: VkDevice; objectType: VkObjectType;
                        objectHandle: uint64;
                        privateDataSlot: VkPrivateDataSlot; data: uint64): VkResult {.
    stdcall.}
vkSignalSemaphore: proc (device: VkDevice;
                         pSignalInfo: ptr VkSemaphoreSignalInfo): VkResult {.
    stdcall.}
vkSubmitDebugUtilsMessageEXT: proc (instance: VkInstance; messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT;
    messageTypes: VkDebugUtilsMessageTypeFlagsEXT; pCallbackData: ptr VkDebugUtilsMessengerCallbackDataEXT): void {.
    stdcall.}
vkTrimCommandPool: proc (device: VkDevice; commandPool: VkCommandPool;
                         flags: VkCommandPoolTrimFlags): void {.stdcall.}
vkUninitializePerformanceApiINTEL: proc (device: VkDevice): void {.stdcall.}
vkUnmapMemory: proc (device: VkDevice; memory: VkDeviceMemory): void {.stdcall.}
vkUpdateDescriptorSets: proc (device: VkDevice; descriptorWriteCount: uint32;
                              pDescriptorWrites: ptr VkWriteDescriptorSet;
                              descriptorCopyCount: uint32;
                              pDescriptorCopies: ptr VkCopyDescriptorSet): void {.
    stdcall.}
vkUpdateDescriptorSetWithTemplate: proc (device: VkDevice;
    descriptorSet: VkDescriptorSet;
    descriptorUpdateTemplate: VkDescriptorUpdateTemplate; pData: pointer): void {.
    stdcall.}
vkWaitForFences: proc (device: VkDevice; fenceCount: uint32;
                       pFences: ptr VkFence; waitAll: VkBool32; timeout: uint64): VkResult {.
    stdcall.}
vkWaitForPresentKHR: proc (device: VkDevice; swapchain: VkSwapchainKHR;
                           presentId: uint64; timeout: uint64): VkResult {.
    stdcall.}
vkWaitSemaphores: proc (device: VkDevice; pWaitInfo: ptr VkSemaphoreWaitInfo;
                        timeout: uint64): VkResult {.stdcall.}
vkWriteAccelerationStructuresPropertiesKHR: proc (device: VkDevice;
    accelerationStructureCount: uint32;
    pAccelerationStructures: ptr VkAccelerationStructureKHR;
    queryType: VkQueryType; dataSize: csize_t; pData: pointer; stride: csize_t): VkResult {.
    stdcall.}
vkWriteMicromapsPropertiesEXT: proc (device: VkDevice; micromapCount: uint32;
                                     pMicromaps: ptr VkMicromapEXT;
                                     queryType: VkQueryType; dataSize: csize_t;
                                     pData: pointer; stride: csize_t): VkResult {.
    stdcall.}

Lets

vulkanLib = loadLib("libvulkan.so.1", false)

Consts

VK_ATTACHMENT_UNUSED: uint32 = 4294967295'u32
VK_FALSE: uint32 = 0
VK_LOD_CLAMP_NONE: float32 = 1000.0'f32
VK_LUID_SIZE: uint32 = 8
VK_MAX_DESCRIPTION_SIZE: uint32 = 256
VK_MAX_DRIVER_INFO_SIZE: uint32 = 256
VK_MAX_DRIVER_NAME_SIZE: uint32 = 256
VK_MAX_MEMORY_HEAPS: uint32 = 16
VK_MAX_MEMORY_TYPES: uint32 = 32
VK_QUEUE_FAMILY_EXTERNAL: uint32 = 4294967294'u32
VK_QUEUE_FAMILY_EXTERNAL_KHR = 4294967294'u32
VK_QUEUE_FAMILY_FOREIGN_EXT: uint32 = 4294967293'u32
VK_QUEUE_FAMILY_IGNORED: uint32 = 4294967295'u32
VK_REMAINING_3D_SLICES_EXT: uint32 = 4294967295'u32
VK_REMAINING_ARRAY_LAYERS: uint32 = 4294967295'u32
VK_REMAINING_MIP_LEVELS: uint32 = 4294967295'u32
VK_SHADER_STAGE_ALL = 0x7FFFFFFF
VK_SHADER_UNUSED_KHR: uint32 = 4294967295'u32
VK_SHADER_UNUSED_NV = 4294967295'u32
VK_SUBPASS_EXTERNAL: uint32 = 4294967295'u32
VK_TRUE: uint32 = 1
VK_UUID_SIZE: uint32 = 16
VK_WHOLE_SIZE: uint64 = 18446744073709551615'u64

Procs

proc `$`(bitset: VkAccelerationStructureCreateFlagsKHR): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkAccessFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkAccessFlags2): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkAttachmentDescriptionFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkBufferCreateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkBufferUsageFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkBuildAccelerationStructureFlagsKHR): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkBuildMicromapFlagsEXT): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkColorComponentFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkCommandBufferResetFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkCommandBufferUsageFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkCommandPoolCreateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkCommandPoolResetFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkCompositeAlphaFlagsKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkConditionalRenderingFlagsEXT): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkCullModeFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkDebugReportFlagsEXT): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkDebugUtilsMessageSeverityFlagsEXT): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkDebugUtilsMessageTypeFlagsEXT): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkDependencyFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkDescriptorBindingFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkDescriptorPoolCreateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkDescriptorSetLayoutCreateFlags): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkDeviceAddressBindingFlagsEXT): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkDeviceDiagnosticsConfigFlagsNV): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkDeviceGroupPresentModeFlagsKHR): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkDeviceQueueCreateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkDisplayPlaneAlphaFlagsKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkEventCreateFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkExportMetalObjectTypeFlagsEXT): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkExternalFenceFeatureFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkExternalFenceHandleTypeFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkExternalMemoryFeatureFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkExternalMemoryFeatureFlagsNV): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkExternalMemoryHandleTypeFlags): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkExternalMemoryHandleTypeFlagsNV): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkExternalSemaphoreFeatureFlags): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkExternalSemaphoreHandleTypeFlags): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkFenceCreateFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkFenceImportFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkFormatFeatureFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkFormatFeatureFlags2): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkFramebufferCreateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkGeometryFlagsKHR): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkGeometryInstanceFlagsKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkGraphicsPipelineLibraryFlagsEXT): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkImageAspectFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkImageCompressionFixedRateFlagsEXT): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkImageCompressionFlagsEXT): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkImageConstraintsInfoFlagsFUCHSIA): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkImageCreateFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkImageUsageFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkImageViewCreateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkIndirectCommandsLayoutUsageFlagsNV): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkIndirectStateFlagsNV): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkInstanceCreateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkMemoryAllocateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkMemoryDecompressionMethodFlagsNV): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkMemoryHeapFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkMemoryPropertyFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkMicromapCreateFlagsEXT): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkOpticalFlowExecuteFlagsNV): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkOpticalFlowGridSizeFlagsNV): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkOpticalFlowSessionCreateFlagsNV): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkOpticalFlowUsageFlagsNV): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkPeerMemoryFeatureFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkPerformanceCounterDescriptionFlagsKHR): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkPipelineCacheCreateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkPipelineColorBlendStateCreateFlags): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkPipelineCreateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkPipelineCreationFeedbackFlags): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkPipelineDepthStencilStateCreateFlags): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkPipelineLayoutCreateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkPipelineShaderStageCreateFlags): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkPipelineStageFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkPipelineStageFlags2): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkPresentGravityFlagsEXT): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkPresentScalingFlagsEXT): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkPrivateDataSlotCreateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkQueryControlFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkQueryPipelineStatisticFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkQueryResultFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkQueueFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkRenderingFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkRenderPassCreateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkResolveModeFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkSampleCountFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkSamplerCreateFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkSemaphoreImportFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkSemaphoreWaitFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkShaderStageFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkSparseImageFormatFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkSparseMemoryBindFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkStencilFaceFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkSubgroupFeatureFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkSubmitFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkSubpassDescriptionFlags): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkSurfaceCounterFlagsEXT): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkSurfaceTransformFlagsKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkSwapchainCreateFlagsKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkSwapchainImageUsageFlagsANDROID): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkToolPurposeFlags): string {....raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkVideoCapabilityFlagsKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkVideoChromaSubsamplingFlagsKHR): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkVideoCodecOperationFlagsKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkVideoCodingControlFlagsKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkVideoComponentBitDepthFlagsKHR): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkVideoDecodeCapabilityFlagsKHR): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkVideoDecodeH264PictureLayoutFlagsKHR): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkVideoDecodeUsageFlagsKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkVideoEncodeCapabilityFlagsKHR): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkVideoEncodeContentFlagsKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkVideoEncodeH264CapabilityFlagsEXT): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkVideoEncodeH264InputModeFlagsEXT): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkVideoEncodeH264OutputModeFlagsEXT): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkVideoEncodeH265CapabilityFlagsEXT): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkVideoEncodeH265CtbSizeFlagsEXT): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkVideoEncodeH265InputModeFlagsEXT): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkVideoEncodeH265OutputModeFlagsEXT): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkVideoEncodeH265TransformBlockSizeFlagsEXT): string {.
    ...raises: [], tags: [], forbids: [].}
proc `$`(bitset: VkVideoEncodeRateControlModeFlagsKHR): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(bitset: VkVideoEncodeUsageFlagsKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(bitset: VkVideoSessionCreateFlagsKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkAccelerationStructureKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkAccelerationStructureNV): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkBuffer): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkBufferCollectionFUCHSIA): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkBufferView): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkCommandBuffer): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkCommandPool): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkCuFunctionNVX): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkCuModuleNVX): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkDebugReportCallbackEXT): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkDebugUtilsMessengerEXT): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkDeferredOperationKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkDescriptorPool): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkDescriptorSet): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkDescriptorSetLayout): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkDescriptorUpdateTemplate): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkDevice): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkDeviceMemory): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkDisplayKHR): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkDisplayModeKHR): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkEvent): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkFence): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkFramebuffer): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkImage): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkImageView): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkIndirectCommandsLayoutNV): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkInstance): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkMicromapEXT): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkOpticalFlowSessionNV): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkPerformanceConfigurationINTEL): string {....raises: [],
    tags: [], forbids: [].}
proc `$`(handle: VkPhysicalDevice): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkPipeline): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkPipelineCache): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkPipelineLayout): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkPrivateDataSlot): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkQueryPool): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkQueue): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkRenderPass): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkSampler): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkSamplerYcbcrConversion): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkSemaphore): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkSemaphoreSciSyncPoolNV): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkShaderModule): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkSurfaceKHR): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkSwapchainKHR): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkValidationCacheEXT): string {....raises: [], tags: [],
    forbids: [].}
proc `$`(handle: VkVideoSessionKHR): string {....raises: [], tags: [], forbids: [].}
proc `$`(handle: VkVideoSessionParametersKHR): string {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkAccelerationStructureCreateFlagsKHR): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkAccelerationStructureKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkAccelerationStructureNV): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkAccessFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkAccessFlags2): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkAttachmentDescriptionFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkBuffer): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkBufferCollectionFUCHSIA): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkBufferCreateFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkBufferUsageFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkBufferView): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkBuildAccelerationStructureFlagsKHR): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkBuildMicromapFlagsEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkColorComponentFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkCommandBuffer): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkCommandBufferResetFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkCommandBufferUsageFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkCommandPool): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkCommandPoolCreateFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkCommandPoolResetFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkCompositeAlphaFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkConditionalRenderingFlagsEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkCuFunctionNVX): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkCullModeFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkCuModuleNVX): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkDebugReportCallbackEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkDebugReportFlagsEXT): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkDebugUtilsMessageSeverityFlagsEXT): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkDebugUtilsMessageTypeFlagsEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkDebugUtilsMessengerEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkDeferredOperationKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkDependencyFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkDescriptorBindingFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkDescriptorPool): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkDescriptorPoolCreateFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkDescriptorSet): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkDescriptorSetLayout): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkDescriptorSetLayoutCreateFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkDescriptorUpdateTemplate): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkDevice): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkDeviceAddressBindingFlagsEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkDeviceDiagnosticsConfigFlagsNV): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkDeviceGroupPresentModeFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkDeviceMemory): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkDeviceQueueCreateFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkDisplayKHR): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkDisplayModeKHR): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkDisplayPlaneAlphaFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkEvent): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkEventCreateFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkExportMetalObjectTypeFlagsEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkExternalFenceFeatureFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkExternalFenceHandleTypeFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkExternalMemoryFeatureFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkExternalMemoryFeatureFlagsNV): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkExternalMemoryHandleTypeFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkExternalMemoryHandleTypeFlagsNV): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkExternalSemaphoreFeatureFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkExternalSemaphoreHandleTypeFlags): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkFence): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkFenceCreateFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkFenceImportFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkFormatFeatureFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkFormatFeatureFlags2): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkFramebuffer): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkFramebufferCreateFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkGeometryFlagsKHR): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkGeometryInstanceFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkGraphicsPipelineLibraryFlagsEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkImage): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkImageAspectFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkImageCompressionFixedRateFlagsEXT): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkImageCompressionFlagsEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkImageConstraintsInfoFlagsFUCHSIA): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkImageCreateFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkImageUsageFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkImageView): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkImageViewCreateFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkIndirectCommandsLayoutNV): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkIndirectCommandsLayoutUsageFlagsNV): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkIndirectStateFlagsNV): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkInstance): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkInstanceCreateFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkMemoryAllocateFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkMemoryDecompressionMethodFlagsNV): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkMemoryHeapFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkMemoryPropertyFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkMicromapCreateFlagsEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkMicromapEXT): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkOpticalFlowExecuteFlagsNV): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkOpticalFlowGridSizeFlagsNV): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkOpticalFlowSessionCreateFlagsNV): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkOpticalFlowSessionNV): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkOpticalFlowUsageFlagsNV): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkPeerMemoryFeatureFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkPerformanceConfigurationINTEL): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkPerformanceCounterDescriptionFlagsKHR): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkPhysicalDevice): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkPipeline): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkPipelineCache): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkPipelineCacheCreateFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkPipelineColorBlendStateCreateFlags): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkPipelineCreateFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkPipelineCreationFeedbackFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkPipelineDepthStencilStateCreateFlags): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkPipelineLayout): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkPipelineLayoutCreateFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkPipelineShaderStageCreateFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkPipelineStageFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkPipelineStageFlags2): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkPresentGravityFlagsEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkPresentScalingFlagsEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkPrivateDataSlot): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkPrivateDataSlotCreateFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkQueryControlFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkQueryPipelineStatisticFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkQueryPool): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkQueryResultFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkQueue): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkQueueFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkRenderingFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkRenderPass): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkRenderPassCreateFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkResolveModeFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkSampleCountFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkSampler): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkSamplerCreateFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkSamplerYcbcrConversion): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkSemaphore): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkSemaphoreImportFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkSemaphoreSciSyncPoolNV): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkSemaphoreWaitFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkShaderModule): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkShaderStageFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkSparseImageFormatFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkSparseMemoryBindFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkStencilFaceFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkSubgroupFeatureFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkSubmitFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkSubpassDescriptionFlags): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkSurfaceCounterFlagsEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkSurfaceKHR): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkSurfaceTransformFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkSwapchainCreateFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkSwapchainImageUsageFlagsANDROID): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkSwapchainKHR): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkToolPurposeFlags): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkValidationCacheEXT): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkVideoCapabilityFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkVideoChromaSubsamplingFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkVideoCodecOperationFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkVideoCodingControlFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkVideoComponentBitDepthFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkVideoDecodeCapabilityFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkVideoDecodeH264PictureLayoutFlagsKHR): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkVideoDecodeUsageFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkVideoEncodeCapabilityFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkVideoEncodeContentFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkVideoEncodeH264CapabilityFlagsEXT): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkVideoEncodeH264InputModeFlagsEXT): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkVideoEncodeH264OutputModeFlagsEXT): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkVideoEncodeH265CapabilityFlagsEXT): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkVideoEncodeH265CtbSizeFlagsEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkVideoEncodeH265InputModeFlagsEXT): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkVideoEncodeH265OutputModeFlagsEXT): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkVideoEncodeH265TransformBlockSizeFlagsEXT): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkVideoEncodeRateControlModeFlagsKHR): bool {....raises: [],
    tags: [], forbids: [].}
proc `==`(a, b: VkVideoEncodeUsageFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkVideoSessionCreateFlagsKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc `==`(a, b: VkVideoSessionKHR): bool {....raises: [], tags: [], forbids: [].}
proc `==`(a, b: VkVideoSessionParametersKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc loadExtension(instance: VkInstance; extension: string) {.
    ...raises: [Exception, KeyError], tags: [RootEffect], forbids: [].}
proc loadVK_AMD_buffer_marker(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_AMD_device_coherent_memory(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_AMD_display_native_hdr(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_AMD_gcn_shader(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_AMD_gpu_shader_half_float(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_AMD_gpu_shader_int16(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_AMD_memory_overallocation_behavior(instance: VkInstance) {.
    ...raises: [], tags: [], forbids: [].}
proc loadVK_AMD_mixed_attachment_samples(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_AMD_negative_viewport_height(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_AMD_pipeline_compiler_control(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_AMD_rasterization_order(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_AMD_shader_ballot(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_AMD_shader_core_properties(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_AMD_shader_core_properties2(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_AMD_shader_early_and_late_fragment_tests(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_AMD_shader_explicit_vertex_parameter(instance: VkInstance) {.
    ...raises: [], tags: [], forbids: [].}
proc loadVK_AMD_shader_fragment_mask(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_AMD_shader_image_load_store_lod(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_AMD_shader_info(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_AMD_shader_trinary_minmax(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_AMD_texture_gather_bias_lod(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_ARM_shader_core_builtins(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_ARM_shader_core_properties(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_acquire_drm_display(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_astc_decode_mode(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_attachment_feedback_loop_layout(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_blend_operation_advanced(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_border_color_swizzle(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_buffer_device_address(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_calibrated_timestamps(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_color_write_enable(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_conditional_rendering(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_conservative_rasterization(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_custom_border_color(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_debug_report(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_debug_utils(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_depth_clamp_zero_one(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_depth_clip_control(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_depth_clip_enable(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_depth_range_unrestricted(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_EXT_descriptor_buffer(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_device_address_binding_report(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_device_fault(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_device_memory_report(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_direct_mode_display(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_discard_rectangles(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_display_control(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_display_surface_counter(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_extended_dynamic_state3(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_external_memory_dma_buf(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_external_memory_host(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_filter_cubic(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_EXT_fragment_density_map(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_fragment_density_map2(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_fragment_shader_interlock(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_graphics_pipeline_library(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_hdr_metadata(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_headless_surface(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_image_2d_view_of_3d(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_image_compression_control(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_image_compression_control_swapchain(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_image_drm_format_modifier(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_image_sliced_view_of_3d(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_image_view_min_lod(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_index_type_uint8(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_legacy_dithering(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_line_rasterization(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_load_store_op_none(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_EXT_memory_budget(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_memory_priority(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_mesh_shader(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_multi_draw(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_multisampled_render_to_single_sampled(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_mutable_descriptor_type(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_non_seamless_cube_map(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_opacity_micromap(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_pageable_device_local_memory(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_pci_bus_info(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_physical_device_drm(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_pipeline_library_group_handles(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_pipeline_properties(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_pipeline_protected_access(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_pipeline_robustness(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_post_depth_coverage(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_EXT_primitive_topology_list_restart(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_primitives_generated_query(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_provoking_vertex(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_queue_family_foreign(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_rasterization_order_attachment_access(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_rgba10x6_formats(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_robustness2(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_sample_locations(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_shader_atomic_float(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_shader_atomic_float2(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_shader_image_atomic_int64(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_shader_module_identifier(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_shader_stencil_export(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_EXT_shader_subgroup_ballot(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_EXT_shader_subgroup_vote(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_EXT_subpass_merge_feedback(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_surface_maintenance1(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_swapchain_colorspace(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_swapchain_maintenance1(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_transform_feedback(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_validation_cache(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_EXT_validation_features(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_EXT_validation_flags(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_EXT_vertex_attribute_divisor(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_vertex_input_dynamic_state(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_EXT_ycbcr_image_arrays(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_GOOGLE_decorate_string(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_GOOGLE_display_timing(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_GOOGLE_hlsl_functionality1(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_GOOGLE_surfaceless_query(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_GOOGLE_user_type(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_HUAWEI_cluster_culling_shader(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_HUAWEI_invocation_mask(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_HUAWEI_subpass_shading(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_IMG_filter_cubic(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_IMG_format_pvrtc(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_INTEL_performance_query(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_INTEL_shader_integer_functions2(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_acceleration_structure(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_deferred_host_operations(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_display(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_display_swapchain(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_external_fence_fd(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_external_memory_fd(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_external_semaphore_fd(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_fragment_shader_barycentric(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_fragment_shading_rate(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_get_display_properties2(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_get_surface_capabilities2(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_global_priority(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_incremental_present(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_performance_query(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_pipeline_executable_properties(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_pipeline_library(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_KHR_portability_enumeration(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_KHR_present_id(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_present_wait(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_push_descriptor(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_ray_query(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_ray_tracing_maintenance1(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_ray_tracing_pipeline(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_shader_clock(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_shader_subgroup_uniform_control_flow(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_shared_presentable_image(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_surface(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_surface_protected_capabilities(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_swapchain(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_KHR_swapchain_mutable_format(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_KHR_workgroup_memory_explicit_layout(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_LUNARG_direct_driver_loading(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_NV_clip_space_w_scaling(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_compute_shader_derivatives(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_cooperative_matrix(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_copy_memory_indirect(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_corner_sampled_image(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_coverage_reduction_mode(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_dedicated_allocation(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_NV_dedicated_allocation_image_aliasing(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_device_diagnostic_checkpoints(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_device_diagnostics_config(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_device_generated_commands(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_external_memory(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_external_memory_capabilities(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_external_memory_rdma(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_fill_rectangle(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_NV_fragment_coverage_to_color(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_NV_fragment_shading_rate_enums(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_framebuffer_mixed_samples(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_NV_geometry_shader_passthrough(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_NV_glsl_shader(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_NV_inherited_viewport_scissor(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_linear_color_attachment(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_memory_decompression(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_mesh_shader(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_optical_flow(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_present_barrier(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_ray_tracing(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_ray_tracing_invocation_reorder(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_ray_tracing_motion_blur(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_representative_fragment_test(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_sample_mask_override_coverage(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_NV_scissor_exclusive(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_shader_image_footprint(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_shader_sm_builtins(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_shader_subgroup_partitioned(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_NV_shading_rate_image(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NV_viewport_array2(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_NV_viewport_swizzle(instance: VkInstance) {....raises: [], tags: [],
    forbids: [].}
proc loadVK_NVX_binary_import(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NVX_image_view_handle(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_NVX_multiview_per_view_attributes(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_QCOM_fragment_density_map_offset(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_QCOM_image_processing(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_QCOM_multiview_per_view_render_areas(instance: VkInstance) {.
    ...raises: [], tags: [], forbids: [].}
proc loadVK_QCOM_multiview_per_view_viewports(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_QCOM_render_pass_shader_resolve(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_QCOM_render_pass_store_ops(instance: VkInstance) {....raises: [],
    tags: [], forbids: [].}
proc loadVK_QCOM_render_pass_transform(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_QCOM_rotated_copy_commands(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_QCOM_tile_properties(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_SEC_amigo_profiling(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_VALVE_descriptor_set_host_mapping(instance: VkInstance) {.
    ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc loadVK_VERSION_1_0(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_VERSION_1_1(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_VERSION_1_2(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVK_VERSION_1_3(instance: VkInstance) {....raises: [Exception],
    tags: [RootEffect], forbids: [].}
proc loadVulkan(instance: VkInstance) {....raises: [Exception], tags: [RootEffect],
                                        forbids: [].}
proc Reset(handle: var VkAccelerationStructureKHR) {....raises: [], tags: [],
    forbids: [].}
proc Reset(handle: var VkAccelerationStructureNV) {....raises: [], tags: [],
    forbids: [].}
proc Reset(handle: var VkBuffer) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkBufferCollectionFUCHSIA) {....raises: [], tags: [],
    forbids: [].}
proc Reset(handle: var VkBufferView) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkCommandBuffer) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkCommandPool) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkCuFunctionNVX) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkCuModuleNVX) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkDebugReportCallbackEXT) {....raises: [], tags: [],
    forbids: [].}
proc Reset(handle: var VkDebugUtilsMessengerEXT) {....raises: [], tags: [],
    forbids: [].}
proc Reset(handle: var VkDeferredOperationKHR) {....raises: [], tags: [],
    forbids: [].}
proc Reset(handle: var VkDescriptorPool) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkDescriptorSet) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkDescriptorSetLayout) {....raises: [], tags: [],
    forbids: [].}
proc Reset(handle: var VkDescriptorUpdateTemplate) {....raises: [], tags: [],
    forbids: [].}
proc Reset(handle: var VkDevice) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkDeviceMemory) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkDisplayKHR) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkDisplayModeKHR) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkEvent) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkFence) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkFramebuffer) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkImage) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkImageView) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkIndirectCommandsLayoutNV) {....raises: [], tags: [],
    forbids: [].}
proc Reset(handle: var VkInstance) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkMicromapEXT) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkOpticalFlowSessionNV) {....raises: [], tags: [],
    forbids: [].}
proc Reset(handle: var VkPerformanceConfigurationINTEL) {....raises: [], tags: [],
    forbids: [].}
proc Reset(handle: var VkPhysicalDevice) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkPipeline) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkPipelineCache) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkPipelineLayout) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkPrivateDataSlot) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkQueryPool) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkQueue) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkRenderPass) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkSampler) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkSamplerYcbcrConversion) {....raises: [], tags: [],
    forbids: [].}
proc Reset(handle: var VkSemaphore) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkSemaphoreSciSyncPoolNV) {....raises: [], tags: [],
    forbids: [].}
proc Reset(handle: var VkShaderModule) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkSurfaceKHR) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkSwapchainKHR) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkValidationCacheEXT) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkVideoSessionKHR) {....raises: [], tags: [], forbids: [].}
proc Reset(handle: var VkVideoSessionParametersKHR) {....raises: [], tags: [],
    forbids: [].}
func toBits(flags: openArray[VkAccelerationStructureCreateFlagBitsKHR]): VkAccelerationStructureCreateFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkAccessFlagBits2]): VkAccessFlags2 {....raises: [],
    tags: [], forbids: [].}
func toBits(flags: openArray[VkAccessFlagBits]): VkAccessFlags {....raises: [],
    tags: [], forbids: [].}
func toBits(flags: openArray[VkAttachmentDescriptionFlagBits]): VkAttachmentDescriptionFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkBufferCreateFlagBits]): VkBufferCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkBufferUsageFlagBits]): VkBufferUsageFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkBuildAccelerationStructureFlagBitsKHR]): VkBuildAccelerationStructureFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkBuildMicromapFlagBitsEXT]): VkBuildMicromapFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkColorComponentFlagBits]): VkColorComponentFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkCommandBufferResetFlagBits]): VkCommandBufferResetFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkCommandBufferUsageFlagBits]): VkCommandBufferUsageFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkCommandPoolCreateFlagBits]): VkCommandPoolCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkCommandPoolResetFlagBits]): VkCommandPoolResetFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkCompositeAlphaFlagBitsKHR]): VkCompositeAlphaFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkConditionalRenderingFlagBitsEXT]): VkConditionalRenderingFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkCullModeFlagBits]): VkCullModeFlags {....raises: [],
    tags: [], forbids: [].}
func toBits(flags: openArray[VkDebugReportFlagBitsEXT]): VkDebugReportFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkDebugUtilsMessageSeverityFlagBitsEXT]): VkDebugUtilsMessageSeverityFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkDebugUtilsMessageTypeFlagBitsEXT]): VkDebugUtilsMessageTypeFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkDependencyFlagBits]): VkDependencyFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkDescriptorBindingFlagBits]): VkDescriptorBindingFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkDescriptorPoolCreateFlagBits]): VkDescriptorPoolCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkDescriptorSetLayoutCreateFlagBits]): VkDescriptorSetLayoutCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkDeviceAddressBindingFlagBitsEXT]): VkDeviceAddressBindingFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkDeviceDiagnosticsConfigFlagBitsNV]): VkDeviceDiagnosticsConfigFlagsNV {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkDeviceGroupPresentModeFlagBitsKHR]): VkDeviceGroupPresentModeFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkDeviceQueueCreateFlagBits]): VkDeviceQueueCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkDisplayPlaneAlphaFlagBitsKHR]): VkDisplayPlaneAlphaFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkEventCreateFlagBits]): VkEventCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkExportMetalObjectTypeFlagBitsEXT]): VkExportMetalObjectTypeFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkExternalFenceFeatureFlagBits]): VkExternalFenceFeatureFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkExternalFenceHandleTypeFlagBits]): VkExternalFenceHandleTypeFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkExternalMemoryFeatureFlagBits]): VkExternalMemoryFeatureFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkExternalMemoryFeatureFlagBitsNV]): VkExternalMemoryFeatureFlagsNV {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkExternalMemoryHandleTypeFlagBits]): VkExternalMemoryHandleTypeFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkExternalMemoryHandleTypeFlagBitsNV]): VkExternalMemoryHandleTypeFlagsNV {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkExternalSemaphoreFeatureFlagBits]): VkExternalSemaphoreFeatureFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkExternalSemaphoreHandleTypeFlagBits]): VkExternalSemaphoreHandleTypeFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkFenceCreateFlagBits]): VkFenceCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkFenceImportFlagBits]): VkFenceImportFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkFormatFeatureFlagBits2]): VkFormatFeatureFlags2 {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkFormatFeatureFlagBits]): VkFormatFeatureFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkFramebufferCreateFlagBits]): VkFramebufferCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkGeometryFlagBitsKHR]): VkGeometryFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkGeometryInstanceFlagBitsKHR]): VkGeometryInstanceFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkGraphicsPipelineLibraryFlagBitsEXT]): VkGraphicsPipelineLibraryFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkImageAspectFlagBits]): VkImageAspectFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkImageCompressionFixedRateFlagBitsEXT]): VkImageCompressionFixedRateFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkImageCompressionFlagBitsEXT]): VkImageCompressionFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkImageConstraintsInfoFlagBitsFUCHSIA]): VkImageConstraintsInfoFlagsFUCHSIA {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkImageCreateFlagBits]): VkImageCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkImageUsageFlagBits]): VkImageUsageFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkImageViewCreateFlagBits]): VkImageViewCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkIndirectCommandsLayoutUsageFlagBitsNV]): VkIndirectCommandsLayoutUsageFlagsNV {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkIndirectStateFlagBitsNV]): VkIndirectStateFlagsNV {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkInstanceCreateFlagBits]): VkInstanceCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkMemoryAllocateFlagBits]): VkMemoryAllocateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkMemoryDecompressionMethodFlagBitsNV]): VkMemoryDecompressionMethodFlagsNV {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkMemoryHeapFlagBits]): VkMemoryHeapFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkMemoryPropertyFlagBits]): VkMemoryPropertyFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkMicromapCreateFlagBitsEXT]): VkMicromapCreateFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkOpticalFlowExecuteFlagBitsNV]): VkOpticalFlowExecuteFlagsNV {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkOpticalFlowGridSizeFlagBitsNV]): VkOpticalFlowGridSizeFlagsNV {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkOpticalFlowSessionCreateFlagBitsNV]): VkOpticalFlowSessionCreateFlagsNV {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkOpticalFlowUsageFlagBitsNV]): VkOpticalFlowUsageFlagsNV {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPeerMemoryFeatureFlagBits]): VkPeerMemoryFeatureFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPerformanceCounterDescriptionFlagBitsKHR]): VkPerformanceCounterDescriptionFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPipelineCacheCreateFlagBits]): VkPipelineCacheCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPipelineColorBlendStateCreateFlagBits]): VkPipelineColorBlendStateCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPipelineCreateFlagBits]): VkPipelineCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPipelineCreationFeedbackFlagBits]): VkPipelineCreationFeedbackFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPipelineDepthStencilStateCreateFlagBits]): VkPipelineDepthStencilStateCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPipelineLayoutCreateFlagBits]): VkPipelineLayoutCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPipelineShaderStageCreateFlagBits]): VkPipelineShaderStageCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPipelineStageFlagBits2]): VkPipelineStageFlags2 {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPipelineStageFlagBits]): VkPipelineStageFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPresentGravityFlagBitsEXT]): VkPresentGravityFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPresentScalingFlagBitsEXT]): VkPresentScalingFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkPrivateDataSlotCreateFlagBits]): VkPrivateDataSlotCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkQueryControlFlagBits]): VkQueryControlFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkQueryPipelineStatisticFlagBits]): VkQueryPipelineStatisticFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkQueryResultFlagBits]): VkQueryResultFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkQueueFlagBits]): VkQueueFlags {....raises: [],
    tags: [], forbids: [].}
func toBits(flags: openArray[VkRenderingFlagBits]): VkRenderingFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkRenderPassCreateFlagBits]): VkRenderPassCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkResolveModeFlagBits]): VkResolveModeFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkSampleCountFlagBits]): VkSampleCountFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkSamplerCreateFlagBits]): VkSamplerCreateFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkSemaphoreImportFlagBits]): VkSemaphoreImportFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkSemaphoreWaitFlagBits]): VkSemaphoreWaitFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkShaderStageFlagBits]): VkShaderStageFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkSparseImageFormatFlagBits]): VkSparseImageFormatFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkSparseMemoryBindFlagBits]): VkSparseMemoryBindFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkStencilFaceFlagBits]): VkStencilFaceFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkSubgroupFeatureFlagBits]): VkSubgroupFeatureFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkSubmitFlagBits]): VkSubmitFlags {....raises: [],
    tags: [], forbids: [].}
func toBits(flags: openArray[VkSubpassDescriptionFlagBits]): VkSubpassDescriptionFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkSurfaceCounterFlagBitsEXT]): VkSurfaceCounterFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkSurfaceTransformFlagBitsKHR]): VkSurfaceTransformFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkSwapchainCreateFlagBitsKHR]): VkSwapchainCreateFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkSwapchainImageUsageFlagBitsANDROID]): VkSwapchainImageUsageFlagsANDROID {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkToolPurposeFlagBits]): VkToolPurposeFlags {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoCapabilityFlagBitsKHR]): VkVideoCapabilityFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoChromaSubsamplingFlagBitsKHR]): VkVideoChromaSubsamplingFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoCodecOperationFlagBitsKHR]): VkVideoCodecOperationFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoCodingControlFlagBitsKHR]): VkVideoCodingControlFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoComponentBitDepthFlagBitsKHR]): VkVideoComponentBitDepthFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoDecodeCapabilityFlagBitsKHR]): VkVideoDecodeCapabilityFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoDecodeH264PictureLayoutFlagBitsKHR]): VkVideoDecodeH264PictureLayoutFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoDecodeUsageFlagBitsKHR]): VkVideoDecodeUsageFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoEncodeCapabilityFlagBitsKHR]): VkVideoEncodeCapabilityFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoEncodeContentFlagBitsKHR]): VkVideoEncodeContentFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoEncodeH264CapabilityFlagBitsEXT]): VkVideoEncodeH264CapabilityFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoEncodeH264InputModeFlagBitsEXT]): VkVideoEncodeH264InputModeFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoEncodeH264OutputModeFlagBitsEXT]): VkVideoEncodeH264OutputModeFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoEncodeH265CapabilityFlagBitsEXT]): VkVideoEncodeH265CapabilityFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoEncodeH265CtbSizeFlagBitsEXT]): VkVideoEncodeH265CtbSizeFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoEncodeH265InputModeFlagBitsEXT]): VkVideoEncodeH265InputModeFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoEncodeH265OutputModeFlagBitsEXT]): VkVideoEncodeH265OutputModeFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoEncodeH265TransformBlockSizeFlagBitsEXT]): VkVideoEncodeH265TransformBlockSizeFlagsEXT {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoEncodeRateControlModeFlagBitsKHR]): VkVideoEncodeRateControlModeFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoEncodeUsageFlagBitsKHR]): VkVideoEncodeUsageFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toBits(flags: openArray[VkVideoSessionCreateFlagBitsKHR]): VkVideoSessionCreateFlagsKHR {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkAccelerationStructureCreateFlagsKHR): seq[
    VkAccelerationStructureCreateFlagBitsKHR] {....raises: [], tags: [],
    forbids: [].}
func toEnums(number: VkAccessFlags): seq[VkAccessFlagBits] {....raises: [],
    tags: [], forbids: [].}
func toEnums(number: VkAccessFlags2): seq[VkAccessFlagBits2] {....raises: [],
    tags: [], forbids: [].}
func toEnums(number: VkAttachmentDescriptionFlags): seq[
    VkAttachmentDescriptionFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkBufferCreateFlags): seq[VkBufferCreateFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkBufferUsageFlags): seq[VkBufferUsageFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkBuildAccelerationStructureFlagsKHR): seq[
    VkBuildAccelerationStructureFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkBuildMicromapFlagsEXT): seq[VkBuildMicromapFlagBitsEXT] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkColorComponentFlags): seq[VkColorComponentFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkCommandBufferResetFlags): seq[
    VkCommandBufferResetFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkCommandBufferUsageFlags): seq[
    VkCommandBufferUsageFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkCommandPoolCreateFlags): seq[VkCommandPoolCreateFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkCommandPoolResetFlags): seq[VkCommandPoolResetFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkCompositeAlphaFlagsKHR): seq[VkCompositeAlphaFlagBitsKHR] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkConditionalRenderingFlagsEXT): seq[
    VkConditionalRenderingFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkCullModeFlags): seq[VkCullModeFlagBits] {....raises: [],
    tags: [], forbids: [].}
func toEnums(number: VkDebugReportFlagsEXT): seq[VkDebugReportFlagBitsEXT] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkDebugUtilsMessageSeverityFlagsEXT): seq[
    VkDebugUtilsMessageSeverityFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkDebugUtilsMessageTypeFlagsEXT): seq[
    VkDebugUtilsMessageTypeFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkDependencyFlags): seq[VkDependencyFlagBits] {....raises: [],
    tags: [], forbids: [].}
func toEnums(number: VkDescriptorBindingFlags): seq[VkDescriptorBindingFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkDescriptorPoolCreateFlags): seq[
    VkDescriptorPoolCreateFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkDescriptorSetLayoutCreateFlags): seq[
    VkDescriptorSetLayoutCreateFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkDeviceAddressBindingFlagsEXT): seq[
    VkDeviceAddressBindingFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkDeviceDiagnosticsConfigFlagsNV): seq[
    VkDeviceDiagnosticsConfigFlagBitsNV] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkDeviceGroupPresentModeFlagsKHR): seq[
    VkDeviceGroupPresentModeFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkDeviceQueueCreateFlags): seq[VkDeviceQueueCreateFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkDisplayPlaneAlphaFlagsKHR): seq[
    VkDisplayPlaneAlphaFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkEventCreateFlags): seq[VkEventCreateFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkExportMetalObjectTypeFlagsEXT): seq[
    VkExportMetalObjectTypeFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkExternalFenceFeatureFlags): seq[
    VkExternalFenceFeatureFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkExternalFenceHandleTypeFlags): seq[
    VkExternalFenceHandleTypeFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkExternalMemoryFeatureFlags): seq[
    VkExternalMemoryFeatureFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkExternalMemoryFeatureFlagsNV): seq[
    VkExternalMemoryFeatureFlagBitsNV] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkExternalMemoryHandleTypeFlags): seq[
    VkExternalMemoryHandleTypeFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkExternalMemoryHandleTypeFlagsNV): seq[
    VkExternalMemoryHandleTypeFlagBitsNV] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkExternalSemaphoreFeatureFlags): seq[
    VkExternalSemaphoreFeatureFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkExternalSemaphoreHandleTypeFlags): seq[
    VkExternalSemaphoreHandleTypeFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkFenceCreateFlags): seq[VkFenceCreateFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkFenceImportFlags): seq[VkFenceImportFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkFormatFeatureFlags): seq[VkFormatFeatureFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkFormatFeatureFlags2): seq[VkFormatFeatureFlagBits2] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkFramebufferCreateFlags): seq[VkFramebufferCreateFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkGeometryFlagsKHR): seq[VkGeometryFlagBitsKHR] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkGeometryInstanceFlagsKHR): seq[
    VkGeometryInstanceFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkGraphicsPipelineLibraryFlagsEXT): seq[
    VkGraphicsPipelineLibraryFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkImageAspectFlags): seq[VkImageAspectFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkImageCompressionFixedRateFlagsEXT): seq[
    VkImageCompressionFixedRateFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkImageCompressionFlagsEXT): seq[
    VkImageCompressionFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkImageConstraintsInfoFlagsFUCHSIA): seq[
    VkImageConstraintsInfoFlagBitsFUCHSIA] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkImageCreateFlags): seq[VkImageCreateFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkImageUsageFlags): seq[VkImageUsageFlagBits] {....raises: [],
    tags: [], forbids: [].}
func toEnums(number: VkImageViewCreateFlags): seq[VkImageViewCreateFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkIndirectCommandsLayoutUsageFlagsNV): seq[
    VkIndirectCommandsLayoutUsageFlagBitsNV] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkIndirectStateFlagsNV): seq[VkIndirectStateFlagBitsNV] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkInstanceCreateFlags): seq[VkInstanceCreateFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkMemoryAllocateFlags): seq[VkMemoryAllocateFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkMemoryDecompressionMethodFlagsNV): seq[
    VkMemoryDecompressionMethodFlagBitsNV] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkMemoryHeapFlags): seq[VkMemoryHeapFlagBits] {....raises: [],
    tags: [], forbids: [].}
func toEnums(number: VkMemoryPropertyFlags): seq[VkMemoryPropertyFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkMicromapCreateFlagsEXT): seq[VkMicromapCreateFlagBitsEXT] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkOpticalFlowExecuteFlagsNV): seq[
    VkOpticalFlowExecuteFlagBitsNV] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkOpticalFlowGridSizeFlagsNV): seq[
    VkOpticalFlowGridSizeFlagBitsNV] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkOpticalFlowSessionCreateFlagsNV): seq[
    VkOpticalFlowSessionCreateFlagBitsNV] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkOpticalFlowUsageFlagsNV): seq[
    VkOpticalFlowUsageFlagBitsNV] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkPeerMemoryFeatureFlags): seq[VkPeerMemoryFeatureFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkPerformanceCounterDescriptionFlagsKHR): seq[
    VkPerformanceCounterDescriptionFlagBitsKHR] {....raises: [], tags: [],
    forbids: [].}
func toEnums(number: VkPipelineCacheCreateFlags): seq[
    VkPipelineCacheCreateFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkPipelineColorBlendStateCreateFlags): seq[
    VkPipelineColorBlendStateCreateFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkPipelineCreateFlags): seq[VkPipelineCreateFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkPipelineCreationFeedbackFlags): seq[
    VkPipelineCreationFeedbackFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkPipelineDepthStencilStateCreateFlags): seq[
    VkPipelineDepthStencilStateCreateFlagBits] {....raises: [], tags: [],
    forbids: [].}
func toEnums(number: VkPipelineLayoutCreateFlags): seq[
    VkPipelineLayoutCreateFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkPipelineShaderStageCreateFlags): seq[
    VkPipelineShaderStageCreateFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkPipelineStageFlags): seq[VkPipelineStageFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkPipelineStageFlags2): seq[VkPipelineStageFlagBits2] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkPresentGravityFlagsEXT): seq[VkPresentGravityFlagBitsEXT] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkPresentScalingFlagsEXT): seq[VkPresentScalingFlagBitsEXT] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkPrivateDataSlotCreateFlags): seq[
    VkPrivateDataSlotCreateFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkQueryControlFlags): seq[VkQueryControlFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkQueryPipelineStatisticFlags): seq[
    VkQueryPipelineStatisticFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkQueryResultFlags): seq[VkQueryResultFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkQueueFlags): seq[VkQueueFlagBits] {....raises: [], tags: [],
    forbids: [].}
func toEnums(number: VkRenderingFlags): seq[VkRenderingFlagBits] {....raises: [],
    tags: [], forbids: [].}
func toEnums(number: VkRenderPassCreateFlags): seq[VkRenderPassCreateFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkResolveModeFlags): seq[VkResolveModeFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkSampleCountFlags): seq[VkSampleCountFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkSamplerCreateFlags): seq[VkSamplerCreateFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkSemaphoreImportFlags): seq[VkSemaphoreImportFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkSemaphoreWaitFlags): seq[VkSemaphoreWaitFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkShaderStageFlags): seq[VkShaderStageFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkSparseImageFormatFlags): seq[VkSparseImageFormatFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkSparseMemoryBindFlags): seq[VkSparseMemoryBindFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkStencilFaceFlags): seq[VkStencilFaceFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkSubgroupFeatureFlags): seq[VkSubgroupFeatureFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkSubmitFlags): seq[VkSubmitFlagBits] {....raises: [],
    tags: [], forbids: [].}
func toEnums(number: VkSubpassDescriptionFlags): seq[
    VkSubpassDescriptionFlagBits] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkSurfaceCounterFlagsEXT): seq[VkSurfaceCounterFlagBitsEXT] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkSurfaceTransformFlagsKHR): seq[
    VkSurfaceTransformFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkSwapchainCreateFlagsKHR): seq[
    VkSwapchainCreateFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkSwapchainImageUsageFlagsANDROID): seq[
    VkSwapchainImageUsageFlagBitsANDROID] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkToolPurposeFlags): seq[VkToolPurposeFlagBits] {.
    ...raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoCapabilityFlagsKHR): seq[
    VkVideoCapabilityFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoChromaSubsamplingFlagsKHR): seq[
    VkVideoChromaSubsamplingFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoCodecOperationFlagsKHR): seq[
    VkVideoCodecOperationFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoCodingControlFlagsKHR): seq[
    VkVideoCodingControlFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoComponentBitDepthFlagsKHR): seq[
    VkVideoComponentBitDepthFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoDecodeCapabilityFlagsKHR): seq[
    VkVideoDecodeCapabilityFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoDecodeH264PictureLayoutFlagsKHR): seq[
    VkVideoDecodeH264PictureLayoutFlagBitsKHR] {....raises: [], tags: [],
    forbids: [].}
func toEnums(number: VkVideoDecodeUsageFlagsKHR): seq[
    VkVideoDecodeUsageFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoEncodeCapabilityFlagsKHR): seq[
    VkVideoEncodeCapabilityFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoEncodeContentFlagsKHR): seq[
    VkVideoEncodeContentFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoEncodeH264CapabilityFlagsEXT): seq[
    VkVideoEncodeH264CapabilityFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoEncodeH264InputModeFlagsEXT): seq[
    VkVideoEncodeH264InputModeFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoEncodeH264OutputModeFlagsEXT): seq[
    VkVideoEncodeH264OutputModeFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoEncodeH265CapabilityFlagsEXT): seq[
    VkVideoEncodeH265CapabilityFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoEncodeH265CtbSizeFlagsEXT): seq[
    VkVideoEncodeH265CtbSizeFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoEncodeH265InputModeFlagsEXT): seq[
    VkVideoEncodeH265InputModeFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoEncodeH265OutputModeFlagsEXT): seq[
    VkVideoEncodeH265OutputModeFlagBitsEXT] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoEncodeH265TransformBlockSizeFlagsEXT): seq[
    VkVideoEncodeH265TransformBlockSizeFlagBitsEXT] {....raises: [], tags: [],
    forbids: [].}
func toEnums(number: VkVideoEncodeRateControlModeFlagsKHR): seq[
    VkVideoEncodeRateControlModeFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoEncodeUsageFlagsKHR): seq[
    VkVideoEncodeUsageFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
func toEnums(number: VkVideoSessionCreateFlagsKHR): seq[
    VkVideoSessionCreateFlagBitsKHR] {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkAccelerationStructureKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc Valid(handle: VkAccelerationStructureNV): bool {....raises: [], tags: [],
    forbids: [].}
proc Valid(handle: VkBuffer): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkBufferCollectionFUCHSIA): bool {....raises: [], tags: [],
    forbids: [].}
proc Valid(handle: VkBufferView): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkCommandBuffer): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkCommandPool): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkCuFunctionNVX): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkCuModuleNVX): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkDebugReportCallbackEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc Valid(handle: VkDebugUtilsMessengerEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc Valid(handle: VkDeferredOperationKHR): bool {....raises: [], tags: [],
    forbids: [].}
proc Valid(handle: VkDescriptorPool): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkDescriptorSet): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkDescriptorSetLayout): bool {....raises: [], tags: [],
    forbids: [].}
proc Valid(handle: VkDescriptorUpdateTemplate): bool {....raises: [], tags: [],
    forbids: [].}
proc Valid(handle: VkDevice): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkDeviceMemory): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkDisplayKHR): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkDisplayModeKHR): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkEvent): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkFence): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkFramebuffer): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkImage): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkImageView): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkIndirectCommandsLayoutNV): bool {....raises: [], tags: [],
    forbids: [].}
proc Valid(handle: VkInstance): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkMicromapEXT): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkOpticalFlowSessionNV): bool {....raises: [], tags: [],
    forbids: [].}
proc Valid(handle: VkPerformanceConfigurationINTEL): bool {....raises: [],
    tags: [], forbids: [].}
proc Valid(handle: VkPhysicalDevice): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkPipeline): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkPipelineCache): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkPipelineLayout): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkPrivateDataSlot): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkQueryPool): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkQueue): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkRenderPass): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkSampler): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkSamplerYcbcrConversion): bool {....raises: [], tags: [],
    forbids: [].}
proc Valid(handle: VkSemaphore): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkSemaphoreSciSyncPoolNV): bool {....raises: [], tags: [],
    forbids: [].}
proc Valid(handle: VkShaderModule): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkSurfaceKHR): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkSwapchainKHR): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkValidationCacheEXT): bool {....raises: [], tags: [],
    forbids: [].}
proc Valid(handle: VkVideoSessionKHR): bool {....raises: [], tags: [], forbids: [].}
proc Valid(handle: VkVideoSessionParametersKHR): bool {....raises: [], tags: [],
    forbids: [].}
func VK_MAKE_API_VERSION(variant: uint32; major: uint32; minor: uint32;
                         patch: uint32): uint32 {.compileTime, ...raises: [],
    tags: [], forbids: [].}

Iterators

iterator items[T: HoleyEnum](E: typedesc[T]): T

Converters

converter NimBool2VkBool(a: bool): VkBool32 {....raises: [], tags: [], forbids: [].}

Templates

template checkVkResult(call: untyped)