vulkan

    Dark Mode
Search:
Group by:

Vulkan Bindings

WARNING: This is a generated file. Do not edit Any edits will be overwritten by the generator.

Types

VkHandle = int64
VkNonDispatchableHandle = int64
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
VkAttachmentLoadOp {...}{.size: 4.} = enum
  VK_ATTACHMENT_LOAD_OP_LOAD = 0, VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
  VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2
VkAttachmentStoreOp {...}{.size: 4.} = enum
  VK_ATTACHMENT_STORE_OP_STORE = 0, VK_ATTACHMENT_STORE_OP_DONT_CARE = 1
VkImageType {...}{.size: 4.} = enum
  VK_IMAGE_TYPE_1D = 0, VK_IMAGE_TYPE_2D = 1, VK_IMAGE_TYPE_3D = 2
VkImageTiling {...}{.size: 4.} = enum
  VK_IMAGE_TILING_OPTIMAL = 0, VK_IMAGE_TILING_LINEAR = 1
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
VkCommandBufferLevel {...}{.size: 4.} = enum
  VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1
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
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
VkQueryType {...}{.size: 4.} = enum
  VK_QUERY_TYPE_OCCLUSION = 0, VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
  VK_QUERY_TYPE_TIMESTAMP = 2
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
VkPipelineBindPoint {...}{.size: 4.} = enum
  VK_PIPELINE_BIND_POINT_GRAPHICS = 0, VK_PIPELINE_BIND_POINT_COMPUTE = 1
VkPipelineCacheHeaderVersion {...}{.size: 4.} = enum
  VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1
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
VkSharingMode {...}{.size: 4.} = enum
  VK_SHARING_MODE_EXCLUSIVE = 0, VK_SHARING_MODE_CONCURRENT = 1
VkIndexType {...}{.size: 4.} = enum
  VK_INDEX_TYPE_UINT16 = 0, VK_INDEX_TYPE_UINT32 = 1
VkFilter {...}{.size: 4.} = enum
  VK_FILTER_NEAREST = 0, VK_FILTER_LINEAR = 1
VkSamplerMipmapMode {...}{.size: 4.} = enum
  VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, VK_SAMPLER_MIPMAP_MODE_LINEAR = 1
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
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
VkPolygonMode {...}{.size: 4.} = enum
  VK_POLYGON_MODE_FILL = 0, VK_POLYGON_MODE_LINE = 1, VK_POLYGON_MODE_POINT = 2
VkCullModeFlagBits {...}{.size: 4.} = enum
  VK_CULL_MODE_NONE = 0, VK_CULL_MODE_FRONT_BIT = 1, VK_CULL_MODE_BACK_BIT = 2,
  VK_CULL_MODE_FRONT_AND_BACK = 3
VkFrontFace {...}{.size: 4.} = enum
  VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, VK_FRONT_FACE_CLOCKWISE = 1
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
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
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
VkInternalAllocationType {...}{.size: 4.} = enum
  VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0
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
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
VkVertexInputRate {...}{.size: 4.} = enum
  VK_VERTEX_INPUT_RATE_VERTEX = 0, VK_VERTEX_INPUT_RATE_INSTANCE = 1
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
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
VkSubpassContents {...}{.size: 4.} = enum
  VK_SUBPASS_CONTENTS_INLINE = 0,
  VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1
VkResult {...}{.size: 4.} = enum
  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
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
VkDescriptorUpdateTemplateType {...}{.size: 4.} = enum
  VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0
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
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
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
VkMemoryHeapFlagBits {...}{.size: 4.} = enum
  VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 1
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
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
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
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_ALL_GRAPHICS = 31, VK_SHADER_STAGE_COMPUTE_BIT = 32,
  VK_SHADER_STAGE_ALL = 2147483647
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
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
VkPipelineCreateFlagBits {...}{.size: 4.} = enum
  VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 1,
  VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 2,
  VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4
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
VkFenceCreateFlagBits {...}{.size: 4.} = enum
  VK_FENCE_CREATE_SIGNALED_BIT = 1
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
VkQueryControlFlagBits {...}{.size: 4.} = enum
  VK_QUERY_CONTROL_PRECISE_BIT = 1
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
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
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
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
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
VkSparseMemoryBindFlagBits {...}{.size: 4.} = enum
  VK_SPARSE_MEMORY_BIND_METADATA_BIT = 1
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
VkCommandPoolCreateFlagBits {...}{.size: 4.} = enum
  VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 1,
  VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 2
VkCommandPoolResetFlagBits {...}{.size: 4.} = enum
  VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 1
VkCommandBufferResetFlagBits {...}{.size: 4.} = enum
  VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 1
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
VkAttachmentDescriptionFlagBits {...}{.size: 4.} = enum
  VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 1
VkStencilFaceFlagBits {...}{.size: 4.} = enum
  VK_STENCIL_FACE_FRONT_BIT = 1, VK_STENCIL_FACE_BACK_BIT = 2,
  VK_STENCIL_FACE_FRONT_AND_BACK = 3
VkDescriptorPoolCreateFlagBits {...}{.size: 4.} = enum
  VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 1
VkDependencyFlagBits {...}{.size: 4.} = enum
  VK_DEPENDENCY_BY_REGION_BIT = 1
VkSemaphoreType {...}{.size: 4.} = enum
  VK_SEMAPHORE_TYPE_BINARY = 0, VK_SEMAPHORE_TYPE_TIMELINE = 1
VkSemaphoreWaitFlagBits {...}{.size: 4.} = enum
  VK_SEMAPHORE_WAIT_ANY_BIT = 1
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
VkColorSpaceKHR {...}{.size: 4.} = enum
  VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0
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
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
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
VkSwapchainImageUsageFlagBitsANDROID {...}{.size: 4.} = enum
  VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID = 1
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
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
VkRasterizationOrderAMD {...}{.size: 4.} = enum
  VK_RASTERIZATION_ORDER_STRICT_AMD = 0, VK_RASTERIZATION_ORDER_RELAXED_AMD = 1
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
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
VkValidationCheckEXT {...}{.size: 4.} = enum
  VK_VALIDATION_CHECK_ALL_EXT = 0, VK_VALIDATION_CHECK_SHADERS_EXT = 1
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
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
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
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
VkIndirectStateFlagBitsNV {...}{.size: 4.} = enum
  VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 1
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
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
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
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
VkExternalSemaphoreFeatureFlagBits {...}{.size: 4.} = enum
  VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 1,
  VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 2
VkSemaphoreImportFlagBits {...}{.size: 4.} = enum
  VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 1
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
VkExternalFenceFeatureFlagBits {...}{.size: 4.} = enum
  VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 1,
  VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 2
VkFenceImportFlagBits {...}{.size: 4.} = enum
  VK_FENCE_IMPORT_TEMPORARY_BIT = 1
VkSurfaceCounterFlagBitsEXT {...}{.size: 4.} = enum
  VK_SURFACE_COUNTER_VBLANK_EXT = 1
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
VkDeviceEventTypeEXT {...}{.size: 4.} = enum
  VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0
VkDisplayEventTypeEXT {...}{.size: 4.} = enum
  VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0
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
VkMemoryAllocateFlagBits {...}{.size: 4.} = enum
  VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 1
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
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
VkDiscardRectangleModeEXT {...}{.size: 4.} = enum
  VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
  VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1
VkPointClippingBehavior {...}{.size: 4.} = enum
  VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
  VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1
VkSamplerReductionMode {...}{.size: 4.} = enum
  VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
  VK_SAMPLER_REDUCTION_MODE_MIN = 1, VK_SAMPLER_REDUCTION_MODE_MAX = 2
VkTessellationDomainOrigin {...}{.size: 4.} = enum
  VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
  VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1
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
VkChromaLocation {...}{.size: 4.} = enum
  VK_CHROMA_LOCATION_COSITED_EVEN = 0, VK_CHROMA_LOCATION_MIDPOINT = 1
VkBlendOverlapEXT {...}{.size: 4.} = enum
  VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
  VK_BLEND_OVERLAP_CONJOINT_EXT = 2
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
VkValidationCacheHeaderVersionEXT {...}{.size: 4.} = enum
  VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1
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
VkQueueGlobalPriorityEXT {...}{.size: 4.} = enum
  VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
  VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
  VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
  VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024
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
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
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
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
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
VkConditionalRenderingFlagBitsEXT {...}{.size: 4.} = enum
  VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 1
VkResolveModeFlagBits {...}{.size: 4.} = enum
  VK_RESOLVE_MODE_NONE = 0, 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
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
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
VkGeometryInstanceFlagBitsKHR {...}{.size: 4.} = enum
  VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 1,
  VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 2,
  VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 4,
  VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 8
VkGeometryFlagBitsKHR {...}{.size: 4.} = enum
  VK_GEOMETRY_OPAQUE_BIT_KHR = 1,
  VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 2
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
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
VkAccelerationStructureTypeKHR {...}{.size: 4.} = enum
  VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
  VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1
VkGeometryTypeKHR {...}{.size: 4.} = enum
  VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, VK_GEOMETRY_TYPE_AABBS_KHR = 1
VkAccelerationStructureMemoryRequirementsTypeKHR {...}{.size: 4.} = enum
  VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR = 0,
  VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR = 1,
  VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR = 2
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
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
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
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
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
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
VkPipelineCreationFeedbackFlagBitsEXT {...}{.size: 4.} = enum
  VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 1,
  VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 2,
  VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 4
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
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
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
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
VkPerformanceCounterDescriptionFlagBitsKHR {...}{.size: 4.} = enum
  VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = 1,
  VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = 2
VkPerformanceConfigurationTypeINTEL {...}{.size: 4.} = enum
  VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0
VkQueryPoolSamplingModeINTEL {...}{.size: 4.} = enum
  VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0
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
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
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
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
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
VkToolPurposeFlagBitsEXT {...}{.size: 4.} = enum
  VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 1, VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 2,
  VK_TOOL_PURPOSE_TRACING_BIT_EXT = 4,
  VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 8,
  VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 16
Display = ptr object
VisualID = ptr object
Window = ptr object
RROutput = ptr object
wl_display = ptr object
wl_surface = ptr object
HINSTANCE = ptr object
HWND = ptr object
HMONITOR = ptr object
HANDLE = ptr object
SECURITY_ATTRIBUTES = ptr object
DWORD = ptr object
LPCWSTR = ptr object
xcb_connection_t = ptr object
xcb_visualid_t = ptr object
xcb_window_t = ptr object
IDirectFB = ptr object
IDirectFBSurface = ptr object
zx_handle_t = ptr object
GgpStreamDescriptor = ptr object
GgpFrameToken = ptr object
VkSampleMask = distinct uint32
VkBool32 = distinct uint32
VkFlags = distinct uint32
VkDeviceSize = distinct uint64
VkDeviceAddress = distinct uint64
VkFramebufferCreateFlags = distinct VkFlags
VkQueryPoolCreateFlags = distinct VkFlags
VkRenderPassCreateFlags = distinct VkFlags
VkSamplerCreateFlags = distinct VkFlags
VkPipelineLayoutCreateFlags = distinct VkFlags
VkPipelineCacheCreateFlags = distinct VkFlags
VkPipelineDepthStencilStateCreateFlags = distinct VkFlags
VkPipelineDynamicStateCreateFlags = distinct VkFlags
VkPipelineColorBlendStateCreateFlags = distinct VkFlags
VkPipelineMultisampleStateCreateFlags = distinct VkFlags
VkPipelineRasterizationStateCreateFlags = distinct VkFlags
VkPipelineViewportStateCreateFlags = distinct VkFlags
VkPipelineTessellationStateCreateFlags = distinct VkFlags
VkPipelineInputAssemblyStateCreateFlags = distinct VkFlags
VkPipelineVertexInputStateCreateFlags = distinct VkFlags
VkPipelineShaderStageCreateFlags = distinct VkFlags
VkDescriptorSetLayoutCreateFlags = distinct VkFlags
VkBufferViewCreateFlags = distinct VkFlags
VkInstanceCreateFlags = distinct VkFlags
VkDeviceCreateFlags = distinct VkFlags
VkDeviceQueueCreateFlags = distinct VkFlags
VkQueueFlags = distinct VkFlags
VkMemoryPropertyFlags = distinct VkFlags
VkMemoryHeapFlags = distinct VkFlags
VkAccessFlags = distinct VkFlags
VkBufferUsageFlags = distinct VkFlags
VkBufferCreateFlags = distinct VkFlags
VkShaderStageFlags = distinct VkFlags
VkImageUsageFlags = distinct VkFlags
VkImageCreateFlags = distinct VkFlags
VkImageViewCreateFlags = distinct VkFlags
VkPipelineCreateFlags = distinct VkFlags
VkColorComponentFlags = distinct VkFlags
VkFenceCreateFlags = distinct VkFlags
VkSemaphoreCreateFlags = distinct VkFlags
VkFormatFeatureFlags = distinct VkFlags
VkQueryControlFlags = distinct VkFlags
VkQueryResultFlags = distinct VkFlags
VkShaderModuleCreateFlags = distinct VkFlags
VkEventCreateFlags = distinct VkFlags
VkCommandPoolCreateFlags = distinct VkFlags
VkCommandPoolResetFlags = distinct VkFlags
VkCommandBufferResetFlags = distinct VkFlags
VkCommandBufferUsageFlags = distinct VkFlags
VkQueryPipelineStatisticFlags = distinct VkFlags
VkMemoryMapFlags = distinct VkFlags
VkImageAspectFlags = distinct VkFlags
VkSparseMemoryBindFlags = distinct VkFlags
VkSparseImageFormatFlags = distinct VkFlags
VkSubpassDescriptionFlags = distinct VkFlags
VkPipelineStageFlags = distinct VkFlags
VkSampleCountFlags = distinct VkFlags
VkAttachmentDescriptionFlags = distinct VkFlags
VkStencilFaceFlags = distinct VkFlags
VkCullModeFlags = distinct VkFlags
VkDescriptorPoolCreateFlags = distinct VkFlags
VkDescriptorPoolResetFlags = distinct VkFlags
VkDependencyFlags = distinct VkFlags
VkSubgroupFeatureFlags = distinct VkFlags
VkIndirectCommandsLayoutUsageFlagsNV = distinct VkFlags
VkIndirectStateFlagsNV = distinct VkFlags
VkGeometryFlagsKHR = distinct VkFlags
VkGeometryFlagsNV = VkGeometryFlagsKHR
VkGeometryInstanceFlagsKHR = distinct VkFlags
VkGeometryInstanceFlagsNV = VkGeometryInstanceFlagsKHR
VkBuildAccelerationStructureFlagsKHR = distinct VkFlags
VkBuildAccelerationStructureFlagsNV = VkBuildAccelerationStructureFlagsKHR
VkPrivateDataSlotCreateFlagsEXT = distinct VkFlags
VkDescriptorUpdateTemplateCreateFlags = distinct VkFlags
VkDescriptorUpdateTemplateCreateFlagsKHR = VkDescriptorUpdateTemplateCreateFlags
VkPipelineCreationFeedbackFlagsEXT = distinct VkFlags
VkPerformanceCounterDescriptionFlagsKHR = distinct VkFlags
VkAcquireProfilingLockFlagsKHR = distinct VkFlags
VkSemaphoreWaitFlags = distinct VkFlags
VkSemaphoreWaitFlagsKHR = VkSemaphoreWaitFlags
VkPipelineCompilerControlFlagsAMD = distinct VkFlags
VkShaderCorePropertiesFlagsAMD = distinct VkFlags
VkDeviceDiagnosticsConfigFlagsNV = distinct VkFlags
VkCompositeAlphaFlagsKHR = distinct VkFlags
VkDisplayPlaneAlphaFlagsKHR = distinct VkFlags
VkSurfaceTransformFlagsKHR = distinct VkFlags
VkSwapchainCreateFlagsKHR = distinct VkFlags
VkDisplayModeCreateFlagsKHR = distinct VkFlags
VkDisplaySurfaceCreateFlagsKHR = distinct VkFlags
VkAndroidSurfaceCreateFlagsKHR = distinct VkFlags
VkViSurfaceCreateFlagsNN = distinct VkFlags
VkWaylandSurfaceCreateFlagsKHR = distinct VkFlags
VkWin32SurfaceCreateFlagsKHR = distinct VkFlags
VkXlibSurfaceCreateFlagsKHR = distinct VkFlags
VkXcbSurfaceCreateFlagsKHR = distinct VkFlags
VkDirectFBSurfaceCreateFlagsEXT = distinct VkFlags
VkIOSSurfaceCreateFlagsMVK = distinct VkFlags
VkMacOSSurfaceCreateFlagsMVK = distinct VkFlags
VkMetalSurfaceCreateFlagsEXT = distinct VkFlags
VkImagePipeSurfaceCreateFlagsFUCHSIA = distinct VkFlags
VkStreamDescriptorSurfaceCreateFlagsGGP = distinct VkFlags
VkHeadlessSurfaceCreateFlagsEXT = distinct VkFlags
VkPeerMemoryFeatureFlags = distinct VkFlags
VkPeerMemoryFeatureFlagsKHR = VkPeerMemoryFeatureFlags
VkMemoryAllocateFlags = distinct VkFlags
VkMemoryAllocateFlagsKHR = VkMemoryAllocateFlags
VkDeviceGroupPresentModeFlagsKHR = distinct VkFlags
VkDebugReportFlagsEXT = distinct VkFlags
VkCommandPoolTrimFlags = distinct VkFlags
VkCommandPoolTrimFlagsKHR = VkCommandPoolTrimFlags
VkExternalMemoryHandleTypeFlagsNV = distinct VkFlags
VkExternalMemoryFeatureFlagsNV = distinct VkFlags
VkExternalMemoryHandleTypeFlags = distinct VkFlags
VkExternalMemoryHandleTypeFlagsKHR = VkExternalMemoryHandleTypeFlags
VkExternalMemoryFeatureFlags = distinct VkFlags
VkExternalMemoryFeatureFlagsKHR = VkExternalMemoryFeatureFlags
VkExternalSemaphoreHandleTypeFlags = distinct VkFlags
VkExternalSemaphoreHandleTypeFlagsKHR = VkExternalSemaphoreHandleTypeFlags
VkExternalSemaphoreFeatureFlags = distinct VkFlags
VkExternalSemaphoreFeatureFlagsKHR = VkExternalSemaphoreFeatureFlags
VkSemaphoreImportFlags = distinct VkFlags
VkSemaphoreImportFlagsKHR = VkSemaphoreImportFlags
VkExternalFenceHandleTypeFlags = distinct VkFlags
VkExternalFenceHandleTypeFlagsKHR = VkExternalFenceHandleTypeFlags
VkExternalFenceFeatureFlags = distinct VkFlags
VkExternalFenceFeatureFlagsKHR = VkExternalFenceFeatureFlags
VkFenceImportFlags = distinct VkFlags
VkFenceImportFlagsKHR = VkFenceImportFlags
VkSurfaceCounterFlagsEXT = distinct VkFlags
VkPipelineViewportSwizzleStateCreateFlagsNV = distinct VkFlags
VkPipelineDiscardRectangleStateCreateFlagsEXT = distinct VkFlags
VkPipelineCoverageToColorStateCreateFlagsNV = distinct VkFlags
VkPipelineCoverageModulationStateCreateFlagsNV = distinct VkFlags
VkPipelineCoverageReductionStateCreateFlagsNV = distinct VkFlags
VkValidationCacheCreateFlagsEXT = distinct VkFlags
VkDebugUtilsMessageSeverityFlagsEXT = distinct VkFlags
VkDebugUtilsMessageTypeFlagsEXT = distinct VkFlags
VkDebugUtilsMessengerCreateFlagsEXT = distinct VkFlags
VkDebugUtilsMessengerCallbackDataFlagsEXT = distinct VkFlags
VkPipelineRasterizationConservativeStateCreateFlagsEXT = distinct VkFlags
VkDescriptorBindingFlags = distinct VkFlags
VkDescriptorBindingFlagsEXT = VkDescriptorBindingFlags
VkConditionalRenderingFlagsEXT = distinct VkFlags
VkResolveModeFlags = distinct VkFlags
VkResolveModeFlagsKHR = VkResolveModeFlags
VkPipelineRasterizationStateStreamCreateFlagsEXT = distinct VkFlags
VkPipelineRasterizationDepthClipStateCreateFlagsEXT = distinct VkFlags
VkSwapchainImageUsageFlagsANDROID = distinct VkFlags
VkToolPurposeFlagsEXT = distinct VkFlags
VkInstance = distinct VkHandle
VkPhysicalDevice = distinct VkHandle
VkDevice = distinct VkHandle
VkQueue = distinct VkHandle
VkCommandBuffer = distinct VkHandle
VkDeviceMemory = distinct VkNonDispatchableHandle
VkCommandPool = distinct VkNonDispatchableHandle
VkBuffer = distinct VkNonDispatchableHandle
VkBufferView = distinct VkNonDispatchableHandle
VkImage = distinct VkNonDispatchableHandle
VkImageView = distinct VkNonDispatchableHandle
VkShaderModule = distinct VkNonDispatchableHandle
VkPipeline = distinct VkNonDispatchableHandle
VkPipelineLayout = distinct VkNonDispatchableHandle
VkSampler = distinct VkNonDispatchableHandle
VkDescriptorSet = distinct VkNonDispatchableHandle
VkDescriptorSetLayout = distinct VkNonDispatchableHandle
VkDescriptorPool = distinct VkNonDispatchableHandle
VkFence = distinct VkNonDispatchableHandle
VkSemaphore = distinct VkNonDispatchableHandle
VkEvent = distinct VkNonDispatchableHandle
VkQueryPool = distinct VkNonDispatchableHandle
VkFramebuffer = distinct VkNonDispatchableHandle
VkRenderPass = distinct VkNonDispatchableHandle
VkPipelineCache = distinct VkNonDispatchableHandle
VkIndirectCommandsLayoutNV = distinct VkNonDispatchableHandle
VkDescriptorUpdateTemplate = distinct VkNonDispatchableHandle
VkDescriptorUpdateTemplateKHR = VkDescriptorUpdateTemplate
VkSamplerYcbcrConversion = distinct VkNonDispatchableHandle
VkSamplerYcbcrConversionKHR = VkSamplerYcbcrConversion
VkValidationCacheEXT = distinct VkNonDispatchableHandle
VkAccelerationStructureKHR = distinct VkNonDispatchableHandle
VkAccelerationStructureNV = VkAccelerationStructureKHR
VkPerformanceConfigurationINTEL = distinct VkNonDispatchableHandle
VkDeferredOperationKHR = distinct VkNonDispatchableHandle
VkPrivateDataSlotEXT = distinct VkNonDispatchableHandle
VkDisplayKHR = distinct VkNonDispatchableHandle
VkDisplayModeKHR = distinct VkNonDispatchableHandle
VkSurfaceKHR = distinct VkNonDispatchableHandle
VkSwapchainKHR = distinct VkNonDispatchableHandle
VkDebugReportCallbackEXT = distinct VkNonDispatchableHandle
VkDebugUtilsMessengerEXT = distinct VkNonDispatchableHandle
VkDescriptorUpdateTemplateTypeKHR = VkDescriptorUpdateTemplateType
VkPointClippingBehaviorKHR = VkPointClippingBehavior
VkResolveModeFlagBitsKHR = VkResolveModeFlagBits
VkDescriptorBindingFlagBitsEXT = VkDescriptorBindingFlagBits
VkSemaphoreTypeKHR = VkSemaphoreType
VkGeometryFlagBitsNV = VkGeometryFlagBitsKHR
VkGeometryInstanceFlagBitsNV = VkGeometryInstanceFlagBitsKHR
VkBuildAccelerationStructureFlagBitsNV = VkBuildAccelerationStructureFlagBitsKHR
VkCopyAccelerationStructureModeNV = VkCopyAccelerationStructureModeKHR
VkAccelerationStructureTypeNV = VkAccelerationStructureTypeKHR
VkGeometryTypeNV = VkGeometryTypeKHR
VkRayTracingShaderGroupTypeNV = VkRayTracingShaderGroupTypeKHR
VkAccelerationStructureMemoryRequirementsTypeNV = VkAccelerationStructureMemoryRequirementsTypeKHR
VkSemaphoreWaitFlagBitsKHR = VkSemaphoreWaitFlagBits
VkExternalMemoryHandleTypeFlagBitsKHR = VkExternalMemoryHandleTypeFlagBits
VkExternalMemoryFeatureFlagBitsKHR = VkExternalMemoryFeatureFlagBits
VkExternalSemaphoreHandleTypeFlagBitsKHR = VkExternalSemaphoreHandleTypeFlagBits
VkExternalSemaphoreFeatureFlagBitsKHR = VkExternalSemaphoreFeatureFlagBits
VkSemaphoreImportFlagBitsKHR = VkSemaphoreImportFlagBits
VkExternalFenceHandleTypeFlagBitsKHR = VkExternalFenceHandleTypeFlagBits
VkExternalFenceFeatureFlagBitsKHR = VkExternalFenceFeatureFlagBits
VkFenceImportFlagBitsKHR = VkFenceImportFlagBits
VkPeerMemoryFeatureFlagBitsKHR = VkPeerMemoryFeatureFlagBits
VkMemoryAllocateFlagBitsKHR = VkMemoryAllocateFlagBits
VkTessellationDomainOriginKHR = VkTessellationDomainOrigin
VkSamplerYcbcrModelConversionKHR = VkSamplerYcbcrModelConversion
VkSamplerYcbcrRangeKHR = VkSamplerYcbcrRange
VkChromaLocationKHR = VkChromaLocation
VkSamplerReductionModeEXT = VkSamplerReductionMode
VkShaderFloatControlsIndependenceKHR = VkShaderFloatControlsIndependence
VkDriverIdKHR = VkDriverId
PFN_vkInternalAllocationNotification = proc (pUserData: pointer; size: csize;
    allocationType: VkInternalAllocationType;
    allocationScope: VkSystemAllocationScope) {...}{.cdecl.}
PFN_vkInternalFreeNotification = proc (pUserData: pointer; size: csize;
    allocationType: VkInternalAllocationType;
                                       allocationScope: VkSystemAllocationScope) {...}{.
    cdecl.}
PFN_vkReallocationFunction = proc (pUserData: pointer; pOriginal: pointer;
                                   size: csize; alignment: csize;
                                   allocationScope: VkSystemAllocationScope): pointer {...}{.
    cdecl.}
PFN_vkAllocationFunction = proc (pUserData: pointer; size: csize;
                                 alignment: csize;
                                 allocationScope: VkSystemAllocationScope): pointer {...}{.
    cdecl.}
PFN_vkFreeFunction = proc (pUserData: pointer; pMemory: pointer) {...}{.cdecl.}
PFN_vkVoidFunction = proc () {...}{.cdecl.}
PFN_vkDebugReportCallbackEXT = proc (flags: VkDebugReportFlagsEXT;
                                     objectType: VkDebugReportObjectTypeEXT;
                                     cbObject: uint64; location: csize;
                                     messageCode: int32; pLayerPrefix: cstring;
                                     pMessage: cstring; pUserData: pointer): VkBool32 {...}{.
    cdecl.}
PFN_vkDebugUtilsMessengerCallbackEXT = proc (
    messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT;
    messageTypes: VkDebugUtilsMessageTypeFlagsEXT;
    pCallbackData: VkDebugUtilsMessengerCallbackDataEXT; userData: pointer): VkBool32 {...}{.
    cdecl.}
VkOffset2D = object
  x*: int32
  y*: int32
VkOffset3D = object
  x*: int32
  y*: int32
  z*: int32
VkExtent2D = object
  width*: uint32
  height*: uint32
VkExtent3D = object
  width*: uint32
  height*: uint32
  depth*: uint32
VkViewport = object
  x*: float32
  y*: float32
  width*: float32
  height*: float32
  minDepth*: float32
  maxDepth*: float32
VkRect2D = object
  offset*: VkOffset2D
  extent*: VkExtent2D
VkClearRect = object
  rect*: VkRect2D
  baseArrayLayer*: uint32
  layerCount*: uint32
VkComponentMapping = object
  r*: VkComponentSwizzle
  g*: VkComponentSwizzle
  b*: VkComponentSwizzle
  a*: VkComponentSwizzle
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
VkExtensionProperties = object
  extensionName*: array[VK_MAX_EXTENSION_NAME_SIZE, char]
  specVersion*: uint32
VkLayerProperties = object
  layerName*: array[VK_MAX_EXTENSION_NAME_SIZE, char]
  specVersion*: uint32
  implementationVersion*: uint32
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
VkApplicationInfo = object
  sType*: VkStructureType
  pNext*: pointer
  pApplicationName*: cstring
  applicationVersion*: uint32
  pEngineName*: cstring
  engineVersion*: uint32
  apiVersion*: uint32
VkAllocationCallbacks = object
  pUserData*: pointer
  pfnAllocation*: PFN_vkAllocationFunction
  pfnReallocation*: PFN_vkReallocationFunction
  pfnFree*: PFN_vkFreeFunction
  pfnInternalAllocation*: PFN_vkInternalAllocationNotification
  pfnInternalFree*: PFN_vkInternalFreeNotification
VkDeviceQueueCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDeviceQueueCreateFlags
  queueFamilyIndex*: uint32
  queueCount*: uint32
  pQueuePriorities*: ptr float32
VkDeviceCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDeviceCreateFlags
  queueCreateInfoCount*: uint32
  pQueueCreateInfos*: ptr VkDeviceQueueCreateInfo
  enabledLayerCount*: uint32
  ppEnabledLayerNames*: cstringArray
  enabledExtensionCount*: uint32
  ppEnabledExtensionNames*: cstringArray
  pEnabledFeatures*: ptr VkPhysicalDeviceFeatures
VkInstanceCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkInstanceCreateFlags
  pApplicationInfo*: ptr VkApplicationInfo
  enabledLayerCount*: uint32
  ppEnabledLayerNames*: cstringArray
  enabledExtensionCount*: uint32
  ppEnabledExtensionNames*: cstringArray
VkQueueFamilyProperties = object
  queueFlags*: VkQueueFlags
  queueCount*: uint32
  timestampValidBits*: uint32
  minImageTransferGranularity*: VkExtent3D
VkPhysicalDeviceMemoryProperties = object
  memoryTypeCount*: uint32
  memoryTypes*: array[VK_MAX_MEMORY_TYPES, VkMemoryType]
  memoryHeapCount*: uint32
  memoryHeaps*: array[VK_MAX_MEMORY_HEAPS, VkMemoryHeap]
VkMemoryAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  allocationSize*: VkDeviceSize
  memoryTypeIndex*: uint32
VkMemoryRequirements = object
  size*: VkDeviceSize
  alignment*: VkDeviceSize
  memoryTypeBits*: uint32
VkSparseImageFormatProperties = object
  aspectMask*: VkImageAspectFlags
  imageGranularity*: VkExtent3D
  flags*: VkSparseImageFormatFlags
VkSparseImageMemoryRequirements = object
  formatProperties*: VkSparseImageFormatProperties
  imageMipTailFirstLod*: uint32
  imageMipTailSize*: VkDeviceSize
  imageMipTailOffset*: VkDeviceSize
  imageMipTailStride*: VkDeviceSize
VkMemoryType = object
  propertyFlags*: VkMemoryPropertyFlags
  heapIndex*: uint32
VkMemoryHeap = object
  size*: VkDeviceSize
  flags*: VkMemoryHeapFlags
VkMappedMemoryRange = object
  sType*: VkStructureType
  pNext*: pointer
  memory*: VkDeviceMemory
  offset*: VkDeviceSize
  size*: VkDeviceSize
VkFormatProperties = object
  linearTilingFeatures*: VkFormatFeatureFlags
  optimalTilingFeatures*: VkFormatFeatureFlags
  bufferFeatures*: VkFormatFeatureFlags
VkImageFormatProperties = object
  maxExtent*: VkExtent3D
  maxMipLevels*: uint32
  maxArrayLayers*: uint32
  sampleCounts*: VkSampleCountFlags
  maxResourceSize*: VkDeviceSize
VkDescriptorBufferInfo = object
  buffer*: VkBuffer
  offset*: VkDeviceSize
  range*: VkDeviceSize
VkDescriptorImageInfo = object
  sampler*: VkSampler
  imageView*: VkImageView
  imageLayout*: VkImageLayout
VkWriteDescriptorSet = object
  sType*: VkStructureType
  pNext*: pointer
  dstSet*: VkDescriptorSet
  dstBinding*: uint32
  dstArrayElement*: uint32
  descriptorCount*: uint32
  descriptorType*: VkDescriptorType
  pImageInfo*: ptr VkDescriptorImageInfo
  pBufferInfo*: ptr ptr VkDescriptorBufferInfo
  pTexelBufferView*: ptr VkBufferView
VkCopyDescriptorSet = object
  sType*: VkStructureType
  pNext*: pointer
  srcSet*: VkDescriptorSet
  srcBinding*: uint32
  srcArrayElement*: uint32
  dstSet*: VkDescriptorSet
  dstBinding*: uint32
  dstArrayElement*: uint32
  descriptorCount*: uint32
VkBufferCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkBufferCreateFlags
  size*: VkDeviceSize
  usage*: VkBufferUsageFlags
  sharingMode*: VkSharingMode
  queueFamilyIndexCount*: uint32
  pQueueFamilyIndices*: ptr uint32
VkBufferViewCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkBufferViewCreateFlags
  buffer*: VkBuffer
  format*: VkFormat
  offset*: VkDeviceSize
  range*: VkDeviceSize
VkImageSubresource = object
  aspectMask*: VkImageAspectFlags
  mipLevel*: uint32
  arrayLayer*: uint32
VkImageSubresourceLayers = object
  aspectMask*: VkImageAspectFlags
  mipLevel*: uint32
  baseArrayLayer*: uint32
  layerCount*: uint32
VkImageSubresourceRange = object
  aspectMask*: VkImageAspectFlags
  baseMipLevel*: uint32
  levelCount*: uint32
  baseArrayLayer*: uint32
  layerCount*: uint32
VkMemoryBarrier = object
  sType*: VkStructureType
  pNext*: pointer
  srcAccessMask*: VkAccessFlags
  dstAccessMask*: VkAccessFlags
VkBufferMemoryBarrier = object
  sType*: VkStructureType
  pNext*: pointer
  srcAccessMask*: VkAccessFlags
  dstAccessMask*: VkAccessFlags
  srcQueueFamilyIndex*: uint32
  dstQueueFamilyIndex*: uint32
  buffer*: VkBuffer
  offset*: VkDeviceSize
  size*: VkDeviceSize
VkImageMemoryBarrier = object
  sType*: VkStructureType
  pNext*: pointer
  srcAccessMask*: VkAccessFlags
  dstAccessMask*: VkAccessFlags
  oldLayout*: VkImageLayout
  newLayout*: VkImageLayout
  srcQueueFamilyIndex*: uint32
  dstQueueFamilyIndex*: uint32
  image*: VkImage
  subresourceRange*: VkImageSubresourceRange
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
VkSubresourceLayout = object
  offset*: VkDeviceSize
  size*: VkDeviceSize
  rowPitch*: VkDeviceSize
  arrayPitch*: VkDeviceSize
  depthPitch*: VkDeviceSize
VkImageViewCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkImageViewCreateFlags
  image*: VkImage
  viewType*: VkImageViewType
  format*: VkFormat
  components*: VkComponentMapping
  subresourceRange*: VkImageSubresourceRange
VkBufferCopy = object
  srcOffset*: VkDeviceSize
  dstOffset*: VkDeviceSize
  size*: VkDeviceSize
VkSparseMemoryBind = object
  resourceOffset*: VkDeviceSize
  size*: VkDeviceSize
  memory*: VkDeviceMemory
  memoryOffset*: VkDeviceSize
  flags*: VkSparseMemoryBindFlags
VkSparseImageMemoryBind = object
  subresource*: VkImageSubresource
  offset*: VkOffset3D
  extent*: VkExtent3D
  memory*: VkDeviceMemory
  memoryOffset*: VkDeviceSize
  flags*: VkSparseMemoryBindFlags
VkSparseBufferMemoryBindInfo = object
  buffer*: VkBuffer
  bindCount*: uint32
  pBinds*: ptr VkSparseMemoryBind
VkSparseImageOpaqueMemoryBindInfo = object
  image*: VkImage
  bindCount*: uint32
  pBinds*: ptr VkSparseMemoryBind
VkSparseImageMemoryBindInfo = object
  image*: VkImage
  bindCount*: uint32
  pBinds*: ptr VkSparseImageMemoryBind
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
VkImageCopy = object
  srcSubresource*: VkImageSubresourceLayers
  srcOffset*: VkOffset3D
  dstSubresource*: VkImageSubresourceLayers
  dstOffset*: VkOffset3D
  extent*: VkExtent3D
VkImageBlit = object
  srcSubresource*: VkImageSubresourceLayers
  srcOffsets*: array[2, VkOffset3D]
  dstSubresource*: VkImageSubresourceLayers
  dstOffsets*: array[2, VkOffset3D]
VkBufferImageCopy = object
  bufferOffset*: VkDeviceSize
  bufferRowLength*: uint32
  bufferImageHeight*: uint32
  imageSubresource*: VkImageSubresourceLayers
  imageOffset*: VkOffset3D
  imageExtent*: VkExtent3D
VkImageResolve = object
  srcSubresource*: VkImageSubresourceLayers
  srcOffset*: VkOffset3D
  dstSubresource*: VkImageSubresourceLayers
  dstOffset*: VkOffset3D
  extent*: VkExtent3D
VkShaderModuleCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkShaderModuleCreateFlags
  codeSize*: uint
  pCode*: ptr uint32
VkDescriptorSetLayoutBinding = object
  binding*: uint32
  descriptorType*: VkDescriptorType
  descriptorCount*: uint32
  stageFlags*: VkShaderStageFlags
  pImmutableSamplers*: ptr VkSampler
VkDescriptorSetLayoutCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDescriptorSetLayoutCreateFlags
  bindingCount*: uint32
  pBindings*: ptr VkDescriptorSetLayoutBinding
VkDescriptorPoolSize = object
  `type`*: VkDescriptorType
  descriptorCount*: uint32
VkDescriptorPoolCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDescriptorPoolCreateFlags
  maxSets*: uint32
  poolSizeCount*: uint32
  pPoolSizes*: ptr VkDescriptorPoolSize
VkDescriptorSetAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  descriptorPool*: VkDescriptorPool
  descriptorSetCount*: uint32
  pSetLayouts*: ptr VkDescriptorSetLayout
VkSpecializationMapEntry = object
  constantID*: uint32
  offset*: uint32
  size*: uint
VkSpecializationInfo = object
  mapEntryCount*: uint32
  pMapEntries*: ptr VkSpecializationMapEntry
  dataSize*: uint
  pData*: pointer
VkPipelineShaderStageCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineShaderStageCreateFlags
  stage*: VkShaderStageFlagBits
  module*: VkShaderModule
  pName*: cstring
  pSpecializationInfo*: ptr VkSpecializationInfo
VkComputePipelineCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineCreateFlags
  stage*: VkPipelineShaderStageCreateInfo
  layout*: VkPipelineLayout
  basePipelineHandle*: VkPipeline
  basePipelineIndex*: int32
VkVertexInputBindingDescription = object
  binding*: uint32
  stride*: uint32
  inputRate*: VkVertexInputRate
VkVertexInputAttributeDescription = object
  location*: uint32
  binding*: uint32
  format*: VkFormat
  offset*: uint32
VkPipelineVertexInputStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineVertexInputStateCreateFlags
  vertexBindingDescriptionCount*: uint32
  pVertexBindingDescriptions*: ptr VkVertexInputBindingDescription
  vertexAttributeDescriptionCount*: uint32
  pVertexAttributeDescriptions*: ptr VkVertexInputAttributeDescription
VkPipelineInputAssemblyStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineInputAssemblyStateCreateFlags
  topology*: VkPrimitiveTopology
  primitiveRestartEnable*: VkBool32
VkPipelineTessellationStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineTessellationStateCreateFlags
  patchControlPoints*: uint32
VkPipelineViewportStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineViewportStateCreateFlags
  viewportCount*: uint32
  pViewports*: ptr VkViewport
  scissorCount*: uint32
  pScissors*: ptr VkRect2D
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
VkPipelineMultisampleStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineMultisampleStateCreateFlags
  rasterizationSamples*: VkSampleCountFlagBits
  sampleShadingEnable*: VkBool32
  minSampleShading*: float32
  pSampleMask*: ptr VkSampleMask
  alphaToCoverageEnable*: VkBool32
  alphaToOneEnable*: VkBool32
VkPipelineColorBlendAttachmentState = object
  blendEnable*: VkBool32
  srcColorBlendFactor*: VkBlendFactor
  dstColorBlendFactor*: VkBlendFactor
  colorBlendOp*: VkBlendOp
  srcAlphaBlendFactor*: VkBlendFactor
  dstAlphaBlendFactor*: VkBlendFactor
  alphaBlendOp*: VkBlendOp
  colorWriteMask*: VkColorComponentFlags
VkPipelineColorBlendStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineColorBlendStateCreateFlags
  logicOpEnable*: VkBool32
  logicOp*: VkLogicOp
  attachmentCount*: uint32
  pAttachments*: ptr VkPipelineColorBlendAttachmentState
  blendConstants*: array[4, float32]
VkPipelineDynamicStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineDynamicStateCreateFlags
  dynamicStateCount*: uint32
  pDynamicStates*: ptr VkDynamicState
VkStencilOpState = object
  failOp*: VkStencilOp
  passOp*: VkStencilOp
  depthFailOp*: VkStencilOp
  compareOp*: VkCompareOp
  compareMask*: uint32
  writeMask*: uint32
  reference*: uint32
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
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
VkPipelineCacheCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineCacheCreateFlags
  initialDataSize*: uint
  pInitialData*: pointer
VkPushConstantRange = object
  stageFlags*: VkShaderStageFlags
  offset*: uint32
  size*: uint32
VkPipelineLayoutCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineLayoutCreateFlags
  setLayoutCount*: uint32
  pSetLayouts*: ptr VkDescriptorSetLayout
  pushConstantRangeCount*: uint32
  pPushConstantRanges*: ptr VkPushConstantRange
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
VkCommandPoolCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkCommandPoolCreateFlags
  queueFamilyIndex*: uint32
VkCommandBufferAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  commandPool*: VkCommandPool
  level*: VkCommandBufferLevel
  commandBufferCount*: uint32
VkCommandBufferInheritanceInfo = object
  sType*: VkStructureType
  pNext*: pointer
  renderPass*: VkRenderPass
  subpass*: uint32
  framebuffer*: VkFramebuffer
  occlusionQueryEnable*: VkBool32
  queryFlags*: VkQueryControlFlags
  pipelineStatistics*: VkQueryPipelineStatisticFlags
VkCommandBufferBeginInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkCommandBufferUsageFlags
  pInheritanceInfo*: ptr VkCommandBufferInheritanceInfo
VkRenderPassBeginInfo = object
  sType*: VkStructureType
  pNext*: pointer
  renderPass*: VkRenderPass
  framebuffer*: VkFramebuffer
  renderArea*: VkRect2D
  clearValueCount*: uint32
  pClearValues*: ptr VkClearValue
VkClearColorValue {...}{.union.} = object
  float32*: array[4, float32]
  int32*: array[4, int32]
  uint32*: array[4, uint32]
VkClearDepthStencilValue = object
  depth*: float32
  stencil*: uint32
VkClearValue {...}{.union.} = object
  color*: VkClearColorValue
  depthStencil*: VkClearDepthStencilValue
VkClearAttachment = object
  aspectMask*: VkImageAspectFlags
  colorAttachment*: uint32
  clearValue*: VkClearValue
VkAttachmentDescription = object
  flags*: VkAttachmentDescriptionFlags
  format*: VkFormat
  samples*: VkSampleCountFlagBits
  loadOp*: VkAttachmentLoadOp
  storeOp*: VkAttachmentStoreOp
  stencilLoadOp*: VkAttachmentLoadOp
  stencilStoreOp*: VkAttachmentStoreOp
  initialLayout*: VkImageLayout
  finalLayout*: VkImageLayout
VkAttachmentReference = object
  attachment*: uint32
  layout*: VkImageLayout
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
VkSubpassDependency = object
  srcSubpass*: uint32
  dstSubpass*: uint32
  srcStageMask*: VkPipelineStageFlags
  dstStageMask*: VkPipelineStageFlags
  srcAccessMask*: VkAccessFlags
  dstAccessMask*: VkAccessFlags
  dependencyFlags*: VkDependencyFlags
VkRenderPassCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkRenderPassCreateFlags
  attachmentCount*: uint32
  pAttachments*: ptr VkAttachmentDescription
  subpassCount*: uint32
  pSubpasses*: ptr VkSubpassDescription
  dependencyCount*: uint32
  pDependencies*: ptr VkSubpassDependency
VkEventCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkEventCreateFlags
VkFenceCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkFenceCreateFlags
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
VkPhysicalDeviceSparseProperties = object
  residencyStandard2DBlockShape*: VkBool32
  residencyStandard2DMultisampleBlockShape*: VkBool32
  residencyStandard3DBlockShape*: VkBool32
  residencyAlignedMipSize*: VkBool32
  residencyNonResidentStrict*: 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*: uint
  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
VkSemaphoreCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkSemaphoreCreateFlags
VkQueryPoolCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkQueryPoolCreateFlags
  queryType*: VkQueryType
  queryCount*: uint32
  pipelineStatistics*: VkQueryPipelineStatisticFlags
VkFramebufferCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkFramebufferCreateFlags
  renderPass*: VkRenderPass
  attachmentCount*: uint32
  pAttachments*: ptr VkImageView
  width*: uint32
  height*: uint32
  layers*: uint32
VkDrawIndirectCommand = object
  vertexCount*: uint32
  instanceCount*: uint32
  firstVertex*: uint32
  firstInstance*: uint32
VkDrawIndexedIndirectCommand = object
  indexCount*: uint32
  instanceCount*: uint32
  firstIndex*: uint32
  vertexOffset*: int32
  firstInstance*: uint32
VkDispatchIndirectCommand = object
  x*: uint32
  y*: uint32
  z*: uint32
VkSubmitInfo = object
  sType*: VkStructureType
  pNext*: pointer
  waitSemaphoreCount*: uint32
  pWaitSemaphores*: ptr VkSemaphore
  pWaitDstStageMask*: ptr VkPipelineStageFlags
  commandBufferCount*: uint32
  pCommandBuffers*: ptr VkCommandBuffer
  signalSemaphoreCount*: uint32
  pSignalSemaphores*: ptr VkSemaphore
VkDisplayPropertiesKHR = object
  display*: VkDisplayKHR
  displayName*: cstring
  physicalDimensions*: VkExtent2D
  physicalResolution*: VkExtent2D
  supportedTransforms*: VkSurfaceTransformFlagsKHR
  planeReorderPossible*: VkBool32
  persistentContent*: VkBool32
VkDisplayPlanePropertiesKHR = object
  currentDisplay*: VkDisplayKHR
  currentStackIndex*: uint32
VkDisplayModeParametersKHR = object
  visibleRegion*: VkExtent2D
  refreshRate*: uint32
VkDisplayModePropertiesKHR = object
  displayMode*: VkDisplayModeKHR
  parameters*: VkDisplayModeParametersKHR
VkDisplayModeCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDisplayModeCreateFlagsKHR
  parameters*: VkDisplayModeParametersKHR
VkDisplayPlaneCapabilitiesKHR = object
  supportedAlpha*: VkDisplayPlaneAlphaFlagsKHR
  minSrcPosition*: VkOffset2D
  maxSrcPosition*: VkOffset2D
  minSrcExtent*: VkExtent2D
  maxSrcExtent*: VkExtent2D
  minDstPosition*: VkOffset2D
  maxDstPosition*: VkOffset2D
  minDstExtent*: VkExtent2D
  maxDstExtent*: VkExtent2D
VkDisplaySurfaceCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDisplaySurfaceCreateFlagsKHR
  displayMode*: VkDisplayModeKHR
  planeIndex*: uint32
  planeStackIndex*: uint32
  transform*: VkSurfaceTransformFlagBitsKHR
  globalAlpha*: float32
  alphaMode*: VkDisplayPlaneAlphaFlagBitsKHR
  imageExtent*: VkExtent2D
VkDisplayPresentInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  srcRect*: VkRect2D
  dstRect*: VkRect2D
  persistent*: VkBool32
VkSurfaceCapabilitiesKHR = object
  minImageCount*: uint32
  maxImageCount*: uint32
  currentExtent*: VkExtent2D
  minImageExtent*: VkExtent2D
  maxImageExtent*: VkExtent2D
  maxImageArrayLayers*: uint32
  supportedTransforms*: VkSurfaceTransformFlagsKHR
  currentTransform*: VkSurfaceTransformFlagBitsKHR
  supportedCompositeAlpha*: VkCompositeAlphaFlagsKHR
  supportedUsageFlags*: VkImageUsageFlags
VkAndroidSurfaceCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkAndroidSurfaceCreateFlagsKHR
  window*: ptr ANativeWindow
VkViSurfaceCreateInfoNN = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkViSurfaceCreateFlagsNN
  window*: pointer
VkWaylandSurfaceCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkWaylandSurfaceCreateFlagsKHR
  display*: ptr wl_display
  surface*: ptr wl_surface
VkWin32SurfaceCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkWin32SurfaceCreateFlagsKHR
  hinstance*: HINSTANCE
  hwnd*: HWND
VkXlibSurfaceCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkXlibSurfaceCreateFlagsKHR
  dpy*: ptr Display
  window*: Window
VkXcbSurfaceCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkXcbSurfaceCreateFlagsKHR
  connection*: ptr xcb_connection_t
  window*: xcb_window_t
VkDirectFBSurfaceCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDirectFBSurfaceCreateFlagsEXT
  dfb*: ptr IDirectFB
  surface*: ptr IDirectFBSurface
VkImagePipeSurfaceCreateInfoFUCHSIA = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkImagePipeSurfaceCreateFlagsFUCHSIA
  imagePipeHandle*: zx_handle_t
VkStreamDescriptorSurfaceCreateInfoGGP = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkStreamDescriptorSurfaceCreateFlagsGGP
  streamDescriptor*: GgpStreamDescriptor
VkSurfaceFormatKHR = object
  format*: VkFormat
  colorSpace*: VkColorSpaceKHR
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
VkPresentInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  waitSemaphoreCount*: uint32
  pWaitSemaphores*: ptr VkSemaphore
  swapchainCount*: uint32
  pSwapchains*: ptr VkSwapchainKHR
  pImageIndices*: ptr uint32
  pResults*: ptr VkResult
VkDebugReportCallbackCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDebugReportFlagsEXT
  pfnCallback*: PFN_vkDebugReportCallbackEXT
  pUserData*: pointer
VkValidationFlagsEXT = object
  sType*: VkStructureType
  pNext*: pointer
  disabledValidationCheckCount*: uint32
  pDisabledValidationChecks*: ptr VkValidationCheckEXT
VkValidationFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  enabledValidationFeatureCount*: uint32
  pEnabledValidationFeatures*: ptr VkValidationFeatureEnableEXT
  disabledValidationFeatureCount*: uint32
  pDisabledValidationFeatures*: ptr VkValidationFeatureDisableEXT
VkPipelineRasterizationStateRasterizationOrderAMD = object
  sType*: VkStructureType
  pNext*: pointer
  rasterizationOrder*: VkRasterizationOrderAMD
VkDebugMarkerObjectNameInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  objectType*: VkDebugReportObjectTypeEXT
  `object`*: uint64
  pObjectName*: cstring
VkDebugMarkerObjectTagInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  objectType*: VkDebugReportObjectTypeEXT
  `object`*: uint64
  tagName*: uint64
  tagSize*: uint
  pTag*: pointer
VkDebugMarkerMarkerInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pMarkerName*: cstring
  color*: array[4, float32]
VkDedicatedAllocationImageCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  dedicatedAllocation*: VkBool32
VkDedicatedAllocationBufferCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  dedicatedAllocation*: VkBool32
VkDedicatedAllocationMemoryAllocateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  image*: VkImage
  buffer*: VkBuffer
VkExternalImageFormatPropertiesNV = object
  imageFormatProperties*: VkImageFormatProperties
  externalMemoryFeatures*: VkExternalMemoryFeatureFlagsNV
  exportFromImportedHandleTypes*: VkExternalMemoryHandleTypeFlagsNV
  compatibleHandleTypes*: VkExternalMemoryHandleTypeFlagsNV
VkExternalMemoryImageCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  handleTypes*: VkExternalMemoryHandleTypeFlagsNV
VkExportMemoryAllocateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  handleTypes*: VkExternalMemoryHandleTypeFlagsNV
VkImportMemoryWin32HandleInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  handleType*: VkExternalMemoryHandleTypeFlagsNV
  handle*: HANDLE
VkExportMemoryWin32HandleInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  pAttributes*: ptr SECURITY_ATTRIBUTES
  dwAccess*: DWORD
VkWin32KeyedMutexAcquireReleaseInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  acquireCount*: uint32
  pAcquireSyncs*: ptr VkDeviceMemory
  pAcquireKeys*: ptr uint64
  pAcquireTimeoutMilliseconds*: ptr uint32
  releaseCount*: uint32
  pReleaseSyncs*: ptr VkDeviceMemory
  pReleaseKeys*: ptr uint64
VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  deviceGeneratedCommands*: VkBool32
VkDevicePrivateDataCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  privateDataSlotRequestCount*: uint32
VkPrivateDataSlotCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPrivateDataSlotCreateFlagsEXT
VkPhysicalDevicePrivateDataFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  privateData*: 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
VkGraphicsShaderGroupCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  stageCount*: uint32
  pStages*: ptr VkPipelineShaderStageCreateInfo
  pVertexInputState*: ptr VkPipelineVertexInputStateCreateInfo
  pTessellationState*: ptr VkPipelineTessellationStateCreateInfo
VkGraphicsPipelineShaderGroupsCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  groupCount*: uint32
  pGroups*: ptr VkGraphicsShaderGroupCreateInfoNV
  pipelineCount*: uint32
  pPipelines*: ptr VkPipeline
VkBindShaderGroupIndirectCommandNV = object
  groupIndex*: uint32
VkBindIndexBufferIndirectCommandNV = object
  bufferAddress*: VkDeviceAddress
  size*: uint32
  indexType*: VkIndexType
VkBindVertexBufferIndirectCommandNV = object
  bufferAddress*: VkDeviceAddress
  size*: uint32
  stride*: uint32
VkSetStateFlagsIndirectCommandNV = object
  data*: uint32
VkIndirectCommandsStreamNV = object
  buffer*: VkBuffer
  offset*: VkDeviceSize
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
VkIndirectCommandsLayoutCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkIndirectCommandsLayoutUsageFlagsNV
  pipelineBindPoint*: VkPipelineBindPoint
  tokenCount*: uint32
  pTokens*: ptr VkIndirectCommandsLayoutTokenNV
  streamCount*: uint32
  pStreamStrides*: ptr uint32
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
VkPhysicalDeviceFeatures2 = object
  sType*: VkStructureType
  pNext*: pointer
  features*: VkPhysicalDeviceFeatures
VkPhysicalDeviceFeatures2KHR = object
VkPhysicalDeviceProperties2 = object
  sType*: VkStructureType
  pNext*: pointer
  properties*: VkPhysicalDeviceProperties
VkPhysicalDeviceProperties2KHR = object
VkFormatProperties2 = object
  sType*: VkStructureType
  pNext*: pointer
  formatProperties*: VkFormatProperties
VkFormatProperties2KHR = object
VkImageFormatProperties2 = object
  sType*: VkStructureType
  pNext*: pointer
  imageFormatProperties*: VkImageFormatProperties
VkImageFormatProperties2KHR = object
VkPhysicalDeviceImageFormatInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  format*: VkFormat
  `type`*: VkImageType
  tiling*: VkImageTiling
  usage*: VkImageUsageFlags
  flags*: VkImageCreateFlags
VkPhysicalDeviceImageFormatInfo2KHR = object
VkQueueFamilyProperties2 = object
  sType*: VkStructureType
  pNext*: pointer
  queueFamilyProperties*: VkQueueFamilyProperties
VkQueueFamilyProperties2KHR = object
VkPhysicalDeviceMemoryProperties2 = object
  sType*: VkStructureType
  pNext*: pointer
  memoryProperties*: VkPhysicalDeviceMemoryProperties
VkPhysicalDeviceMemoryProperties2KHR = object
VkSparseImageFormatProperties2 = object
  sType*: VkStructureType
  pNext*: pointer
  properties*: VkSparseImageFormatProperties
VkSparseImageFormatProperties2KHR = object
VkPhysicalDeviceSparseImageFormatInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  format*: VkFormat
  `type`*: VkImageType
  samples*: VkSampleCountFlagBits
  usage*: VkImageUsageFlags
  tiling*: VkImageTiling
VkPhysicalDeviceSparseImageFormatInfo2KHR = object
VkPhysicalDevicePushDescriptorPropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  maxPushDescriptors*: uint32
VkConformanceVersion = object
  major*: uint8
  minor*: uint8
  subminor*: uint8
  patch*: uint8
VkConformanceVersionKHR = object
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
VkPhysicalDeviceDriverPropertiesKHR = object
VkPresentRegionsKHR = object
  sType*: VkStructureType
  pNext*: pointer
  swapchainCount*: uint32
  pRegions*: ptr VkPresentRegionKHR
VkPresentRegionKHR = object
  rectangleCount*: uint32
  pRectangles*: ptr VkRectLayerKHR
VkRectLayerKHR = object
  offset*: VkOffset2D
  extent*: VkExtent2D
  layer*: uint32
VkPhysicalDeviceVariablePointersFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  variablePointersStorageBuffer*: VkBool32
  variablePointers*: VkBool32
VkPhysicalDeviceVariablePointersFeaturesKHR = object
VkPhysicalDeviceVariablePointerFeaturesKHR = object
VkPhysicalDeviceVariablePointerFeatures = object
VkExternalMemoryProperties = object
  externalMemoryFeatures*: VkExternalMemoryFeatureFlags
  exportFromImportedHandleTypes*: VkExternalMemoryHandleTypeFlags
  compatibleHandleTypes*: VkExternalMemoryHandleTypeFlags
VkExternalMemoryPropertiesKHR = object
VkPhysicalDeviceExternalImageFormatInfo = object
  sType*: VkStructureType
  pNext*: pointer
  handleType*: VkExternalMemoryHandleTypeFlagBits
VkPhysicalDeviceExternalImageFormatInfoKHR = object
VkExternalImageFormatProperties = object
  sType*: VkStructureType
  pNext*: pointer
  externalMemoryProperties*: VkExternalMemoryProperties
VkExternalImageFormatPropertiesKHR = object
VkPhysicalDeviceExternalBufferInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkBufferCreateFlags
  usage*: VkBufferUsageFlags
  handleType*: VkExternalMemoryHandleTypeFlagBits
VkPhysicalDeviceExternalBufferInfoKHR = object
VkExternalBufferProperties = object
  sType*: VkStructureType
  pNext*: pointer
  externalMemoryProperties*: VkExternalMemoryProperties
VkExternalBufferPropertiesKHR = object
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
VkPhysicalDeviceIDPropertiesKHR = object
VkExternalMemoryImageCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  handleTypes*: VkExternalMemoryHandleTypeFlags
VkExternalMemoryImageCreateInfoKHR = object
VkExternalMemoryBufferCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  handleTypes*: VkExternalMemoryHandleTypeFlags
VkExternalMemoryBufferCreateInfoKHR = object
VkExportMemoryAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  handleTypes*: VkExternalMemoryHandleTypeFlags
VkExportMemoryAllocateInfoKHR = object
VkImportMemoryWin32HandleInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  handleType*: VkExternalMemoryHandleTypeFlagBits
  handle*: HANDLE
  name*: LPCWSTR
VkExportMemoryWin32HandleInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  pAttributes*: ptr SECURITY_ATTRIBUTES
  dwAccess*: DWORD
  name*: LPCWSTR
VkMemoryWin32HandlePropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  memoryTypeBits*: uint32
VkMemoryGetWin32HandleInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  memory*: VkDeviceMemory
  handleType*: VkExternalMemoryHandleTypeFlagBits
VkImportMemoryFdInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  handleType*: VkExternalMemoryHandleTypeFlagBits
  fd*: int
VkMemoryFdPropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  memoryTypeBits*: uint32
VkMemoryGetFdInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  memory*: VkDeviceMemory
  handleType*: VkExternalMemoryHandleTypeFlagBits
VkWin32KeyedMutexAcquireReleaseInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  acquireCount*: uint32
  pAcquireSyncs*: ptr VkDeviceMemory
  pAcquireKeys*: ptr uint64
  pAcquireTimeouts*: ptr uint32
  releaseCount*: uint32
  pReleaseSyncs*: ptr VkDeviceMemory
  pReleaseKeys*: ptr uint64
VkPhysicalDeviceExternalSemaphoreInfo = object
  sType*: VkStructureType
  pNext*: pointer
  handleType*: VkExternalSemaphoreHandleTypeFlagBits
VkPhysicalDeviceExternalSemaphoreInfoKHR = object
VkExternalSemaphoreProperties = object
  sType*: VkStructureType
  pNext*: pointer
  exportFromImportedHandleTypes*: VkExternalSemaphoreHandleTypeFlags
  compatibleHandleTypes*: VkExternalSemaphoreHandleTypeFlags
  externalSemaphoreFeatures*: VkExternalSemaphoreFeatureFlags
VkExternalSemaphorePropertiesKHR = object
VkExportSemaphoreCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  handleTypes*: VkExternalSemaphoreHandleTypeFlags
VkExportSemaphoreCreateInfoKHR = object
VkImportSemaphoreWin32HandleInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  semaphore*: VkSemaphore
  flags*: VkSemaphoreImportFlags
  handleType*: VkExternalSemaphoreHandleTypeFlagBits
  handle*: HANDLE
  name*: LPCWSTR
VkExportSemaphoreWin32HandleInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  pAttributes*: ptr SECURITY_ATTRIBUTES
  dwAccess*: DWORD
  name*: LPCWSTR
VkD3D12FenceSubmitInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  waitSemaphoreValuesCount*: uint32
  pWaitSemaphoreValues*: ptr uint64
  signalSemaphoreValuesCount*: uint32
  pSignalSemaphoreValues*: ptr uint64
VkSemaphoreGetWin32HandleInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  semaphore*: VkSemaphore
  handleType*: VkExternalSemaphoreHandleTypeFlagBits
VkImportSemaphoreFdInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  semaphore*: VkSemaphore
  flags*: VkSemaphoreImportFlags
  handleType*: VkExternalSemaphoreHandleTypeFlagBits
  fd*: int
VkSemaphoreGetFdInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  semaphore*: VkSemaphore
  handleType*: VkExternalSemaphoreHandleTypeFlagBits
VkPhysicalDeviceExternalFenceInfo = object
  sType*: VkStructureType
  pNext*: pointer
  handleType*: VkExternalFenceHandleTypeFlagBits
VkPhysicalDeviceExternalFenceInfoKHR = object
VkExternalFenceProperties = object
  sType*: VkStructureType
  pNext*: pointer
  exportFromImportedHandleTypes*: VkExternalFenceHandleTypeFlags
  compatibleHandleTypes*: VkExternalFenceHandleTypeFlags
  externalFenceFeatures*: VkExternalFenceFeatureFlags
VkExternalFencePropertiesKHR = object
VkExportFenceCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  handleTypes*: VkExternalFenceHandleTypeFlags
VkExportFenceCreateInfoKHR = object
VkImportFenceWin32HandleInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  fence*: VkFence
  flags*: VkFenceImportFlags
  handleType*: VkExternalFenceHandleTypeFlagBits
  handle*: HANDLE
  name*: LPCWSTR
VkExportFenceWin32HandleInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  pAttributes*: ptr SECURITY_ATTRIBUTES
  dwAccess*: DWORD
  name*: LPCWSTR
VkFenceGetWin32HandleInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  fence*: VkFence
  handleType*: VkExternalFenceHandleTypeFlagBits
VkImportFenceFdInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  fence*: VkFence
  flags*: VkFenceImportFlags
  handleType*: VkExternalFenceHandleTypeFlagBits
  fd*: int
VkFenceGetFdInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  fence*: VkFence
  handleType*: VkExternalFenceHandleTypeFlagBits
VkPhysicalDeviceMultiviewFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  multiview*: VkBool32
  multiviewGeometryShader*: VkBool32
  multiviewTessellationShader*: VkBool32
VkPhysicalDeviceMultiviewFeaturesKHR = object
VkPhysicalDeviceMultiviewProperties = object
  sType*: VkStructureType
  pNext*: pointer
  maxMultiviewViewCount*: uint32
  maxMultiviewInstanceIndex*: uint32
VkPhysicalDeviceMultiviewPropertiesKHR = object
VkRenderPassMultiviewCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  subpassCount*: uint32
  pViewMasks*: ptr uint32
  dependencyCount*: uint32
  pViewOffsets*: ptr int32
  correlationMaskCount*: uint32
  pCorrelationMasks*: ptr uint32
VkRenderPassMultiviewCreateInfoKHR = object
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
VkDisplayPowerInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  powerState*: VkDisplayPowerStateEXT
VkDeviceEventInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  deviceEvent*: VkDeviceEventTypeEXT
VkDisplayEventInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  displayEvent*: VkDisplayEventTypeEXT
VkSwapchainCounterCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  surfaceCounters*: VkSurfaceCounterFlagsEXT
VkPhysicalDeviceGroupProperties = object
  sType*: VkStructureType
  pNext*: pointer
  physicalDeviceCount*: uint32
  physicalDevices*: array[VK_MAX_DEVICE_GROUP_SIZE, VkPhysicalDevice]
  subsetAllocation*: VkBool32
VkPhysicalDeviceGroupPropertiesKHR = object
VkMemoryAllocateFlagsInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkMemoryAllocateFlags
  deviceMask*: uint32
VkMemoryAllocateFlagsInfoKHR = object
VkBindBufferMemoryInfo = object
  sType*: VkStructureType
  pNext*: pointer
  buffer*: VkBuffer
  memory*: VkDeviceMemory
  memoryOffset*: VkDeviceSize
VkBindBufferMemoryInfoKHR = object
VkBindBufferMemoryDeviceGroupInfo = object
  sType*: VkStructureType
  pNext*: pointer
  deviceIndexCount*: uint32
  pDeviceIndices*: ptr uint32
VkBindBufferMemoryDeviceGroupInfoKHR = object
VkBindImageMemoryInfo = object
  sType*: VkStructureType
  pNext*: pointer
  image*: VkImage
  memory*: VkDeviceMemory
  memoryOffset*: VkDeviceSize
VkBindImageMemoryInfoKHR = object
VkBindImageMemoryDeviceGroupInfo = object
  sType*: VkStructureType
  pNext*: pointer
  deviceIndexCount*: uint32
  pDeviceIndices*: ptr uint32
  splitInstanceBindRegionCount*: uint32
  pSplitInstanceBindRegions*: ptr VkRect2D
VkBindImageMemoryDeviceGroupInfoKHR = object
VkDeviceGroupRenderPassBeginInfo = object
  sType*: VkStructureType
  pNext*: pointer
  deviceMask*: uint32
  deviceRenderAreaCount*: uint32
  pDeviceRenderAreas*: ptr VkRect2D
VkDeviceGroupRenderPassBeginInfoKHR = object
VkDeviceGroupCommandBufferBeginInfo = object
  sType*: VkStructureType
  pNext*: pointer
  deviceMask*: uint32
VkDeviceGroupCommandBufferBeginInfoKHR = object
VkDeviceGroupSubmitInfo = object
  sType*: VkStructureType
  pNext*: pointer
  waitSemaphoreCount*: uint32
  pWaitSemaphoreDeviceIndices*: ptr uint32
  commandBufferCount*: uint32
  pCommandBufferDeviceMasks*: ptr uint32
  signalSemaphoreCount*: uint32
  pSignalSemaphoreDeviceIndices*: ptr uint32
VkDeviceGroupSubmitInfoKHR = object
VkDeviceGroupBindSparseInfo = object
  sType*: VkStructureType
  pNext*: pointer
  resourceDeviceIndex*: uint32
  memoryDeviceIndex*: uint32
VkDeviceGroupBindSparseInfoKHR = object
VkDeviceGroupPresentCapabilitiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  presentMask*: array[VK_MAX_DEVICE_GROUP_SIZE, uint32]
  modes*: VkDeviceGroupPresentModeFlagsKHR
VkImageSwapchainCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  swapchain*: VkSwapchainKHR
VkBindImageMemorySwapchainInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  swapchain*: VkSwapchainKHR
  imageIndex*: uint32
VkAcquireNextImageInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  swapchain*: VkSwapchainKHR
  timeout*: uint64
  semaphore*: VkSemaphore
  fence*: VkFence
  deviceMask*: uint32
VkDeviceGroupPresentInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  swapchainCount*: uint32
  pDeviceMasks*: ptr uint32
  mode*: VkDeviceGroupPresentModeFlagBitsKHR
VkDeviceGroupDeviceCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  physicalDeviceCount*: uint32
  pPhysicalDevices*: ptr VkPhysicalDevice
VkDeviceGroupDeviceCreateInfoKHR = object
VkDeviceGroupSwapchainCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  modes*: VkDeviceGroupPresentModeFlagsKHR
VkDescriptorUpdateTemplateEntry = object
  dstBinding*: uint32
  dstArrayElement*: uint32
  descriptorCount*: uint32
  descriptorType*: VkDescriptorType
  offset*: uint
  stride*: uint
VkDescriptorUpdateTemplateEntryKHR = object
VkDescriptorUpdateTemplateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDescriptorUpdateTemplateCreateFlags
  descriptorUpdateEntryCount*: uint32
  pDescriptorUpdateEntries*: ptr VkDescriptorUpdateTemplateEntry
  templateType*: VkDescriptorUpdateTemplateType
  descriptorSetLayout*: VkDescriptorSetLayout
  pipelineBindPoint*: VkPipelineBindPoint
  pipelineLayout*: VkPipelineLayout
  set*: uint32
VkDescriptorUpdateTemplateCreateInfoKHR = object
VkXYColorEXT = object
  x*: float32
  y*: float32
VkHdrMetadataEXT = object
  sType*: VkStructureType
  pNext*: pointer
  displayPrimaryRed*: VkXYColorEXT
  displayPrimaryGreen*: VkXYColorEXT
  displayPrimaryBlue*: VkXYColorEXT
  whitePoint*: VkXYColorEXT
  maxLuminance*: float32
  minLuminance*: float32
  maxContentLightLevel*: float32
  maxFrameAverageLightLevel*: float32
VkDisplayNativeHdrSurfaceCapabilitiesAMD = object
  sType*: VkStructureType
  pNext*: pointer
  localDimmingSupport*: VkBool32
VkSwapchainDisplayNativeHdrCreateInfoAMD = object
  sType*: VkStructureType
  pNext*: pointer
  localDimmingEnable*: VkBool32
VkRefreshCycleDurationGOOGLE = object
  refreshDuration*: uint64
VkPastPresentationTimingGOOGLE = object
  presentID*: uint32
  desiredPresentTime*: uint64
  actualPresentTime*: uint64
  earliestPresentTime*: uint64
  presentMargin*: uint64
VkPresentTimesInfoGOOGLE = object
  sType*: VkStructureType
  pNext*: pointer
  swapchainCount*: uint32
  pTimes*: ptr VkPresentTimeGOOGLE
VkPresentTimeGOOGLE = object
  presentID*: uint32
  desiredPresentTime*: uint64
VkIOSSurfaceCreateInfoMVK = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkIOSSurfaceCreateFlagsMVK
  pView*: pointer
VkMacOSSurfaceCreateInfoMVK = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkMacOSSurfaceCreateFlagsMVK
  pView*: pointer
VkMetalSurfaceCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkMetalSurfaceCreateFlagsEXT
  pLayer*: ptr CAMetalLayer
VkViewportWScalingNV = object
  xcoeff*: float32
  ycoeff*: float32
VkPipelineViewportWScalingStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  viewportWScalingEnable*: VkBool32
  viewportCount*: uint32
  pViewportWScalings*: ptr VkViewportWScalingNV
VkViewportSwizzleNV = object
  x*: VkViewportCoordinateSwizzleNV
  y*: VkViewportCoordinateSwizzleNV
  z*: VkViewportCoordinateSwizzleNV
  w*: VkViewportCoordinateSwizzleNV
VkPipelineViewportSwizzleStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineViewportSwizzleStateCreateFlagsNV
  viewportCount*: uint32
  pViewportSwizzles*: ptr VkViewportSwizzleNV
VkPhysicalDeviceDiscardRectanglePropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxDiscardRectangles*: uint32
VkPipelineDiscardRectangleStateCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineDiscardRectangleStateCreateFlagsEXT
  discardRectangleMode*: VkDiscardRectangleModeEXT
  discardRectangleCount*: uint32
  pDiscardRectangles*: ptr VkRect2D
VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = object
  sType*: VkStructureType
  pNext*: pointer
  perViewPositionAllComponents*: VkBool32
VkInputAttachmentAspectReference = object
  subpass*: uint32
  inputAttachmentIndex*: uint32
  aspectMask*: VkImageAspectFlags
VkInputAttachmentAspectReferenceKHR = object
VkRenderPassInputAttachmentAspectCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  aspectReferenceCount*: uint32
  pAspectReferences*: ptr VkInputAttachmentAspectReference
VkRenderPassInputAttachmentAspectCreateInfoKHR = object
VkPhysicalDeviceSurfaceInfo2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  surface*: VkSurfaceKHR
VkSurfaceCapabilities2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  surfaceCapabilities*: VkSurfaceCapabilitiesKHR
VkSurfaceFormat2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  surfaceFormat*: VkSurfaceFormatKHR
VkDisplayProperties2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  displayProperties*: VkDisplayPropertiesKHR
VkDisplayPlaneProperties2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  displayPlaneProperties*: VkDisplayPlanePropertiesKHR
VkDisplayModeProperties2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  displayModeProperties*: VkDisplayModePropertiesKHR
VkDisplayPlaneInfo2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  mode*: VkDisplayModeKHR
  planeIndex*: uint32
VkDisplayPlaneCapabilities2KHR = object
  sType*: VkStructureType
  pNext*: pointer
  capabilities*: VkDisplayPlaneCapabilitiesKHR
VkSharedPresentSurfaceCapabilitiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  sharedPresentSupportedUsageFlags*: VkImageUsageFlags
VkPhysicalDevice16BitStorageFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  storageBuffer16BitAccess*: VkBool32
  uniformAndStorageBuffer16BitAccess*: VkBool32
  storagePushConstant16*: VkBool32
  storageInputOutput16*: VkBool32
VkPhysicalDevice16BitStorageFeaturesKHR = object
VkPhysicalDeviceSubgroupProperties = object
  sType*: VkStructureType
  pNext*: pointer
  subgroupSize*: uint32
  supportedStages*: VkShaderStageFlags
  supportedOperations*: VkSubgroupFeatureFlags
  quadOperationsInAllStages*: VkBool32
VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  shaderSubgroupExtendedTypes*: VkBool32
VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR = object
VkBufferMemoryRequirementsInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  buffer*: VkBuffer
VkBufferMemoryRequirementsInfo2KHR = object
VkImageMemoryRequirementsInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  image*: VkImage
VkImageMemoryRequirementsInfo2KHR = object
VkImageSparseMemoryRequirementsInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  image*: VkImage
VkImageSparseMemoryRequirementsInfo2KHR = object
VkMemoryRequirements2 = object
  sType*: VkStructureType
  pNext*: pointer
  memoryRequirements*: VkMemoryRequirements
VkMemoryRequirements2KHR = object
VkSparseImageMemoryRequirements2 = object
  sType*: VkStructureType
  pNext*: pointer
  memoryRequirements*: VkSparseImageMemoryRequirements
VkSparseImageMemoryRequirements2KHR = object
VkPhysicalDevicePointClippingProperties = object
  sType*: VkStructureType
  pNext*: pointer
  pointClippingBehavior*: VkPointClippingBehavior
VkPhysicalDevicePointClippingPropertiesKHR = object
VkMemoryDedicatedRequirements = object
  sType*: VkStructureType
  pNext*: pointer
  prefersDedicatedAllocation*: VkBool32
  requiresDedicatedAllocation*: VkBool32
VkMemoryDedicatedRequirementsKHR = object
VkMemoryDedicatedAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  image*: VkImage
  buffer*: VkBuffer
VkMemoryDedicatedAllocateInfoKHR = object
VkImageViewUsageCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  usage*: VkImageUsageFlags
VkImageViewUsageCreateInfoKHR = object
VkPipelineTessellationDomainOriginStateCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  domainOrigin*: VkTessellationDomainOrigin
VkPipelineTessellationDomainOriginStateCreateInfoKHR = object
VkSamplerYcbcrConversionInfo = object
  sType*: VkStructureType
  pNext*: pointer
  conversion*: VkSamplerYcbcrConversion
VkSamplerYcbcrConversionInfoKHR = object
VkSamplerYcbcrConversionCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  format*: VkFormat
  ycbcrModel*: VkSamplerYcbcrModelConversion
  ycbcrRange*: VkSamplerYcbcrRange
  components*: VkComponentMapping
  xChromaOffset*: VkChromaLocation
  yChromaOffset*: VkChromaLocation
  chromaFilter*: VkFilter
  forceExplicitReconstruction*: VkBool32
VkSamplerYcbcrConversionCreateInfoKHR = object
VkBindImagePlaneMemoryInfo = object
  sType*: VkStructureType
  pNext*: pointer
  planeAspect*: VkImageAspectFlagBits
VkBindImagePlaneMemoryInfoKHR = object
VkImagePlaneMemoryRequirementsInfo = object
  sType*: VkStructureType
  pNext*: pointer
  planeAspect*: VkImageAspectFlagBits
VkImagePlaneMemoryRequirementsInfoKHR = object
VkPhysicalDeviceSamplerYcbcrConversionFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  samplerYcbcrConversion*: VkBool32
VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = object
VkSamplerYcbcrConversionImageFormatProperties = object
  sType*: VkStructureType
  pNext*: pointer
  combinedImageSamplerDescriptorCount*: uint32
VkSamplerYcbcrConversionImageFormatPropertiesKHR = object
VkTextureLODGatherFormatPropertiesAMD = object
  sType*: VkStructureType
  pNext*: pointer
  supportsTextureGatherLODBiasAMD*: VkBool32
VkConditionalRenderingBeginInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  buffer*: VkBuffer
  offset*: VkDeviceSize
  flags*: VkConditionalRenderingFlagsEXT
VkProtectedSubmitInfo = object
  sType*: VkStructureType
  pNext*: pointer
  protectedSubmit*: VkBool32
VkPhysicalDeviceProtectedMemoryFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  protectedMemory*: VkBool32
VkPhysicalDeviceProtectedMemoryProperties = object
  sType*: VkStructureType
  pNext*: pointer
  protectedNoFault*: VkBool32
VkDeviceQueueInfo2 = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDeviceQueueCreateFlags
  queueFamilyIndex*: uint32
  queueIndex*: uint32
VkPipelineCoverageToColorStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineCoverageToColorStateCreateFlagsNV
  coverageToColorEnable*: VkBool32
  coverageToColorLocation*: uint32
VkPhysicalDeviceSamplerFilterMinmaxProperties = object
  sType*: VkStructureType
  pNext*: pointer
  filterMinmaxSingleComponentFormats*: VkBool32
  filterMinmaxImageComponentMapping*: VkBool32
VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT = object
VkSampleLocationEXT = object
  x*: float32
  y*: float32
VkSampleLocationsInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  sampleLocationsPerPixel*: VkSampleCountFlagBits
  sampleLocationGridSize*: VkExtent2D
  sampleLocationsCount*: uint32
  pSampleLocations*: ptr VkSampleLocationEXT
VkAttachmentSampleLocationsEXT = object
  attachmentIndex*: uint32
  sampleLocationsInfo*: VkSampleLocationsInfoEXT
VkSubpassSampleLocationsEXT = object
  subpassIndex*: uint32
  sampleLocationsInfo*: VkSampleLocationsInfoEXT
VkRenderPassSampleLocationsBeginInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  attachmentInitialSampleLocationsCount*: uint32
  pAttachmentInitialSampleLocations*: ptr VkAttachmentSampleLocationsEXT
  postSubpassSampleLocationsCount*: uint32
  pPostSubpassSampleLocations*: ptr VkSubpassSampleLocationsEXT
VkPipelineSampleLocationsStateCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  sampleLocationsEnable*: VkBool32
  sampleLocationsInfo*: VkSampleLocationsInfoEXT
VkPhysicalDeviceSampleLocationsPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  sampleLocationSampleCounts*: VkSampleCountFlags
  maxSampleLocationGridSize*: VkExtent2D
  sampleLocationCoordinateRange*: array[2, float32]
  sampleLocationSubPixelBits*: uint32
  variableSampleLocations*: VkBool32
VkMultisamplePropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxSampleLocationGridSize*: VkExtent2D
VkSamplerReductionModeCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  reductionMode*: VkSamplerReductionMode
VkSamplerReductionModeCreateInfoEXT = object
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
VkPipelineColorBlendAdvancedStateCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  srcPremultiplied*: VkBool32
  dstPremultiplied*: VkBool32
  blendOverlap*: VkBlendOverlapEXT
VkPhysicalDeviceInlineUniformBlockFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  inlineUniformBlock*: VkBool32
  descriptorBindingInlineUniformBlockUpdateAfterBind*: VkBool32
VkPhysicalDeviceInlineUniformBlockPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxInlineUniformBlockSize*: uint32
  maxPerStageDescriptorInlineUniformBlocks*: uint32
  maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks*: uint32
  maxDescriptorSetInlineUniformBlocks*: uint32
  maxDescriptorSetUpdateAfterBindInlineUniformBlocks*: uint32
VkWriteDescriptorSetInlineUniformBlockEXT = object
  sType*: VkStructureType
  pNext*: pointer
  dataSize*: uint32
  pData*: pointer
VkDescriptorPoolInlineUniformBlockCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxInlineUniformBlockBindings*: uint32
VkPipelineCoverageModulationStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineCoverageModulationStateCreateFlagsNV
  coverageModulationMode*: VkCoverageModulationModeNV
  coverageModulationTableEnable*: VkBool32
  coverageModulationTableCount*: uint32
  pCoverageModulationTable*: ptr float32
VkImageFormatListCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  viewFormatCount*: uint32
  pViewFormats*: ptr VkFormat
VkImageFormatListCreateInfoKHR = object
VkValidationCacheCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkValidationCacheCreateFlagsEXT
  initialDataSize*: uint
  pInitialData*: pointer
VkShaderModuleValidationCacheCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  validationCache*: VkValidationCacheEXT
VkPhysicalDeviceMaintenance3Properties = object
  sType*: VkStructureType
  pNext*: pointer
  maxPerSetDescriptors*: uint32
  maxMemoryAllocationSize*: VkDeviceSize
VkPhysicalDeviceMaintenance3PropertiesKHR = object
VkDescriptorSetLayoutSupport = object
  sType*: VkStructureType
  pNext*: pointer
  supported*: VkBool32
VkDescriptorSetLayoutSupportKHR = object
VkPhysicalDeviceShaderDrawParametersFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  shaderDrawParameters*: VkBool32
VkPhysicalDeviceShaderDrawParameterFeatures = object
VkPhysicalDeviceShaderFloat16Int8Features = object
  sType*: VkStructureType
  pNext*: pointer
  shaderFloat16*: VkBool32
  shaderInt8*: VkBool32
VkPhysicalDeviceShaderFloat16Int8FeaturesKHR = object
VkPhysicalDeviceFloat16Int8FeaturesKHR = object
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
VkPhysicalDeviceFloatControlsPropertiesKHR = object
VkPhysicalDeviceHostQueryResetFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  hostQueryReset*: VkBool32
VkPhysicalDeviceHostQueryResetFeaturesEXT = object
VkNativeBufferUsage2ANDROID = object
  consumer*: uint64
  producer*: uint64
VkNativeBufferANDROID = object
  sType*: VkStructureType
  pNext*: pointer
  handle*: pointer
  stride*: int
  format*: int
  usage*: int
  usage2*: VkNativeBufferUsage2ANDROID
VkSwapchainImageCreateInfoANDROID = object
  sType*: VkStructureType
  pNext*: pointer
  usage*: VkSwapchainImageUsageFlagsANDROID
VkPhysicalDevicePresentationPropertiesANDROID = object
  sType*: VkStructureType
  pNext*: pointer
  sharedImage*: VkBool32
VkShaderResourceUsageAMD = object
  numUsedVgprs*: uint32
  numUsedSgprs*: uint32
  ldsSizePerLocalWorkGroup*: uint32
  ldsUsageSizeInBytes*: uint
  scratchMemUsageInBytes*: uint
VkShaderStatisticsInfoAMD = object
  shaderStageMask*: VkShaderStageFlags
  resourceUsage*: VkShaderResourceUsageAMD
  numPhysicalVgprs*: uint32
  numPhysicalSgprs*: uint32
  numAvailableVgprs*: uint32
  numAvailableSgprs*: uint32
  computeWorkGroupSize*: array[3, uint32]
VkDeviceQueueGlobalPriorityCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  globalPriority*: VkQueueGlobalPriorityEXT
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*: uint
  pTag*: pointer
VkDebugUtilsLabelEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pLabelName*: cstring
  color*: array[4, float32]
VkDebugUtilsMessengerCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDebugUtilsMessengerCreateFlagsEXT
  messageSeverity*: VkDebugUtilsMessageSeverityFlagsEXT
  messageType*: VkDebugUtilsMessageTypeFlagsEXT
  pfnUserCallback*: PFN_vkDebugUtilsMessengerCallbackEXT
  pUserData*: pointer
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
VkImportMemoryHostPointerInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  handleType*: VkExternalMemoryHandleTypeFlagBits
  pHostPointer*: pointer
VkMemoryHostPointerPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  memoryTypeBits*: uint32
VkPhysicalDeviceExternalMemoryHostPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  minImportedHostPointerAlignment*: VkDeviceSize
VkPhysicalDeviceConservativeRasterizationPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  primitiveOverestimationSize*: float32
  maxExtraPrimitiveOverestimationSize*: float32
  extraPrimitiveOverestimationSizeGranularity*: float32
  primitiveUnderestimation*: VkBool32
  conservativePointAndLineRasterization*: VkBool32
  degenerateTrianglesRasterized*: VkBool32
  degenerateLinesRasterized*: VkBool32
  fullyCoveredFragmentShaderInputVariable*: VkBool32
  conservativeRasterizationPostDepthCoverage*: VkBool32
VkCalibratedTimestampInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  timeDomain*: VkTimeDomainEXT
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
VkPhysicalDeviceShaderCoreProperties2AMD = object
  sType*: VkStructureType
  pNext*: pointer
  shaderCoreFeatures*: VkShaderCorePropertiesFlagsAMD
  activeComputeUnitCount*: uint32
VkPipelineRasterizationConservativeStateCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineRasterizationConservativeStateCreateFlagsEXT
  conservativeRasterizationMode*: VkConservativeRasterizationModeEXT
  extraPrimitiveOverestimationSize*: float32
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
VkPhysicalDeviceDescriptorIndexingFeaturesEXT = object
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
VkPhysicalDeviceDescriptorIndexingPropertiesEXT = object
VkDescriptorSetLayoutBindingFlagsCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  bindingCount*: uint32
  pBindingFlags*: ptr VkDescriptorBindingFlags
VkDescriptorSetLayoutBindingFlagsCreateInfoEXT = object
VkDescriptorSetVariableDescriptorCountAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  descriptorSetCount*: uint32
  pDescriptorCounts*: ptr uint32
VkDescriptorSetVariableDescriptorCountAllocateInfoEXT = object
VkDescriptorSetVariableDescriptorCountLayoutSupport = object
  sType*: VkStructureType
  pNext*: pointer
  maxVariableDescriptorCount*: uint32
VkDescriptorSetVariableDescriptorCountLayoutSupportEXT = object
VkAttachmentDescription2 = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkAttachmentDescriptionFlags
  format*: VkFormat
  samples*: VkSampleCountFlagBits
  loadOp*: VkAttachmentLoadOp
  storeOp*: VkAttachmentStoreOp
  stencilLoadOp*: VkAttachmentLoadOp
  stencilStoreOp*: VkAttachmentStoreOp
  initialLayout*: VkImageLayout
  finalLayout*: VkImageLayout
VkAttachmentDescription2KHR = object
VkAttachmentReference2 = object
  sType*: VkStructureType
  pNext*: pointer
  attachment*: uint32
  layout*: VkImageLayout
  aspectMask*: VkImageAspectFlags
VkAttachmentReference2KHR = object
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
VkSubpassDescription2KHR = object
VkSubpassDependency2 = object
  sType*: VkStructureType
  pNext*: pointer
  srcSubpass*: uint32
  dstSubpass*: uint32
  srcStageMask*: VkPipelineStageFlags
  dstStageMask*: VkPipelineStageFlags
  srcAccessMask*: VkAccessFlags
  dstAccessMask*: VkAccessFlags
  dependencyFlags*: VkDependencyFlags
  viewOffset*: int32
VkSubpassDependency2KHR = object
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
VkRenderPassCreateInfo2KHR = object
VkSubpassBeginInfo = object
  sType*: VkStructureType
  pNext*: pointer
  contents*: VkSubpassContents
VkSubpassBeginInfoKHR = object
VkSubpassEndInfo = object
  sType*: VkStructureType
  pNext*: pointer
VkSubpassEndInfoKHR = object
VkPhysicalDeviceTimelineSemaphoreFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  timelineSemaphore*: VkBool32
VkPhysicalDeviceTimelineSemaphoreFeaturesKHR = object
VkPhysicalDeviceTimelineSemaphoreProperties = object
  sType*: VkStructureType
  pNext*: pointer
  maxTimelineSemaphoreValueDifference*: uint64
VkPhysicalDeviceTimelineSemaphorePropertiesKHR = object
VkSemaphoreTypeCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  semaphoreType*: VkSemaphoreType
  initialValue*: uint64
VkSemaphoreTypeCreateInfoKHR = object
VkTimelineSemaphoreSubmitInfo = object
  sType*: VkStructureType
  pNext*: pointer
  waitSemaphoreValueCount*: uint32
  pWaitSemaphoreValues*: ptr uint64
  signalSemaphoreValueCount*: uint32
  pSignalSemaphoreValues*: ptr uint64
VkTimelineSemaphoreSubmitInfoKHR = object
VkSemaphoreWaitInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkSemaphoreWaitFlags
  semaphoreCount*: uint32
  pSemaphores*: ptr VkSemaphore
  pValues*: ptr uint64
VkSemaphoreWaitInfoKHR = object
VkSemaphoreSignalInfo = object
  sType*: VkStructureType
  pNext*: pointer
  semaphore*: VkSemaphore
  value*: uint64
VkSemaphoreSignalInfoKHR = object
VkVertexInputBindingDivisorDescriptionEXT = object
  binding*: uint32
  divisor*: uint32
VkPipelineVertexInputDivisorStateCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  vertexBindingDivisorCount*: uint32
  pVertexBindingDivisors*: ptr VkVertexInputBindingDivisorDescriptionEXT
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxVertexAttribDivisor*: uint32
VkPhysicalDevicePCIBusInfoPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pciDomain*: uint32
  pciBus*: uint32
  pciDevice*: uint32
  pciFunction*: uint32
VkImportAndroidHardwareBufferInfoANDROID = object
  sType*: VkStructureType
  pNext*: pointer
  buffer*: ptr AHardwareBuffer
VkAndroidHardwareBufferUsageANDROID = object
  sType*: VkStructureType
  pNext*: pointer
  androidHardwareBufferUsage*: uint64
VkAndroidHardwareBufferPropertiesANDROID = object
  sType*: VkStructureType
  pNext*: pointer
  allocationSize*: VkDeviceSize
  memoryTypeBits*: uint32
VkMemoryGetAndroidHardwareBufferInfoANDROID = object
  sType*: VkStructureType
  pNext*: pointer
  memory*: VkDeviceMemory
VkAndroidHardwareBufferFormatPropertiesANDROID = object
  sType*: VkStructureType
  pNext*: pointer
  format*: VkFormat
  externalFormat*: uint64
  formatFeatures*: VkFormatFeatureFlags
  samplerYcbcrConversionComponents*: VkComponentMapping
  suggestedYcbcrModel*: VkSamplerYcbcrModelConversion
  suggestedYcbcrRange*: VkSamplerYcbcrRange
  suggestedXChromaOffset*: VkChromaLocation
  suggestedYChromaOffset*: VkChromaLocation
VkCommandBufferInheritanceConditionalRenderingInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  conditionalRenderingEnable*: VkBool32
VkExternalFormatANDROID = object
  sType*: VkStructureType
  pNext*: pointer
  externalFormat*: uint64
VkPhysicalDevice8BitStorageFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  storageBuffer8BitAccess*: VkBool32
  uniformAndStorageBuffer8BitAccess*: VkBool32
  storagePushConstant8*: VkBool32
VkPhysicalDevice8BitStorageFeaturesKHR = object
VkPhysicalDeviceConditionalRenderingFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  conditionalRendering*: VkBool32
  inheritedConditionalRendering*: VkBool32
VkPhysicalDeviceVulkanMemoryModelFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  vulkanMemoryModel*: VkBool32
  vulkanMemoryModelDeviceScope*: VkBool32
  vulkanMemoryModelAvailabilityVisibilityChains*: VkBool32
VkPhysicalDeviceVulkanMemoryModelFeaturesKHR = object
VkPhysicalDeviceShaderAtomicInt64Features = object
  sType*: VkStructureType
  pNext*: pointer
  shaderBufferInt64Atomics*: VkBool32
  shaderSharedInt64Atomics*: VkBool32
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR = object
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
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  vertexAttributeInstanceRateDivisor*: VkBool32
  vertexAttributeInstanceRateZeroDivisor*: VkBool32
VkQueueFamilyCheckpointPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  checkpointExecutionStageMask*: VkPipelineStageFlags
VkCheckpointDataNV = object
  sType*: VkStructureType
  pNext*: pointer
  stage*: VkPipelineStageFlagBits
  pCheckpointMarker*: pointer
VkPhysicalDeviceDepthStencilResolveProperties = object
  sType*: VkStructureType
  pNext*: pointer
  supportedDepthResolveModes*: VkResolveModeFlags
  supportedStencilResolveModes*: VkResolveModeFlags
  independentResolveNone*: VkBool32
  independentResolve*: VkBool32
VkPhysicalDeviceDepthStencilResolvePropertiesKHR = object
VkSubpassDescriptionDepthStencilResolve = object
  sType*: VkStructureType
  pNext*: pointer
  depthResolveMode*: VkResolveModeFlagBits
  stencilResolveMode*: VkResolveModeFlagBits
  pDepthStencilResolveAttachment*: ptr VkAttachmentReference2
VkSubpassDescriptionDepthStencilResolveKHR = object
VkImageViewASTCDecodeModeEXT = object
  sType*: VkStructureType
  pNext*: pointer
  decodeMode*: VkFormat
VkPhysicalDeviceASTCDecodeFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  decodeModeSharedExponent*: VkBool32
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
VkPipelineRasterizationStateStreamCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineRasterizationStateStreamCreateFlagsEXT
  rasterizationStream*: uint32
VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  representativeFragmentTest*: VkBool32
VkPipelineRepresentativeFragmentTestStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  representativeFragmentTestEnable*: VkBool32
VkPhysicalDeviceExclusiveScissorFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  exclusiveScissor*: VkBool32
VkPipelineViewportExclusiveScissorStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  exclusiveScissorCount*: uint32
  pExclusiveScissors*: ptr VkRect2D
VkPhysicalDeviceCornerSampledImageFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  cornerSampledImage*: VkBool32
VkPhysicalDeviceComputeShaderDerivativesFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  computeDerivativeGroupQuads*: VkBool32
  computeDerivativeGroupLinear*: VkBool32
VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentShaderBarycentric*: VkBool32
VkPhysicalDeviceShaderImageFootprintFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  imageFootprint*: VkBool32
VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  dedicatedAllocationImageAliasing*: VkBool32
VkShadingRatePaletteNV = object
  shadingRatePaletteEntryCount*: uint32
  pShadingRatePaletteEntries*: ptr VkShadingRatePaletteEntryNV
VkPipelineViewportShadingRateImageStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  shadingRateImageEnable*: VkBool32
  viewportCount*: uint32
  pShadingRatePalettes*: ptr VkShadingRatePaletteNV
VkPhysicalDeviceShadingRateImageFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  shadingRateImage*: VkBool32
  shadingRateCoarseSampleOrder*: VkBool32
VkPhysicalDeviceShadingRateImagePropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  shadingRateTexelSize*: VkExtent2D
  shadingRatePaletteSize*: uint32
  shadingRateMaxCoarseSamples*: uint32
VkCoarseSampleLocationNV = object
  pixelX*: uint32
  pixelY*: uint32
  sample*: uint32
VkCoarseSampleOrderCustomNV = object
  shadingRate*: VkShadingRatePaletteEntryNV
  sampleCount*: uint32
  sampleLocationCount*: uint32
  pSampleLocations*: ptr VkCoarseSampleLocationNV
VkPipelineViewportCoarseSampleOrderStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  sampleOrderType*: VkCoarseSampleOrderTypeNV
  customSampleOrderCount*: uint32
  pCustomSampleOrders*: ptr VkCoarseSampleOrderCustomNV
VkPhysicalDeviceMeshShaderFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  taskShader*: VkBool32
  meshShader*: 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
VkDrawMeshTasksIndirectCommandNV = object
  taskCount*: uint32
  firstTask*: uint32
VkRayTracingShaderGroupCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  `type`*: VkRayTracingShaderGroupTypeKHR
  generalShader*: uint32
  closestHitShader*: uint32
  anyHitShader*: uint32
  intersectionShader*: uint32
VkRayTracingShaderGroupCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  `type`*: VkRayTracingShaderGroupTypeKHR
  generalShader*: uint32
  closestHitShader*: uint32
  anyHitShader*: uint32
  intersectionShader*: uint32
  pShaderGroupCaptureReplayHandle*: pointer
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
VkRayTracingPipelineCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineCreateFlags
  stageCount*: uint32
  pStages*: ptr VkPipelineShaderStageCreateInfo
  groupCount*: uint32
  pGroups*: ptr VkRayTracingShaderGroupCreateInfoKHR
  maxRecursionDepth*: uint32
  libraries*: VkPipelineLibraryCreateInfoKHR
  pLibraryInterface*: ptr VkRayTracingPipelineInterfaceCreateInfoKHR
  layout*: VkPipelineLayout
  basePipelineHandle*: VkPipeline
  basePipelineIndex*: int32
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
VkGeometryAABBNV = object
  sType*: VkStructureType
  pNext*: pointer
  aabbData*: VkBuffer
  numAABBs*: uint32
  stride*: uint32
  offset*: VkDeviceSize
VkGeometryDataNV = object
  triangles*: VkGeometryTrianglesNV
  aabbs*: VkGeometryAABBNV
VkGeometryNV = object
  sType*: VkStructureType
  pNext*: pointer
  geometryType*: VkGeometryTypeKHR
  geometry*: VkGeometryDataNV
  flags*: VkGeometryFlagsKHR
VkAccelerationStructureInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  `type`*: VkAccelerationStructureTypeNV
  flags*: VkBuildAccelerationStructureFlagsNV
  instanceCount*: uint32
  geometryCount*: uint32
  pGeometries*: ptr VkGeometryNV
VkAccelerationStructureCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  compactedSize*: VkDeviceSize
  info*: VkAccelerationStructureInfoNV
VkBindAccelerationStructureMemoryInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  accelerationStructure*: VkAccelerationStructureKHR
  memory*: VkDeviceMemory
  memoryOffset*: VkDeviceSize
  deviceIndexCount*: uint32
  pDeviceIndices*: ptr uint32
VkBindAccelerationStructureMemoryInfoNV = object
VkWriteDescriptorSetAccelerationStructureKHR = object
  sType*: VkStructureType
  pNext*: pointer
  accelerationStructureCount*: uint32
  pAccelerationStructures*: ptr VkAccelerationStructureKHR
VkWriteDescriptorSetAccelerationStructureNV = object
VkAccelerationStructureMemoryRequirementsInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  `type`*: VkAccelerationStructureMemoryRequirementsTypeKHR
  buildType*: VkAccelerationStructureBuildTypeKHR
  accelerationStructure*: VkAccelerationStructureKHR
VkAccelerationStructureMemoryRequirementsInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  `type`*: VkAccelerationStructureMemoryRequirementsTypeNV
  accelerationStructure*: VkAccelerationStructureNV
VkPhysicalDeviceRayTracingFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  rayTracing*: VkBool32
  rayTracingShaderGroupHandleCaptureReplay*: VkBool32
  rayTracingShaderGroupHandleCaptureReplayMixed*: VkBool32
  rayTracingAccelerationStructureCaptureReplay*: VkBool32
  rayTracingIndirectTraceRays*: VkBool32
  rayTracingIndirectAccelerationStructureBuild*: VkBool32
  rayTracingHostAccelerationStructureCommands*: VkBool32
  rayQuery*: VkBool32
  rayTracingPrimitiveCulling*: VkBool32
VkPhysicalDeviceRayTracingPropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  shaderGroupHandleSize*: uint32
  maxRecursionDepth*: uint32
  maxShaderGroupStride*: uint32
  shaderGroupBaseAlignment*: uint32
  maxGeometryCount*: uint64
  maxInstanceCount*: uint64
  maxPrimitiveCount*: uint64
  maxDescriptorSetAccelerationStructures*: uint32
  shaderGroupHandleCaptureReplaySize*: uint32
VkPhysicalDeviceRayTracingPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  shaderGroupHandleSize*: uint32
  maxRecursionDepth*: uint32
  maxShaderGroupStride*: uint32
  shaderGroupBaseAlignment*: uint32
  maxGeometryCount*: uint64
  maxInstanceCount*: uint64
  maxTriangleCount*: uint64
  maxDescriptorSetAccelerationStructures*: uint32
VkStridedBufferRegionKHR = object
  buffer*: VkBuffer
  offset*: VkDeviceSize
  stride*: VkDeviceSize
  size*: VkDeviceSize
VkTraceRaysIndirectCommandKHR = object
  width*: uint32
  height*: uint32
  depth*: uint32
VkDrmFormatModifierPropertiesListEXT = object
  sType*: VkStructureType
  pNext*: pointer
  drmFormatModifierCount*: uint32
  pDrmFormatModifierProperties*: ptr VkDrmFormatModifierPropertiesEXT
VkDrmFormatModifierPropertiesEXT = object
  drmFormatModifier*: uint64
  drmFormatModifierPlaneCount*: uint32
  drmFormatModifierTilingFeatures*: VkFormatFeatureFlags
VkPhysicalDeviceImageDrmFormatModifierInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  drmFormatModifier*: uint64
  sharingMode*: VkSharingMode
  queueFamilyIndexCount*: uint32
  pQueueFamilyIndices*: ptr uint32
VkImageDrmFormatModifierListCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  drmFormatModifierCount*: uint32
  pDrmFormatModifiers*: ptr uint64
VkImageDrmFormatModifierExplicitCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  drmFormatModifier*: uint64
  drmFormatModifierPlaneCount*: uint32
  pPlaneLayouts*: ptr VkSubresourceLayout
VkImageDrmFormatModifierPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  drmFormatModifier*: uint64
VkImageStencilUsageCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  stencilUsage*: VkImageUsageFlags
VkImageStencilUsageCreateInfoEXT = object
VkDeviceMemoryOverallocationCreateInfoAMD = object
  sType*: VkStructureType
  pNext*: pointer
  overallocationBehavior*: VkMemoryOverallocationBehaviorAMD
VkPhysicalDeviceFragmentDensityMapFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentDensityMap*: VkBool32
  fragmentDensityMapDynamic*: VkBool32
  fragmentDensityMapNonSubsampledImages*: VkBool32
VkPhysicalDeviceFragmentDensityMap2FeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentDensityMapDeferred*: VkBool32
VkPhysicalDeviceFragmentDensityMapPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  minFragmentDensityTexelSize*: VkExtent2D
  maxFragmentDensityTexelSize*: VkExtent2D
  fragmentDensityInvocations*: VkBool32
VkPhysicalDeviceFragmentDensityMap2PropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  subsampledLoads*: VkBool32
  subsampledCoarseReconstructionEarlyAccess*: VkBool32
  maxSubsampledArrayLayers*: uint32
  maxDescriptorSetSubsampledSamplers*: uint32
VkRenderPassFragmentDensityMapCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentDensityMapAttachment*: VkAttachmentReference
VkPhysicalDeviceScalarBlockLayoutFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  scalarBlockLayout*: VkBool32
VkPhysicalDeviceScalarBlockLayoutFeaturesEXT = object
VkSurfaceProtectedCapabilitiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  supportsProtected*: VkBool32
VkPhysicalDeviceUniformBufferStandardLayoutFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  uniformBufferStandardLayout*: VkBool32
VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR = object
VkPhysicalDeviceDepthClipEnableFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  depthClipEnable*: VkBool32
VkPipelineRasterizationDepthClipStateCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineRasterizationDepthClipStateCreateFlagsEXT
  depthClipEnable*: VkBool32
VkPhysicalDeviceMemoryBudgetPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  heapBudget*: array[VK_MAX_MEMORY_HEAPS, VkDeviceSize]
  heapUsage*: array[VK_MAX_MEMORY_HEAPS, VkDeviceSize]
VkPhysicalDeviceMemoryPriorityFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  memoryPriority*: VkBool32
VkMemoryPriorityAllocateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  priority*: float32
VkPhysicalDeviceBufferDeviceAddressFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  bufferDeviceAddress*: VkBool32
  bufferDeviceAddressCaptureReplay*: VkBool32
  bufferDeviceAddressMultiDevice*: VkBool32
VkPhysicalDeviceBufferDeviceAddressFeaturesKHR = object
VkPhysicalDeviceBufferDeviceAddressFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  bufferDeviceAddress*: VkBool32
  bufferDeviceAddressCaptureReplay*: VkBool32
  bufferDeviceAddressMultiDevice*: VkBool32
VkPhysicalDeviceBufferAddressFeaturesEXT = object
VkBufferDeviceAddressInfo = object
  sType*: VkStructureType
  pNext*: pointer
  buffer*: VkBuffer
VkBufferDeviceAddressInfoKHR = object
VkBufferDeviceAddressInfoEXT = object
VkBufferOpaqueCaptureAddressCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  opaqueCaptureAddress*: uint64
VkBufferOpaqueCaptureAddressCreateInfoKHR = object
VkBufferDeviceAddressCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  deviceAddress*: VkDeviceAddress
VkPhysicalDeviceImageViewImageFormatInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  imageViewType*: VkImageViewType
VkFilterCubicImageViewImageFormatPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  filterCubic*: VkBool32
  filterCubicMinmax*: VkBool32
VkPhysicalDeviceImagelessFramebufferFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  imagelessFramebuffer*: VkBool32
VkPhysicalDeviceImagelessFramebufferFeaturesKHR = object
VkFramebufferAttachmentsCreateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  attachmentImageInfoCount*: uint32
  pAttachmentImageInfos*: ptr VkFramebufferAttachmentImageInfo
VkFramebufferAttachmentsCreateInfoKHR = object
VkFramebufferAttachmentImageInfo = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkImageCreateFlags
  usage*: VkImageUsageFlags
  width*: uint32
  height*: uint32
  layerCount*: uint32
  viewFormatCount*: uint32
  pViewFormats*: ptr VkFormat
VkFramebufferAttachmentImageInfoKHR = object
VkRenderPassAttachmentBeginInfo = object
  sType*: VkStructureType
  pNext*: pointer
  attachmentCount*: uint32
  pAttachments*: ptr VkImageView
VkRenderPassAttachmentBeginInfoKHR = object
VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  textureCompressionASTC_HDR*: VkBool32
VkPhysicalDeviceCooperativeMatrixFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  cooperativeMatrix*: VkBool32
  cooperativeMatrixRobustBufferAccess*: VkBool32
VkPhysicalDeviceCooperativeMatrixPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  cooperativeMatrixSupportedStages*: VkShaderStageFlags
VkCooperativeMatrixPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  MSize*: uint32
  NSize*: uint32
  KSize*: uint32
  AType*: VkComponentTypeNV
  BType*: VkComponentTypeNV
  CType*: VkComponentTypeNV
  DType*: VkComponentTypeNV
  scope*: VkScopeNV
VkPhysicalDeviceYcbcrImageArraysFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  ycbcrImageArrays*: VkBool32
VkImageViewHandleInfoNVX = object
  sType*: VkStructureType
  pNext*: pointer
  imageView*: VkImageView
  descriptorType*: VkDescriptorType
  sampler*: VkSampler
VkImageViewAddressPropertiesNVX = object
  sType*: VkStructureType
  pNext*: pointer
  deviceAddress*: VkDeviceAddress
  size*: VkDeviceSize
VkPresentFrameTokenGGP = object
  sType*: VkStructureType
  pNext*: pointer
  frameToken*: GgpFrameToken
VkPipelineCreationFeedbackEXT = object
  flags*: VkPipelineCreationFeedbackFlagsEXT
  duration*: uint64
VkPipelineCreationFeedbackCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pPipelineCreationFeedback*: ptr VkPipelineCreationFeedbackEXT
  pipelineStageCreationFeedbackCount*: uint32
  pPipelineStageCreationFeedbacks*: ptr ptr VkPipelineCreationFeedbackEXT
VkSurfaceFullScreenExclusiveInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  fullScreenExclusive*: VkFullScreenExclusiveEXT
VkSurfaceFullScreenExclusiveWin32InfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  hmonitor*: HMONITOR
VkSurfaceCapabilitiesFullScreenExclusiveEXT = object
  sType*: VkStructureType
  pNext*: pointer
  fullScreenExclusiveSupported*: VkBool32
VkPhysicalDevicePerformanceQueryFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  performanceCounterQueryPools*: VkBool32
  performanceCounterMultipleQueryPools*: VkBool32
VkPhysicalDevicePerformanceQueryPropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  allowCommandBufferQueryCopies*: VkBool32
VkPerformanceCounterKHR = object
  sType*: VkStructureType
  pNext*: pointer
  unit*: VkPerformanceCounterUnitKHR
  scope*: VkPerformanceCounterScopeKHR
  storage*: VkPerformanceCounterStorageKHR
  uuid*: array[VK_UUID_SIZE, uint8]
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]
VkQueryPoolPerformanceCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  queueFamilyIndex*: uint32
  counterIndexCount*: uint32
  pCounterIndices*: ptr uint32
VkPerformanceCounterResultKHR {...}{.union.} = object
  int32*: int32
  int64*: int64
  uint32*: uint32
  uint64*: uint64
  float32*: float32
  float64*: float64
VkAcquireProfilingLockInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkAcquireProfilingLockFlagsKHR
  timeout*: uint64
VkPerformanceQuerySubmitInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  counterPassIndex*: uint32
VkHeadlessSurfaceCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkHeadlessSurfaceCreateFlagsEXT
VkPhysicalDeviceCoverageReductionModeFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  coverageReductionMode*: VkBool32
VkPipelineCoverageReductionStateCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkPipelineCoverageReductionStateCreateFlagsNV
  coverageReductionMode*: VkCoverageReductionModeNV
VkFramebufferMixedSamplesCombinationNV = object
  sType*: VkStructureType
  pNext*: pointer
  coverageReductionMode*: VkCoverageReductionModeNV
  rasterizationSamples*: VkSampleCountFlagBits
  depthStencilSamples*: VkSampleCountFlags
  colorSamples*: VkSampleCountFlags
VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = object
  sType*: VkStructureType
  pNext*: pointer
  shaderIntegerFunctions2*: VkBool32
VkPerformanceValueDataINTEL {...}{.union.} = object
  value32*: uint32
  value64*: uint64
  valueFloat*: float32
  valueBool*: VkBool32
  valueString*: cstring
VkPerformanceValueINTEL = object
  `type`*: VkPerformanceValueTypeINTEL
  data*: VkPerformanceValueDataINTEL
VkInitializePerformanceApiInfoINTEL = object
  sType*: VkStructureType
  pNext*: pointer
  pUserData*: pointer
VkQueryPoolPerformanceQueryCreateInfoINTEL = object
  sType*: VkStructureType
  pNext*: pointer
  performanceCountersSampling*: VkQueryPoolSamplingModeINTEL
VkQueryPoolCreateInfoINTEL = object
VkPerformanceMarkerInfoINTEL = object
  sType*: VkStructureType
  pNext*: pointer
  marker*: uint64
VkPerformanceStreamMarkerInfoINTEL = object
  sType*: VkStructureType
  pNext*: pointer
  marker*: uint32
VkPerformanceOverrideInfoINTEL = object
  sType*: VkStructureType
  pNext*: pointer
  `type`*: VkPerformanceOverrideTypeINTEL
  enable*: VkBool32
  parameter*: uint64
VkPerformanceConfigurationAcquireInfoINTEL = object
  sType*: VkStructureType
  pNext*: pointer
  `type`*: VkPerformanceConfigurationTypeINTEL
VkPhysicalDeviceShaderClockFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  shaderSubgroupClock*: VkBool32
  shaderDeviceClock*: VkBool32
VkPhysicalDeviceIndexTypeUint8FeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  indexTypeUint8*: VkBool32
VkPhysicalDeviceShaderSMBuiltinsPropertiesNV = object
  sType*: VkStructureType
  pNext*: pointer
  shaderSMCount*: uint32
  shaderWarpsPerSM*: uint32
VkPhysicalDeviceShaderSMBuiltinsFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  shaderSMBuiltins*: VkBool32
VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  fragmentShaderSampleInterlock*: VkBool32
  fragmentShaderPixelInterlock*: VkBool32
  fragmentShaderShadingRateInterlock*: VkBool32
VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures = object
  sType*: VkStructureType
  pNext*: pointer
  separateDepthStencilLayouts*: VkBool32
VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR = object
VkAttachmentReferenceStencilLayout = object
  sType*: VkStructureType
  pNext*: pointer
  stencilLayout*: VkImageLayout
VkAttachmentReferenceStencilLayoutKHR = object
VkAttachmentDescriptionStencilLayout = object
  sType*: VkStructureType
  pNext*: pointer
  stencilInitialLayout*: VkImageLayout
  stencilFinalLayout*: VkImageLayout
VkAttachmentDescriptionStencilLayoutKHR = object
VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  pipelineExecutableInfo*: VkBool32
VkPipelineInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  pipeline*: VkPipeline
VkPipelineExecutablePropertiesKHR = object
  sType*: VkStructureType
  pNext*: pointer
  stages*: VkShaderStageFlags
  name*: array[VK_MAX_DESCRIPTION_SIZE, char]
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
  subgroupSize*: uint32
VkPipelineExecutableInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  pipeline*: VkPipeline
  executableIndex*: uint32
VkPipelineExecutableStatisticValueKHR {...}{.union.} = object
  b32*: VkBool32
  i64*: int64
  u64*: uint64
  f64*: float64
VkPipelineExecutableStatisticKHR = object
  sType*: VkStructureType
  pNext*: pointer
  name*: array[VK_MAX_DESCRIPTION_SIZE, char]
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
  format*: VkPipelineExecutableStatisticFormatKHR
  value*: VkPipelineExecutableStatisticValueKHR
VkPipelineExecutableInternalRepresentationKHR = object
  sType*: VkStructureType
  pNext*: pointer
  name*: array[VK_MAX_DESCRIPTION_SIZE, char]
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
  isText*: VkBool32
  dataSize*: uint
  pData*: pointer
VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  shaderDemoteToHelperInvocation*: VkBool32
VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  texelBufferAlignment*: VkBool32
VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  storageTexelBufferOffsetAlignmentBytes*: VkDeviceSize
  storageTexelBufferOffsetSingleTexelAlignment*: VkBool32
  uniformTexelBufferOffsetAlignmentBytes*: VkDeviceSize
  uniformTexelBufferOffsetSingleTexelAlignment*: VkBool32
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  subgroupSizeControl*: VkBool32
  computeFullSubgroups*: VkBool32
VkPhysicalDeviceSubgroupSizeControlPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  minSubgroupSize*: uint32
  maxSubgroupSize*: uint32
  maxComputeWorkgroupSubgroups*: uint32
  requiredSubgroupSizeStages*: VkShaderStageFlags
VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  requiredSubgroupSize*: uint32
VkMemoryOpaqueCaptureAddressAllocateInfo = object
  sType*: VkStructureType
  pNext*: pointer
  opaqueCaptureAddress*: uint64
VkMemoryOpaqueCaptureAddressAllocateInfoKHR = object
VkDeviceMemoryOpaqueCaptureAddressInfo = object
  sType*: VkStructureType
  pNext*: pointer
  memory*: VkDeviceMemory
VkDeviceMemoryOpaqueCaptureAddressInfoKHR = object
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
VkPipelineRasterizationLineStateCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  lineRasterizationMode*: VkLineRasterizationModeEXT
  stippledLineEnable*: VkBool32
  lineStippleFactor*: uint32
  lineStipplePattern*: uint16
VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  pipelineCreationCacheControl*: 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
VkPipelineCompilerControlCreateInfoAMD = object
  sType*: VkStructureType
  pNext*: pointer
  compilerControlFlags*: VkPipelineCompilerControlFlagsAMD
VkPhysicalDeviceCoherentMemoryFeaturesAMD = object
  sType*: VkStructureType
  pNext*: pointer
  deviceCoherentMemory*: VkBool32
VkPhysicalDeviceToolPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  name*: array[VK_MAX_EXTENSION_NAME_SIZE, char]
  version*: array[VK_MAX_EXTENSION_NAME_SIZE, char]
  purposes*: VkToolPurposeFlagsEXT
  description*: array[VK_MAX_DESCRIPTION_SIZE, char]
  layer*: array[VK_MAX_EXTENSION_NAME_SIZE, char]
VkSamplerCustomBorderColorCreateInfoEXT = object
  sType*: VkStructureType
  pNext*: pointer
  customBorderColor*: VkClearColorValue
  format*: VkFormat
VkPhysicalDeviceCustomBorderColorPropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  maxCustomBorderColorSamplers*: uint32
VkPhysicalDeviceCustomBorderColorFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  customBorderColors*: VkBool32
  customBorderColorWithoutFormat*: VkBool32
VkDeviceOrHostAddressKHR {...}{.union.} = object
  deviceAddress*: VkDeviceAddress
  hostAddress*: pointer
VkDeviceOrHostAddressConstKHR {...}{.union.} = object
  deviceAddress*: VkDeviceAddress
  hostAddress*: pointer
VkAccelerationStructureGeometryTrianglesDataKHR = object
  sType*: VkStructureType
  pNext*: pointer
  vertexFormat*: VkFormat
  vertexData*: VkDeviceOrHostAddressConstKHR
  vertexStride*: VkDeviceSize
  indexType*: VkIndexType
  indexData*: VkDeviceOrHostAddressConstKHR
  transformData*: VkDeviceOrHostAddressConstKHR
VkAccelerationStructureGeometryAabbsDataKHR = object
  sType*: VkStructureType
  pNext*: pointer
  data*: VkDeviceOrHostAddressConstKHR
  stride*: VkDeviceSize
VkAccelerationStructureGeometryInstancesDataKHR = object
  sType*: VkStructureType
  pNext*: pointer
  arrayOfPointers*: VkBool32
  data*: VkDeviceOrHostAddressConstKHR
VkAccelerationStructureGeometryDataKHR {...}{.union.} = object
  triangles*: VkAccelerationStructureGeometryTrianglesDataKHR
  aabbs*: VkAccelerationStructureGeometryAabbsDataKHR
  instances*: VkAccelerationStructureGeometryInstancesDataKHR
VkAccelerationStructureGeometryKHR = object
  sType*: VkStructureType
  pNext*: pointer
  geometryType*: VkGeometryTypeKHR
  geometry*: VkAccelerationStructureGeometryDataKHR
  flags*: VkGeometryFlagsKHR
VkAccelerationStructureBuildGeometryInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  `type`*: VkAccelerationStructureTypeKHR
  flags*: VkBuildAccelerationStructureFlagsKHR
  update*: VkBool32
  srcAccelerationStructure*: VkAccelerationStructureKHR
  dstAccelerationStructure*: VkAccelerationStructureKHR
  geometryArrayOfPointers*: VkBool32
  geometryCount*: uint32
  ppGeometries*: ptr ptr VkAccelerationStructureGeometryKHR
  scratchData*: VkDeviceOrHostAddressKHR
VkAccelerationStructureBuildOffsetInfoKHR = object
  primitiveCount*: uint32
  primitiveOffset*: uint32
  firstVertex*: uint32
  transformOffset*: uint32
VkAccelerationStructureCreateGeometryTypeInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  geometryType*: VkGeometryTypeKHR
  maxPrimitiveCount*: uint32
  indexType*: VkIndexType
  maxVertexCount*: uint32
  vertexFormat*: VkFormat
  allowsTransforms*: VkBool32
VkAccelerationStructureCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  compactedSize*: VkDeviceSize
  `type`*: VkAccelerationStructureTypeKHR
  flags*: VkBuildAccelerationStructureFlagsKHR
  maxGeometryCount*: uint32
  pGeometryInfos*: ptr VkAccelerationStructureCreateGeometryTypeInfoKHR
  deviceAddress*: VkDeviceAddress
VkAabbPositionsKHR = object
  minX*: float32
  minY*: float32
  minZ*: float32
  maxX*: float32
  maxY*: float32
  maxZ*: float32
VkAabbPositionsNV = object
VkTransformMatrixKHR = object
  matrix*: array[3, float32]
VkTransformMatrixNV = object
VkAccelerationStructureInstanceKHR = object
  transform*: VkTransformMatrixKHR
  instanceCustomIndex*: uint32
  mask*: uint32
  instanceShaderBindingTableRecordOffset*: uint32
  flags*: VkGeometryInstanceFlagsKHR
  accelerationStructureReference*: uint64
VkAccelerationStructureInstanceNV = object
VkAccelerationStructureDeviceAddressInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  accelerationStructure*: VkAccelerationStructureKHR
VkAccelerationStructureVersionKHR = object
  sType*: VkStructureType
  pNext*: pointer
  versionData*: ptr uint8
VkCopyAccelerationStructureInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  src*: VkAccelerationStructureKHR
  dst*: VkAccelerationStructureKHR
  mode*: VkCopyAccelerationStructureModeKHR
VkCopyAccelerationStructureToMemoryInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  src*: VkAccelerationStructureKHR
  dst*: VkDeviceOrHostAddressKHR
  mode*: VkCopyAccelerationStructureModeKHR
VkCopyMemoryToAccelerationStructureInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  src*: VkDeviceOrHostAddressConstKHR
  dst*: VkAccelerationStructureKHR
  mode*: VkCopyAccelerationStructureModeKHR
VkRayTracingPipelineInterfaceCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  maxPayloadSize*: uint32
  maxAttributeSize*: uint32
  maxCallableSize*: uint32
VkDeferredOperationInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  operationHandle*: VkDeferredOperationKHR
VkPipelineLibraryCreateInfoKHR = object
  sType*: VkStructureType
  pNext*: pointer
  libraryCount*: uint32
  pLibraries*: ptr VkPipeline
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  extendedDynamicState*: VkBool32
VkRenderPassTransformBeginInfoQCOM = object
  sType*: VkStructureType
  pNext*: pointer
  transform*: VkSurfaceTransformFlagBitsKHR
VkCommandBufferInheritanceRenderPassTransformInfoQCOM = object
  sType*: VkStructureType
  pNext*: pointer
  transform*: VkSurfaceTransformFlagBitsKHR
  renderArea*: VkRect2D
VkPhysicalDeviceDiagnosticsConfigFeaturesNV = object
  sType*: VkStructureType
  pNext*: pointer
  diagnosticsConfig*: VkBool32
VkDeviceDiagnosticsConfigCreateInfoNV = object
  sType*: VkStructureType
  pNext*: pointer
  flags*: VkDeviceDiagnosticsConfigFlagsNV
VkPhysicalDeviceRobustness2FeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  robustBufferAccess2*: VkBool32
  robustImageAccess2*: VkBool32
  nullDescriptor*: VkBool32
VkPhysicalDeviceRobustness2PropertiesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  robustStorageBufferAccessSizeAlignment*: VkDeviceSize
  robustUniformBufferAccessSizeAlignment*: VkDeviceSize
VkPhysicalDeviceImageRobustnessFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  robustImageAccess*: VkBool32
VkPhysicalDevice4444FormatsFeaturesEXT = object
  sType*: VkStructureType
  pNext*: pointer
  formatA4R4G4B4*: VkBool32
  formatA4B4G4R4*: VkBool32

Vars

vkCreateInstance: proc (pCreateInfo: ptr VkInstanceCreateInfo;
                        pAllocator: ptr VkAllocationCallbacks;
                        pInstance: ptr VkInstance): VkResult {...}{.stdcall.}
vkDestroyInstance: proc (instance: VkInstance;
                         pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkEnumeratePhysicalDevices: proc (instance: VkInstance;
                                  pPhysicalDeviceCount: ptr uint32;
                                  pPhysicalDevices: ptr VkPhysicalDevice): VkResult {...}{.
    stdcall.}
vkGetDeviceProcAddr: proc (device: VkDevice; pName: cstring): PFN_vkVoidFunction {...}{.
    stdcall.}
vkGetInstanceProcAddr: proc (instance: VkInstance; pName: cstring): PFN_vkVoidFunction {...}{.
    stdcall.}
vkGetPhysicalDeviceProperties: proc (physicalDevice: VkPhysicalDevice;
    pProperties: ptr VkPhysicalDeviceProperties): void {...}{.stdcall.}
vkGetPhysicalDeviceQueueFamilyProperties: proc (
    physicalDevice: VkPhysicalDevice; pQueueFamilyPropertyCount: ptr uint32;
    pQueueFamilyProperties: ptr VkQueueFamilyProperties): void {...}{.stdcall.}
vkGetPhysicalDeviceMemoryProperties: proc (physicalDevice: VkPhysicalDevice;
    pMemoryProperties: ptr VkPhysicalDeviceMemoryProperties): void {...}{.stdcall.}
vkGetPhysicalDeviceFeatures: proc (physicalDevice: VkPhysicalDevice;
                                   pFeatures: ptr VkPhysicalDeviceFeatures): void {...}{.
    stdcall.}
vkGetPhysicalDeviceFormatProperties: proc (physicalDevice: VkPhysicalDevice;
    format: VkFormat; pFormatProperties: ptr VkFormatProperties): void {...}{.stdcall.}
vkGetPhysicalDeviceImageFormatProperties: proc (
    physicalDevice: VkPhysicalDevice; format: VkFormat; type: VkImageType;
    tiling: VkImageTiling; usage: VkImageUsageFlags; flags: VkImageCreateFlags;
    pImageFormatProperties: ptr VkImageFormatProperties): VkResult {...}{.stdcall.}
vkCreateDevice: proc (physicalDevice: VkPhysicalDevice;
                      pCreateInfo: ptr VkDeviceCreateInfo;
                      pAllocator: ptr VkAllocationCallbacks;
                      pDevice: ptr VkDevice): VkResult {...}{.stdcall.}
vkDestroyDevice: proc (device: VkDevice; pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkEnumerateInstanceVersion: proc (pApiVersion: ptr uint32): VkResult {...}{.stdcall.}
vkEnumerateInstanceLayerProperties: proc (pPropertyCount: ptr uint32;
    pProperties: ptr VkLayerProperties): VkResult {...}{.stdcall.}
vkEnumerateInstanceExtensionProperties: proc (pLayerName: cstring;
    pPropertyCount: ptr uint32; pProperties: ptr VkExtensionProperties): VkResult {...}{.
    stdcall.}
vkEnumerateDeviceLayerProperties: proc (physicalDevice: VkPhysicalDevice;
                                        pPropertyCount: ptr uint32;
                                        pProperties: ptr VkLayerProperties): VkResult {...}{.
    stdcall.}
vkEnumerateDeviceExtensionProperties: proc (physicalDevice: VkPhysicalDevice;
    pLayerName: cstring; pPropertyCount: ptr uint32;
    pProperties: ptr VkExtensionProperties): VkResult {...}{.stdcall.}
vkGetDeviceQueue: proc (device: VkDevice; queueFamilyIndex: uint32;
                        queueIndex: uint32; pQueue: ptr VkQueue): void {...}{.stdcall.}
vkQueueSubmit: proc (queue: VkQueue; submitCount: uint32;
                     pSubmits: ptr VkSubmitInfo; fence: VkFence): VkResult {...}{.
    stdcall.}
vkQueueWaitIdle: proc (queue: VkQueue): VkResult {...}{.stdcall.}
vkDeviceWaitIdle: proc (device: VkDevice): VkResult {...}{.stdcall.}
vkAllocateMemory: proc (device: VkDevice;
                        pAllocateInfo: ptr VkMemoryAllocateInfo;
                        pAllocator: ptr VkAllocationCallbacks;
                        pMemory: ptr VkDeviceMemory): VkResult {...}{.stdcall.}
vkFreeMemory: proc (device: VkDevice; memory: VkDeviceMemory;
                    pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkMapMemory: proc (device: VkDevice; memory: VkDeviceMemory;
                   offset: VkDeviceSize; size: VkDeviceSize;
                   flags: VkMemoryMapFlags; ppData: ptr pointer): VkResult {...}{.
    stdcall.}
vkUnmapMemory: proc (device: VkDevice; memory: VkDeviceMemory): void {...}{.stdcall.}
vkFlushMappedMemoryRanges: proc (device: VkDevice; memoryRangeCount: uint32;
                                 pMemoryRanges: ptr VkMappedMemoryRange): VkResult {...}{.
    stdcall.}
vkInvalidateMappedMemoryRanges: proc (device: VkDevice;
                                      memoryRangeCount: uint32;
                                      pMemoryRanges: ptr VkMappedMemoryRange): VkResult {...}{.
    stdcall.}
vkGetDeviceMemoryCommitment: proc (device: VkDevice; memory: VkDeviceMemory;
                                   pCommittedMemoryInBytes: ptr VkDeviceSize): void {...}{.
    stdcall.}
vkGetBufferMemoryRequirements: proc (device: VkDevice; buffer: VkBuffer;
    pMemoryRequirements: ptr VkMemoryRequirements): void {...}{.stdcall.}
vkBindBufferMemory: proc (device: VkDevice; buffer: VkBuffer;
                          memory: VkDeviceMemory; memoryOffset: VkDeviceSize): VkResult {...}{.
    stdcall.}
vkGetImageMemoryRequirements: proc (device: VkDevice; image: VkImage;
    pMemoryRequirements: ptr VkMemoryRequirements): void {...}{.stdcall.}
vkBindImageMemory: proc (device: VkDevice; image: VkImage;
                         memory: VkDeviceMemory; memoryOffset: VkDeviceSize): VkResult {...}{.
    stdcall.}
vkGetImageSparseMemoryRequirements: proc (device: VkDevice; image: VkImage;
    pSparseMemoryRequirementCount: ptr uint32;
    pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements): void {...}{.
    stdcall.}
vkGetPhysicalDeviceSparseImageFormatProperties: proc (
    physicalDevice: VkPhysicalDevice; format: VkFormat; type: VkImageType;
    samples: VkSampleCountFlagBits; usage: VkImageUsageFlags;
    tiling: VkImageTiling; pPropertyCount: ptr uint32;
    pProperties: ptr VkSparseImageFormatProperties): void {...}{.stdcall.}
vkQueueBindSparse: proc (queue: VkQueue; bindInfoCount: uint32;
                         pBindInfo: ptr VkBindSparseInfo; fence: VkFence): VkResult {...}{.
    stdcall.}
vkCreateFence: proc (device: VkDevice; pCreateInfo: ptr VkFenceCreateInfo;
                     pAllocator: ptr VkAllocationCallbacks; pFence: ptr VkFence): VkResult {...}{.
    stdcall.}
vkDestroyFence: proc (device: VkDevice; fence: VkFence;
                      pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkResetFences: proc (device: VkDevice; fenceCount: uint32; pFences: ptr VkFence): VkResult {...}{.
    stdcall.}
vkGetFenceStatus: proc (device: VkDevice; fence: VkFence): VkResult {...}{.stdcall.}
vkWaitForFences: proc (device: VkDevice; fenceCount: uint32;
                       pFences: ptr VkFence; waitAll: VkBool32; timeout: uint64): VkResult {...}{.
    stdcall.}
vkCreateSemaphore: proc (device: VkDevice;
                         pCreateInfo: ptr VkSemaphoreCreateInfo;
                         pAllocator: ptr VkAllocationCallbacks;
                         pSemaphore: ptr VkSemaphore): VkResult {...}{.stdcall.}
vkDestroySemaphore: proc (device: VkDevice; semaphore: VkSemaphore;
                          pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkCreateEvent: proc (device: VkDevice; pCreateInfo: ptr VkEventCreateInfo;
                     pAllocator: ptr VkAllocationCallbacks; pEvent: ptr VkEvent): VkResult {...}{.
    stdcall.}
vkDestroyEvent: proc (device: VkDevice; event: VkEvent;
                      pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkGetEventStatus: proc (device: VkDevice; event: VkEvent): VkResult {...}{.stdcall.}
vkSetEvent: proc (device: VkDevice; event: VkEvent): VkResult {...}{.stdcall.}
vkResetEvent: proc (device: VkDevice; event: VkEvent): VkResult {...}{.stdcall.}
vkCreateQueryPool: proc (device: VkDevice;
                         pCreateInfo: ptr VkQueryPoolCreateInfo;
                         pAllocator: ptr VkAllocationCallbacks;
                         pQueryPool: ptr VkQueryPool): VkResult {...}{.stdcall.}
vkDestroyQueryPool: proc (device: VkDevice; queryPool: VkQueryPool;
                          pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkGetQueryPoolResults: proc (device: VkDevice; queryPool: VkQueryPool;
                             firstQuery: uint32; queryCount: uint32;
                             dataSize: uint; pData: pointer;
                             stride: VkDeviceSize; flags: VkQueryResultFlags): VkResult {...}{.
    stdcall.}
vkResetQueryPool: proc (device: VkDevice; queryPool: VkQueryPool;
                        firstQuery: uint32; queryCount: uint32): void {...}{.stdcall.}
vkCreateBuffer: proc (device: VkDevice; pCreateInfo: ptr VkBufferCreateInfo;
                      pAllocator: ptr VkAllocationCallbacks;
                      pBuffer: ptr VkBuffer): VkResult {...}{.stdcall.}
vkDestroyBuffer: proc (device: VkDevice; buffer: VkBuffer;
                       pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkCreateBufferView: proc (device: VkDevice;
                          pCreateInfo: ptr VkBufferViewCreateInfo;
                          pAllocator: ptr VkAllocationCallbacks;
                          pView: ptr VkBufferView): VkResult {...}{.stdcall.}
vkDestroyBufferView: proc (device: VkDevice; bufferView: VkBufferView;
                           pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkCreateImage: proc (device: VkDevice; pCreateInfo: ptr VkImageCreateInfo;
                     pAllocator: ptr VkAllocationCallbacks; pImage: ptr VkImage): VkResult {...}{.
    stdcall.}
vkDestroyImage: proc (device: VkDevice; image: VkImage;
                      pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkGetImageSubresourceLayout: proc (device: VkDevice; image: VkImage;
                                   pSubresource: ptr VkImageSubresource;
                                   pLayout: ptr VkSubresourceLayout): void {...}{.
    stdcall.}
vkCreateImageView: proc (device: VkDevice;
                         pCreateInfo: ptr VkImageViewCreateInfo;
                         pAllocator: ptr VkAllocationCallbacks;
                         pView: ptr VkImageView): VkResult {...}{.stdcall.}
vkDestroyImageView: proc (device: VkDevice; imageView: VkImageView;
                          pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkCreateShaderModule: proc (device: VkDevice;
                            pCreateInfo: ptr VkShaderModuleCreateInfo;
                            pAllocator: ptr VkAllocationCallbacks;
                            pShaderModule: ptr VkShaderModule): VkResult {...}{.
    stdcall.}
vkDestroyShaderModule: proc (device: VkDevice; shaderModule: VkShaderModule;
                             pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkCreatePipelineCache: proc (device: VkDevice;
                             pCreateInfo: ptr VkPipelineCacheCreateInfo;
                             pAllocator: ptr VkAllocationCallbacks;
                             pPipelineCache: ptr VkPipelineCache): VkResult {...}{.
    stdcall.}
vkDestroyPipelineCache: proc (device: VkDevice; pipelineCache: VkPipelineCache;
                              pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkGetPipelineCacheData: proc (device: VkDevice; pipelineCache: VkPipelineCache;
                              pDataSize: ptr uint; pData: pointer): VkResult {...}{.
    stdcall.}
vkMergePipelineCaches: proc (device: VkDevice; dstCache: VkPipelineCache;
                             srcCacheCount: uint32;
                             pSrcCaches: ptr VkPipelineCache): VkResult {...}{.
    stdcall.}
vkCreateGraphicsPipelines: proc (device: VkDevice;
                                 pipelineCache: VkPipelineCache;
                                 createInfoCount: uint32; pCreateInfos: ptr VkGraphicsPipelineCreateInfo;
                                 pAllocator: ptr VkAllocationCallbacks;
                                 pPipelines: ptr VkPipeline): VkResult {...}{.stdcall.}
vkCreateComputePipelines: proc (device: VkDevice;
                                pipelineCache: VkPipelineCache;
                                createInfoCount: uint32;
                                pCreateInfos: ptr VkComputePipelineCreateInfo;
                                pAllocator: ptr VkAllocationCallbacks;
                                pPipelines: ptr VkPipeline): VkResult {...}{.stdcall.}
vkDestroyPipeline: proc (device: VkDevice; pipeline: VkPipeline;
                         pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkCreatePipelineLayout: proc (device: VkDevice;
                              pCreateInfo: ptr VkPipelineLayoutCreateInfo;
                              pAllocator: ptr VkAllocationCallbacks;
                              pPipelineLayout: ptr VkPipelineLayout): VkResult {...}{.
    stdcall.}
vkDestroyPipelineLayout: proc (device: VkDevice;
                               pipelineLayout: VkPipelineLayout;
                               pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkCreateSampler: proc (device: VkDevice; pCreateInfo: ptr VkSamplerCreateInfo;
                       pAllocator: ptr VkAllocationCallbacks;
                       pSampler: ptr VkSampler): VkResult {...}{.stdcall.}
vkDestroySampler: proc (device: VkDevice; sampler: VkSampler;
                        pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkCreateDescriptorSetLayout: proc (device: VkDevice; pCreateInfo: ptr VkDescriptorSetLayoutCreateInfo;
                                   pAllocator: ptr VkAllocationCallbacks;
                                   pSetLayout: ptr VkDescriptorSetLayout): VkResult {...}{.
    stdcall.}
vkDestroyDescriptorSetLayout: proc (device: VkDevice;
                                    descriptorSetLayout: VkDescriptorSetLayout;
                                    pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkCreateDescriptorPool: proc (device: VkDevice;
                              pCreateInfo: ptr VkDescriptorPoolCreateInfo;
                              pAllocator: ptr VkAllocationCallbacks;
                              pDescriptorPool: ptr VkDescriptorPool): VkResult {...}{.
    stdcall.}
vkDestroyDescriptorPool: proc (device: VkDevice;
                               descriptorPool: VkDescriptorPool;
                               pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkResetDescriptorPool: proc (device: VkDevice; descriptorPool: VkDescriptorPool;
                             flags: VkDescriptorPoolResetFlags): VkResult {...}{.
    stdcall.}
vkAllocateDescriptorSets: proc (device: VkDevice;
                                pAllocateInfo: ptr VkDescriptorSetAllocateInfo;
                                pDescriptorSets: ptr VkDescriptorSet): VkResult {...}{.
    stdcall.}
vkFreeDescriptorSets: proc (device: VkDevice; descriptorPool: VkDescriptorPool;
                            descriptorSetCount: uint32;
                            pDescriptorSets: ptr VkDescriptorSet): VkResult {...}{.
    stdcall.}
vkUpdateDescriptorSets: proc (device: VkDevice; descriptorWriteCount: uint32;
                              pDescriptorWrites: ptr VkWriteDescriptorSet;
                              descriptorCopyCount: uint32;
                              pDescriptorCopies: ptr VkCopyDescriptorSet): void {...}{.
    stdcall.}
vkCreateFramebuffer: proc (device: VkDevice;
                           pCreateInfo: ptr VkFramebufferCreateInfo;
                           pAllocator: ptr VkAllocationCallbacks;
                           pFramebuffer: ptr VkFramebuffer): VkResult {...}{.stdcall.}
vkDestroyFramebuffer: proc (device: VkDevice; framebuffer: VkFramebuffer;
                            pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkCreateRenderPass: proc (device: VkDevice;
                          pCreateInfo: ptr VkRenderPassCreateInfo;
                          pAllocator: ptr VkAllocationCallbacks;
                          pRenderPass: ptr VkRenderPass): VkResult {...}{.stdcall.}
vkDestroyRenderPass: proc (device: VkDevice; renderPass: VkRenderPass;
                           pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkGetRenderAreaGranularity: proc (device: VkDevice; renderPass: VkRenderPass;
                                  pGranularity: ptr VkExtent2D): void {...}{.stdcall.}
vkCreateCommandPool: proc (device: VkDevice;
                           pCreateInfo: ptr VkCommandPoolCreateInfo;
                           pAllocator: ptr VkAllocationCallbacks;
                           pCommandPool: ptr VkCommandPool): VkResult {...}{.stdcall.}
vkDestroyCommandPool: proc (device: VkDevice; commandPool: VkCommandPool;
                            pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkResetCommandPool: proc (device: VkDevice; commandPool: VkCommandPool;
                          flags: VkCommandPoolResetFlags): VkResult {...}{.stdcall.}
vkAllocateCommandBuffers: proc (device: VkDevice;
                                pAllocateInfo: ptr VkCommandBufferAllocateInfo;
                                pCommandBuffers: ptr VkCommandBuffer): VkResult {...}{.
    stdcall.}
vkFreeCommandBuffers: proc (device: VkDevice; commandPool: VkCommandPool;
                            commandBufferCount: uint32;
                            pCommandBuffers: ptr VkCommandBuffer): void {...}{.
    stdcall.}
vkBeginCommandBuffer: proc (commandBuffer: VkCommandBuffer;
                            pBeginInfo: ptr VkCommandBufferBeginInfo): VkResult {...}{.
    stdcall.}
vkEndCommandBuffer: proc (commandBuffer: VkCommandBuffer): VkResult {...}{.stdcall.}
vkResetCommandBuffer: proc (commandBuffer: VkCommandBuffer;
                            flags: VkCommandBufferResetFlags): VkResult {...}{.
    stdcall.}
vkCmdBindPipeline: proc (commandBuffer: VkCommandBuffer;
                         pipelineBindPoint: VkPipelineBindPoint;
                         pipeline: VkPipeline): void {...}{.stdcall.}
vkCmdSetViewport: proc (commandBuffer: VkCommandBuffer; firstViewport: uint32;
                        viewportCount: uint32; pViewports: ptr VkViewport): void {...}{.
    stdcall.}
vkCmdSetScissor: proc (commandBuffer: VkCommandBuffer; firstScissor: uint32;
                       scissorCount: uint32; pScissors: ptr VkRect2D): void {...}{.
    stdcall.}
vkCmdSetLineWidth: proc (commandBuffer: VkCommandBuffer; lineWidth: float32): void {...}{.
    stdcall.}
vkCmdSetDepthBias: proc (commandBuffer: VkCommandBuffer;
                         depthBiasConstantFactor: float32;
                         depthBiasClamp: float32; depthBiasSlopeFactor: float32): void {...}{.
    stdcall.}
vkCmdSetBlendConstants: proc (commandBuffer: VkCommandBuffer;
                              blendConstants: array[4, float32]): void {...}{.stdcall.}
vkCmdSetDepthBounds: proc (commandBuffer: VkCommandBuffer;
                           minDepthBounds: float32; maxDepthBounds: float32): void {...}{.
    stdcall.}
vkCmdSetStencilCompareMask: proc (commandBuffer: VkCommandBuffer;
                                  faceMask: VkStencilFaceFlags;
                                  compareMask: uint32): void {...}{.stdcall.}
vkCmdSetStencilWriteMask: proc (commandBuffer: VkCommandBuffer;
                                faceMask: VkStencilFaceFlags; writeMask: uint32): void {...}{.
    stdcall.}
vkCmdSetStencilReference: proc (commandBuffer: VkCommandBuffer;
                                faceMask: VkStencilFaceFlags; reference: uint32): 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.}
vkCmdBindVertexBuffers: proc (commandBuffer: VkCommandBuffer;
                              firstBinding: uint32; bindingCount: uint32;
                              pBuffers: ptr VkBuffer; pOffsets: ptr VkDeviceSize): void {...}{.
    stdcall.}
vkCmdDraw: proc (commandBuffer: VkCommandBuffer; vertexCount: uint32;
                 instanceCount: uint32; firstVertex: uint32;
                 firstInstance: uint32): void {...}{.stdcall.}
vkCmdDrawIndexed: proc (commandBuffer: VkCommandBuffer; indexCount: uint32;
                        instanceCount: uint32; firstIndex: uint32;
                        vertexOffset: int32; firstInstance: uint32): void {...}{.
    stdcall.}
vkCmdDrawIndirect: proc (commandBuffer: VkCommandBuffer; buffer: VkBuffer;
                         offset: VkDeviceSize; drawCount: uint32; stride: uint32): void {...}{.
    stdcall.}
vkCmdDrawIndexedIndirect: proc (commandBuffer: VkCommandBuffer;
                                buffer: VkBuffer; offset: VkDeviceSize;
                                drawCount: uint32; stride: uint32): void {...}{.
    stdcall.}
vkCmdDispatch: proc (commandBuffer: VkCommandBuffer; groupCountX: uint32;
                     groupCountY: uint32; groupCountZ: uint32): void {...}{.stdcall.}
vkCmdDispatchIndirect: proc (commandBuffer: VkCommandBuffer; buffer: VkBuffer;
                             offset: VkDeviceSize): void {...}{.stdcall.}
vkCmdCopyBuffer: proc (commandBuffer: VkCommandBuffer; srcBuffer: VkBuffer;
                       dstBuffer: VkBuffer; regionCount: uint32;
                       pRegions: ptr VkBufferCopy): void {...}{.stdcall.}
vkCmdCopyImage: proc (commandBuffer: VkCommandBuffer; srcImage: VkImage;
                      srcImageLayout: VkImageLayout; dstImage: VkImage;
                      dstImageLayout: VkImageLayout; regionCount: uint32;
                      pRegions: ptr VkImageCopy): void {...}{.stdcall.}
vkCmdBlitImage: proc (commandBuffer: VkCommandBuffer; srcImage: VkImage;
                      srcImageLayout: VkImageLayout; dstImage: VkImage;
                      dstImageLayout: VkImageLayout; regionCount: uint32;
                      pRegions: ptr VkImageBlit; filter: VkFilter): void {...}{.
    stdcall.}
vkCmdCopyBufferToImage: proc (commandBuffer: VkCommandBuffer;
                              srcBuffer: VkBuffer; dstImage: VkImage;
                              dstImageLayout: VkImageLayout;
                              regionCount: uint32;
                              pRegions: ptr VkBufferImageCopy): void {...}{.stdcall.}
vkCmdCopyImageToBuffer: proc (commandBuffer: VkCommandBuffer; srcImage: VkImage;
                              srcImageLayout: VkImageLayout;
                              dstBuffer: VkBuffer; regionCount: uint32;
                              pRegions: ptr VkBufferImageCopy): void {...}{.stdcall.}
vkCmdUpdateBuffer: proc (commandBuffer: VkCommandBuffer; dstBuffer: VkBuffer;
                         dstOffset: VkDeviceSize; dataSize: VkDeviceSize;
                         pData: pointer): void {...}{.stdcall.}
vkCmdFillBuffer: proc (commandBuffer: VkCommandBuffer; dstBuffer: VkBuffer;
                       dstOffset: VkDeviceSize; size: VkDeviceSize; data: uint32): 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.}
vkCmdClearAttachments: proc (commandBuffer: VkCommandBuffer;
                             attachmentCount: uint32;
                             pAttachments: ptr VkClearAttachment;
                             rectCount: uint32; pRects: ptr VkClearRect): void {...}{.
    stdcall.}
vkCmdResolveImage: proc (commandBuffer: VkCommandBuffer; srcImage: VkImage;
                         srcImageLayout: VkImageLayout; dstImage: VkImage;
                         dstImageLayout: VkImageLayout; regionCount: uint32;
                         pRegions: ptr VkImageResolve): void {...}{.stdcall.}
vkCmdSetEvent: proc (commandBuffer: VkCommandBuffer; event: VkEvent;
                     stageMask: VkPipelineStageFlags): void {...}{.stdcall.}
vkCmdResetEvent: proc (commandBuffer: VkCommandBuffer; event: VkEvent;
                       stageMask: VkPipelineStageFlags): 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.}
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.}
vkCmdBeginQuery: proc (commandBuffer: VkCommandBuffer; queryPool: VkQueryPool;
                       query: uint32; flags: VkQueryControlFlags): void {...}{.
    stdcall.}
vkCmdEndQuery: proc (commandBuffer: VkCommandBuffer; queryPool: VkQueryPool;
                     query: uint32): void {...}{.stdcall.}
vkCmdBeginConditionalRenderingEXT: proc (commandBuffer: VkCommandBuffer;
    pConditionalRenderingBegin: ptr VkConditionalRenderingBeginInfoEXT): void {...}{.
    stdcall.}
vkCmdEndConditionalRenderingEXT: proc (commandBuffer: VkCommandBuffer): void {...}{.
    stdcall.}
vkCmdResetQueryPool: proc (commandBuffer: VkCommandBuffer;
                           queryPool: VkQueryPool; firstQuery: uint32;
                           queryCount: uint32): void {...}{.stdcall.}
vkCmdWriteTimestamp: proc (commandBuffer: VkCommandBuffer;
                           pipelineStage: VkPipelineStageFlagBits;
                           queryPool: VkQueryPool; query: uint32): void {...}{.
    stdcall.}
vkCmdCopyQueryPoolResults: proc (commandBuffer: VkCommandBuffer;
                                 queryPool: VkQueryPool; firstQuery: uint32;
                                 queryCount: uint32; dstBuffer: VkBuffer;
                                 dstOffset: VkDeviceSize; stride: VkDeviceSize;
                                 flags: VkQueryResultFlags): void {...}{.stdcall.}
vkCmdPushConstants: proc (commandBuffer: VkCommandBuffer;
                          layout: VkPipelineLayout;
                          stageFlags: VkShaderStageFlags; offset: uint32;
                          size: uint32; pValues: pointer): void {...}{.stdcall.}
vkCmdBeginRenderPass: proc (commandBuffer: VkCommandBuffer;
                            pRenderPassBegin: ptr VkRenderPassBeginInfo;
                            contents: VkSubpassContents): void {...}{.stdcall.}
vkCmdNextSubpass: proc (commandBuffer: VkCommandBuffer;
                        contents: VkSubpassContents): void {...}{.stdcall.}
vkCmdEndRenderPass: proc (commandBuffer: VkCommandBuffer): void {...}{.stdcall.}
vkCmdExecuteCommands: proc (commandBuffer: VkCommandBuffer;
                            commandBufferCount: uint32;
                            pCommandBuffers: ptr VkCommandBuffer): void {...}{.
    stdcall.}
vkCreateAndroidSurfaceKHR: proc (instance: VkInstance; pCreateInfo: ptr VkAndroidSurfaceCreateInfoKHR;
                                 pAllocator: ptr VkAllocationCallbacks;
                                 pSurface: ptr VkSurfaceKHR): VkResult {...}{.stdcall.}
vkGetPhysicalDeviceDisplayPropertiesKHR: proc (physicalDevice: VkPhysicalDevice;
    pPropertyCount: ptr uint32; pProperties: ptr VkDisplayPropertiesKHR): VkResult {...}{.
    stdcall.}
vkGetPhysicalDeviceDisplayPlanePropertiesKHR: proc (
    physicalDevice: VkPhysicalDevice; pPropertyCount: ptr uint32;
    pProperties: ptr VkDisplayPlanePropertiesKHR): VkResult {...}{.stdcall.}
vkGetDisplayPlaneSupportedDisplaysKHR: proc (physicalDevice: VkPhysicalDevice;
    planeIndex: uint32; pDisplayCount: ptr uint32; pDisplays: ptr VkDisplayKHR): VkResult {...}{.
    stdcall.}
vkGetDisplayModePropertiesKHR: proc (physicalDevice: VkPhysicalDevice;
                                     display: VkDisplayKHR;
                                     pPropertyCount: ptr uint32; pProperties: ptr VkDisplayModePropertiesKHR): VkResult {...}{.
    stdcall.}
vkCreateDisplayModeKHR: proc (physicalDevice: VkPhysicalDevice;
                              display: VkDisplayKHR;
                              pCreateInfo: ptr VkDisplayModeCreateInfoKHR;
                              pAllocator: ptr VkAllocationCallbacks;
                              pMode: ptr VkDisplayModeKHR): VkResult {...}{.stdcall.}
vkGetDisplayPlaneCapabilitiesKHR: proc (physicalDevice: VkPhysicalDevice;
                                        mode: VkDisplayModeKHR;
                                        planeIndex: uint32; pCapabilities: ptr VkDisplayPlaneCapabilitiesKHR): VkResult {...}{.
    stdcall.}
vkCreateDisplayPlaneSurfaceKHR: proc (instance: VkInstance; pCreateInfo: ptr VkDisplaySurfaceCreateInfoKHR;
                                      pAllocator: ptr VkAllocationCallbacks;
                                      pSurface: ptr VkSurfaceKHR): VkResult {...}{.
    stdcall.}
vkCreateSharedSwapchainsKHR: proc (device: VkDevice; swapchainCount: uint32;
                                   pCreateInfos: ptr VkSwapchainCreateInfoKHR;
                                   pAllocator: ptr VkAllocationCallbacks;
                                   pSwapchains: ptr VkSwapchainKHR): VkResult {...}{.
    stdcall.}
vkDestroySurfaceKHR: proc (instance: VkInstance; surface: VkSurfaceKHR;
                           pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkGetPhysicalDeviceSurfaceSupportKHR: proc (physicalDevice: VkPhysicalDevice;
    queueFamilyIndex: uint32; surface: VkSurfaceKHR; pSupported: ptr VkBool32): VkResult {...}{.
    stdcall.}
vkGetPhysicalDeviceSurfaceCapabilitiesKHR: proc (
    physicalDevice: VkPhysicalDevice; surface: VkSurfaceKHR;
    pSurfaceCapabilities: ptr VkSurfaceCapabilitiesKHR): 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.}
vkCreateSwapchainKHR: proc (device: VkDevice;
                            pCreateInfo: ptr VkSwapchainCreateInfoKHR;
                            pAllocator: ptr VkAllocationCallbacks;
                            pSwapchain: ptr VkSwapchainKHR): VkResult {...}{.stdcall.}
vkDestroySwapchainKHR: proc (device: VkDevice; swapchain: VkSwapchainKHR;
                             pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkGetSwapchainImagesKHR: proc (device: VkDevice; swapchain: VkSwapchainKHR;
                               pSwapchainImageCount: ptr uint32;
                               pSwapchainImages: ptr VkImage): VkResult {...}{.
    stdcall.}
vkAcquireNextImageKHR: proc (device: VkDevice; swapchain: VkSwapchainKHR;
                             timeout: uint64; semaphore: VkSemaphore;
                             fence: VkFence; pImageIndex: ptr uint32): VkResult {...}{.
    stdcall.}
vkQueuePresentKHR: proc (queue: VkQueue; pPresentInfo: ptr VkPresentInfoKHR): VkResult {...}{.
    stdcall.}
vkCreateViSurfaceNN: proc (instance: VkInstance;
                           pCreateInfo: ptr VkViSurfaceCreateInfoNN;
                           pAllocator: ptr VkAllocationCallbacks;
                           pSurface: ptr VkSurfaceKHR): VkResult {...}{.stdcall.}
vkCreateWaylandSurfaceKHR: proc (instance: VkInstance; pCreateInfo: ptr VkWaylandSurfaceCreateInfoKHR;
                                 pAllocator: ptr VkAllocationCallbacks;
                                 pSurface: ptr VkSurfaceKHR): VkResult {...}{.stdcall.}
vkGetPhysicalDeviceWaylandPresentationSupportKHR: proc (
    physicalDevice: VkPhysicalDevice; queueFamilyIndex: uint32;
    display: ptr wl_display): VkBool32 {...}{.stdcall.}
vkCreateWin32SurfaceKHR: proc (instance: VkInstance;
                               pCreateInfo: ptr VkWin32SurfaceCreateInfoKHR;
                               pAllocator: ptr VkAllocationCallbacks;
                               pSurface: ptr VkSurfaceKHR): VkResult {...}{.stdcall.}
vkGetPhysicalDeviceWin32PresentationSupportKHR: proc (
    physicalDevice: VkPhysicalDevice; queueFamilyIndex: uint32): VkBool32 {...}{.
    stdcall.}
vkCreateXlibSurfaceKHR: proc (instance: VkInstance;
                              pCreateInfo: ptr VkXlibSurfaceCreateInfoKHR;
                              pAllocator: ptr VkAllocationCallbacks;
                              pSurface: ptr VkSurfaceKHR): VkResult {...}{.stdcall.}
vkGetPhysicalDeviceXlibPresentationSupportKHR: proc (
    physicalDevice: VkPhysicalDevice; queueFamilyIndex: uint32;
    dpy: ptr Display; visualID: VisualID): VkBool32 {...}{.stdcall.}
vkCreateXcbSurfaceKHR: proc (instance: VkInstance;
                             pCreateInfo: ptr VkXcbSurfaceCreateInfoKHR;
                             pAllocator: ptr VkAllocationCallbacks;
                             pSurface: ptr VkSurfaceKHR): VkResult {...}{.stdcall.}
vkGetPhysicalDeviceXcbPresentationSupportKHR: proc (
    physicalDevice: VkPhysicalDevice; queueFamilyIndex: uint32;
    connection: ptr xcb_connection_t; visual_id: xcb_visualid_t): VkBool32 {...}{.
    stdcall.}
vkCreateDirectFBSurfaceEXT: proc (instance: VkInstance; pCreateInfo: ptr VkDirectFBSurfaceCreateInfoEXT;
                                  pAllocator: ptr VkAllocationCallbacks;
                                  pSurface: ptr VkSurfaceKHR): VkResult {...}{.
    stdcall.}
vkGetPhysicalDeviceDirectFBPresentationSupportEXT: proc (
    physicalDevice: VkPhysicalDevice; queueFamilyIndex: uint32;
    dfb: ptr IDirectFB): VkBool32 {...}{.stdcall.}
vkCreateImagePipeSurfaceFUCHSIA: proc (instance: VkInstance; pCreateInfo: ptr VkImagePipeSurfaceCreateInfoFUCHSIA;
                                       pAllocator: ptr VkAllocationCallbacks;
                                       pSurface: ptr VkSurfaceKHR): VkResult {...}{.
    stdcall.}
vkCreateStreamDescriptorSurfaceGGP: proc (instance: VkInstance;
    pCreateInfo: ptr VkStreamDescriptorSurfaceCreateInfoGGP;
    pAllocator: ptr VkAllocationCallbacks; pSurface: ptr VkSurfaceKHR): VkResult {...}{.
    stdcall.}
vkCreateDebugReportCallbackEXT: proc (instance: VkInstance; pCreateInfo: ptr VkDebugReportCallbackCreateInfoEXT;
                                      pAllocator: ptr VkAllocationCallbacks;
                                      pCallback: ptr VkDebugReportCallbackEXT): VkResult {...}{.
    stdcall.}
vkDestroyDebugReportCallbackEXT: proc (instance: VkInstance;
                                       callback: VkDebugReportCallbackEXT;
                                       pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkDebugReportMessageEXT: proc (instance: VkInstance;
                               flags: VkDebugReportFlagsEXT;
                               objectType: VkDebugReportObjectTypeEXT;
                               object: uint64; location: uint;
                               messageCode: int32; pLayerPrefix: cstring;
                               pMessage: cstring): void {...}{.stdcall.}
vkDebugMarkerSetObjectNameEXT: proc (device: VkDevice; pNameInfo: ptr VkDebugMarkerObjectNameInfoEXT): VkResult {...}{.
    stdcall.}
vkDebugMarkerSetObjectTagEXT: proc (device: VkDevice;
                                    pTagInfo: ptr VkDebugMarkerObjectTagInfoEXT): VkResult {...}{.
    stdcall.}
vkCmdDebugMarkerBeginEXT: proc (commandBuffer: VkCommandBuffer;
                                pMarkerInfo: ptr VkDebugMarkerMarkerInfoEXT): void {...}{.
    stdcall.}
vkCmdDebugMarkerEndEXT: proc (commandBuffer: VkCommandBuffer): void {...}{.stdcall.}
vkCmdDebugMarkerInsertEXT: proc (commandBuffer: VkCommandBuffer;
                                 pMarkerInfo: ptr VkDebugMarkerMarkerInfoEXT): void {...}{.
    stdcall.}
vkGetPhysicalDeviceExternalImageFormatPropertiesNV: proc (
    physicalDevice: VkPhysicalDevice; format: VkFormat; type: VkImageType;
    tiling: VkImageTiling; usage: VkImageUsageFlags; flags: VkImageCreateFlags;
    externalHandleType: VkExternalMemoryHandleTypeFlagsNV;
    pExternalImageFormatProperties: ptr VkExternalImageFormatPropertiesNV): VkResult {...}{.
    stdcall.}
vkGetMemoryWin32HandleNV: proc (device: VkDevice; memory: VkDeviceMemory;
                                handleType: VkExternalMemoryHandleTypeFlagsNV;
                                pHandle: ptr HANDLE): VkResult {...}{.stdcall.}
vkCmdExecuteGeneratedCommandsNV: proc (commandBuffer: VkCommandBuffer;
                                       isPreprocessed: VkBool32;
    pGeneratedCommandsInfo: ptr VkGeneratedCommandsInfoNV): void {...}{.stdcall.}
vkCmdPreprocessGeneratedCommandsNV: proc (commandBuffer: VkCommandBuffer;
    pGeneratedCommandsInfo: ptr VkGeneratedCommandsInfoNV): void {...}{.stdcall.}
vkCmdBindPipelineShaderGroupNV: proc (commandBuffer: VkCommandBuffer;
                                      pipelineBindPoint: VkPipelineBindPoint;
                                      pipeline: VkPipeline; groupIndex: uint32): void {...}{.
    stdcall.}
vkGetGeneratedCommandsMemoryRequirementsNV: proc (device: VkDevice;
    pInfo: ptr VkGeneratedCommandsMemoryRequirementsInfoNV;
    pMemoryRequirements: ptr VkMemoryRequirements2): void {...}{.stdcall.}
vkCreateIndirectCommandsLayoutNV: proc (device: VkDevice; pCreateInfo: ptr VkIndirectCommandsLayoutCreateInfoNV;
                                        pAllocator: ptr VkAllocationCallbacks;
    pIndirectCommandsLayout: ptr VkIndirectCommandsLayoutNV): VkResult {...}{.stdcall.}
vkDestroyIndirectCommandsLayoutNV: proc (device: VkDevice;
    indirectCommandsLayout: VkIndirectCommandsLayoutNV;
    pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkGetPhysicalDeviceFeatures2: proc (physicalDevice: VkPhysicalDevice;
                                    pFeatures: ptr VkPhysicalDeviceFeatures2): void {...}{.
    stdcall.}
vkGetPhysicalDeviceProperties2: proc (physicalDevice: VkPhysicalDevice;
    pProperties: ptr VkPhysicalDeviceProperties2): void {...}{.stdcall.}
vkGetPhysicalDeviceFormatProperties2: proc (physicalDevice: VkPhysicalDevice;
    format: VkFormat; pFormatProperties: ptr VkFormatProperties2): void {...}{.
    stdcall.}
vkGetPhysicalDeviceImageFormatProperties2: proc (
    physicalDevice: VkPhysicalDevice;
    pImageFormatInfo: ptr VkPhysicalDeviceImageFormatInfo2;
    pImageFormatProperties: ptr VkImageFormatProperties2): VkResult {...}{.stdcall.}
vkGetPhysicalDeviceQueueFamilyProperties2: proc (
    physicalDevice: VkPhysicalDevice; pQueueFamilyPropertyCount: ptr uint32;
    pQueueFamilyProperties: ptr VkQueueFamilyProperties2): void {...}{.stdcall.}
vkGetPhysicalDeviceMemoryProperties2: proc (physicalDevice: VkPhysicalDevice;
    pMemoryProperties: ptr VkPhysicalDeviceMemoryProperties2): void {...}{.stdcall.}
vkGetPhysicalDeviceSparseImageFormatProperties2: proc (
    physicalDevice: VkPhysicalDevice;
    pFormatInfo: ptr VkPhysicalDeviceSparseImageFormatInfo2;
    pPropertyCount: ptr uint32; pProperties: ptr VkSparseImageFormatProperties2): void {...}{.
    stdcall.}
vkCmdPushDescriptorSetKHR: proc (commandBuffer: VkCommandBuffer;
                                 pipelineBindPoint: VkPipelineBindPoint;
                                 layout: VkPipelineLayout; set: uint32;
                                 descriptorWriteCount: uint32;
                                 pDescriptorWrites: ptr VkWriteDescriptorSet): void {...}{.
    stdcall.}
vkTrimCommandPool: proc (device: VkDevice; commandPool: VkCommandPool;
                         flags: VkCommandPoolTrimFlags): void {...}{.stdcall.}
vkGetPhysicalDeviceExternalBufferProperties: proc (
    physicalDevice: VkPhysicalDevice;
    pExternalBufferInfo: ptr VkPhysicalDeviceExternalBufferInfo;
    pExternalBufferProperties: ptr VkExternalBufferProperties): void {...}{.stdcall.}
vkGetMemoryWin32HandleKHR: proc (device: VkDevice; pGetWin32HandleInfo: ptr VkMemoryGetWin32HandleInfoKHR;
                                 pHandle: ptr HANDLE): VkResult {...}{.stdcall.}
vkGetMemoryWin32HandlePropertiesKHR: proc (device: VkDevice;
    handleType: VkExternalMemoryHandleTypeFlagBits; handle: HANDLE;
    pMemoryWin32HandleProperties: ptr VkMemoryWin32HandlePropertiesKHR): VkResult {...}{.
    stdcall.}
vkGetMemoryFdKHR: proc (device: VkDevice; pGetFdInfo: ptr VkMemoryGetFdInfoKHR;
                        pFd: ptr int): VkResult {...}{.stdcall.}
vkGetMemoryFdPropertiesKHR: proc (device: VkDevice; handleType: VkExternalMemoryHandleTypeFlagBits;
                                  fd: int; pMemoryFdProperties: ptr VkMemoryFdPropertiesKHR): VkResult {...}{.
    stdcall.}
vkGetPhysicalDeviceExternalSemaphoreProperties: proc (
    physicalDevice: VkPhysicalDevice;
    pExternalSemaphoreInfo: ptr VkPhysicalDeviceExternalSemaphoreInfo;
    pExternalSemaphoreProperties: ptr VkExternalSemaphoreProperties): void {...}{.
    stdcall.}
vkGetSemaphoreWin32HandleKHR: proc (device: VkDevice; pGetWin32HandleInfo: ptr VkSemaphoreGetWin32HandleInfoKHR;
                                    pHandle: ptr HANDLE): VkResult {...}{.stdcall.}
vkImportSemaphoreWin32HandleKHR: proc (device: VkDevice;
    pImportSemaphoreWin32HandleInfo: ptr VkImportSemaphoreWin32HandleInfoKHR): VkResult {...}{.
    stdcall.}
vkGetSemaphoreFdKHR: proc (device: VkDevice;
                           pGetFdInfo: ptr VkSemaphoreGetFdInfoKHR; pFd: ptr int): VkResult {...}{.
    stdcall.}
vkImportSemaphoreFdKHR: proc (device: VkDevice; pImportSemaphoreFdInfo: ptr VkImportSemaphoreFdInfoKHR): VkResult {...}{.
    stdcall.}
vkGetPhysicalDeviceExternalFenceProperties: proc (
    physicalDevice: VkPhysicalDevice;
    pExternalFenceInfo: ptr VkPhysicalDeviceExternalFenceInfo;
    pExternalFenceProperties: ptr VkExternalFenceProperties): void {...}{.stdcall.}
vkGetFenceWin32HandleKHR: proc (device: VkDevice; pGetWin32HandleInfo: ptr VkFenceGetWin32HandleInfoKHR;
                                pHandle: ptr HANDLE): VkResult {...}{.stdcall.}
vkImportFenceWin32HandleKHR: proc (device: VkDevice; pImportFenceWin32HandleInfo: ptr VkImportFenceWin32HandleInfoKHR): VkResult {...}{.
    stdcall.}
vkGetFenceFdKHR: proc (device: VkDevice; pGetFdInfo: ptr VkFenceGetFdInfoKHR;
                       pFd: ptr int): VkResult {...}{.stdcall.}
vkImportFenceFdKHR: proc (device: VkDevice;
                          pImportFenceFdInfo: ptr VkImportFenceFdInfoKHR): VkResult {...}{.
    stdcall.}
vkReleaseDisplayEXT: proc (physicalDevice: VkPhysicalDevice;
                           display: VkDisplayKHR): VkResult {...}{.stdcall.}
vkAcquireXlibDisplayEXT: proc (physicalDevice: VkPhysicalDevice;
                               dpy: ptr Display; display: VkDisplayKHR): VkResult {...}{.
    stdcall.}
vkGetRandROutputDisplayEXT: proc (physicalDevice: VkPhysicalDevice;
                                  dpy: ptr Display; rrOutput: RROutput;
                                  pDisplay: ptr VkDisplayKHR): VkResult {...}{.
    stdcall.}
vkDisplayPowerControlEXT: proc (device: VkDevice; display: VkDisplayKHR;
                                pDisplayPowerInfo: ptr VkDisplayPowerInfoEXT): 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.}
vkGetSwapchainCounterEXT: proc (device: VkDevice; swapchain: VkSwapchainKHR;
                                counter: VkSurfaceCounterFlagBitsEXT;
                                pCounterValue: ptr uint64): VkResult {...}{.stdcall.}
vkGetPhysicalDeviceSurfaceCapabilities2EXT: proc (
    physicalDevice: VkPhysicalDevice; surface: VkSurfaceKHR;
    pSurfaceCapabilities: ptr VkSurfaceCapabilities2EXT): VkResult {...}{.stdcall.}
vkEnumeratePhysicalDeviceGroups: proc (instance: VkInstance;
                                       pPhysicalDeviceGroupCount: ptr uint32;
    pPhysicalDeviceGroupProperties: ptr VkPhysicalDeviceGroupProperties): VkResult {...}{.
    stdcall.}
vkGetDeviceGroupPeerMemoryFeatures: proc (device: VkDevice; heapIndex: uint32;
    localDeviceIndex: uint32; remoteDeviceIndex: uint32;
    pPeerMemoryFeatures: ptr VkPeerMemoryFeatureFlags): void {...}{.stdcall.}
vkBindBufferMemory2: proc (device: VkDevice; bindInfoCount: uint32;
                           pBindInfos: ptr VkBindBufferMemoryInfo): VkResult {...}{.
    stdcall.}
vkBindImageMemory2: proc (device: VkDevice; bindInfoCount: uint32;
                          pBindInfos: ptr VkBindImageMemoryInfo): VkResult {...}{.
    stdcall.}
vkCmdSetDeviceMask: proc (commandBuffer: VkCommandBuffer; deviceMask: uint32): void {...}{.
    stdcall.}
vkGetDeviceGroupPresentCapabilitiesKHR: proc (device: VkDevice;
    pDeviceGroupPresentCapabilities: ptr VkDeviceGroupPresentCapabilitiesKHR): VkResult {...}{.
    stdcall.}
vkGetDeviceGroupSurfacePresentModesKHR: proc (device: VkDevice;
    surface: VkSurfaceKHR; pModes: ptr VkDeviceGroupPresentModeFlagsKHR): VkResult {...}{.
    stdcall.}
vkAcquireNextImage2KHR: proc (device: VkDevice;
                              pAcquireInfo: ptr VkAcquireNextImageInfoKHR;
                              pImageIndex: ptr uint32): VkResult {...}{.stdcall.}
vkCmdDispatchBase: proc (commandBuffer: VkCommandBuffer; baseGroupX: uint32;
                         baseGroupY: uint32; baseGroupZ: uint32;
                         groupCountX: uint32; groupCountY: uint32;
                         groupCountZ: uint32): void {...}{.stdcall.}
vkGetPhysicalDevicePresentRectanglesKHR: proc (physicalDevice: VkPhysicalDevice;
    surface: VkSurfaceKHR; pRectCount: ptr uint32; pRects: ptr VkRect2D): VkResult {...}{.
    stdcall.}
vkCreateDescriptorUpdateTemplate: proc (device: VkDevice; pCreateInfo: ptr VkDescriptorUpdateTemplateCreateInfo;
                                        pAllocator: ptr VkAllocationCallbacks;
    pDescriptorUpdateTemplate: ptr VkDescriptorUpdateTemplate): VkResult {...}{.
    stdcall.}
vkDestroyDescriptorUpdateTemplate: proc (device: VkDevice;
    descriptorUpdateTemplate: VkDescriptorUpdateTemplate;
    pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkUpdateDescriptorSetWithTemplate: proc (device: VkDevice;
    descriptorSet: VkDescriptorSet;
    descriptorUpdateTemplate: VkDescriptorUpdateTemplate; pData: pointer): void {...}{.
    stdcall.}
vkCmdPushDescriptorSetWithTemplateKHR: proc (commandBuffer: VkCommandBuffer;
    descriptorUpdateTemplate: VkDescriptorUpdateTemplate;
    layout: VkPipelineLayout; set: uint32; pData: pointer): void {...}{.stdcall.}
vkSetHdrMetadataEXT: proc (device: VkDevice; swapchainCount: uint32;
                           pSwapchains: ptr VkSwapchainKHR;
                           pMetadata: ptr VkHdrMetadataEXT): void {...}{.stdcall.}
vkGetSwapchainStatusKHR: proc (device: VkDevice; swapchain: VkSwapchainKHR): VkResult {...}{.
    stdcall.}
vkGetRefreshCycleDurationGOOGLE: proc (device: VkDevice;
                                       swapchain: VkSwapchainKHR;
    pDisplayTimingProperties: ptr VkRefreshCycleDurationGOOGLE): VkResult {...}{.
    stdcall.}
vkGetPastPresentationTimingGOOGLE: proc (device: VkDevice;
    swapchain: VkSwapchainKHR; pPresentationTimingCount: ptr uint32;
    pPresentationTimings: ptr VkPastPresentationTimingGOOGLE): VkResult {...}{.
    stdcall.}
vkCreateIOSSurfaceMVK: proc (instance: VkInstance;
                             pCreateInfo: ptr VkIOSSurfaceCreateInfoMVK;
                             pAllocator: ptr VkAllocationCallbacks;
                             pSurface: ptr VkSurfaceKHR): VkResult {...}{.stdcall.}
vkCreateMacOSSurfaceMVK: proc (instance: VkInstance;
                               pCreateInfo: ptr VkMacOSSurfaceCreateInfoMVK;
                               pAllocator: ptr VkAllocationCallbacks;
                               pSurface: ptr VkSurfaceKHR): VkResult {...}{.stdcall.}
vkCreateMetalSurfaceEXT: proc (instance: VkInstance;
                               pCreateInfo: ptr VkMetalSurfaceCreateInfoEXT;
                               pAllocator: ptr VkAllocationCallbacks;
                               pSurface: ptr VkSurfaceKHR): VkResult {...}{.stdcall.}
vkCmdSetViewportWScalingNV: proc (commandBuffer: VkCommandBuffer;
                                  firstViewport: uint32; viewportCount: uint32;
                                  pViewportWScalings: ptr VkViewportWScalingNV): void {...}{.
    stdcall.}
vkCmdSetDiscardRectangleEXT: proc (commandBuffer: VkCommandBuffer;
                                   firstDiscardRectangle: uint32;
                                   discardRectangleCount: uint32;
                                   pDiscardRectangles: ptr VkRect2D): void {...}{.
    stdcall.}
vkCmdSetSampleLocationsEXT: proc (commandBuffer: VkCommandBuffer;
    pSampleLocationsInfo: ptr VkSampleLocationsInfoEXT): void {...}{.stdcall.}
vkGetPhysicalDeviceMultisamplePropertiesEXT: proc (
    physicalDevice: VkPhysicalDevice; samples: VkSampleCountFlagBits;
    pMultisampleProperties: ptr VkMultisamplePropertiesEXT): void {...}{.stdcall.}
vkGetPhysicalDeviceSurfaceCapabilities2KHR: proc (
    physicalDevice: VkPhysicalDevice;
    pSurfaceInfo: ptr VkPhysicalDeviceSurfaceInfo2KHR;
    pSurfaceCapabilities: ptr VkSurfaceCapabilities2KHR): VkResult {...}{.stdcall.}
vkGetPhysicalDeviceSurfaceFormats2KHR: proc (physicalDevice: VkPhysicalDevice;
    pSurfaceInfo: ptr VkPhysicalDeviceSurfaceInfo2KHR;
    pSurfaceFormatCount: ptr uint32; pSurfaceFormats: ptr VkSurfaceFormat2KHR): VkResult {...}{.
    stdcall.}
vkGetPhysicalDeviceDisplayProperties2KHR: proc (
    physicalDevice: VkPhysicalDevice; pPropertyCount: ptr uint32;
    pProperties: ptr VkDisplayProperties2KHR): VkResult {...}{.stdcall.}
vkGetPhysicalDeviceDisplayPlaneProperties2KHR: proc (
    physicalDevice: VkPhysicalDevice; pPropertyCount: ptr uint32;
    pProperties: ptr VkDisplayPlaneProperties2KHR): VkResult {...}{.stdcall.}
vkGetDisplayModeProperties2KHR: proc (physicalDevice: VkPhysicalDevice;
                                      display: VkDisplayKHR;
                                      pPropertyCount: ptr uint32; pProperties: ptr VkDisplayModeProperties2KHR): VkResult {...}{.
    stdcall.}
vkGetDisplayPlaneCapabilities2KHR: proc (physicalDevice: VkPhysicalDevice;
    pDisplayPlaneInfo: ptr VkDisplayPlaneInfo2KHR;
    pCapabilities: ptr VkDisplayPlaneCapabilities2KHR): VkResult {...}{.stdcall.}
vkGetBufferMemoryRequirements2: proc (device: VkDevice; pInfo: ptr VkBufferMemoryRequirementsInfo2;
    pMemoryRequirements: ptr VkMemoryRequirements2): void {...}{.stdcall.}
vkGetImageMemoryRequirements2: proc (device: VkDevice;
                                     pInfo: ptr VkImageMemoryRequirementsInfo2;
    pMemoryRequirements: ptr VkMemoryRequirements2): void {...}{.stdcall.}
vkGetImageSparseMemoryRequirements2: proc (device: VkDevice;
    pInfo: ptr VkImageSparseMemoryRequirementsInfo2;
    pSparseMemoryRequirementCount: ptr uint32;
    pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements2): void {...}{.
    stdcall.}
vkCreateSamplerYcbcrConversion: proc (device: VkDevice; pCreateInfo: ptr VkSamplerYcbcrConversionCreateInfo;
                                      pAllocator: ptr VkAllocationCallbacks;
    pYcbcrConversion: ptr VkSamplerYcbcrConversion): VkResult {...}{.stdcall.}
vkDestroySamplerYcbcrConversion: proc (device: VkDevice; ycbcrConversion: VkSamplerYcbcrConversion;
                                       pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkGetDeviceQueue2: proc (device: VkDevice; pQueueInfo: ptr VkDeviceQueueInfo2;
                         pQueue: ptr VkQueue): void {...}{.stdcall.}
vkCreateValidationCacheEXT: proc (device: VkDevice; pCreateInfo: ptr VkValidationCacheCreateInfoEXT;
                                  pAllocator: ptr VkAllocationCallbacks;
                                  pValidationCache: ptr VkValidationCacheEXT): VkResult {...}{.
    stdcall.}
vkDestroyValidationCacheEXT: proc (device: VkDevice;
                                   validationCache: VkValidationCacheEXT;
                                   pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkGetValidationCacheDataEXT: proc (device: VkDevice;
                                   validationCache: VkValidationCacheEXT;
                                   pDataSize: ptr uint; pData: pointer): VkResult {...}{.
    stdcall.}
vkMergeValidationCachesEXT: proc (device: VkDevice;
                                  dstCache: VkValidationCacheEXT;
                                  srcCacheCount: uint32;
                                  pSrcCaches: ptr VkValidationCacheEXT): VkResult {...}{.
    stdcall.}
vkGetDescriptorSetLayoutSupport: proc (device: VkDevice; pCreateInfo: ptr VkDescriptorSetLayoutCreateInfo;
    pSupport: ptr VkDescriptorSetLayoutSupport): void {...}{.stdcall.}
vkGetSwapchainGrallocUsageANDROID: proc (device: VkDevice; format: VkFormat;
    imageUsage: VkImageUsageFlags; grallocUsage: ptr int): VkResult {...}{.stdcall.}
vkGetSwapchainGrallocUsage2ANDROID: proc (device: VkDevice; format: VkFormat;
    imageUsage: VkImageUsageFlags;
    swapchainImageUsage: VkSwapchainImageUsageFlagsANDROID;
    grallocConsumerUsage: ptr uint64; grallocProducerUsage: ptr uint64): VkResult {...}{.
    stdcall.}
vkAcquireImageANDROID: proc (device: VkDevice; image: VkImage;
                             nativeFenceFd: int; semaphore: VkSemaphore;
                             fence: VkFence): VkResult {...}{.stdcall.}
vkQueueSignalReleaseImageANDROID: proc (queue: VkQueue;
                                        waitSemaphoreCount: uint32;
                                        pWaitSemaphores: ptr VkSemaphore;
                                        image: VkImage; pNativeFenceFd: ptr int): VkResult {...}{.
    stdcall.}
vkGetShaderInfoAMD: proc (device: VkDevice; pipeline: VkPipeline;
                          shaderStage: VkShaderStageFlagBits;
                          infoType: VkShaderInfoTypeAMD; pInfoSize: ptr uint;
                          pInfo: pointer): VkResult {...}{.stdcall.}
vkSetLocalDimmingAMD: proc (device: VkDevice; swapChain: VkSwapchainKHR;
                            localDimmingEnable: VkBool32): void {...}{.stdcall.}
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT: proc (
    physicalDevice: VkPhysicalDevice; pTimeDomainCount: ptr uint32;
    pTimeDomains: ptr VkTimeDomainEXT): VkResult {...}{.stdcall.}
vkGetCalibratedTimestampsEXT: proc (device: VkDevice; timestampCount: uint32;
    pTimestampInfos: ptr VkCalibratedTimestampInfoEXT; pTimestamps: ptr uint64;
                                    pMaxDeviation: ptr uint64): VkResult {...}{.
    stdcall.}
vkSetDebugUtilsObjectNameEXT: proc (device: VkDevice; pNameInfo: ptr VkDebugUtilsObjectNameInfoEXT): VkResult {...}{.
    stdcall.}
vkSetDebugUtilsObjectTagEXT: proc (device: VkDevice;
                                   pTagInfo: ptr VkDebugUtilsObjectTagInfoEXT): VkResult {...}{.
    stdcall.}
vkQueueBeginDebugUtilsLabelEXT: proc (queue: VkQueue;
                                      pLabelInfo: ptr VkDebugUtilsLabelEXT): void {...}{.
    stdcall.}
vkQueueEndDebugUtilsLabelEXT: proc (queue: VkQueue): void {...}{.stdcall.}
vkQueueInsertDebugUtilsLabelEXT: proc (queue: VkQueue;
                                       pLabelInfo: ptr VkDebugUtilsLabelEXT): void {...}{.
    stdcall.}
vkCmdBeginDebugUtilsLabelEXT: proc (commandBuffer: VkCommandBuffer;
                                    pLabelInfo: ptr VkDebugUtilsLabelEXT): void {...}{.
    stdcall.}
vkCmdEndDebugUtilsLabelEXT: proc (commandBuffer: VkCommandBuffer): void {...}{.
    stdcall.}
vkCmdInsertDebugUtilsLabelEXT: proc (commandBuffer: VkCommandBuffer;
                                     pLabelInfo: ptr VkDebugUtilsLabelEXT): void {...}{.
    stdcall.}
vkCreateDebugUtilsMessengerEXT: proc (instance: VkInstance; pCreateInfo: ptr VkDebugUtilsMessengerCreateInfoEXT;
                                      pAllocator: ptr VkAllocationCallbacks;
                                      pMessenger: ptr VkDebugUtilsMessengerEXT): VkResult {...}{.
    stdcall.}
vkDestroyDebugUtilsMessengerEXT: proc (instance: VkInstance;
                                       messenger: VkDebugUtilsMessengerEXT;
                                       pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkSubmitDebugUtilsMessageEXT: proc (instance: VkInstance; messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT;
    messageTypes: VkDebugUtilsMessageTypeFlagsEXT; pCallbackData: ptr VkDebugUtilsMessengerCallbackDataEXT): void {...}{.
    stdcall.}
vkGetMemoryHostPointerPropertiesEXT: proc (device: VkDevice;
    handleType: VkExternalMemoryHandleTypeFlagBits; pHostPointer: pointer;
    pMemoryHostPointerProperties: ptr VkMemoryHostPointerPropertiesEXT): VkResult {...}{.
    stdcall.}
vkCmdWriteBufferMarkerAMD: proc (commandBuffer: VkCommandBuffer;
                                 pipelineStage: VkPipelineStageFlagBits;
                                 dstBuffer: VkBuffer; dstOffset: VkDeviceSize;
                                 marker: uint32): void {...}{.stdcall.}
vkCreateRenderPass2: proc (device: VkDevice;
                           pCreateInfo: ptr VkRenderPassCreateInfo2;
                           pAllocator: ptr VkAllocationCallbacks;
                           pRenderPass: ptr VkRenderPass): VkResult {...}{.stdcall.}
vkCmdBeginRenderPass2: proc (commandBuffer: VkCommandBuffer;
                             pRenderPassBegin: ptr VkRenderPassBeginInfo;
                             pSubpassBeginInfo: ptr VkSubpassBeginInfo): void {...}{.
    stdcall.}
vkCmdNextSubpass2: proc (commandBuffer: VkCommandBuffer;
                         pSubpassBeginInfo: ptr VkSubpassBeginInfo;
                         pSubpassEndInfo: ptr VkSubpassEndInfo): void {...}{.stdcall.}
vkCmdEndRenderPass2: proc (commandBuffer: VkCommandBuffer;
                           pSubpassEndInfo: ptr VkSubpassEndInfo): void {...}{.
    stdcall.}
vkGetSemaphoreCounterValue: proc (device: VkDevice; semaphore: VkSemaphore;
                                  pValue: ptr uint64): VkResult {...}{.stdcall.}
vkWaitSemaphores: proc (device: VkDevice; pWaitInfo: ptr VkSemaphoreWaitInfo;
                        timeout: uint64): VkResult {...}{.stdcall.}
vkSignalSemaphore: proc (device: VkDevice;
                         pSignalInfo: ptr VkSemaphoreSignalInfo): VkResult {...}{.
    stdcall.}
vkGetAndroidHardwareBufferPropertiesANDROID: proc (device: VkDevice;
    buffer: ptr AHardwareBuffer;
    pProperties: ptr VkAndroidHardwareBufferPropertiesANDROID): VkResult {...}{.
    stdcall.}
vkGetMemoryAndroidHardwareBufferANDROID: proc (device: VkDevice;
    pInfo: ptr VkMemoryGetAndroidHardwareBufferInfoANDROID;
    pBuffer: ptr ptr AHardwareBuffer): VkResult {...}{.stdcall.}
vkCmdDrawIndirectCount: proc (commandBuffer: VkCommandBuffer; buffer: VkBuffer;
                              offset: VkDeviceSize; countBuffer: VkBuffer;
                              countBufferOffset: VkDeviceSize;
                              maxDrawCount: uint32; stride: uint32): void {...}{.
    stdcall.}
vkCmdDrawIndexedIndirectCount: proc (commandBuffer: VkCommandBuffer;
                                     buffer: VkBuffer; offset: VkDeviceSize;
                                     countBuffer: VkBuffer;
                                     countBufferOffset: VkDeviceSize;
                                     maxDrawCount: uint32; stride: uint32): void {...}{.
    stdcall.}
vkCmdSetCheckpointNV: proc (commandBuffer: VkCommandBuffer;
                            pCheckpointMarker: pointer): void {...}{.stdcall.}
vkGetQueueCheckpointDataNV: proc (queue: VkQueue;
                                  pCheckpointDataCount: ptr uint32;
                                  pCheckpointData: ptr VkCheckpointDataNV): void {...}{.
    stdcall.}
vkCmdBindTransformFeedbackBuffersEXT: proc (commandBuffer: VkCommandBuffer;
    firstBinding: uint32; bindingCount: uint32; pBuffers: ptr VkBuffer;
    pOffsets: ptr VkDeviceSize; pSizes: ptr VkDeviceSize): void {...}{.stdcall.}
vkCmdBeginTransformFeedbackEXT: proc (commandBuffer: VkCommandBuffer;
                                      firstCounterBuffer: uint32;
                                      counterBufferCount: uint32;
                                      pCounterBuffers: ptr VkBuffer;
                                      pCounterBufferOffsets: ptr VkDeviceSize): void {...}{.
    stdcall.}
vkCmdEndTransformFeedbackEXT: proc (commandBuffer: VkCommandBuffer;
                                    firstCounterBuffer: uint32;
                                    counterBufferCount: uint32;
                                    pCounterBuffers: ptr VkBuffer;
                                    pCounterBufferOffsets: ptr VkDeviceSize): void {...}{.
    stdcall.}
vkCmdBeginQueryIndexedEXT: proc (commandBuffer: VkCommandBuffer;
                                 queryPool: VkQueryPool; query: uint32;
                                 flags: VkQueryControlFlags; index: uint32): void {...}{.
    stdcall.}
vkCmdEndQueryIndexedEXT: proc (commandBuffer: VkCommandBuffer;
                               queryPool: VkQueryPool; query: uint32;
                               index: uint32): void {...}{.stdcall.}
vkCmdDrawIndirectByteCountEXT: proc (commandBuffer: VkCommandBuffer;
                                     instanceCount: uint32;
                                     firstInstance: uint32;
                                     counterBuffer: VkBuffer;
                                     counterBufferOffset: VkDeviceSize;
                                     counterOffset: uint32; vertexStride: uint32): void {...}{.
    stdcall.}
vkCmdSetExclusiveScissorNV: proc (commandBuffer: VkCommandBuffer;
                                  firstExclusiveScissor: uint32;
                                  exclusiveScissorCount: uint32;
                                  pExclusiveScissors: ptr VkRect2D): void {...}{.
    stdcall.}
vkCmdBindShadingRateImageNV: proc (commandBuffer: VkCommandBuffer;
                                   imageView: VkImageView;
                                   imageLayout: VkImageLayout): void {...}{.stdcall.}
vkCmdSetViewportShadingRatePaletteNV: proc (commandBuffer: VkCommandBuffer;
    firstViewport: uint32; viewportCount: uint32;
    pShadingRatePalettes: ptr VkShadingRatePaletteNV): void {...}{.stdcall.}
vkCmdSetCoarseSampleOrderNV: proc (commandBuffer: VkCommandBuffer;
                                   sampleOrderType: VkCoarseSampleOrderTypeNV;
                                   customSampleOrderCount: uint32;
    pCustomSampleOrders: ptr VkCoarseSampleOrderCustomNV): void {...}{.stdcall.}
vkCmdDrawMeshTasksNV: proc (commandBuffer: VkCommandBuffer; taskCount: uint32;
                            firstTask: uint32): void {...}{.stdcall.}
vkCmdDrawMeshTasksIndirectNV: proc (commandBuffer: VkCommandBuffer;
                                    buffer: VkBuffer; offset: VkDeviceSize;
                                    drawCount: uint32; stride: uint32): void {...}{.
    stdcall.}
vkCmdDrawMeshTasksIndirectCountNV: proc (commandBuffer: VkCommandBuffer;
    buffer: VkBuffer; offset: VkDeviceSize; countBuffer: VkBuffer;
    countBufferOffset: VkDeviceSize; maxDrawCount: uint32; stride: uint32): void {...}{.
    stdcall.}
vkCompileDeferredNV: proc (device: VkDevice; pipeline: VkPipeline;
                           shader: uint32): VkResult {...}{.stdcall.}
vkCreateAccelerationStructureNV: proc (device: VkDevice; pCreateInfo: ptr VkAccelerationStructureCreateInfoNV;
                                       pAllocator: ptr VkAllocationCallbacks;
    pAccelerationStructure: ptr VkAccelerationStructureNV): VkResult {...}{.stdcall.}
vkDestroyAccelerationStructureKHR: proc (device: VkDevice;
    accelerationStructure: VkAccelerationStructureKHR;
    pAllocator: ptr VkAllocationCallbacks): void {...}{.stdcall.}
vkGetAccelerationStructureMemoryRequirementsKHR: proc (device: VkDevice;
    pInfo: ptr VkAccelerationStructureMemoryRequirementsInfoKHR;
    pMemoryRequirements: ptr VkMemoryRequirements2): void {...}{.stdcall.}
vkGetAccelerationStructureMemoryRequirementsNV: proc (device: VkDevice;
    pInfo: ptr VkAccelerationStructureMemoryRequirementsInfoNV;
    pMemoryRequirements: ptr VkMemoryRequirements2KHR): void {...}{.stdcall.}
vkBindAccelerationStructureMemoryKHR: proc (device: VkDevice;
    bindInfoCount: uint32;
    pBindInfos: ptr VkBindAccelerationStructureMemoryInfoKHR): VkResult {...}{.
    stdcall.}
vkCmdCopyAccelerationStructureNV: proc (commandBuffer: VkCommandBuffer;
                                        dst: VkAccelerationStructureKHR;
                                        src: VkAccelerationStructureKHR; mode: VkCopyAccelerationStructureModeKHR): void {...}{.
    stdcall.}
vkCmdCopyAccelerationStructureKHR: proc (commandBuffer: VkCommandBuffer;
    pInfo: ptr VkCopyAccelerationStructureInfoKHR): void {...}{.stdcall.}
vkCopyAccelerationStructureKHR: proc (device: VkDevice; pInfo: ptr VkCopyAccelerationStructureInfoKHR): VkResult {...}{.
    stdcall.}
vkCmdCopyAccelerationStructureToMemoryKHR: proc (commandBuffer: VkCommandBuffer;
    pInfo: ptr VkCopyAccelerationStructureToMemoryInfoKHR): void {...}{.stdcall.}
vkCopyAccelerationStructureToMemoryKHR: proc (device: VkDevice;
    pInfo: ptr VkCopyAccelerationStructureToMemoryInfoKHR): VkResult {...}{.stdcall.}
vkCmdCopyMemoryToAccelerationStructureKHR: proc (commandBuffer: VkCommandBuffer;
    pInfo: ptr VkCopyMemoryToAccelerationStructureInfoKHR): void {...}{.stdcall.}
vkCopyMemoryToAccelerationStructureKHR: proc (device: VkDevice;
    pInfo: ptr VkCopyMemoryToAccelerationStructureInfoKHR): VkResult {...}{.stdcall.}
vkCmdWriteAccelerationStructuresPropertiesKHR: proc (
    commandBuffer: VkCommandBuffer; accelerationStructureCount: uint32;
    pAccelerationStructures: ptr VkAccelerationStructureKHR;
    queryType: VkQueryType; queryPool: VkQueryPool; firstQuery: uint32): void {...}{.
    stdcall.}
vkCmdBuildAccelerationStructureNV: proc (commandBuffer: VkCommandBuffer;
    pInfo: ptr VkAccelerationStructureInfoNV; instanceData: VkBuffer;
    instanceOffset: VkDeviceSize; update: VkBool32;
    dst: VkAccelerationStructureKHR; src: VkAccelerationStructureKHR;
    scratch: VkBuffer; scratchOffset: VkDeviceSize): void {...}{.stdcall.}
vkWriteAccelerationStructuresPropertiesKHR: proc (device: VkDevice;
    accelerationStructureCount: uint32;
    pAccelerationStructures: ptr VkAccelerationStructureKHR;
    queryType: VkQueryType; dataSize: uint; pData: pointer; stride: uint): VkResult {...}{.
    stdcall.}
vkCmdTraceRaysKHR: proc (commandBuffer: VkCommandBuffer;
    pRaygenShaderBindingTable: ptr VkStridedBufferRegionKHR;
                         pMissShaderBindingTable: ptr VkStridedBufferRegionKHR;
                         pHitShaderBindingTable: ptr VkStridedBufferRegionKHR;
    pCallableShaderBindingTable: ptr VkStridedBufferRegionKHR; 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.}
vkGetRayTracingShaderGroupHandlesKHR: proc (device: VkDevice;
    pipeline: VkPipeline; firstGroup: uint32; groupCount: uint32;
    dataSize: uint; pData: pointer): VkResult {...}{.stdcall.}
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR: proc (device: VkDevice;
    pipeline: VkPipeline; firstGroup: uint32; groupCount: uint32;
    dataSize: uint; pData: pointer): VkResult {...}{.stdcall.}
vkGetAccelerationStructureHandleNV: proc (device: VkDevice;
    accelerationStructure: VkAccelerationStructureKHR; dataSize: uint;
    pData: pointer): VkResult {...}{.stdcall.}
vkCreateRayTracingPipelinesNV: proc (device: VkDevice;
                                     pipelineCache: VkPipelineCache;
                                     createInfoCount: uint32; pCreateInfos: ptr VkRayTracingPipelineCreateInfoNV;
                                     pAllocator: ptr VkAllocationCallbacks;
                                     pPipelines: ptr VkPipeline): VkResult {...}{.
    stdcall.}
vkCreateRayTracingPipelinesKHR: proc (device: VkDevice;
                                      pipelineCache: VkPipelineCache;
                                      createInfoCount: uint32; pCreateInfos: ptr VkRayTracingPipelineCreateInfoKHR;
                                      pAllocator: ptr VkAllocationCallbacks;
                                      pPipelines: ptr VkPipeline): VkResult {...}{.
    stdcall.}
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV: proc (
    physicalDevice: VkPhysicalDevice; pPropertyCount: ptr uint32;
    pProperties: ptr VkCooperativeMatrixPropertiesNV): VkResult {...}{.stdcall.}
vkCmdTraceRaysIndirectKHR: proc (commandBuffer: VkCommandBuffer;
    pRaygenShaderBindingTable: ptr VkStridedBufferRegionKHR;
    pMissShaderBindingTable: ptr VkStridedBufferRegionKHR;
    pHitShaderBindingTable: ptr VkStridedBufferRegionKHR;
    pCallableShaderBindingTable: ptr VkStridedBufferRegionKHR; buffer: VkBuffer;
                                 offset: VkDeviceSize): void {...}{.stdcall.}
vkGetDeviceAccelerationStructureCompatibilityKHR: proc (device: VkDevice;
    version: ptr VkAccelerationStructureVersionKHR): VkResult {...}{.stdcall.}
vkGetImageViewHandleNVX: proc (device: VkDevice;
                               pInfo: ptr VkImageViewHandleInfoNVX): uint32 {...}{.
    stdcall.}
vkGetImageViewAddressNVX: proc (device: VkDevice; imageView: VkImageView;
    pProperties: ptr VkImageViewAddressPropertiesNVX): VkResult {...}{.stdcall.}
vkGetPhysicalDeviceSurfacePresentModes2EXT: proc (
    physicalDevice: VkPhysicalDevice;
    pSurfaceInfo: ptr VkPhysicalDeviceSurfaceInfo2KHR;
    pPresentModeCount: ptr uint32; pPresentModes: ptr VkPresentModeKHR): VkResult {...}{.
    stdcall.}
vkGetDeviceGroupSurfacePresentModes2EXT: proc (device: VkDevice;
    pSurfaceInfo: ptr VkPhysicalDeviceSurfaceInfo2KHR;
    pModes: ptr VkDeviceGroupPresentModeFlagsKHR): VkResult {...}{.stdcall.}
vkAcquireFullScreenExclusiveModeEXT: proc (device: VkDevice;
    swapchain: VkSwapchainKHR): VkResult {...}{.stdcall.}
vkReleaseFullScreenExclusiveModeEXT: proc (device: VkDevice;
    swapchain: VkSwapchainKHR): VkResult {...}{.stdcall.}
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR: proc (
    physicalDevice: VkPhysicalDevice; queueFamilyIndex: uint32;
    pCounterCount: ptr uint32; pCounters: ptr VkPerformanceCounterKHR;
    pCounterDescriptions: ptr VkPerformanceCounterDescriptionKHR): VkResult {...}{.
    stdcall.}
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR: proc (
    physicalDevice: VkPhysicalDevice;
    pPerformanceQueryCreateInfo: ptr VkQueryPoolPerformanceCreateInfoKHR;
    pNumPasses: ptr uint32): void {...}{.stdcall.}
vkAcquireProfilingLockKHR: proc (device: VkDevice;
                                 pInfo: ptr VkAcquireProfilingLockInfoKHR): VkResult {...}{.
    stdcall.}
vkReleaseProfilingLockKHR: proc (device: VkDevice): void {...}{.stdcall.}
vkGetImageDrmFormatModifierPropertiesEXT: proc (device: VkDevice;
    image: VkImage; pProperties: ptr VkImageDrmFormatModifierPropertiesEXT): VkResult {...}{.
    stdcall.}
vkGetBufferOpaqueCaptureAddress: proc (device: VkDevice;
                                       pInfo: ptr VkBufferDeviceAddressInfo): uint64 {...}{.
    stdcall.}
vkGetBufferDeviceAddress: proc (device: VkDevice;
                                pInfo: ptr VkBufferDeviceAddressInfo): VkDeviceAddress {...}{.
    stdcall.}
vkCreateHeadlessSurfaceEXT: proc (instance: VkInstance; pCreateInfo: ptr VkHeadlessSurfaceCreateInfoEXT;
                                  pAllocator: ptr VkAllocationCallbacks;
                                  pSurface: ptr VkSurfaceKHR): VkResult {...}{.
    stdcall.}
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV: proc (
    physicalDevice: VkPhysicalDevice; pCombinationCount: ptr uint32;
    pCombinations: ptr VkFramebufferMixedSamplesCombinationNV): VkResult {...}{.
    stdcall.}
vkInitializePerformanceApiINTEL: proc (device: VkDevice; pInitializeInfo: ptr VkInitializePerformanceApiInfoINTEL): VkResult {...}{.
    stdcall.}
vkUninitializePerformanceApiINTEL: proc (device: VkDevice): void {...}{.stdcall.}
vkCmdSetPerformanceMarkerINTEL: proc (commandBuffer: VkCommandBuffer;
    pMarkerInfo: ptr VkPerformanceMarkerInfoINTEL): VkResult {...}{.stdcall.}
vkCmdSetPerformanceStreamMarkerINTEL: proc (commandBuffer: VkCommandBuffer;
    pMarkerInfo: ptr VkPerformanceStreamMarkerInfoINTEL): VkResult {...}{.stdcall.}
vkCmdSetPerformanceOverrideINTEL: proc (commandBuffer: VkCommandBuffer;
    pOverrideInfo: ptr VkPerformanceOverrideInfoINTEL): VkResult {...}{.stdcall.}
vkAcquirePerformanceConfigurationINTEL: proc (device: VkDevice;
    pAcquireInfo: ptr VkPerformanceConfigurationAcquireInfoINTEL;
    pConfiguration: ptr VkPerformanceConfigurationINTEL): VkResult {...}{.stdcall.}
vkReleasePerformanceConfigurationINTEL: proc (device: VkDevice;
    configuration: VkPerformanceConfigurationINTEL): VkResult {...}{.stdcall.}
vkQueueSetPerformanceConfigurationINTEL: proc (queue: VkQueue;
    configuration: VkPerformanceConfigurationINTEL): VkResult {...}{.stdcall.}
vkGetPerformanceParameterINTEL: proc (device: VkDevice; parameter: VkPerformanceParameterTypeINTEL;
                                      pValue: ptr VkPerformanceValueINTEL): VkResult {...}{.
    stdcall.}
vkGetDeviceMemoryOpaqueCaptureAddress: proc (device: VkDevice;
    pInfo: ptr VkDeviceMemoryOpaqueCaptureAddressInfo): uint64 {...}{.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.}
vkGetPipelineExecutableInternalRepresentationsKHR: proc (device: VkDevice;
    pExecutableInfo: ptr VkPipelineExecutableInfoKHR;
    pInternalRepresentationCount: ptr uint32;
    pInternalRepresentations: ptr VkPipelineExecutableInternalRepresentationKHR): VkResult {...}{.
    stdcall.}
vkCmdSetLineStippleEXT: proc (commandBuffer: VkCommandBuffer;
                              lineStippleFactor: uint32;
                              lineStipplePattern: uint16): void {...}{.stdcall.}
vkGetPhysicalDeviceToolPropertiesEXT: proc (physicalDevice: VkPhysicalDevice;
    pToolCount: ptr uint32;
    pToolProperties: ptr VkPhysicalDeviceToolPropertiesEXT): VkResult {...}{.stdcall.}
vkCreateAccelerationStructureKHR: proc (device: VkDevice; pCreateInfo: ptr VkAccelerationStructureCreateInfoKHR;
                                        pAllocator: ptr VkAllocationCallbacks;
    pAccelerationStructure: ptr VkAccelerationStructureKHR): VkResult {...}{.stdcall.}
vkCmdBuildAccelerationStructureKHR: proc (commandBuffer: VkCommandBuffer;
    infoCount: uint32; pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR;
    ppOffsetInfos: ptr ptr VkAccelerationStructureBuildOffsetInfoKHR): void {...}{.
    stdcall.}
vkCmdBuildAccelerationStructureIndirectKHR: proc (
    commandBuffer: VkCommandBuffer;
    pInfo: ptr VkAccelerationStructureBuildGeometryInfoKHR;
    indirectBuffer: VkBuffer; indirectOffset: VkDeviceSize;
    indirectStride: uint32): void {...}{.stdcall.}
vkBuildAccelerationStructureKHR: proc (device: VkDevice; infoCount: uint32;
    pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR; ppOffsetInfos: ptr ptr VkAccelerationStructureBuildOffsetInfoKHR): VkResult {...}{.
    stdcall.}
vkGetAccelerationStructureDeviceAddressKHR: proc (device: VkDevice;
    pInfo: ptr VkAccelerationStructureDeviceAddressInfoKHR): VkDeviceAddress {...}{.
    stdcall.}
vkCreateDeferredOperationKHR: proc (device: VkDevice;
                                    pAllocator: ptr VkAllocationCallbacks;
    pDeferredOperation: ptr VkDeferredOperationKHR): VkResult {...}{.stdcall.}
vkDestroyDeferredOperationKHR: proc (device: VkDevice;
                                     operation: VkDeferredOperationKHR;
                                     pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkGetDeferredOperationMaxConcurrencyKHR: proc (device: VkDevice;
    operation: VkDeferredOperationKHR): uint32 {...}{.stdcall.}
vkGetDeferredOperationResultKHR: proc (device: VkDevice;
                                       operation: VkDeferredOperationKHR): VkResult {...}{.
    stdcall.}
vkDeferredOperationJoinKHR: proc (device: VkDevice;
                                  operation: VkDeferredOperationKHR): VkResult {...}{.
    stdcall.}
vkCmdSetCullModeEXT: proc (commandBuffer: VkCommandBuffer;
                           cullMode: VkCullModeFlags): void {...}{.stdcall.}
vkCmdSetFrontFaceEXT: proc (commandBuffer: VkCommandBuffer;
                            frontFace: VkFrontFace): void {...}{.stdcall.}
vkCmdSetPrimitiveTopologyEXT: proc (commandBuffer: VkCommandBuffer;
                                    primitiveTopology: VkPrimitiveTopology): void {...}{.
    stdcall.}
vkCmdSetViewportWithCountEXT: proc (commandBuffer: VkCommandBuffer;
                                    viewportCount: uint32;
                                    pViewports: ptr VkViewport): void {...}{.stdcall.}
vkCmdSetScissorWithCountEXT: proc (commandBuffer: VkCommandBuffer;
                                   scissorCount: uint32; pScissors: ptr VkRect2D): void {...}{.
    stdcall.}
vkCmdBindVertexBuffers2EXT: proc (commandBuffer: VkCommandBuffer;
                                  firstBinding: uint32; bindingCount: uint32;
                                  pBuffers: ptr VkBuffer;
                                  pOffsets: ptr VkDeviceSize;
                                  pSizes: ptr VkDeviceSize;
                                  pStrides: ptr VkDeviceSize): void {...}{.stdcall.}
vkCmdSetDepthTestEnableEXT: proc (commandBuffer: VkCommandBuffer;
                                  depthTestEnable: VkBool32): void {...}{.stdcall.}
vkCmdSetDepthWriteEnableEXT: proc (commandBuffer: VkCommandBuffer;
                                   depthWriteEnable: VkBool32): void {...}{.stdcall.}
vkCmdSetDepthCompareOpEXT: proc (commandBuffer: VkCommandBuffer;
                                 depthCompareOp: VkCompareOp): void {...}{.stdcall.}
vkCmdSetDepthBoundsTestEnableEXT: proc (commandBuffer: VkCommandBuffer;
                                        depthBoundsTestEnable: VkBool32): void {...}{.
    stdcall.}
vkCmdSetStencilTestEnableEXT: proc (commandBuffer: VkCommandBuffer;
                                    stencilTestEnable: VkBool32): void {...}{.stdcall.}
vkCmdSetStencilOpEXT: proc (commandBuffer: VkCommandBuffer;
                            faceMask: VkStencilFaceFlags; failOp: VkStencilOp;
                            passOp: VkStencilOp; depthFailOp: VkStencilOp;
                            compareOp: VkCompareOp): void {...}{.stdcall.}
vkCreatePrivateDataSlotEXT: proc (device: VkDevice; pCreateInfo: ptr VkPrivateDataSlotCreateInfoEXT;
                                  pAllocator: ptr VkAllocationCallbacks;
                                  pPrivateDataSlot: ptr VkPrivateDataSlotEXT): VkResult {...}{.
    stdcall.}
vkDestroyPrivateDataSlotEXT: proc (device: VkDevice;
                                   privateDataSlot: VkPrivateDataSlotEXT;
                                   pAllocator: ptr VkAllocationCallbacks): void {...}{.
    stdcall.}
vkSetPrivateDataEXT: proc (device: VkDevice; objectType: VkObjectType;
                           objectHandle: uint64;
                           privateDataSlot: VkPrivateDataSlotEXT; data: uint64): VkResult {...}{.
    stdcall.}
vkGetPrivateDataEXT: proc (device: VkDevice; objectType: VkObjectType;
                           objectHandle: uint64;
                           privateDataSlot: VkPrivateDataSlotEXT;
                           pData: ptr uint64): void {...}{.stdcall.}

Procs

proc setVKGetProc(getProc: proc (procName: cstring): pointer {...}{.cdecl.}) {...}{.
    raises: [], tags: [].}
proc newVkOffset2D(x: int32; y: int32): VkOffset2D {...}{.raises: [], tags: [].}
proc newVkOffset3D(x: int32; y: int32; z: int32): VkOffset3D {...}{.raises: [],
    tags: [].}
proc newVkExtent2D(width: uint32; height: uint32): VkExtent2D {...}{.raises: [],
    tags: [].}
proc newVkExtent3D(width: uint32; height: uint32; depth: uint32): VkExtent3D {...}{.
    raises: [], tags: [].}
proc newVkViewport(x: float32; y: float32; width: float32; height: float32;
                   minDepth: float32; maxDepth: float32): VkViewport {...}{.
    raises: [], tags: [].}
proc newVkRect2D(offset: VkOffset2D; extent: VkExtent2D): VkRect2D {...}{.raises: [],
    tags: [].}
proc newVkClearRect(rect: VkRect2D; baseArrayLayer: uint32; layerCount: uint32): VkClearRect {...}{.
    raises: [], tags: [].}
proc newVkComponentMapping(r: VkComponentSwizzle; g: VkComponentSwizzle;
                           b: VkComponentSwizzle; a: VkComponentSwizzle): VkComponentMapping {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceProperties(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): VkPhysicalDeviceProperties {...}{.
    raises: [], tags: [].}
proc newVkExtensionProperties(extensionName: array[VK_MAX_EXTENSION_NAME_SIZE,
    char]; specVersion: uint32): VkExtensionProperties {...}{.raises: [], tags: [].}
proc newVkLayerProperties(layerName: array[VK_MAX_EXTENSION_NAME_SIZE, char];
                          specVersion: uint32; implementationVersion: uint32;
                          description: array[VK_MAX_DESCRIPTION_SIZE, char]): VkLayerProperties {...}{.
    raises: [], tags: [].}
proc newVkApplicationInfo(sType: VkStructureType = VkStructureTypeApplicationInfo;
                          pNext: pointer = nil; pApplicationName: cstring;
                          applicationVersion: uint32; pEngineName: cstring;
                          engineVersion: uint32; apiVersion: uint32): VkApplicationInfo {...}{.
    raises: [], tags: [].}
proc newVkAllocationCallbacks(pUserData: pointer = nil;
                              pfnAllocation: PFN_vkAllocationFunction;
                              pfnReallocation: PFN_vkReallocationFunction;
                              pfnFree: PFN_vkFreeFunction; pfnInternalAllocation: PFN_vkInternalAllocationNotification;
                              pfnInternalFree: PFN_vkInternalFreeNotification): VkAllocationCallbacks {...}{.
    raises: [], tags: [].}
proc newVkDeviceQueueCreateInfo(sType: VkStructureType = VkStructureTypeDeviceQueueCreateInfo;
                                pNext: pointer = nil; flags: VkDeviceQueueCreateFlags = 0.VkDeviceQueueCreateFlags;
                                queueFamilyIndex: uint32; queueCount: uint32;
                                pQueuePriorities: ptr float32): VkDeviceQueueCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkDeviceCreateInfo(sType: VkStructureType = VkStructureTypeDeviceCreateInfo;
                           pNext: pointer = nil;
                           flags: VkDeviceCreateFlags = 0.VkDeviceCreateFlags;
                           queueCreateInfoCount: uint32;
                           pQueueCreateInfos: ptr VkDeviceQueueCreateInfo;
                           enabledLayerCount: uint32;
                           ppEnabledLayerNames: cstringArray;
                           enabledExtensionCount: uint32;
                           ppEnabledExtensionNames: cstringArray;
                           pEnabledFeatures: ptr VkPhysicalDeviceFeatures): VkDeviceCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkInstanceCreateInfo(sType: VkStructureType = VkStructureTypeInstanceCreateInfo;
                             pNext: pointer = nil; flags: VkInstanceCreateFlags = 0.VkInstanceCreateFlags;
                             pApplicationInfo: ptr VkApplicationInfo;
                             enabledLayerCount: uint32;
                             ppEnabledLayerNames: cstringArray;
                             enabledExtensionCount: uint32;
                             ppEnabledExtensionNames: cstringArray): VkInstanceCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkQueueFamilyProperties(queueFlags: VkQueueFlags; queueCount: uint32;
                                timestampValidBits: uint32;
                                minImageTransferGranularity: VkExtent3D): VkQueueFamilyProperties {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceMemoryProperties(memoryTypeCount: uint32;
    memoryTypes: array[VK_MAX_MEMORY_TYPES, VkMemoryType];
    memoryHeapCount: uint32;
    memoryHeaps: array[VK_MAX_MEMORY_HEAPS, VkMemoryHeap]): VkPhysicalDeviceMemoryProperties {...}{.
    raises: [], tags: [].}
proc newVkMemoryAllocateInfo(sType: VkStructureType = VkStructureTypeMemoryAllocateInfo;
                             pNext: pointer = nil; allocationSize: VkDeviceSize;
                             memoryTypeIndex: uint32): VkMemoryAllocateInfo {...}{.
    raises: [], tags: [].}
proc newVkMemoryRequirements(size: VkDeviceSize; alignment: VkDeviceSize;
                             memoryTypeBits: uint32): VkMemoryRequirements {...}{.
    raises: [], tags: [].}
proc newVkSparseImageFormatProperties(aspectMask: VkImageAspectFlags;
                                      imageGranularity: VkExtent3D; flags: VkSparseImageFormatFlags = 0.VkSparseImageFormatFlags): VkSparseImageFormatProperties {...}{.
    raises: [], tags: [].}
proc newVkSparseImageMemoryRequirements(formatProperties: VkSparseImageFormatProperties;
                                        imageMipTailFirstLod: uint32;
                                        imageMipTailSize: VkDeviceSize;
                                        imageMipTailOffset: VkDeviceSize;
                                        imageMipTailStride: VkDeviceSize): VkSparseImageMemoryRequirements {...}{.
    raises: [], tags: [].}
proc newVkMemoryType(propertyFlags: VkMemoryPropertyFlags; heapIndex: uint32): VkMemoryType {...}{.
    raises: [], tags: [].}
proc newVkMemoryHeap(size: VkDeviceSize;
                     flags: VkMemoryHeapFlags = 0.VkMemoryHeapFlags): VkMemoryHeap {...}{.
    raises: [], tags: [].}
proc newVkMappedMemoryRange(sType: VkStructureType = VkStructureTypeMappedMemoryRange;
                            pNext: pointer = nil; memory: VkDeviceMemory;
                            offset: VkDeviceSize; size: VkDeviceSize): VkMappedMemoryRange {...}{.
    raises: [], tags: [].}
proc newVkFormatProperties(linearTilingFeatures: VkFormatFeatureFlags;
                           optimalTilingFeatures: VkFormatFeatureFlags;
                           bufferFeatures: VkFormatFeatureFlags): VkFormatProperties {...}{.
    raises: [], tags: [].}
proc newVkImageFormatProperties(maxExtent: VkExtent3D; maxMipLevels: uint32;
                                maxArrayLayers: uint32;
                                sampleCounts: VkSampleCountFlags;
                                maxResourceSize: VkDeviceSize): VkImageFormatProperties {...}{.
    raises: [], tags: [].}
proc newVkDescriptorBufferInfo(buffer: VkBuffer; offset: VkDeviceSize;
                               range: VkDeviceSize): VkDescriptorBufferInfo {...}{.
    raises: [], tags: [].}
proc newVkDescriptorImageInfo(sampler: VkSampler; imageView: VkImageView;
                              imageLayout: VkImageLayout): VkDescriptorImageInfo {...}{.
    raises: [], tags: [].}
proc newVkWriteDescriptorSet(sType: VkStructureType = VkStructureTypeWriteDescriptorSet;
                             pNext: pointer = nil; dstSet: VkDescriptorSet;
                             dstBinding: uint32; dstArrayElement: uint32;
                             descriptorCount: uint32;
                             descriptorType: VkDescriptorType;
                             pImageInfo: ptr VkDescriptorImageInfo;
                             pBufferInfo: ptr ptr VkDescriptorBufferInfo;
                             pTexelBufferView: ptr VkBufferView): VkWriteDescriptorSet {...}{.
    raises: [], tags: [].}
proc newVkCopyDescriptorSet(sType: VkStructureType = VkStructureTypeCopyDescriptorSet;
                            pNext: pointer = nil; srcSet: VkDescriptorSet;
                            srcBinding: uint32; srcArrayElement: uint32;
                            dstSet: VkDescriptorSet; dstBinding: uint32;
                            dstArrayElement: uint32; descriptorCount: uint32): VkCopyDescriptorSet {...}{.
    raises: [], tags: [].}
proc newVkBufferCreateInfo(sType: VkStructureType = VkStructureTypeBufferCreateInfo;
                           pNext: pointer = nil;
                           flags: VkBufferCreateFlags = 0.VkBufferCreateFlags;
                           size: VkDeviceSize; usage: VkBufferUsageFlags;
                           sharingMode: VkSharingMode;
                           queueFamilyIndexCount: uint32;
                           pQueueFamilyIndices: ptr uint32): VkBufferCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkBufferViewCreateInfo(sType: VkStructureType = VkStructureTypeBufferViewCreateInfo;
                               pNext: pointer = nil; flags: VkBufferViewCreateFlags = 0.VkBufferViewCreateFlags;
                               buffer: VkBuffer; format: VkFormat;
                               offset: VkDeviceSize; range: VkDeviceSize): VkBufferViewCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkImageSubresource(aspectMask: VkImageAspectFlags; mipLevel: uint32;
                           arrayLayer: uint32): VkImageSubresource {...}{.raises: [],
    tags: [].}
proc newVkImageSubresourceLayers(aspectMask: VkImageAspectFlags;
                                 mipLevel: uint32; baseArrayLayer: uint32;
                                 layerCount: uint32): VkImageSubresourceLayers {...}{.
    raises: [], tags: [].}
proc newVkImageSubresourceRange(aspectMask: VkImageAspectFlags;
                                baseMipLevel: uint32; levelCount: uint32;
                                baseArrayLayer: uint32; layerCount: uint32): VkImageSubresourceRange {...}{.
    raises: [], tags: [].}
proc newVkMemoryBarrier(sType: VkStructureType = VkStructureTypeMemoryBarrier;
                        pNext: pointer = nil; srcAccessMask: VkAccessFlags;
                        dstAccessMask: VkAccessFlags): VkMemoryBarrier {...}{.
    raises: [], tags: [].}
proc newVkBufferMemoryBarrier(sType: VkStructureType = VkStructureTypeBufferMemoryBarrier;
                              pNext: pointer = nil;
                              srcAccessMask: VkAccessFlags;
                              dstAccessMask: VkAccessFlags;
                              srcQueueFamilyIndex: uint32;
                              dstQueueFamilyIndex: uint32; buffer: VkBuffer;
                              offset: VkDeviceSize; size: VkDeviceSize): VkBufferMemoryBarrier {...}{.
    raises: [], tags: [].}
proc newVkImageMemoryBarrier(sType: VkStructureType = VkStructureTypeImageMemoryBarrier;
                             pNext: pointer = nil; srcAccessMask: VkAccessFlags;
                             dstAccessMask: VkAccessFlags;
                             oldLayout: VkImageLayout; newLayout: VkImageLayout;
                             srcQueueFamilyIndex: uint32;
                             dstQueueFamilyIndex: uint32; image: VkImage;
                             subresourceRange: VkImageSubresourceRange): VkImageMemoryBarrier {...}{.
    raises: [], tags: [].}
proc newVkImageCreateInfo(sType: VkStructureType = VkStructureTypeImageCreateInfo;
                          pNext: pointer = nil;
                          flags: VkImageCreateFlags = 0.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): VkImageCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkSubresourceLayout(offset: VkDeviceSize; size: VkDeviceSize;
                            rowPitch: VkDeviceSize; arrayPitch: VkDeviceSize;
                            depthPitch: VkDeviceSize): VkSubresourceLayout {...}{.
    raises: [], tags: [].}
proc newVkImageViewCreateInfo(sType: VkStructureType = VkStructureTypeImageViewCreateInfo;
                              pNext: pointer = nil; flags: VkImageViewCreateFlags = 0.VkImageViewCreateFlags;
                              image: VkImage; viewType: VkImageViewType;
                              format: VkFormat; components: VkComponentMapping;
                              subresourceRange: VkImageSubresourceRange): VkImageViewCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkBufferCopy(srcOffset: VkDeviceSize; dstOffset: VkDeviceSize;
                     size: VkDeviceSize): VkBufferCopy {...}{.raises: [], tags: [].}
proc newVkSparseMemoryBind(resourceOffset: VkDeviceSize; size: VkDeviceSize;
                           memory: VkDeviceMemory; memoryOffset: VkDeviceSize;
    flags: VkSparseMemoryBindFlags = 0.VkSparseMemoryBindFlags): VkSparseMemoryBind {...}{.
    raises: [], tags: [].}
proc newVkSparseImageMemoryBind(subresource: VkImageSubresource;
                                offset: VkOffset3D; extent: VkExtent3D;
                                memory: VkDeviceMemory;
                                memoryOffset: VkDeviceSize; flags: VkSparseMemoryBindFlags = 0.VkSparseMemoryBindFlags): VkSparseImageMemoryBind {...}{.
    raises: [], tags: [].}
proc newVkSparseBufferMemoryBindInfo(buffer: VkBuffer; bindCount: uint32;
                                     pBinds: ptr VkSparseMemoryBind): VkSparseBufferMemoryBindInfo {...}{.
    raises: [], tags: [].}
proc newVkSparseImageOpaqueMemoryBindInfo(image: VkImage; bindCount: uint32;
    pBinds: ptr VkSparseMemoryBind): VkSparseImageOpaqueMemoryBindInfo {...}{.
    raises: [], tags: [].}
proc newVkSparseImageMemoryBindInfo(image: VkImage; bindCount: uint32;
                                    pBinds: ptr VkSparseImageMemoryBind): VkSparseImageMemoryBindInfo {...}{.
    raises: [], tags: [].}
proc newVkBindSparseInfo(sType: VkStructureType = VkStructureTypeBindSparseInfo;
                         pNext: pointer = nil; 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): VkBindSparseInfo {...}{.
    raises: [], tags: [].}
proc newVkImageCopy(srcSubresource: VkImageSubresourceLayers;
                    srcOffset: VkOffset3D;
                    dstSubresource: VkImageSubresourceLayers;
                    dstOffset: VkOffset3D; extent: VkExtent3D): VkImageCopy {...}{.
    raises: [], tags: [].}
proc newVkImageBlit(srcSubresource: VkImageSubresourceLayers;
                    srcOffsets: array[2, VkOffset3D];
                    dstSubresource: VkImageSubresourceLayers;
                    dstOffsets: array[2, VkOffset3D]): VkImageBlit {...}{.raises: [],
    tags: [].}
proc newVkBufferImageCopy(bufferOffset: VkDeviceSize; bufferRowLength: uint32;
                          bufferImageHeight: uint32;
                          imageSubresource: VkImageSubresourceLayers;
                          imageOffset: VkOffset3D; imageExtent: VkExtent3D): VkBufferImageCopy {...}{.
    raises: [], tags: [].}
proc newVkImageResolve(srcSubresource: VkImageSubresourceLayers;
                       srcOffset: VkOffset3D;
                       dstSubresource: VkImageSubresourceLayers;
                       dstOffset: VkOffset3D; extent: VkExtent3D): VkImageResolve {...}{.
    raises: [], tags: [].}
proc newVkShaderModuleCreateInfo(sType: VkStructureType = VkStructureTypeShaderModuleCreateInfo;
                                 pNext: pointer = nil; flags: VkShaderModuleCreateFlags = 0.VkShaderModuleCreateFlags;
                                 codeSize: uint; pCode: ptr uint32): VkShaderModuleCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkDescriptorSetLayoutBinding(binding: uint32;
                                     descriptorType: VkDescriptorType;
                                     descriptorCount: uint32;
                                     stageFlags: VkShaderStageFlags;
                                     pImmutableSamplers: ptr VkSampler): VkDescriptorSetLayoutBinding {...}{.
    raises: [], tags: [].}
proc newVkDescriptorSetLayoutCreateInfo(sType: VkStructureType = VkStructureTypeDescriptorSetLayoutCreateInfo;
                                        pNext: pointer = nil; flags: VkDescriptorSetLayoutCreateFlags = 0.VkDescriptorSetLayoutCreateFlags;
                                        bindingCount: uint32; pBindings: ptr VkDescriptorSetLayoutBinding): VkDescriptorSetLayoutCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkDescriptorPoolSize(type: VkDescriptorType; descriptorCount: uint32): VkDescriptorPoolSize {...}{.
    raises: [], tags: [].}
proc newVkDescriptorPoolCreateInfo(sType: VkStructureType = VkStructureTypeDescriptorPoolCreateInfo;
                                   pNext: pointer = nil; flags: VkDescriptorPoolCreateFlags = 0.VkDescriptorPoolCreateFlags;
                                   maxSets: uint32; poolSizeCount: uint32;
                                   pPoolSizes: ptr VkDescriptorPoolSize): VkDescriptorPoolCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkDescriptorSetAllocateInfo(sType: VkStructureType = VkStructureTypeDescriptorSetAllocateInfo;
                                    pNext: pointer = nil;
                                    descriptorPool: VkDescriptorPool;
                                    descriptorSetCount: uint32;
                                    pSetLayouts: ptr VkDescriptorSetLayout): VkDescriptorSetAllocateInfo {...}{.
    raises: [], tags: [].}
proc newVkSpecializationMapEntry(constantID: uint32; offset: uint32; size: uint): VkSpecializationMapEntry {...}{.
    raises: [], tags: [].}
proc newVkSpecializationInfo(mapEntryCount: uint32;
                             pMapEntries: ptr VkSpecializationMapEntry;
                             dataSize: uint; pData: pointer = nil): VkSpecializationInfo {...}{.
    raises: [], tags: [].}
proc newVkPipelineShaderStageCreateInfo(sType: VkStructureType = VkStructureTypePipelineShaderStageCreateInfo;
                                        pNext: pointer = nil; flags: VkPipelineShaderStageCreateFlags = 0.VkPipelineShaderStageCreateFlags;
                                        stage: VkShaderStageFlagBits;
                                        module: VkShaderModule; pName: cstring;
    pSpecializationInfo: ptr VkSpecializationInfo): VkPipelineShaderStageCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkComputePipelineCreateInfo(sType: VkStructureType = VkStructureTypeComputePipelineCreateInfo;
                                    pNext: pointer = nil; flags: VkPipelineCreateFlags = 0.VkPipelineCreateFlags;
                                    stage: VkPipelineShaderStageCreateInfo;
                                    layout: VkPipelineLayout;
                                    basePipelineHandle: VkPipeline;
                                    basePipelineIndex: int32): VkComputePipelineCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkVertexInputBindingDescription(binding: uint32; stride: uint32;
                                        inputRate: VkVertexInputRate): VkVertexInputBindingDescription {...}{.
    raises: [], tags: [].}
proc newVkVertexInputAttributeDescription(location: uint32; binding: uint32;
    format: VkFormat; offset: uint32): VkVertexInputAttributeDescription {...}{.
    raises: [], tags: [].}
proc newVkPipelineVertexInputStateCreateInfo(
    sType: VkStructureType = VkStructureTypePipelineVertexInputStateCreateInfo;
    pNext: pointer = nil; flags: VkPipelineVertexInputStateCreateFlags = 0.VkPipelineVertexInputStateCreateFlags;
    vertexBindingDescriptionCount: uint32;
    pVertexBindingDescriptions: ptr VkVertexInputBindingDescription;
    vertexAttributeDescriptionCount: uint32;
    pVertexAttributeDescriptions: ptr VkVertexInputAttributeDescription): VkPipelineVertexInputStateCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkPipelineInputAssemblyStateCreateInfo(sType: VkStructureType = VkStructureTypePipelineInputAssemblyStateCreateInfo;
    pNext: pointer = nil; flags: VkPipelineInputAssemblyStateCreateFlags = 0.VkPipelineInputAssemblyStateCreateFlags;
    topology: VkPrimitiveTopology; primitiveRestartEnable: VkBool32): VkPipelineInputAssemblyStateCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkPipelineTessellationStateCreateInfo(sType: VkStructureType = VkStructureTypePipelineTessellationStateCreateInfo;
    pNext: pointer = nil; flags: VkPipelineTessellationStateCreateFlags = 0.VkPipelineTessellationStateCreateFlags;
    patchControlPoints: uint32): VkPipelineTessellationStateCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkPipelineViewportStateCreateInfo(
    sType: VkStructureType = VkStructureTypePipelineViewportStateCreateInfo;
    pNext: pointer = nil; flags: VkPipelineViewportStateCreateFlags = 0.VkPipelineViewportStateCreateFlags;
    viewportCount: uint32; pViewports: ptr VkViewport; scissorCount: uint32;
    pScissors: ptr VkRect2D): VkPipelineViewportStateCreateInfo {...}{.raises: [],
    tags: [].}
proc newVkPipelineRasterizationStateCreateInfo(sType: VkStructureType = VkStructureTypePipelineRasterizationStateCreateInfo;
    pNext: pointer = nil; flags: VkPipelineRasterizationStateCreateFlags = 0.VkPipelineRasterizationStateCreateFlags;
    depthClampEnable: VkBool32; rasterizerDiscardEnable: VkBool32;
    polygonMode: VkPolygonMode; cullMode: VkCullModeFlags;
    frontFace: VkFrontFace; depthBiasEnable: VkBool32;
    depthBiasConstantFactor: float32; depthBiasClamp: float32;
    depthBiasSlopeFactor: float32; lineWidth: float32): VkPipelineRasterizationStateCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkPipelineMultisampleStateCreateInfo(
    sType: VkStructureType = VkStructureTypePipelineMultisampleStateCreateInfo;
    pNext: pointer = nil; flags: VkPipelineMultisampleStateCreateFlags = 0.VkPipelineMultisampleStateCreateFlags;
    rasterizationSamples: VkSampleCountFlagBits; sampleShadingEnable: VkBool32;
    minSampleShading: float32; pSampleMask: ptr VkSampleMask;
    alphaToCoverageEnable: VkBool32; alphaToOneEnable: VkBool32): VkPipelineMultisampleStateCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkPipelineColorBlendAttachmentState(blendEnable: VkBool32;
    srcColorBlendFactor: VkBlendFactor; dstColorBlendFactor: VkBlendFactor;
    colorBlendOp: VkBlendOp; srcAlphaBlendFactor: VkBlendFactor;
    dstAlphaBlendFactor: VkBlendFactor; alphaBlendOp: VkBlendOp;
    colorWriteMask: VkColorComponentFlags): VkPipelineColorBlendAttachmentState {...}{.
    raises: [], tags: [].}
proc newVkPipelineColorBlendStateCreateInfo(
    sType: VkStructureType = VkStructureTypePipelineColorBlendStateCreateInfo;
    pNext: pointer = nil; flags: VkPipelineColorBlendStateCreateFlags = 0.VkPipelineColorBlendStateCreateFlags;
    logicOpEnable: VkBool32; logicOp: VkLogicOp; attachmentCount: uint32;
    pAttachments: ptr VkPipelineColorBlendAttachmentState;
    blendConstants: array[4, float32]): VkPipelineColorBlendStateCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkPipelineDynamicStateCreateInfo(
    sType: VkStructureType = VkStructureTypePipelineDynamicStateCreateInfo;
    pNext: pointer = nil; flags: VkPipelineDynamicStateCreateFlags = 0.VkPipelineDynamicStateCreateFlags;
    dynamicStateCount: uint32; pDynamicStates: ptr VkDynamicState): VkPipelineDynamicStateCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkStencilOpState(failOp: VkStencilOp; passOp: VkStencilOp;
                         depthFailOp: VkStencilOp; compareOp: VkCompareOp;
                         compareMask: uint32; writeMask: uint32;
                         reference: uint32): VkStencilOpState {...}{.raises: [],
    tags: [].}
proc newVkPipelineDepthStencilStateCreateInfo(sType: VkStructureType = VkStructureTypePipelineDepthStencilStateCreateInfo;
    pNext: pointer = nil; flags: VkPipelineDepthStencilStateCreateFlags = 0.VkPipelineDepthStencilStateCreateFlags;
    depthTestEnable: VkBool32; depthWriteEnable: VkBool32;
    depthCompareOp: VkCompareOp; depthBoundsTestEnable: VkBool32;
    stencilTestEnable: VkBool32; front: VkStencilOpState;
    back: VkStencilOpState; minDepthBounds: float32; maxDepthBounds: float32): VkPipelineDepthStencilStateCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkGraphicsPipelineCreateInfo(sType: VkStructureType = VkStructureTypeGraphicsPipelineCreateInfo;
                                     pNext: pointer = nil; flags: VkPipelineCreateFlags = 0.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): VkGraphicsPipelineCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkPipelineCacheCreateInfo(sType: VkStructureType = VkStructureTypePipelineCacheCreateInfo;
                                  pNext: pointer = nil; flags: VkPipelineCacheCreateFlags = 0.VkPipelineCacheCreateFlags;
                                  initialDataSize: uint;
                                  pInitialData: pointer = nil): VkPipelineCacheCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkPushConstantRange(stageFlags: VkShaderStageFlags; offset: uint32;
                            size: uint32): VkPushConstantRange {...}{.raises: [],
    tags: [].}
proc newVkPipelineLayoutCreateInfo(sType: VkStructureType = VkStructureTypePipelineLayoutCreateInfo;
                                   pNext: pointer = nil; flags: VkPipelineLayoutCreateFlags = 0.VkPipelineLayoutCreateFlags;
                                   setLayoutCount: uint32;
                                   pSetLayouts: ptr VkDescriptorSetLayout;
                                   pushConstantRangeCount: uint32;
                                   pPushConstantRanges: ptr VkPushConstantRange): VkPipelineLayoutCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkSamplerCreateInfo(sType: VkStructureType = VkStructureTypeSamplerCreateInfo;
                            pNext: pointer = nil; flags: VkSamplerCreateFlags = 0.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): VkSamplerCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkCommandPoolCreateInfo(sType: VkStructureType = VkStructureTypeCommandPoolCreateInfo;
                                pNext: pointer = nil; flags: VkCommandPoolCreateFlags = 0.VkCommandPoolCreateFlags;
                                queueFamilyIndex: uint32): VkCommandPoolCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkCommandBufferAllocateInfo(sType: VkStructureType = VkStructureTypeCommandBufferAllocateInfo;
                                    pNext: pointer = nil;
                                    commandPool: VkCommandPool;
                                    level: VkCommandBufferLevel;
                                    commandBufferCount: uint32): VkCommandBufferAllocateInfo {...}{.
    raises: [], tags: [].}
proc newVkCommandBufferInheritanceInfo(sType: VkStructureType = VkStructureTypeCommandBufferInheritanceInfo;
                                       pNext: pointer = nil;
                                       renderPass: VkRenderPass;
                                       subpass: uint32;
                                       framebuffer: VkFramebuffer;
                                       occlusionQueryEnable: VkBool32;
                                       queryFlags: VkQueryControlFlags;
    pipelineStatistics: VkQueryPipelineStatisticFlags): VkCommandBufferInheritanceInfo {...}{.
    raises: [], tags: [].}
proc newVkCommandBufferBeginInfo(sType: VkStructureType = VkStructureTypeCommandBufferBeginInfo;
                                 pNext: pointer = nil; flags: VkCommandBufferUsageFlags = 0.VkCommandBufferUsageFlags;
    pInheritanceInfo: ptr VkCommandBufferInheritanceInfo): VkCommandBufferBeginInfo {...}{.
    raises: [], tags: [].}
proc newVkRenderPassBeginInfo(sType: VkStructureType = VkStructureTypeRenderPassBeginInfo;
                              pNext: pointer = nil; renderPass: VkRenderPass;
                              framebuffer: VkFramebuffer; renderArea: VkRect2D;
                              clearValueCount: uint32;
                              pClearValues: ptr VkClearValue): VkRenderPassBeginInfo {...}{.
    raises: [], tags: [].}
proc newVkClearDepthStencilValue(depth: float32; stencil: uint32): VkClearDepthStencilValue {...}{.
    raises: [], tags: [].}
proc newVkClearAttachment(aspectMask: VkImageAspectFlags;
                          colorAttachment: uint32; clearValue: VkClearValue): VkClearAttachment {...}{.
    raises: [], tags: [].}
proc newVkAttachmentDescription(flags: VkAttachmentDescriptionFlags = 0.VkAttachmentDescriptionFlags;
                                format: VkFormat;
                                samples: VkSampleCountFlagBits;
                                loadOp: VkAttachmentLoadOp;
                                storeOp: VkAttachmentStoreOp;
                                stencilLoadOp: VkAttachmentLoadOp;
                                stencilStoreOp: VkAttachmentStoreOp;
                                initialLayout: VkImageLayout;
                                finalLayout: VkImageLayout): VkAttachmentDescription {...}{.
    raises: [], tags: [].}
proc newVkAttachmentReference(attachment: uint32; layout: VkImageLayout): VkAttachmentReference {...}{.
    raises: [], tags: [].}
proc newVkSubpassDescription(flags: VkSubpassDescriptionFlags = 0.VkSubpassDescriptionFlags;
                             pipelineBindPoint: VkPipelineBindPoint;
                             inputAttachmentCount: uint32;
                             pInputAttachments: ptr VkAttachmentReference;
                             colorAttachmentCount: uint32;
                             pColorAttachments: ptr VkAttachmentReference;
                             pResolveAttachments: ptr VkAttachmentReference;
    pDepthStencilAttachment: ptr VkAttachmentReference;
                             preserveAttachmentCount: uint32;
                             pPreserveAttachments: ptr uint32): VkSubpassDescription {...}{.
    raises: [], tags: [].}
proc newVkSubpassDependency(srcSubpass: uint32; dstSubpass: uint32;
                            srcStageMask: VkPipelineStageFlags;
                            dstStageMask: VkPipelineStageFlags;
                            srcAccessMask: VkAccessFlags;
                            dstAccessMask: VkAccessFlags;
                            dependencyFlags: VkDependencyFlags): VkSubpassDependency {...}{.
    raises: [], tags: [].}
proc newVkRenderPassCreateInfo(sType: VkStructureType = VkStructureTypeRenderPassCreateInfo;
                               pNext: pointer = nil; flags: VkRenderPassCreateFlags = 0.VkRenderPassCreateFlags;
                               attachmentCount: uint32;
                               pAttachments: ptr VkAttachmentDescription;
                               subpassCount: uint32;
                               pSubpasses: ptr VkSubpassDescription;
                               dependencyCount: uint32;
                               pDependencies: ptr VkSubpassDependency): VkRenderPassCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkEventCreateInfo(sType: VkStructureType = VkStructureTypeEventCreateInfo;
                          pNext: pointer = nil;
                          flags: VkEventCreateFlags = 0.VkEventCreateFlags): VkEventCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkFenceCreateInfo(sType: VkStructureType = VkStructureTypeFenceCreateInfo;
                          pNext: pointer = nil;
                          flags: VkFenceCreateFlags = 0.VkFenceCreateFlags): VkFenceCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceFeatures(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): VkPhysicalDeviceFeatures {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceSparseProperties(
    residencyStandard2DBlockShape: VkBool32;
    residencyStandard2DMultisampleBlockShape: VkBool32;
    residencyStandard3DBlockShape: VkBool32; residencyAlignedMipSize: VkBool32;
    residencyNonResidentStrict: VkBool32): VkPhysicalDeviceSparseProperties {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceLimits(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: uint;
                               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): VkPhysicalDeviceLimits {...}{.
    raises: [], tags: [].}
proc newVkSemaphoreCreateInfo(sType: VkStructureType = VkStructureTypeSemaphoreCreateInfo;
                              pNext: pointer = nil; flags: VkSemaphoreCreateFlags = 0.VkSemaphoreCreateFlags): VkSemaphoreCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkQueryPoolCreateInfo(sType: VkStructureType = VkStructureTypeQueryPoolCreateInfo;
                              pNext: pointer = nil; flags: VkQueryPoolCreateFlags = 0.VkQueryPoolCreateFlags;
                              queryType: VkQueryType; queryCount: uint32;
                              pipelineStatistics: VkQueryPipelineStatisticFlags): VkQueryPoolCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkFramebufferCreateInfo(sType: VkStructureType = VkStructureTypeFramebufferCreateInfo;
                                pNext: pointer = nil; flags: VkFramebufferCreateFlags = 0.VkFramebufferCreateFlags;
                                renderPass: VkRenderPass;
                                attachmentCount: uint32;
                                pAttachments: ptr VkImageView; width: uint32;
                                height: uint32; layers: uint32): VkFramebufferCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkDrawIndirectCommand(vertexCount: uint32; instanceCount: uint32;
                              firstVertex: uint32; firstInstance: uint32): VkDrawIndirectCommand {...}{.
    raises: [], tags: [].}
proc newVkDrawIndexedIndirectCommand(indexCount: uint32; instanceCount: uint32;
                                     firstIndex: uint32; vertexOffset: int32;
                                     firstInstance: uint32): VkDrawIndexedIndirectCommand {...}{.
    raises: [], tags: [].}
proc newVkDispatchIndirectCommand(x: uint32; y: uint32; z: uint32): VkDispatchIndirectCommand {...}{.
    raises: [], tags: [].}
proc newVkSubmitInfo(sType: VkStructureType = VkStructureTypeSubmitInfo;
                     pNext: pointer = nil; waitSemaphoreCount: uint32;
                     pWaitSemaphores: ptr VkSemaphore;
                     pWaitDstStageMask: ptr VkPipelineStageFlags;
                     commandBufferCount: uint32;
                     pCommandBuffers: ptr VkCommandBuffer;
                     signalSemaphoreCount: uint32;
                     pSignalSemaphores: ptr VkSemaphore): VkSubmitInfo {...}{.
    raises: [], tags: [].}
proc newVkDisplayPropertiesKHR(display: VkDisplayKHR; displayName: cstring;
                               physicalDimensions: VkExtent2D;
                               physicalResolution: VkExtent2D;
                               supportedTransforms: VkSurfaceTransformFlagsKHR;
                               planeReorderPossible: VkBool32;
                               persistentContent: VkBool32): VkDisplayPropertiesKHR {...}{.
    raises: [], tags: [].}
proc newVkDisplayPlanePropertiesKHR(currentDisplay: VkDisplayKHR;
                                    currentStackIndex: uint32): VkDisplayPlanePropertiesKHR {...}{.
    raises: [], tags: [].}
proc newVkDisplayModeParametersKHR(visibleRegion: VkExtent2D;
                                   refreshRate: uint32): VkDisplayModeParametersKHR {...}{.
    raises: [], tags: [].}
proc newVkDisplayModePropertiesKHR(displayMode: VkDisplayModeKHR;
                                   parameters: VkDisplayModeParametersKHR): VkDisplayModePropertiesKHR {...}{.
    raises: [], tags: [].}
proc newVkDisplayModeCreateInfoKHR(sType: VkStructureType; pNext: pointer = nil;
    flags: VkDisplayModeCreateFlagsKHR = 0.VkDisplayModeCreateFlagsKHR;
                                   parameters: VkDisplayModeParametersKHR): VkDisplayModeCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkDisplayPlaneCapabilitiesKHR(supportedAlpha: VkDisplayPlaneAlphaFlagsKHR;
                                      minSrcPosition: VkOffset2D;
                                      maxSrcPosition: VkOffset2D;
                                      minSrcExtent: VkExtent2D;
                                      maxSrcExtent: VkExtent2D;
                                      minDstPosition: VkOffset2D;
                                      maxDstPosition: VkOffset2D;
                                      minDstExtent: VkExtent2D;
                                      maxDstExtent: VkExtent2D): VkDisplayPlaneCapabilitiesKHR {...}{.
    raises: [], tags: [].}
proc newVkDisplaySurfaceCreateInfoKHR(sType: VkStructureType;
                                      pNext: pointer = nil; flags: VkDisplaySurfaceCreateFlagsKHR = 0.VkDisplaySurfaceCreateFlagsKHR;
                                      displayMode: VkDisplayModeKHR;
                                      planeIndex: uint32;
                                      planeStackIndex: uint32;
                                      transform: VkSurfaceTransformFlagBitsKHR;
                                      globalAlpha: float32; alphaMode: VkDisplayPlaneAlphaFlagBitsKHR;
                                      imageExtent: VkExtent2D): VkDisplaySurfaceCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkDisplayPresentInfoKHR(sType: VkStructureType; pNext: pointer = nil;
                                srcRect: VkRect2D; dstRect: VkRect2D;
                                persistent: VkBool32): VkDisplayPresentInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkSurfaceCapabilitiesKHR(minImageCount: uint32; maxImageCount: uint32;
                                 currentExtent: VkExtent2D;
                                 minImageExtent: VkExtent2D;
                                 maxImageExtent: VkExtent2D;
                                 maxImageArrayLayers: uint32;
    supportedTransforms: VkSurfaceTransformFlagsKHR; currentTransform: VkSurfaceTransformFlagBitsKHR;
    supportedCompositeAlpha: VkCompositeAlphaFlagsKHR;
                                 supportedUsageFlags: VkImageUsageFlags): VkSurfaceCapabilitiesKHR {...}{.
    raises: [], tags: [].}
proc newVkAndroidSurfaceCreateInfoKHR(sType: VkStructureType;
                                      pNext: pointer = nil; flags: VkAndroidSurfaceCreateFlagsKHR = 0.VkAndroidSurfaceCreateFlagsKHR;
                                      window: ptr ANativeWindow): VkAndroidSurfaceCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkViSurfaceCreateInfoNN(sType: VkStructureType; pNext: pointer = nil;
    flags: VkViSurfaceCreateFlagsNN = 0.VkViSurfaceCreateFlagsNN;
                                window: pointer = nil): VkViSurfaceCreateInfoNN {...}{.
    raises: [], tags: [].}
proc newVkWaylandSurfaceCreateInfoKHR(sType: VkStructureType;
                                      pNext: pointer = nil; flags: VkWaylandSurfaceCreateFlagsKHR = 0.VkWaylandSurfaceCreateFlagsKHR;
                                      display: ptr wl_display;
                                      surface: ptr wl_surface): VkWaylandSurfaceCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkWin32SurfaceCreateInfoKHR(sType: VkStructureType;
                                    pNext: pointer = nil; flags: VkWin32SurfaceCreateFlagsKHR = 0.VkWin32SurfaceCreateFlagsKHR;
                                    hinstance: HINSTANCE; hwnd: HWND): VkWin32SurfaceCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkXlibSurfaceCreateInfoKHR(sType: VkStructureType; pNext: pointer = nil;
    flags: VkXlibSurfaceCreateFlagsKHR = 0.VkXlibSurfaceCreateFlagsKHR;
                                   dpy: ptr Display; window: Window): VkXlibSurfaceCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkXcbSurfaceCreateInfoKHR(sType: VkStructureType; pNext: pointer = nil;
    flags: VkXcbSurfaceCreateFlagsKHR = 0.VkXcbSurfaceCreateFlagsKHR;
                                  connection: ptr xcb_connection_t;
                                  window: xcb_window_t): VkXcbSurfaceCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkDirectFBSurfaceCreateInfoEXT(sType: VkStructureType;
                                       pNext: pointer = nil; flags: VkDirectFBSurfaceCreateFlagsEXT = 0.VkDirectFBSurfaceCreateFlagsEXT;
                                       dfb: ptr IDirectFB;
                                       surface: ptr IDirectFBSurface): VkDirectFBSurfaceCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkImagePipeSurfaceCreateInfoFUCHSIA(sType: VkStructureType;
    pNext: pointer = nil; flags: VkImagePipeSurfaceCreateFlagsFUCHSIA = 0.VkImagePipeSurfaceCreateFlagsFUCHSIA;
    imagePipeHandle: zx_handle_t): VkImagePipeSurfaceCreateInfoFUCHSIA {...}{.
    raises: [], tags: [].}
proc newVkStreamDescriptorSurfaceCreateInfoGGP(sType: VkStructureType;
    pNext: pointer = nil; flags: VkStreamDescriptorSurfaceCreateFlagsGGP = 0.VkStreamDescriptorSurfaceCreateFlagsGGP;
    streamDescriptor: GgpStreamDescriptor): VkStreamDescriptorSurfaceCreateInfoGGP {...}{.
    raises: [], tags: [].}
proc newVkSurfaceFormatKHR(format: VkFormat; colorSpace: VkColorSpaceKHR): VkSurfaceFormatKHR {...}{.
    raises: [], tags: [].}
proc newVkSwapchainCreateInfoKHR(sType: VkStructureType; pNext: pointer = nil;
    flags: VkSwapchainCreateFlagsKHR = 0.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): VkSwapchainCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkPresentInfoKHR(sType: VkStructureType; pNext: pointer = nil;
                         waitSemaphoreCount: uint32;
                         pWaitSemaphores: ptr VkSemaphore;
                         swapchainCount: uint32;
                         pSwapchains: ptr VkSwapchainKHR;
                         pImageIndices: ptr uint32; pResults: ptr VkResult): VkPresentInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkDebugReportCallbackCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil;
    flags: VkDebugReportFlagsEXT = 0.VkDebugReportFlagsEXT;
    pfnCallback: PFN_vkDebugReportCallbackEXT; pUserData: pointer = nil): VkDebugReportCallbackCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkValidationFlagsEXT(sType: VkStructureType; pNext: pointer = nil;
                             disabledValidationCheckCount: uint32;
    pDisabledValidationChecks: ptr VkValidationCheckEXT): VkValidationFlagsEXT {...}{.
    raises: [], tags: [].}
proc newVkValidationFeaturesEXT(sType: VkStructureType; pNext: pointer = nil;
                                enabledValidationFeatureCount: uint32;
    pEnabledValidationFeatures: ptr VkValidationFeatureEnableEXT;
                                disabledValidationFeatureCount: uint32;
    pDisabledValidationFeatures: ptr VkValidationFeatureDisableEXT): VkValidationFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPipelineRasterizationStateRasterizationOrderAMD(
    sType: VkStructureType; pNext: pointer = nil;
    rasterizationOrder: VkRasterizationOrderAMD): VkPipelineRasterizationStateRasterizationOrderAMD {...}{.
    raises: [], tags: [].}
proc newVkDebugMarkerObjectNameInfoEXT(sType: VkStructureType;
                                       pNext: pointer = nil;
                                       objectType: VkDebugReportObjectTypeEXT;
                                       object: uint64; pObjectName: cstring): VkDebugMarkerObjectNameInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkDebugMarkerObjectTagInfoEXT(sType: VkStructureType;
                                      pNext: pointer = nil;
                                      objectType: VkDebugReportObjectTypeEXT;
                                      object: uint64; tagName: uint64;
                                      tagSize: uint; pTag: pointer = nil): VkDebugMarkerObjectTagInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkDebugMarkerMarkerInfoEXT(sType: VkStructureType; pNext: pointer = nil;
                                   pMarkerName: cstring;
                                   color: array[4, float32]): VkDebugMarkerMarkerInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkDedicatedAllocationImageCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; dedicatedAllocation: VkBool32): VkDedicatedAllocationImageCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkDedicatedAllocationBufferCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; dedicatedAllocation: VkBool32): VkDedicatedAllocationBufferCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkDedicatedAllocationMemoryAllocateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; image: VkImage; buffer: VkBuffer): VkDedicatedAllocationMemoryAllocateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkExternalImageFormatPropertiesNV(
    imageFormatProperties: VkImageFormatProperties;
    externalMemoryFeatures: VkExternalMemoryFeatureFlagsNV;
    exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlagsNV;
    compatibleHandleTypes: VkExternalMemoryHandleTypeFlagsNV): VkExternalImageFormatPropertiesNV {...}{.
    raises: [], tags: [].}
proc newVkExternalMemoryImageCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; handleTypes: VkExternalMemoryHandleTypeFlagsNV): VkExternalMemoryImageCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkExportMemoryAllocateInfoNV(sType: VkStructureType;
                                     pNext: pointer = nil; handleTypes: VkExternalMemoryHandleTypeFlagsNV): VkExportMemoryAllocateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkImportMemoryWin32HandleInfoNV(sType: VkStructureType;
                                        pNext: pointer = nil; handleType: VkExternalMemoryHandleTypeFlagsNV;
                                        handle: HANDLE): VkImportMemoryWin32HandleInfoNV {...}{.
    raises: [], tags: [].}
proc newVkExportMemoryWin32HandleInfoNV(sType: VkStructureType;
                                        pNext: pointer = nil;
                                        pAttributes: ptr SECURITY_ATTRIBUTES;
                                        dwAccess: DWORD): VkExportMemoryWin32HandleInfoNV {...}{.
    raises: [], tags: [].}
proc newVkWin32KeyedMutexAcquireReleaseInfoNV(sType: VkStructureType;
    pNext: pointer = nil; acquireCount: uint32;
    pAcquireSyncs: ptr VkDeviceMemory; pAcquireKeys: ptr uint64;
    pAcquireTimeoutMilliseconds: ptr uint32; releaseCount: uint32;
    pReleaseSyncs: ptr VkDeviceMemory; pReleaseKeys: ptr uint64): VkWin32KeyedMutexAcquireReleaseInfoNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV(
    sType: VkStructureType; pNext: pointer = nil;
    deviceGeneratedCommands: VkBool32): VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkDevicePrivateDataCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; privateDataSlotRequestCount: uint32): VkDevicePrivateDataCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPrivateDataSlotCreateInfoEXT(sType: VkStructureType;
                                       pNext: pointer = nil; flags: VkPrivateDataSlotCreateFlagsEXT = 0.VkPrivateDataSlotCreateFlagsEXT): VkPrivateDataSlotCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDevicePrivateDataFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; privateData: VkBool32): VkPhysicalDevicePrivateDataFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV(
    sType: VkStructureType; pNext: pointer = nil;
    maxGraphicsShaderGroupCount: uint32; maxIndirectSequenceCount: uint32;
    maxIndirectCommandsTokenCount: uint32;
    maxIndirectCommandsStreamCount: uint32;
    maxIndirectCommandsTokenOffset: uint32;
    maxIndirectCommandsStreamStride: uint32;
    minSequencesCountBufferOffsetAlignment: uint32;
    minSequencesIndexBufferOffsetAlignment: uint32;
    minIndirectCommandsBufferOffsetAlignment: uint32): VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {...}{.
    raises: [], tags: [].}
proc newVkGraphicsShaderGroupCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; stageCount: uint32;
    pStages: ptr VkPipelineShaderStageCreateInfo;
    pVertexInputState: ptr VkPipelineVertexInputStateCreateInfo;
    pTessellationState: ptr VkPipelineTessellationStateCreateInfo): VkGraphicsShaderGroupCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkGraphicsPipelineShaderGroupsCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; groupCount: uint32;
    pGroups: ptr VkGraphicsShaderGroupCreateInfoNV; pipelineCount: uint32;
    pPipelines: ptr VkPipeline): VkGraphicsPipelineShaderGroupsCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkBindShaderGroupIndirectCommandNV(groupIndex: uint32): VkBindShaderGroupIndirectCommandNV {...}{.
    raises: [], tags: [].}
proc newVkBindIndexBufferIndirectCommandNV(bufferAddress: VkDeviceAddress;
    size: uint32; indexType: VkIndexType): VkBindIndexBufferIndirectCommandNV {...}{.
    raises: [], tags: [].}
proc newVkBindVertexBufferIndirectCommandNV(bufferAddress: VkDeviceAddress;
    size: uint32; stride: uint32): VkBindVertexBufferIndirectCommandNV {...}{.
    raises: [], tags: [].}
proc newVkSetStateFlagsIndirectCommandNV(data: uint32): VkSetStateFlagsIndirectCommandNV {...}{.
    raises: [], tags: [].}
proc newVkIndirectCommandsStreamNV(buffer: VkBuffer; offset: VkDeviceSize): VkIndirectCommandsStreamNV {...}{.
    raises: [], tags: [].}
proc newVkIndirectCommandsLayoutTokenNV(sType: VkStructureType;
                                        pNext: pointer = nil; 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): VkIndirectCommandsLayoutTokenNV {...}{.
    raises: [], tags: [].}
proc newVkIndirectCommandsLayoutCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; flags: VkIndirectCommandsLayoutUsageFlagsNV = 0.VkIndirectCommandsLayoutUsageFlagsNV;
    pipelineBindPoint: VkPipelineBindPoint; tokenCount: uint32;
    pTokens: ptr VkIndirectCommandsLayoutTokenNV; streamCount: uint32;
    pStreamStrides: ptr uint32): VkIndirectCommandsLayoutCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkGeneratedCommandsInfoNV(sType: VkStructureType; pNext: pointer = nil;
                                  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): VkGeneratedCommandsInfoNV {...}{.
    raises: [], tags: [].}
proc newVkGeneratedCommandsMemoryRequirementsInfoNV(sType: VkStructureType;
    pNext: pointer = nil; pipelineBindPoint: VkPipelineBindPoint;
    pipeline: VkPipeline; indirectCommandsLayout: VkIndirectCommandsLayoutNV;
    maxSequencesCount: uint32): VkGeneratedCommandsMemoryRequirementsInfoNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceFeatures2(sType: VkStructureType; pNext: pointer = nil;
                                  features: VkPhysicalDeviceFeatures): VkPhysicalDeviceFeatures2 {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceProperties2(sType: VkStructureType;
                                    pNext: pointer = nil;
                                    properties: VkPhysicalDeviceProperties): VkPhysicalDeviceProperties2 {...}{.
    raises: [], tags: [].}
proc newVkFormatProperties2(sType: VkStructureType; pNext: pointer = nil;
                            formatProperties: VkFormatProperties): VkFormatProperties2 {...}{.
    raises: [], tags: [].}
proc newVkImageFormatProperties2(sType: VkStructureType; pNext: pointer = nil;
                                 imageFormatProperties: VkImageFormatProperties): VkImageFormatProperties2 {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceImageFormatInfo2(sType: VkStructureType;
    pNext: pointer = nil; format: VkFormat; type: VkImageType;
    tiling: VkImageTiling; usage: VkImageUsageFlags;
    flags: VkImageCreateFlags = 0.VkImageCreateFlags): VkPhysicalDeviceImageFormatInfo2 {...}{.
    raises: [], tags: [].}
proc newVkQueueFamilyProperties2(sType: VkStructureType; pNext: pointer = nil;
                                 queueFamilyProperties: VkQueueFamilyProperties): VkQueueFamilyProperties2 {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceMemoryProperties2(sType: VkStructureType;
    pNext: pointer = nil; memoryProperties: VkPhysicalDeviceMemoryProperties): VkPhysicalDeviceMemoryProperties2 {...}{.
    raises: [], tags: [].}
proc newVkSparseImageFormatProperties2(sType: VkStructureType;
                                       pNext: pointer = nil; properties: VkSparseImageFormatProperties): VkSparseImageFormatProperties2 {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceSparseImageFormatInfo2(sType: VkStructureType;
    pNext: pointer = nil; format: VkFormat; type: VkImageType;
    samples: VkSampleCountFlagBits; usage: VkImageUsageFlags;
    tiling: VkImageTiling): VkPhysicalDeviceSparseImageFormatInfo2 {...}{.raises: [],
    tags: [].}
proc newVkPhysicalDevicePushDescriptorPropertiesKHR(sType: VkStructureType;
    pNext: pointer = nil; maxPushDescriptors: uint32): VkPhysicalDevicePushDescriptorPropertiesKHR {...}{.
    raises: [], tags: [].}
proc newVkConformanceVersion(major: uint8; minor: uint8; subminor: uint8;
                             patch: uint8): VkConformanceVersion {...}{.raises: [],
    tags: [].}
proc newVkPhysicalDeviceDriverProperties(sType: VkStructureType;
    pNext: pointer = nil; driverID: VkDriverId;
    driverName: array[VK_MAX_DRIVER_NAME_SIZE, char];
    driverInfo: array[VK_MAX_DRIVER_INFO_SIZE, char];
    conformanceVersion: VkConformanceVersion): VkPhysicalDeviceDriverProperties {...}{.
    raises: [], tags: [].}
proc newVkPresentRegionsKHR(sType: VkStructureType; pNext: pointer = nil;
                            swapchainCount: uint32;
                            pRegions: ptr VkPresentRegionKHR): VkPresentRegionsKHR {...}{.
    raises: [], tags: [].}
proc newVkPresentRegionKHR(rectangleCount: uint32;
                           pRectangles: ptr VkRectLayerKHR): VkPresentRegionKHR {...}{.
    raises: [], tags: [].}
proc newVkRectLayerKHR(offset: VkOffset2D; extent: VkExtent2D; layer: uint32): VkRectLayerKHR {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceVariablePointersFeatures(sType: VkStructureType;
    pNext: pointer = nil; variablePointersStorageBuffer: VkBool32;
    variablePointers: VkBool32): VkPhysicalDeviceVariablePointersFeatures {...}{.
    raises: [], tags: [].}
proc newVkExternalMemoryProperties(externalMemoryFeatures: VkExternalMemoryFeatureFlags;
    exportFromImportedHandleTypes: VkExternalMemoryHandleTypeFlags;
    compatibleHandleTypes: VkExternalMemoryHandleTypeFlags): VkExternalMemoryProperties {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceExternalImageFormatInfo(sType: VkStructureType;
    pNext: pointer = nil; handleType: VkExternalMemoryHandleTypeFlagBits): VkPhysicalDeviceExternalImageFormatInfo {...}{.
    raises: [], tags: [].}
proc newVkExternalImageFormatProperties(sType: VkStructureType;
                                        pNext: pointer = nil;
    externalMemoryProperties: VkExternalMemoryProperties): VkExternalImageFormatProperties {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceExternalBufferInfo(sType: VkStructureType;
    pNext: pointer = nil; flags: VkBufferCreateFlags = 0.VkBufferCreateFlags;
    usage: VkBufferUsageFlags; handleType: VkExternalMemoryHandleTypeFlagBits): VkPhysicalDeviceExternalBufferInfo {...}{.
    raises: [], tags: [].}
proc newVkExternalBufferProperties(sType: VkStructureType; pNext: pointer = nil;
    externalMemoryProperties: VkExternalMemoryProperties): VkExternalBufferProperties {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceIDProperties(sType: VkStructureType;
                                     pNext: pointer = nil;
                                     deviceUUID: array[VK_UUID_SIZE, uint8];
                                     driverUUID: array[VK_UUID_SIZE, uint8];
                                     deviceLUID: array[VK_LUID_SIZE, uint8];
                                     deviceNodeMask: uint32;
                                     deviceLUIDValid: VkBool32): VkPhysicalDeviceIDProperties {...}{.
    raises: [], tags: [].}
proc newVkExternalMemoryImageCreateInfo(sType: VkStructureType;
                                        pNext: pointer = nil; handleTypes: VkExternalMemoryHandleTypeFlags): VkExternalMemoryImageCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkExternalMemoryBufferCreateInfo(sType: VkStructureType;
    pNext: pointer = nil; handleTypes: VkExternalMemoryHandleTypeFlags): VkExternalMemoryBufferCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkExportMemoryAllocateInfo(sType: VkStructureType; pNext: pointer = nil;
                                   handleTypes: VkExternalMemoryHandleTypeFlags): VkExportMemoryAllocateInfo {...}{.
    raises: [], tags: [].}
proc newVkImportMemoryWin32HandleInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; handleType: VkExternalMemoryHandleTypeFlagBits;
    handle: HANDLE; name: LPCWSTR): VkImportMemoryWin32HandleInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkExportMemoryWin32HandleInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; pAttributes: ptr SECURITY_ATTRIBUTES; dwAccess: DWORD;
    name: LPCWSTR): VkExportMemoryWin32HandleInfoKHR {...}{.raises: [], tags: [].}
proc newVkMemoryWin32HandlePropertiesKHR(sType: VkStructureType;
    pNext: pointer = nil; memoryTypeBits: uint32): VkMemoryWin32HandlePropertiesKHR {...}{.
    raises: [], tags: [].}
proc newVkMemoryGetWin32HandleInfoKHR(sType: VkStructureType;
                                      pNext: pointer = nil;
                                      memory: VkDeviceMemory; handleType: VkExternalMemoryHandleTypeFlagBits): VkMemoryGetWin32HandleInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkImportMemoryFdInfoKHR(sType: VkStructureType; pNext: pointer = nil;
                                handleType: VkExternalMemoryHandleTypeFlagBits;
                                fd: int): VkImportMemoryFdInfoKHR {...}{.raises: [],
    tags: [].}
proc newVkMemoryFdPropertiesKHR(sType: VkStructureType; pNext: pointer = nil;
                                memoryTypeBits: uint32): VkMemoryFdPropertiesKHR {...}{.
    raises: [], tags: [].}
proc newVkMemoryGetFdInfoKHR(sType: VkStructureType; pNext: pointer = nil;
                             memory: VkDeviceMemory;
                             handleType: VkExternalMemoryHandleTypeFlagBits): VkMemoryGetFdInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkWin32KeyedMutexAcquireReleaseInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; acquireCount: uint32;
    pAcquireSyncs: ptr VkDeviceMemory; pAcquireKeys: ptr uint64;
    pAcquireTimeouts: ptr uint32; releaseCount: uint32;
    pReleaseSyncs: ptr VkDeviceMemory; pReleaseKeys: ptr uint64): VkWin32KeyedMutexAcquireReleaseInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceExternalSemaphoreInfo(sType: VkStructureType;
    pNext: pointer = nil; handleType: VkExternalSemaphoreHandleTypeFlagBits): VkPhysicalDeviceExternalSemaphoreInfo {...}{.
    raises: [], tags: [].}
proc newVkExternalSemaphoreProperties(sType: VkStructureType;
                                      pNext: pointer = nil;
    exportFromImportedHandleTypes: VkExternalSemaphoreHandleTypeFlags;
    compatibleHandleTypes: VkExternalSemaphoreHandleTypeFlags;
    externalSemaphoreFeatures: VkExternalSemaphoreFeatureFlags): VkExternalSemaphoreProperties {...}{.
    raises: [], tags: [].}
proc newVkExportSemaphoreCreateInfo(sType: VkStructureType;
                                    pNext: pointer = nil; handleTypes: VkExternalSemaphoreHandleTypeFlags): VkExportSemaphoreCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkImportSemaphoreWin32HandleInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; semaphore: VkSemaphore;
    flags: VkSemaphoreImportFlags = 0.VkSemaphoreImportFlags;
    handleType: VkExternalSemaphoreHandleTypeFlagBits; handle: HANDLE;
    name: LPCWSTR): VkImportSemaphoreWin32HandleInfoKHR {...}{.raises: [], tags: [].}
proc newVkExportSemaphoreWin32HandleInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; pAttributes: ptr SECURITY_ATTRIBUTES; dwAccess: DWORD;
    name: LPCWSTR): VkExportSemaphoreWin32HandleInfoKHR {...}{.raises: [], tags: [].}
proc newVkD3D12FenceSubmitInfoKHR(sType: VkStructureType; pNext: pointer = nil;
                                  waitSemaphoreValuesCount: uint32;
                                  pWaitSemaphoreValues: ptr uint64;
                                  signalSemaphoreValuesCount: uint32;
                                  pSignalSemaphoreValues: ptr uint64): VkD3D12FenceSubmitInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkSemaphoreGetWin32HandleInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; semaphore: VkSemaphore;
    handleType: VkExternalSemaphoreHandleTypeFlagBits): VkSemaphoreGetWin32HandleInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkImportSemaphoreFdInfoKHR(sType: VkStructureType; pNext: pointer = nil;
                                   semaphore: VkSemaphore; flags: VkSemaphoreImportFlags = 0.VkSemaphoreImportFlags;
    handleType: VkExternalSemaphoreHandleTypeFlagBits; fd: int): VkImportSemaphoreFdInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkSemaphoreGetFdInfoKHR(sType: VkStructureType; pNext: pointer = nil;
                                semaphore: VkSemaphore; handleType: VkExternalSemaphoreHandleTypeFlagBits): VkSemaphoreGetFdInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceExternalFenceInfo(sType: VkStructureType;
    pNext: pointer = nil; handleType: VkExternalFenceHandleTypeFlagBits): VkPhysicalDeviceExternalFenceInfo {...}{.
    raises: [], tags: [].}
proc newVkExternalFenceProperties(sType: VkStructureType; pNext: pointer = nil;
    exportFromImportedHandleTypes: VkExternalFenceHandleTypeFlags;
    compatibleHandleTypes: VkExternalFenceHandleTypeFlags; externalFenceFeatures: VkExternalFenceFeatureFlags): VkExternalFenceProperties {...}{.
    raises: [], tags: [].}
proc newVkExportFenceCreateInfo(sType: VkStructureType; pNext: pointer = nil;
                                handleTypes: VkExternalFenceHandleTypeFlags): VkExportFenceCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkImportFenceWin32HandleInfoKHR(sType: VkStructureType;
                                        pNext: pointer = nil; fence: VkFence;
    flags: VkFenceImportFlags = 0.VkFenceImportFlags; handleType: VkExternalFenceHandleTypeFlagBits;
                                        handle: HANDLE; name: LPCWSTR): VkImportFenceWin32HandleInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkExportFenceWin32HandleInfoKHR(sType: VkStructureType;
                                        pNext: pointer = nil;
                                        pAttributes: ptr SECURITY_ATTRIBUTES;
                                        dwAccess: DWORD; name: LPCWSTR): VkExportFenceWin32HandleInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkFenceGetWin32HandleInfoKHR(sType: VkStructureType;
                                     pNext: pointer = nil; fence: VkFence;
    handleType: VkExternalFenceHandleTypeFlagBits): VkFenceGetWin32HandleInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkImportFenceFdInfoKHR(sType: VkStructureType; pNext: pointer = nil;
                               fence: VkFence; flags: VkFenceImportFlags = 0.VkFenceImportFlags;
                               handleType: VkExternalFenceHandleTypeFlagBits;
                               fd: int): VkImportFenceFdInfoKHR {...}{.raises: [],
    tags: [].}
proc newVkFenceGetFdInfoKHR(sType: VkStructureType; pNext: pointer = nil;
                            fence: VkFence;
                            handleType: VkExternalFenceHandleTypeFlagBits): VkFenceGetFdInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceMultiviewFeatures(sType: VkStructureType;
    pNext: pointer = nil; multiview: VkBool32;
    multiviewGeometryShader: VkBool32; multiviewTessellationShader: VkBool32): VkPhysicalDeviceMultiviewFeatures {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceMultiviewProperties(sType: VkStructureType;
    pNext: pointer = nil; maxMultiviewViewCount: uint32;
    maxMultiviewInstanceIndex: uint32): VkPhysicalDeviceMultiviewProperties {...}{.
    raises: [], tags: [].}
proc newVkRenderPassMultiviewCreateInfo(sType: VkStructureType;
                                        pNext: pointer = nil;
                                        subpassCount: uint32;
                                        pViewMasks: ptr uint32;
                                        dependencyCount: uint32;
                                        pViewOffsets: ptr int32;
                                        correlationMaskCount: uint32;
                                        pCorrelationMasks: ptr uint32): VkRenderPassMultiviewCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkSurfaceCapabilities2EXT(sType: VkStructureType; pNext: pointer = nil;
                                  minImageCount: uint32; maxImageCount: uint32;
                                  currentExtent: VkExtent2D;
                                  minImageExtent: VkExtent2D;
                                  maxImageExtent: VkExtent2D;
                                  maxImageArrayLayers: uint32;
    supportedTransforms: VkSurfaceTransformFlagsKHR; currentTransform: VkSurfaceTransformFlagBitsKHR;
    supportedCompositeAlpha: VkCompositeAlphaFlagsKHR;
                                  supportedUsageFlags: VkImageUsageFlags;
    supportedSurfaceCounters: VkSurfaceCounterFlagsEXT): VkSurfaceCapabilities2EXT {...}{.
    raises: [], tags: [].}
proc newVkDisplayPowerInfoEXT(sType: VkStructureType; pNext: pointer = nil;
                              powerState: VkDisplayPowerStateEXT): VkDisplayPowerInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkDeviceEventInfoEXT(sType: VkStructureType; pNext: pointer = nil;
                             deviceEvent: VkDeviceEventTypeEXT): VkDeviceEventInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkDisplayEventInfoEXT(sType: VkStructureType; pNext: pointer = nil;
                              displayEvent: VkDisplayEventTypeEXT): VkDisplayEventInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkSwapchainCounterCreateInfoEXT(sType: VkStructureType;
                                        pNext: pointer = nil; surfaceCounters: VkSurfaceCounterFlagsEXT): VkSwapchainCounterCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceGroupProperties(sType: VkStructureType;
                                        pNext: pointer = nil;
                                        physicalDeviceCount: uint32;
    physicalDevices: array[VK_MAX_DEVICE_GROUP_SIZE, VkPhysicalDevice];
                                        subsetAllocation: VkBool32): VkPhysicalDeviceGroupProperties {...}{.
    raises: [], tags: [].}
proc newVkMemoryAllocateFlagsInfo(sType: VkStructureType; pNext: pointer = nil;
    flags: VkMemoryAllocateFlags = 0.VkMemoryAllocateFlags; deviceMask: uint32): VkMemoryAllocateFlagsInfo {...}{.
    raises: [], tags: [].}
proc newVkBindBufferMemoryInfo(sType: VkStructureType; pNext: pointer = nil;
                               buffer: VkBuffer; memory: VkDeviceMemory;
                               memoryOffset: VkDeviceSize): VkBindBufferMemoryInfo {...}{.
    raises: [], tags: [].}
proc newVkBindBufferMemoryDeviceGroupInfo(sType: VkStructureType;
    pNext: pointer = nil; deviceIndexCount: uint32; pDeviceIndices: ptr uint32): VkBindBufferMemoryDeviceGroupInfo {...}{.
    raises: [], tags: [].}
proc newVkBindImageMemoryInfo(sType: VkStructureType; pNext: pointer = nil;
                              image: VkImage; memory: VkDeviceMemory;
                              memoryOffset: VkDeviceSize): VkBindImageMemoryInfo {...}{.
    raises: [], tags: [].}
proc newVkBindImageMemoryDeviceGroupInfo(sType: VkStructureType;
    pNext: pointer = nil; deviceIndexCount: uint32; pDeviceIndices: ptr uint32;
    splitInstanceBindRegionCount: uint32;
    pSplitInstanceBindRegions: ptr VkRect2D): VkBindImageMemoryDeviceGroupInfo {...}{.
    raises: [], tags: [].}
proc newVkDeviceGroupRenderPassBeginInfo(sType: VkStructureType;
    pNext: pointer = nil; deviceMask: uint32; deviceRenderAreaCount: uint32;
    pDeviceRenderAreas: ptr VkRect2D): VkDeviceGroupRenderPassBeginInfo {...}{.
    raises: [], tags: [].}
proc newVkDeviceGroupCommandBufferBeginInfo(sType: VkStructureType;
    pNext: pointer = nil; deviceMask: uint32): VkDeviceGroupCommandBufferBeginInfo {...}{.
    raises: [], tags: [].}
proc newVkDeviceGroupSubmitInfo(sType: VkStructureType; pNext: pointer = nil;
                                waitSemaphoreCount: uint32;
                                pWaitSemaphoreDeviceIndices: ptr uint32;
                                commandBufferCount: uint32;
                                pCommandBufferDeviceMasks: ptr uint32;
                                signalSemaphoreCount: uint32;
                                pSignalSemaphoreDeviceIndices: ptr uint32): VkDeviceGroupSubmitInfo {...}{.
    raises: [], tags: [].}
proc newVkDeviceGroupBindSparseInfo(sType: VkStructureType;
                                    pNext: pointer = nil;
                                    resourceDeviceIndex: uint32;
                                    memoryDeviceIndex: uint32): VkDeviceGroupBindSparseInfo {...}{.
    raises: [], tags: [].}
proc newVkDeviceGroupPresentCapabilitiesKHR(sType: VkStructureType;
    pNext: pointer = nil; presentMask: array[VK_MAX_DEVICE_GROUP_SIZE, uint32];
    modes: VkDeviceGroupPresentModeFlagsKHR): VkDeviceGroupPresentCapabilitiesKHR {...}{.
    raises: [], tags: [].}
proc newVkImageSwapchainCreateInfoKHR(sType: VkStructureType;
                                      pNext: pointer = nil;
                                      swapchain: VkSwapchainKHR): VkImageSwapchainCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkBindImageMemorySwapchainInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; swapchain: VkSwapchainKHR; imageIndex: uint32): VkBindImageMemorySwapchainInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkAcquireNextImageInfoKHR(sType: VkStructureType; pNext: pointer = nil;
                                  swapchain: VkSwapchainKHR; timeout: uint64;
                                  semaphore: VkSemaphore; fence: VkFence;
                                  deviceMask: uint32): VkAcquireNextImageInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkDeviceGroupPresentInfoKHR(sType: VkStructureType;
                                    pNext: pointer = nil;
                                    swapchainCount: uint32;
                                    pDeviceMasks: ptr uint32;
                                    mode: VkDeviceGroupPresentModeFlagBitsKHR): VkDeviceGroupPresentInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkDeviceGroupDeviceCreateInfo(sType: VkStructureType;
                                      pNext: pointer = nil;
                                      physicalDeviceCount: uint32;
                                      pPhysicalDevices: ptr VkPhysicalDevice): VkDeviceGroupDeviceCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkDeviceGroupSwapchainCreateInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; modes: VkDeviceGroupPresentModeFlagsKHR): VkDeviceGroupSwapchainCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkDescriptorUpdateTemplateEntry(dstBinding: uint32;
                                        dstArrayElement: uint32;
                                        descriptorCount: uint32;
                                        descriptorType: VkDescriptorType;
                                        offset: uint; stride: uint): VkDescriptorUpdateTemplateEntry {...}{.
    raises: [], tags: [].}
proc newVkDescriptorUpdateTemplateCreateInfo(sType: VkStructureType;
    pNext: pointer = nil; flags: VkDescriptorUpdateTemplateCreateFlags = 0.VkDescriptorUpdateTemplateCreateFlags;
    descriptorUpdateEntryCount: uint32;
    pDescriptorUpdateEntries: ptr VkDescriptorUpdateTemplateEntry;
    templateType: VkDescriptorUpdateTemplateType;
    descriptorSetLayout: VkDescriptorSetLayout;
    pipelineBindPoint: VkPipelineBindPoint; pipelineLayout: VkPipelineLayout;
    set: uint32): VkDescriptorUpdateTemplateCreateInfo {...}{.raises: [], tags: [].}
proc newVkXYColorEXT(x: float32; y: float32): VkXYColorEXT {...}{.raises: [],
    tags: [].}
proc newVkHdrMetadataEXT(sType: VkStructureType; pNext: pointer = nil;
                         displayPrimaryRed: VkXYColorEXT;
                         displayPrimaryGreen: VkXYColorEXT;
                         displayPrimaryBlue: VkXYColorEXT;
                         whitePoint: VkXYColorEXT; maxLuminance: float32;
                         minLuminance: float32; maxContentLightLevel: float32;
                         maxFrameAverageLightLevel: float32): VkHdrMetadataEXT {...}{.
    raises: [], tags: [].}
proc newVkDisplayNativeHdrSurfaceCapabilitiesAMD(sType: VkStructureType;
    pNext: pointer = nil; localDimmingSupport: VkBool32): VkDisplayNativeHdrSurfaceCapabilitiesAMD {...}{.
    raises: [], tags: [].}
proc newVkSwapchainDisplayNativeHdrCreateInfoAMD(sType: VkStructureType;
    pNext: pointer = nil; localDimmingEnable: VkBool32): VkSwapchainDisplayNativeHdrCreateInfoAMD {...}{.
    raises: [], tags: [].}
proc newVkRefreshCycleDurationGOOGLE(refreshDuration: uint64): VkRefreshCycleDurationGOOGLE {...}{.
    raises: [], tags: [].}
proc newVkPastPresentationTimingGOOGLE(presentID: uint32;
                                       desiredPresentTime: uint64;
                                       actualPresentTime: uint64;
                                       earliestPresentTime: uint64;
                                       presentMargin: uint64): VkPastPresentationTimingGOOGLE {...}{.
    raises: [], tags: [].}
proc newVkPresentTimesInfoGOOGLE(sType: VkStructureType; pNext: pointer = nil;
                                 swapchainCount: uint32;
                                 pTimes: ptr VkPresentTimeGOOGLE): VkPresentTimesInfoGOOGLE {...}{.
    raises: [], tags: [].}
proc newVkPresentTimeGOOGLE(presentID: uint32; desiredPresentTime: uint64): VkPresentTimeGOOGLE {...}{.
    raises: [], tags: [].}
proc newVkIOSSurfaceCreateInfoMVK(sType: VkStructureType; pNext: pointer = nil;
    flags: VkIOSSurfaceCreateFlagsMVK = 0.VkIOSSurfaceCreateFlagsMVK;
                                  pView: pointer = nil): VkIOSSurfaceCreateInfoMVK {...}{.
    raises: [], tags: [].}
proc newVkMacOSSurfaceCreateInfoMVK(sType: VkStructureType;
                                    pNext: pointer = nil; flags: VkMacOSSurfaceCreateFlagsMVK = 0.VkMacOSSurfaceCreateFlagsMVK;
                                    pView: pointer = nil): VkMacOSSurfaceCreateInfoMVK {...}{.
    raises: [], tags: [].}
proc newVkMetalSurfaceCreateInfoEXT(sType: VkStructureType;
                                    pNext: pointer = nil; flags: VkMetalSurfaceCreateFlagsEXT = 0.VkMetalSurfaceCreateFlagsEXT;
                                    pLayer: ptr CAMetalLayer): VkMetalSurfaceCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkViewportWScalingNV(xcoeff: float32; ycoeff: float32): VkViewportWScalingNV {...}{.
    raises: [], tags: [].}
proc newVkPipelineViewportWScalingStateCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; viewportWScalingEnable: VkBool32;
    viewportCount: uint32; pViewportWScalings: ptr VkViewportWScalingNV): VkPipelineViewportWScalingStateCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkViewportSwizzleNV(x: VkViewportCoordinateSwizzleNV;
                            y: VkViewportCoordinateSwizzleNV;
                            z: VkViewportCoordinateSwizzleNV;
                            w: VkViewportCoordinateSwizzleNV): VkViewportSwizzleNV {...}{.
    raises: [], tags: [].}
proc newVkPipelineViewportSwizzleStateCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; flags: VkPipelineViewportSwizzleStateCreateFlagsNV = 0.VkPipelineViewportSwizzleStateCreateFlagsNV;
    viewportCount: uint32; pViewportSwizzles: ptr VkViewportSwizzleNV): VkPipelineViewportSwizzleStateCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceDiscardRectanglePropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; maxDiscardRectangles: uint32): VkPhysicalDeviceDiscardRectanglePropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPipelineDiscardRectangleStateCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; flags: VkPipelineDiscardRectangleStateCreateFlagsEXT = 0.VkPipelineDiscardRectangleStateCreateFlagsEXT;
    discardRectangleMode: VkDiscardRectangleModeEXT;
    discardRectangleCount: uint32; pDiscardRectangles: ptr VkRect2D): VkPipelineDiscardRectangleStateCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX(
    sType: VkStructureType; pNext: pointer = nil;
    perViewPositionAllComponents: VkBool32): VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {...}{.
    raises: [], tags: [].}
proc newVkInputAttachmentAspectReference(subpass: uint32;
    inputAttachmentIndex: uint32; aspectMask: VkImageAspectFlags): VkInputAttachmentAspectReference {...}{.
    raises: [], tags: [].}
proc newVkRenderPassInputAttachmentAspectCreateInfo(sType: VkStructureType;
    pNext: pointer = nil; aspectReferenceCount: uint32;
    pAspectReferences: ptr VkInputAttachmentAspectReference): VkRenderPassInputAttachmentAspectCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceSurfaceInfo2KHR(sType: VkStructureType;
                                        pNext: pointer = nil;
                                        surface: VkSurfaceKHR): VkPhysicalDeviceSurfaceInfo2KHR {...}{.
    raises: [], tags: [].}
proc newVkSurfaceCapabilities2KHR(sType: VkStructureType; pNext: pointer = nil;
                                  surfaceCapabilities: VkSurfaceCapabilitiesKHR): VkSurfaceCapabilities2KHR {...}{.
    raises: [], tags: [].}
proc newVkSurfaceFormat2KHR(sType: VkStructureType; pNext: pointer = nil;
                            surfaceFormat: VkSurfaceFormatKHR): VkSurfaceFormat2KHR {...}{.
    raises: [], tags: [].}
proc newVkDisplayProperties2KHR(sType: VkStructureType; pNext: pointer = nil;
                                displayProperties: VkDisplayPropertiesKHR): VkDisplayProperties2KHR {...}{.
    raises: [], tags: [].}
proc newVkDisplayPlaneProperties2KHR(sType: VkStructureType;
                                     pNext: pointer = nil;
    displayPlaneProperties: VkDisplayPlanePropertiesKHR): VkDisplayPlaneProperties2KHR {...}{.
    raises: [], tags: [].}
proc newVkDisplayModeProperties2KHR(sType: VkStructureType;
                                    pNext: pointer = nil; displayModeProperties: VkDisplayModePropertiesKHR): VkDisplayModeProperties2KHR {...}{.
    raises: [], tags: [].}
proc newVkDisplayPlaneInfo2KHR(sType: VkStructureType; pNext: pointer = nil;
                               mode: VkDisplayModeKHR; planeIndex: uint32): VkDisplayPlaneInfo2KHR {...}{.
    raises: [], tags: [].}
proc newVkDisplayPlaneCapabilities2KHR(sType: VkStructureType;
                                       pNext: pointer = nil; capabilities: VkDisplayPlaneCapabilitiesKHR): VkDisplayPlaneCapabilities2KHR {...}{.
    raises: [], tags: [].}
proc newVkSharedPresentSurfaceCapabilitiesKHR(sType: VkStructureType;
    pNext: pointer = nil; sharedPresentSupportedUsageFlags: VkImageUsageFlags): VkSharedPresentSurfaceCapabilitiesKHR {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDevice16BitStorageFeatures(sType: VkStructureType;
    pNext: pointer = nil; storageBuffer16BitAccess: VkBool32;
    uniformAndStorageBuffer16BitAccess: VkBool32;
    storagePushConstant16: VkBool32; storageInputOutput16: VkBool32): VkPhysicalDevice16BitStorageFeatures {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceSubgroupProperties(sType: VkStructureType;
    pNext: pointer = nil; subgroupSize: uint32;
    supportedStages: VkShaderStageFlags;
    supportedOperations: VkSubgroupFeatureFlags;
    quadOperationsInAllStages: VkBool32): VkPhysicalDeviceSubgroupProperties {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(
    sType: VkStructureType; pNext: pointer = nil;
    shaderSubgroupExtendedTypes: VkBool32): VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {...}{.
    raises: [], tags: [].}
proc newVkBufferMemoryRequirementsInfo2(sType: VkStructureType;
                                        pNext: pointer = nil; buffer: VkBuffer): VkBufferMemoryRequirementsInfo2 {...}{.
    raises: [], tags: [].}
proc newVkImageMemoryRequirementsInfo2(sType: VkStructureType;
                                       pNext: pointer = nil; image: VkImage): VkImageMemoryRequirementsInfo2 {...}{.
    raises: [], tags: [].}
proc newVkImageSparseMemoryRequirementsInfo2(sType: VkStructureType;
    pNext: pointer = nil; image: VkImage): VkImageSparseMemoryRequirementsInfo2 {...}{.
    raises: [], tags: [].}
proc newVkMemoryRequirements2(sType: VkStructureType; pNext: pointer = nil;
                              memoryRequirements: VkMemoryRequirements): VkMemoryRequirements2 {...}{.
    raises: [], tags: [].}
proc newVkSparseImageMemoryRequirements2(sType: VkStructureType;
    pNext: pointer = nil; memoryRequirements: VkSparseImageMemoryRequirements): VkSparseImageMemoryRequirements2 {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDevicePointClippingProperties(sType: VkStructureType;
    pNext: pointer = nil; pointClippingBehavior: VkPointClippingBehavior): VkPhysicalDevicePointClippingProperties {...}{.
    raises: [], tags: [].}
proc newVkMemoryDedicatedRequirements(sType: VkStructureType;
                                      pNext: pointer = nil;
                                      prefersDedicatedAllocation: VkBool32;
                                      requiresDedicatedAllocation: VkBool32): VkMemoryDedicatedRequirements {...}{.
    raises: [], tags: [].}
proc newVkMemoryDedicatedAllocateInfo(sType: VkStructureType;
                                      pNext: pointer = nil; image: VkImage;
                                      buffer: VkBuffer): VkMemoryDedicatedAllocateInfo {...}{.
    raises: [], tags: [].}
proc newVkImageViewUsageCreateInfo(sType: VkStructureType; pNext: pointer = nil;
                                   usage: VkImageUsageFlags): VkImageViewUsageCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkPipelineTessellationDomainOriginStateCreateInfo(
    sType: VkStructureType; pNext: pointer = nil;
    domainOrigin: VkTessellationDomainOrigin): VkPipelineTessellationDomainOriginStateCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkSamplerYcbcrConversionInfo(sType: VkStructureType;
                                     pNext: pointer = nil;
                                     conversion: VkSamplerYcbcrConversion): VkSamplerYcbcrConversionInfo {...}{.
    raises: [], tags: [].}
proc newVkSamplerYcbcrConversionCreateInfo(sType: VkStructureType;
    pNext: pointer = nil; format: VkFormat;
    ycbcrModel: VkSamplerYcbcrModelConversion; ycbcrRange: VkSamplerYcbcrRange;
    components: VkComponentMapping; xChromaOffset: VkChromaLocation;
    yChromaOffset: VkChromaLocation; chromaFilter: VkFilter;
    forceExplicitReconstruction: VkBool32): VkSamplerYcbcrConversionCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkBindImagePlaneMemoryInfo(sType: VkStructureType; pNext: pointer = nil;
                                   planeAspect: VkImageAspectFlagBits): VkBindImagePlaneMemoryInfo {...}{.
    raises: [], tags: [].}
proc newVkImagePlaneMemoryRequirementsInfo(sType: VkStructureType;
    pNext: pointer = nil; planeAspect: VkImageAspectFlagBits): VkImagePlaneMemoryRequirementsInfo {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceSamplerYcbcrConversionFeatures(sType: VkStructureType;
    pNext: pointer = nil; samplerYcbcrConversion: VkBool32): VkPhysicalDeviceSamplerYcbcrConversionFeatures {...}{.
    raises: [], tags: [].}
proc newVkSamplerYcbcrConversionImageFormatProperties(sType: VkStructureType;
    pNext: pointer = nil; combinedImageSamplerDescriptorCount: uint32): VkSamplerYcbcrConversionImageFormatProperties {...}{.
    raises: [], tags: [].}
proc newVkTextureLODGatherFormatPropertiesAMD(sType: VkStructureType;
    pNext: pointer = nil; supportsTextureGatherLODBiasAMD: VkBool32): VkTextureLODGatherFormatPropertiesAMD {...}{.
    raises: [], tags: [].}
proc newVkConditionalRenderingBeginInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; buffer: VkBuffer; offset: VkDeviceSize;
    flags: VkConditionalRenderingFlagsEXT = 0.VkConditionalRenderingFlagsEXT): VkConditionalRenderingBeginInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkProtectedSubmitInfo(sType: VkStructureType; pNext: pointer = nil;
                              protectedSubmit: VkBool32): VkProtectedSubmitInfo {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceProtectedMemoryFeatures(sType: VkStructureType;
    pNext: pointer = nil; protectedMemory: VkBool32): VkPhysicalDeviceProtectedMemoryFeatures {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceProtectedMemoryProperties(sType: VkStructureType;
    pNext: pointer = nil; protectedNoFault: VkBool32): VkPhysicalDeviceProtectedMemoryProperties {...}{.
    raises: [], tags: [].}
proc newVkDeviceQueueInfo2(sType: VkStructureType; pNext: pointer = nil; flags: VkDeviceQueueCreateFlags = 0.VkDeviceQueueCreateFlags;
                           queueFamilyIndex: uint32; queueIndex: uint32): VkDeviceQueueInfo2 {...}{.
    raises: [], tags: [].}
proc newVkPipelineCoverageToColorStateCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; flags: VkPipelineCoverageToColorStateCreateFlagsNV = 0.VkPipelineCoverageToColorStateCreateFlagsNV;
    coverageToColorEnable: VkBool32; coverageToColorLocation: uint32): VkPipelineCoverageToColorStateCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceSamplerFilterMinmaxProperties(sType: VkStructureType;
    pNext: pointer = nil; filterMinmaxSingleComponentFormats: VkBool32;
    filterMinmaxImageComponentMapping: VkBool32): VkPhysicalDeviceSamplerFilterMinmaxProperties {...}{.
    raises: [], tags: [].}
proc newVkSampleLocationEXT(x: float32; y: float32): VkSampleLocationEXT {...}{.
    raises: [], tags: [].}
proc newVkSampleLocationsInfoEXT(sType: VkStructureType; pNext: pointer = nil;
    sampleLocationsPerPixel: VkSampleCountFlagBits;
                                 sampleLocationGridSize: VkExtent2D;
                                 sampleLocationsCount: uint32;
                                 pSampleLocations: ptr VkSampleLocationEXT): VkSampleLocationsInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkAttachmentSampleLocationsEXT(attachmentIndex: uint32;
    sampleLocationsInfo: VkSampleLocationsInfoEXT): VkAttachmentSampleLocationsEXT {...}{.
    raises: [], tags: [].}
proc newVkSubpassSampleLocationsEXT(subpassIndex: uint32; sampleLocationsInfo: VkSampleLocationsInfoEXT): VkSubpassSampleLocationsEXT {...}{.
    raises: [], tags: [].}
proc newVkRenderPassSampleLocationsBeginInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; attachmentInitialSampleLocationsCount: uint32;
    pAttachmentInitialSampleLocations: ptr VkAttachmentSampleLocationsEXT;
    postSubpassSampleLocationsCount: uint32;
    pPostSubpassSampleLocations: ptr VkSubpassSampleLocationsEXT): VkRenderPassSampleLocationsBeginInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPipelineSampleLocationsStateCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; sampleLocationsEnable: VkBool32;
    sampleLocationsInfo: VkSampleLocationsInfoEXT): VkPipelineSampleLocationsStateCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceSampleLocationsPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; sampleLocationSampleCounts: VkSampleCountFlags;
    maxSampleLocationGridSize: VkExtent2D;
    sampleLocationCoordinateRange: array[2, float32];
    sampleLocationSubPixelBits: uint32; variableSampleLocations: VkBool32): VkPhysicalDeviceSampleLocationsPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkMultisamplePropertiesEXT(sType: VkStructureType; pNext: pointer = nil;
                                   maxSampleLocationGridSize: VkExtent2D): VkMultisamplePropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkSamplerReductionModeCreateInfo(sType: VkStructureType;
    pNext: pointer = nil; reductionMode: VkSamplerReductionMode): VkSamplerReductionModeCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceBlendOperationAdvancedFeaturesEXT(
    sType: VkStructureType; pNext: pointer = nil;
    advancedBlendCoherentOperations: VkBool32): VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceBlendOperationAdvancedPropertiesEXT(
    sType: VkStructureType; pNext: pointer = nil;
    advancedBlendMaxColorAttachments: uint32;
    advancedBlendIndependentBlend: VkBool32;
    advancedBlendNonPremultipliedSrcColor: VkBool32;
    advancedBlendNonPremultipliedDstColor: VkBool32;
    advancedBlendCorrelatedOverlap: VkBool32;
    advancedBlendAllOperations: VkBool32): VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPipelineColorBlendAdvancedStateCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; srcPremultiplied: VkBool32;
    dstPremultiplied: VkBool32; blendOverlap: VkBlendOverlapEXT): VkPipelineColorBlendAdvancedStateCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceInlineUniformBlockFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; inlineUniformBlock: VkBool32;
    descriptorBindingInlineUniformBlockUpdateAfterBind: VkBool32): VkPhysicalDeviceInlineUniformBlockFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceInlineUniformBlockPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; maxInlineUniformBlockSize: uint32;
    maxPerStageDescriptorInlineUniformBlocks: uint32;
    maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks: uint32;
    maxDescriptorSetInlineUniformBlocks: uint32;
    maxDescriptorSetUpdateAfterBindInlineUniformBlocks: uint32): VkPhysicalDeviceInlineUniformBlockPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkWriteDescriptorSetInlineUniformBlockEXT(sType: VkStructureType;
    pNext: pointer = nil; dataSize: uint32; pData: pointer = nil): VkWriteDescriptorSetInlineUniformBlockEXT {...}{.
    raises: [], tags: [].}
proc newVkDescriptorPoolInlineUniformBlockCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; maxInlineUniformBlockBindings: uint32): VkDescriptorPoolInlineUniformBlockCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPipelineCoverageModulationStateCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; flags: VkPipelineCoverageModulationStateCreateFlagsNV = 0.VkPipelineCoverageModulationStateCreateFlagsNV;
    coverageModulationMode: VkCoverageModulationModeNV;
    coverageModulationTableEnable: VkBool32;
    coverageModulationTableCount: uint32; pCoverageModulationTable: ptr float32): VkPipelineCoverageModulationStateCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkImageFormatListCreateInfo(sType: VkStructureType;
                                    pNext: pointer = nil;
                                    viewFormatCount: uint32;
                                    pViewFormats: ptr VkFormat): VkImageFormatListCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkValidationCacheCreateInfoEXT(sType: VkStructureType;
                                       pNext: pointer = nil; flags: VkValidationCacheCreateFlagsEXT = 0.VkValidationCacheCreateFlagsEXT;
                                       initialDataSize: uint;
                                       pInitialData: pointer = nil): VkValidationCacheCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkShaderModuleValidationCacheCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; validationCache: VkValidationCacheEXT): VkShaderModuleValidationCacheCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceMaintenance3Properties(sType: VkStructureType;
    pNext: pointer = nil; maxPerSetDescriptors: uint32;
    maxMemoryAllocationSize: VkDeviceSize): VkPhysicalDeviceMaintenance3Properties {...}{.
    raises: [], tags: [].}
proc newVkDescriptorSetLayoutSupport(sType: VkStructureType;
                                     pNext: pointer = nil; supported: VkBool32): VkDescriptorSetLayoutSupport {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShaderDrawParametersFeatures(sType: VkStructureType;
    pNext: pointer = nil; shaderDrawParameters: VkBool32): VkPhysicalDeviceShaderDrawParametersFeatures {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShaderFloat16Int8Features(sType: VkStructureType;
    pNext: pointer = nil; shaderFloat16: VkBool32; shaderInt8: VkBool32): VkPhysicalDeviceShaderFloat16Int8Features {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceFloatControlsProperties(sType: VkStructureType;
    pNext: pointer = nil;
    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): VkPhysicalDeviceFloatControlsProperties {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceHostQueryResetFeatures(sType: VkStructureType;
    pNext: pointer = nil; hostQueryReset: VkBool32): VkPhysicalDeviceHostQueryResetFeatures {...}{.
    raises: [], tags: [].}
proc newVkNativeBufferUsage2ANDROID(consumer: uint64; producer: uint64): VkNativeBufferUsage2ANDROID {...}{.
    raises: [], tags: [].}
proc newVkNativeBufferANDROID(sType: VkStructureType; pNext: pointer = nil;
                              handle: pointer = nil; stride: int; format: int;
                              usage: int; usage2: VkNativeBufferUsage2ANDROID): VkNativeBufferANDROID {...}{.
    raises: [], tags: [].}
proc newVkSwapchainImageCreateInfoANDROID(sType: VkStructureType;
    pNext: pointer = nil; usage: VkSwapchainImageUsageFlagsANDROID): VkSwapchainImageCreateInfoANDROID {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDevicePresentationPropertiesANDROID(sType: VkStructureType;
    pNext: pointer = nil; sharedImage: VkBool32): VkPhysicalDevicePresentationPropertiesANDROID {...}{.
    raises: [], tags: [].}
proc newVkShaderResourceUsageAMD(numUsedVgprs: uint32; numUsedSgprs: uint32;
                                 ldsSizePerLocalWorkGroup: uint32;
                                 ldsUsageSizeInBytes: uint;
                                 scratchMemUsageInBytes: uint): VkShaderResourceUsageAMD {...}{.
    raises: [], tags: [].}
proc newVkShaderStatisticsInfoAMD(shaderStageMask: VkShaderStageFlags;
                                  resourceUsage: VkShaderResourceUsageAMD;
                                  numPhysicalVgprs: uint32;
                                  numPhysicalSgprs: uint32;
                                  numAvailableVgprs: uint32;
                                  numAvailableSgprs: uint32;
                                  computeWorkGroupSize: array[3, uint32]): VkShaderStatisticsInfoAMD {...}{.
    raises: [], tags: [].}
proc newVkDeviceQueueGlobalPriorityCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; globalPriority: VkQueueGlobalPriorityEXT): VkDeviceQueueGlobalPriorityCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkDebugUtilsObjectNameInfoEXT(sType: VkStructureType;
                                      pNext: pointer = nil;
                                      objectType: VkObjectType;
                                      objectHandle: uint64; pObjectName: cstring): VkDebugUtilsObjectNameInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkDebugUtilsObjectTagInfoEXT(sType: VkStructureType;
                                     pNext: pointer = nil;
                                     objectType: VkObjectType;
                                     objectHandle: uint64; tagName: uint64;
                                     tagSize: uint; pTag: pointer = nil): VkDebugUtilsObjectTagInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkDebugUtilsLabelEXT(sType: VkStructureType; pNext: pointer = nil;
                             pLabelName: cstring; color: array[4, float32]): VkDebugUtilsLabelEXT {...}{.
    raises: [], tags: [].}
proc newVkDebugUtilsMessengerCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; flags: VkDebugUtilsMessengerCreateFlagsEXT = 0.VkDebugUtilsMessengerCreateFlagsEXT;
    messageSeverity: VkDebugUtilsMessageSeverityFlagsEXT;
    messageType: VkDebugUtilsMessageTypeFlagsEXT;
    pfnUserCallback: PFN_vkDebugUtilsMessengerCallbackEXT;
    pUserData: pointer = nil): VkDebugUtilsMessengerCreateInfoEXT {...}{.raises: [],
    tags: [].}
proc newVkDebugUtilsMessengerCallbackDataEXT(sType: VkStructureType;
    pNext: pointer = nil; flags: VkDebugUtilsMessengerCallbackDataFlagsEXT = 0.VkDebugUtilsMessengerCallbackDataFlagsEXT;
    pMessageIdName: cstring; messageIdNumber: int32; pMessage: cstring;
    queueLabelCount: uint32; pQueueLabels: ptr VkDebugUtilsLabelEXT;
    cmdBufLabelCount: uint32; pCmdBufLabels: ptr VkDebugUtilsLabelEXT;
    objectCount: uint32; pObjects: ptr VkDebugUtilsObjectNameInfoEXT): VkDebugUtilsMessengerCallbackDataEXT {...}{.
    raises: [], tags: [].}
proc newVkImportMemoryHostPointerInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; handleType: VkExternalMemoryHandleTypeFlagBits;
    pHostPointer: pointer = nil): VkImportMemoryHostPointerInfoEXT {...}{.raises: [],
    tags: [].}
proc newVkMemoryHostPointerPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; memoryTypeBits: uint32): VkMemoryHostPointerPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceExternalMemoryHostPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; minImportedHostPointerAlignment: VkDeviceSize): VkPhysicalDeviceExternalMemoryHostPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceConservativeRasterizationPropertiesEXT(
    sType: VkStructureType; pNext: pointer = nil;
    primitiveOverestimationSize: float32;
    maxExtraPrimitiveOverestimationSize: float32;
    extraPrimitiveOverestimationSizeGranularity: float32;
    primitiveUnderestimation: VkBool32;
    conservativePointAndLineRasterization: VkBool32;
    degenerateTrianglesRasterized: VkBool32;
    degenerateLinesRasterized: VkBool32;
    fullyCoveredFragmentShaderInputVariable: VkBool32;
    conservativeRasterizationPostDepthCoverage: VkBool32): VkPhysicalDeviceConservativeRasterizationPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkCalibratedTimestampInfoEXT(sType: VkStructureType;
                                     pNext: pointer = nil;
                                     timeDomain: VkTimeDomainEXT): VkCalibratedTimestampInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShaderCorePropertiesAMD(sType: VkStructureType;
    pNext: pointer = nil; 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): VkPhysicalDeviceShaderCorePropertiesAMD {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShaderCoreProperties2AMD(sType: VkStructureType;
    pNext: pointer = nil; shaderCoreFeatures: VkShaderCorePropertiesFlagsAMD;
    activeComputeUnitCount: uint32): VkPhysicalDeviceShaderCoreProperties2AMD {...}{.
    raises: [], tags: [].}
proc newVkPipelineRasterizationConservativeStateCreateInfoEXT(
    sType: VkStructureType; pNext: pointer = nil; flags: VkPipelineRasterizationConservativeStateCreateFlagsEXT = 0.VkPipelineRasterizationConservativeStateCreateFlagsEXT;
    conservativeRasterizationMode: VkConservativeRasterizationModeEXT;
    extraPrimitiveOverestimationSize: float32): VkPipelineRasterizationConservativeStateCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceDescriptorIndexingFeatures(sType: VkStructureType;
    pNext: pointer = nil; 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): VkPhysicalDeviceDescriptorIndexingFeatures {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceDescriptorIndexingProperties(sType: VkStructureType;
    pNext: pointer = nil; 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): VkPhysicalDeviceDescriptorIndexingProperties {...}{.
    raises: [], tags: [].}
proc newVkDescriptorSetLayoutBindingFlagsCreateInfo(sType: VkStructureType;
    pNext: pointer = nil; bindingCount: uint32;
    pBindingFlags: ptr VkDescriptorBindingFlags): VkDescriptorSetLayoutBindingFlagsCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkDescriptorSetVariableDescriptorCountAllocateInfo(
    sType: VkStructureType; pNext: pointer = nil; descriptorSetCount: uint32;
    pDescriptorCounts: ptr uint32): VkDescriptorSetVariableDescriptorCountAllocateInfo {...}{.
    raises: [], tags: [].}
proc newVkDescriptorSetVariableDescriptorCountLayoutSupport(
    sType: VkStructureType; pNext: pointer = nil;
    maxVariableDescriptorCount: uint32): VkDescriptorSetVariableDescriptorCountLayoutSupport {...}{.
    raises: [], tags: [].}
proc newVkAttachmentDescription2(sType: VkStructureType; pNext: pointer = nil;
    flags: VkAttachmentDescriptionFlags = 0.VkAttachmentDescriptionFlags;
                                 format: VkFormat;
                                 samples: VkSampleCountFlagBits;
                                 loadOp: VkAttachmentLoadOp;
                                 storeOp: VkAttachmentStoreOp;
                                 stencilLoadOp: VkAttachmentLoadOp;
                                 stencilStoreOp: VkAttachmentStoreOp;
                                 initialLayout: VkImageLayout;
                                 finalLayout: VkImageLayout): VkAttachmentDescription2 {...}{.
    raises: [], tags: [].}
proc newVkAttachmentReference2(sType: VkStructureType; pNext: pointer = nil;
                               attachment: uint32; layout: VkImageLayout;
                               aspectMask: VkImageAspectFlags): VkAttachmentReference2 {...}{.
    raises: [], tags: [].}
proc newVkSubpassDescription2(sType: VkStructureType; pNext: pointer = nil;
    flags: VkSubpassDescriptionFlags = 0.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): VkSubpassDescription2 {...}{.
    raises: [], tags: [].}
proc newVkSubpassDependency2(sType: VkStructureType; pNext: pointer = nil;
                             srcSubpass: uint32; dstSubpass: uint32;
                             srcStageMask: VkPipelineStageFlags;
                             dstStageMask: VkPipelineStageFlags;
                             srcAccessMask: VkAccessFlags;
                             dstAccessMask: VkAccessFlags;
                             dependencyFlags: VkDependencyFlags;
                             viewOffset: int32): VkSubpassDependency2 {...}{.
    raises: [], tags: [].}
proc newVkRenderPassCreateInfo2(sType: VkStructureType; pNext: pointer = nil;
    flags: VkRenderPassCreateFlags = 0.VkRenderPassCreateFlags;
                                attachmentCount: uint32;
                                pAttachments: ptr VkAttachmentDescription2;
                                subpassCount: uint32;
                                pSubpasses: ptr VkSubpassDescription2;
                                dependencyCount: uint32;
                                pDependencies: ptr VkSubpassDependency2;
                                correlatedViewMaskCount: uint32;
                                pCorrelatedViewMasks: ptr uint32): VkRenderPassCreateInfo2 {...}{.
    raises: [], tags: [].}
proc newVkSubpassBeginInfo(sType: VkStructureType; pNext: pointer = nil;
                           contents: VkSubpassContents): VkSubpassBeginInfo {...}{.
    raises: [], tags: [].}
proc newVkSubpassEndInfo(sType: VkStructureType; pNext: pointer = nil): VkSubpassEndInfo {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceTimelineSemaphoreFeatures(sType: VkStructureType;
    pNext: pointer = nil; timelineSemaphore: VkBool32): VkPhysicalDeviceTimelineSemaphoreFeatures {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceTimelineSemaphoreProperties(sType: VkStructureType;
    pNext: pointer = nil; maxTimelineSemaphoreValueDifference: uint64): VkPhysicalDeviceTimelineSemaphoreProperties {...}{.
    raises: [], tags: [].}
proc newVkSemaphoreTypeCreateInfo(sType: VkStructureType; pNext: pointer = nil;
                                  semaphoreType: VkSemaphoreType;
                                  initialValue: uint64): VkSemaphoreTypeCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkTimelineSemaphoreSubmitInfo(sType: VkStructureType;
                                      pNext: pointer = nil;
                                      waitSemaphoreValueCount: uint32;
                                      pWaitSemaphoreValues: ptr uint64;
                                      signalSemaphoreValueCount: uint32;
                                      pSignalSemaphoreValues: ptr uint64): VkTimelineSemaphoreSubmitInfo {...}{.
    raises: [], tags: [].}
proc newVkSemaphoreWaitInfo(sType: VkStructureType; pNext: pointer = nil; flags: VkSemaphoreWaitFlags = 0.VkSemaphoreWaitFlags;
                            semaphoreCount: uint32;
                            pSemaphores: ptr VkSemaphore; pValues: ptr uint64): VkSemaphoreWaitInfo {...}{.
    raises: [], tags: [].}
proc newVkSemaphoreSignalInfo(sType: VkStructureType; pNext: pointer = nil;
                              semaphore: VkSemaphore; value: uint64): VkSemaphoreSignalInfo {...}{.
    raises: [], tags: [].}
proc newVkVertexInputBindingDivisorDescriptionEXT(binding: uint32;
    divisor: uint32): VkVertexInputBindingDivisorDescriptionEXT {...}{.raises: [],
    tags: [].}
proc newVkPipelineVertexInputDivisorStateCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; vertexBindingDivisorCount: uint32;
    pVertexBindingDivisors: ptr VkVertexInputBindingDivisorDescriptionEXT): VkPipelineVertexInputDivisorStateCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceVertexAttributeDivisorPropertiesEXT(
    sType: VkStructureType; pNext: pointer = nil; maxVertexAttribDivisor: uint32): VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDevicePCIBusInfoPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; pciDomain: uint32; pciBus: uint32; pciDevice: uint32;
    pciFunction: uint32): VkPhysicalDevicePCIBusInfoPropertiesEXT {...}{.raises: [],
    tags: [].}
proc newVkImportAndroidHardwareBufferInfoANDROID(sType: VkStructureType;
    pNext: pointer = nil; buffer: ptr AHardwareBuffer): VkImportAndroidHardwareBufferInfoANDROID {...}{.
    raises: [], tags: [].}
proc newVkAndroidHardwareBufferUsageANDROID(sType: VkStructureType;
    pNext: pointer = nil; androidHardwareBufferUsage: uint64): VkAndroidHardwareBufferUsageANDROID {...}{.
    raises: [], tags: [].}
proc newVkAndroidHardwareBufferPropertiesANDROID(sType: VkStructureType;
    pNext: pointer = nil; allocationSize: VkDeviceSize; memoryTypeBits: uint32): VkAndroidHardwareBufferPropertiesANDROID {...}{.
    raises: [], tags: [].}
proc newVkMemoryGetAndroidHardwareBufferInfoANDROID(sType: VkStructureType;
    pNext: pointer = nil; memory: VkDeviceMemory): VkMemoryGetAndroidHardwareBufferInfoANDROID {...}{.
    raises: [], tags: [].}
proc newVkAndroidHardwareBufferFormatPropertiesANDROID(sType: VkStructureType;
    pNext: pointer = nil; format: VkFormat; externalFormat: uint64;
    formatFeatures: VkFormatFeatureFlags;
    samplerYcbcrConversionComponents: VkComponentMapping;
    suggestedYcbcrModel: VkSamplerYcbcrModelConversion;
    suggestedYcbcrRange: VkSamplerYcbcrRange;
    suggestedXChromaOffset: VkChromaLocation;
    suggestedYChromaOffset: VkChromaLocation): VkAndroidHardwareBufferFormatPropertiesANDROID {...}{.
    raises: [], tags: [].}
proc newVkCommandBufferInheritanceConditionalRenderingInfoEXT(
    sType: VkStructureType; pNext: pointer = nil;
    conditionalRenderingEnable: VkBool32): VkCommandBufferInheritanceConditionalRenderingInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkExternalFormatANDROID(sType: VkStructureType; pNext: pointer = nil;
                                externalFormat: uint64): VkExternalFormatANDROID {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDevice8BitStorageFeatures(sType: VkStructureType;
    pNext: pointer = nil; storageBuffer8BitAccess: VkBool32;
    uniformAndStorageBuffer8BitAccess: VkBool32; storagePushConstant8: VkBool32): VkPhysicalDevice8BitStorageFeatures {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceConditionalRenderingFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; conditionalRendering: VkBool32;
    inheritedConditionalRendering: VkBool32): VkPhysicalDeviceConditionalRenderingFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceVulkanMemoryModelFeatures(sType: VkStructureType;
    pNext: pointer = nil; vulkanMemoryModel: VkBool32;
    vulkanMemoryModelDeviceScope: VkBool32;
    vulkanMemoryModelAvailabilityVisibilityChains: VkBool32): VkPhysicalDeviceVulkanMemoryModelFeatures {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShaderAtomicInt64Features(sType: VkStructureType;
    pNext: pointer = nil; shaderBufferInt64Atomics: VkBool32;
    shaderSharedInt64Atomics: VkBool32): VkPhysicalDeviceShaderAtomicInt64Features {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShaderAtomicFloatFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; shaderBufferFloat32Atomics: VkBool32;
    shaderBufferFloat32AtomicAdd: VkBool32;
    shaderBufferFloat64Atomics: VkBool32;
    shaderBufferFloat64AtomicAdd: VkBool32;
    shaderSharedFloat32Atomics: VkBool32;
    shaderSharedFloat32AtomicAdd: VkBool32;
    shaderSharedFloat64Atomics: VkBool32;
    shaderSharedFloat64AtomicAdd: VkBool32; shaderImageFloat32Atomics: VkBool32;
    shaderImageFloat32AtomicAdd: VkBool32; sparseImageFloat32Atomics: VkBool32;
    sparseImageFloat32AtomicAdd: VkBool32): VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceVertexAttributeDivisorFeaturesEXT(
    sType: VkStructureType; pNext: pointer = nil;
    vertexAttributeInstanceRateDivisor: VkBool32;
    vertexAttributeInstanceRateZeroDivisor: VkBool32): VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkQueueFamilyCheckpointPropertiesNV(sType: VkStructureType;
    pNext: pointer = nil; checkpointExecutionStageMask: VkPipelineStageFlags): VkQueueFamilyCheckpointPropertiesNV {...}{.
    raises: [], tags: [].}
proc newVkCheckpointDataNV(sType: VkStructureType; pNext: pointer = nil;
                           stage: VkPipelineStageFlagBits;
                           pCheckpointMarker: pointer = nil): VkCheckpointDataNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceDepthStencilResolveProperties(sType: VkStructureType;
    pNext: pointer = nil; supportedDepthResolveModes: VkResolveModeFlags;
    supportedStencilResolveModes: VkResolveModeFlags;
    independentResolveNone: VkBool32; independentResolve: VkBool32): VkPhysicalDeviceDepthStencilResolveProperties {...}{.
    raises: [], tags: [].}
proc newVkSubpassDescriptionDepthStencilResolve(sType: VkStructureType;
    pNext: pointer = nil; depthResolveMode: VkResolveModeFlagBits;
    stencilResolveMode: VkResolveModeFlagBits;
    pDepthStencilResolveAttachment: ptr VkAttachmentReference2): VkSubpassDescriptionDepthStencilResolve {...}{.
    raises: [], tags: [].}
proc newVkImageViewASTCDecodeModeEXT(sType: VkStructureType;
                                     pNext: pointer = nil; decodeMode: VkFormat): VkImageViewASTCDecodeModeEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceASTCDecodeFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; decodeModeSharedExponent: VkBool32): VkPhysicalDeviceASTCDecodeFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceTransformFeedbackFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; transformFeedback: VkBool32; geometryStreams: VkBool32): VkPhysicalDeviceTransformFeedbackFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceTransformFeedbackPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; maxTransformFeedbackStreams: uint32;
    maxTransformFeedbackBuffers: uint32;
    maxTransformFeedbackBufferSize: VkDeviceSize;
    maxTransformFeedbackStreamDataSize: uint32;
    maxTransformFeedbackBufferDataSize: uint32;
    maxTransformFeedbackBufferDataStride: uint32;
    transformFeedbackQueries: VkBool32;
    transformFeedbackStreamsLinesTriangles: VkBool32;
    transformFeedbackRasterizationStreamSelect: VkBool32;
    transformFeedbackDraw: VkBool32): VkPhysicalDeviceTransformFeedbackPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPipelineRasterizationStateStreamCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; flags: VkPipelineRasterizationStateStreamCreateFlagsEXT = 0.VkPipelineRasterizationStateStreamCreateFlagsEXT;
    rasterizationStream: uint32): VkPipelineRasterizationStateStreamCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceRepresentativeFragmentTestFeaturesNV(
    sType: VkStructureType; pNext: pointer = nil;
    representativeFragmentTest: VkBool32): VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkPipelineRepresentativeFragmentTestStateCreateInfoNV(
    sType: VkStructureType; pNext: pointer = nil;
    representativeFragmentTestEnable: VkBool32): VkPipelineRepresentativeFragmentTestStateCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceExclusiveScissorFeaturesNV(sType: VkStructureType;
    pNext: pointer = nil; exclusiveScissor: VkBool32): VkPhysicalDeviceExclusiveScissorFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkPipelineViewportExclusiveScissorStateCreateInfoNV(
    sType: VkStructureType; pNext: pointer = nil; exclusiveScissorCount: uint32;
    pExclusiveScissors: ptr VkRect2D): VkPipelineViewportExclusiveScissorStateCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceCornerSampledImageFeaturesNV(sType: VkStructureType;
    pNext: pointer = nil; cornerSampledImage: VkBool32): VkPhysicalDeviceCornerSampledImageFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceComputeShaderDerivativesFeaturesNV(
    sType: VkStructureType; pNext: pointer = nil;
    computeDerivativeGroupQuads: VkBool32;
    computeDerivativeGroupLinear: VkBool32): VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceFragmentShaderBarycentricFeaturesNV(
    sType: VkStructureType; pNext: pointer = nil;
    fragmentShaderBarycentric: VkBool32): VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShaderImageFootprintFeaturesNV(sType: VkStructureType;
    pNext: pointer = nil; imageFootprint: VkBool32): VkPhysicalDeviceShaderImageFootprintFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV(
    sType: VkStructureType; pNext: pointer = nil;
    dedicatedAllocationImageAliasing: VkBool32): VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkShadingRatePaletteNV(shadingRatePaletteEntryCount: uint32;
    pShadingRatePaletteEntries: ptr VkShadingRatePaletteEntryNV): VkShadingRatePaletteNV {...}{.
    raises: [], tags: [].}
proc newVkPipelineViewportShadingRateImageStateCreateInfoNV(
    sType: VkStructureType; pNext: pointer = nil;
    shadingRateImageEnable: VkBool32; viewportCount: uint32;
    pShadingRatePalettes: ptr VkShadingRatePaletteNV): VkPipelineViewportShadingRateImageStateCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShadingRateImageFeaturesNV(sType: VkStructureType;
    pNext: pointer = nil; shadingRateImage: VkBool32;
    shadingRateCoarseSampleOrder: VkBool32): VkPhysicalDeviceShadingRateImageFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShadingRateImagePropertiesNV(sType: VkStructureType;
    pNext: pointer = nil; shadingRateTexelSize: VkExtent2D;
    shadingRatePaletteSize: uint32; shadingRateMaxCoarseSamples: uint32): VkPhysicalDeviceShadingRateImagePropertiesNV {...}{.
    raises: [], tags: [].}
proc newVkCoarseSampleLocationNV(pixelX: uint32; pixelY: uint32; sample: uint32): VkCoarseSampleLocationNV {...}{.
    raises: [], tags: [].}
proc newVkCoarseSampleOrderCustomNV(shadingRate: VkShadingRatePaletteEntryNV;
                                    sampleCount: uint32;
                                    sampleLocationCount: uint32;
    pSampleLocations: ptr VkCoarseSampleLocationNV): VkCoarseSampleOrderCustomNV {...}{.
    raises: [], tags: [].}
proc newVkPipelineViewportCoarseSampleOrderStateCreateInfoNV(
    sType: VkStructureType; pNext: pointer = nil;
    sampleOrderType: VkCoarseSampleOrderTypeNV; customSampleOrderCount: uint32;
    pCustomSampleOrders: ptr VkCoarseSampleOrderCustomNV): VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceMeshShaderFeaturesNV(sType: VkStructureType;
    pNext: pointer = nil; taskShader: VkBool32; meshShader: VkBool32): VkPhysicalDeviceMeshShaderFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceMeshShaderPropertiesNV(sType: VkStructureType;
    pNext: pointer = nil; 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): VkPhysicalDeviceMeshShaderPropertiesNV {...}{.
    raises: [], tags: [].}
proc newVkDrawMeshTasksIndirectCommandNV(taskCount: uint32; firstTask: uint32): VkDrawMeshTasksIndirectCommandNV {...}{.
    raises: [], tags: [].}
proc newVkRayTracingShaderGroupCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; type: VkRayTracingShaderGroupTypeKHR;
    generalShader: uint32; closestHitShader: uint32; anyHitShader: uint32;
    intersectionShader: uint32): VkRayTracingShaderGroupCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkRayTracingShaderGroupCreateInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; type: VkRayTracingShaderGroupTypeKHR;
    generalShader: uint32; closestHitShader: uint32; anyHitShader: uint32;
    intersectionShader: uint32; pShaderGroupCaptureReplayHandle: pointer = nil): VkRayTracingShaderGroupCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkRayTracingPipelineCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil;
    flags: VkPipelineCreateFlags = 0.VkPipelineCreateFlags; stageCount: uint32;
    pStages: ptr VkPipelineShaderStageCreateInfo; groupCount: uint32;
    pGroups: ptr VkRayTracingShaderGroupCreateInfoNV; maxRecursionDepth: uint32;
    layout: VkPipelineLayout; basePipelineHandle: VkPipeline;
    basePipelineIndex: int32): VkRayTracingPipelineCreateInfoNV {...}{.raises: [],
    tags: [].}
proc newVkRayTracingPipelineCreateInfoKHR(sType: VkStructureType;
    pNext: pointer = nil;
    flags: VkPipelineCreateFlags = 0.VkPipelineCreateFlags; stageCount: uint32;
    pStages: ptr VkPipelineShaderStageCreateInfo; groupCount: uint32;
    pGroups: ptr VkRayTracingShaderGroupCreateInfoKHR;
    maxRecursionDepth: uint32; libraries: VkPipelineLibraryCreateInfoKHR;
    pLibraryInterface: ptr VkRayTracingPipelineInterfaceCreateInfoKHR;
    layout: VkPipelineLayout; basePipelineHandle: VkPipeline;
    basePipelineIndex: int32): VkRayTracingPipelineCreateInfoKHR {...}{.raises: [],
    tags: [].}
proc newVkGeometryTrianglesNV(sType: VkStructureType; pNext: pointer = nil;
                              vertexData: VkBuffer; vertexOffset: VkDeviceSize;
                              vertexCount: uint32; vertexStride: VkDeviceSize;
                              vertexFormat: VkFormat; indexData: VkBuffer;
                              indexOffset: VkDeviceSize; indexCount: uint32;
                              indexType: VkIndexType; transformData: VkBuffer;
                              transformOffset: VkDeviceSize): VkGeometryTrianglesNV {...}{.
    raises: [], tags: [].}
proc newVkGeometryAABBNV(sType: VkStructureType; pNext: pointer = nil;
                         aabbData: VkBuffer; numAABBs: uint32; stride: uint32;
                         offset: VkDeviceSize): VkGeometryAABBNV {...}{.raises: [],
    tags: [].}
proc newVkGeometryDataNV(triangles: VkGeometryTrianglesNV;
                         aabbs: VkGeometryAABBNV): VkGeometryDataNV {...}{.
    raises: [], tags: [].}
proc newVkGeometryNV(sType: VkStructureType; pNext: pointer = nil;
                     geometryType: VkGeometryTypeKHR;
                     geometry: VkGeometryDataNV;
                     flags: VkGeometryFlagsKHR = 0.VkGeometryFlagsKHR): VkGeometryNV {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureInfoNV(sType: VkStructureType;
                                      pNext: pointer = nil;
                                      type: VkAccelerationStructureTypeNV; flags: VkBuildAccelerationStructureFlagsNV = 0.VkBuildAccelerationStructureFlagsNV;
                                      instanceCount: uint32;
                                      geometryCount: uint32;
                                      pGeometries: ptr VkGeometryNV): VkAccelerationStructureInfoNV {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; compactedSize: VkDeviceSize;
    info: VkAccelerationStructureInfoNV): VkAccelerationStructureCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkBindAccelerationStructureMemoryInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; accelerationStructure: VkAccelerationStructureKHR;
    memory: VkDeviceMemory; memoryOffset: VkDeviceSize;
    deviceIndexCount: uint32; pDeviceIndices: ptr uint32): VkBindAccelerationStructureMemoryInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkWriteDescriptorSetAccelerationStructureKHR(sType: VkStructureType;
    pNext: pointer = nil; accelerationStructureCount: uint32;
    pAccelerationStructures: ptr VkAccelerationStructureKHR): VkWriteDescriptorSetAccelerationStructureKHR {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureMemoryRequirementsInfoKHR(sType: VkStructureType;
    pNext: pointer = nil;
    type: VkAccelerationStructureMemoryRequirementsTypeKHR;
    buildType: VkAccelerationStructureBuildTypeKHR;
    accelerationStructure: VkAccelerationStructureKHR): VkAccelerationStructureMemoryRequirementsInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureMemoryRequirementsInfoNV(sType: VkStructureType;
    pNext: pointer = nil; type: VkAccelerationStructureMemoryRequirementsTypeNV;
    accelerationStructure: VkAccelerationStructureNV): VkAccelerationStructureMemoryRequirementsInfoNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceRayTracingFeaturesKHR(sType: VkStructureType;
    pNext: pointer = nil; rayTracing: VkBool32;
    rayTracingShaderGroupHandleCaptureReplay: VkBool32;
    rayTracingShaderGroupHandleCaptureReplayMixed: VkBool32;
    rayTracingAccelerationStructureCaptureReplay: VkBool32;
    rayTracingIndirectTraceRays: VkBool32;
    rayTracingIndirectAccelerationStructureBuild: VkBool32;
    rayTracingHostAccelerationStructureCommands: VkBool32; rayQuery: VkBool32;
    rayTracingPrimitiveCulling: VkBool32): VkPhysicalDeviceRayTracingFeaturesKHR {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceRayTracingPropertiesKHR(sType: VkStructureType;
    pNext: pointer = nil; shaderGroupHandleSize: uint32;
    maxRecursionDepth: uint32; maxShaderGroupStride: uint32;
    shaderGroupBaseAlignment: uint32; maxGeometryCount: uint64;
    maxInstanceCount: uint64; maxPrimitiveCount: uint64;
    maxDescriptorSetAccelerationStructures: uint32;
    shaderGroupHandleCaptureReplaySize: uint32): VkPhysicalDeviceRayTracingPropertiesKHR {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceRayTracingPropertiesNV(sType: VkStructureType;
    pNext: pointer = nil; shaderGroupHandleSize: uint32;
    maxRecursionDepth: uint32; maxShaderGroupStride: uint32;
    shaderGroupBaseAlignment: uint32; maxGeometryCount: uint64;
    maxInstanceCount: uint64; maxTriangleCount: uint64;
    maxDescriptorSetAccelerationStructures: uint32): VkPhysicalDeviceRayTracingPropertiesNV {...}{.
    raises: [], tags: [].}
proc newVkStridedBufferRegionKHR(buffer: VkBuffer; offset: VkDeviceSize;
                                 stride: VkDeviceSize; size: VkDeviceSize): VkStridedBufferRegionKHR {...}{.
    raises: [], tags: [].}
proc newVkTraceRaysIndirectCommandKHR(width: uint32; height: uint32;
                                      depth: uint32): VkTraceRaysIndirectCommandKHR {...}{.
    raises: [], tags: [].}
proc newVkDrmFormatModifierPropertiesListEXT(sType: VkStructureType;
    pNext: pointer = nil; drmFormatModifierCount: uint32;
    pDrmFormatModifierProperties: ptr VkDrmFormatModifierPropertiesEXT): VkDrmFormatModifierPropertiesListEXT {...}{.
    raises: [], tags: [].}
proc newVkDrmFormatModifierPropertiesEXT(drmFormatModifier: uint64;
    drmFormatModifierPlaneCount: uint32;
    drmFormatModifierTilingFeatures: VkFormatFeatureFlags): VkDrmFormatModifierPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceImageDrmFormatModifierInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; drmFormatModifier: uint64; sharingMode: VkSharingMode;
    queueFamilyIndexCount: uint32; pQueueFamilyIndices: ptr uint32): VkPhysicalDeviceImageDrmFormatModifierInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkImageDrmFormatModifierListCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; drmFormatModifierCount: uint32;
    pDrmFormatModifiers: ptr uint64): VkImageDrmFormatModifierListCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkImageDrmFormatModifierExplicitCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; drmFormatModifier: uint64;
    drmFormatModifierPlaneCount: uint32; pPlaneLayouts: ptr VkSubresourceLayout): VkImageDrmFormatModifierExplicitCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkImageDrmFormatModifierPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; drmFormatModifier: uint64): VkImageDrmFormatModifierPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkImageStencilUsageCreateInfo(sType: VkStructureType;
                                      pNext: pointer = nil;
                                      stencilUsage: VkImageUsageFlags): VkImageStencilUsageCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkDeviceMemoryOverallocationCreateInfoAMD(sType: VkStructureType;
    pNext: pointer = nil;
    overallocationBehavior: VkMemoryOverallocationBehaviorAMD): VkDeviceMemoryOverallocationCreateInfoAMD {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceFragmentDensityMapFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; fragmentDensityMap: VkBool32;
    fragmentDensityMapDynamic: VkBool32;
    fragmentDensityMapNonSubsampledImages: VkBool32): VkPhysicalDeviceFragmentDensityMapFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceFragmentDensityMap2FeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; fragmentDensityMapDeferred: VkBool32): VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceFragmentDensityMapPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; minFragmentDensityTexelSize: VkExtent2D;
    maxFragmentDensityTexelSize: VkExtent2D;
    fragmentDensityInvocations: VkBool32): VkPhysicalDeviceFragmentDensityMapPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceFragmentDensityMap2PropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; subsampledLoads: VkBool32;
    subsampledCoarseReconstructionEarlyAccess: VkBool32;
    maxSubsampledArrayLayers: uint32; maxDescriptorSetSubsampledSamplers: uint32): VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkRenderPassFragmentDensityMapCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; fragmentDensityMapAttachment: VkAttachmentReference): VkRenderPassFragmentDensityMapCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceScalarBlockLayoutFeatures(sType: VkStructureType;
    pNext: pointer = nil; scalarBlockLayout: VkBool32): VkPhysicalDeviceScalarBlockLayoutFeatures {...}{.
    raises: [], tags: [].}
proc newVkSurfaceProtectedCapabilitiesKHR(sType: VkStructureType;
    pNext: pointer = nil; supportsProtected: VkBool32): VkSurfaceProtectedCapabilitiesKHR {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceUniformBufferStandardLayoutFeatures(
    sType: VkStructureType; pNext: pointer = nil;
    uniformBufferStandardLayout: VkBool32): VkPhysicalDeviceUniformBufferStandardLayoutFeatures {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceDepthClipEnableFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; depthClipEnable: VkBool32): VkPhysicalDeviceDepthClipEnableFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPipelineRasterizationDepthClipStateCreateInfoEXT(
    sType: VkStructureType; pNext: pointer = nil; flags: VkPipelineRasterizationDepthClipStateCreateFlagsEXT = 0.VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
    depthClipEnable: VkBool32): VkPipelineRasterizationDepthClipStateCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceMemoryBudgetPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; heapBudget: array[VK_MAX_MEMORY_HEAPS, VkDeviceSize];
    heapUsage: array[VK_MAX_MEMORY_HEAPS, VkDeviceSize]): VkPhysicalDeviceMemoryBudgetPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceMemoryPriorityFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; memoryPriority: VkBool32): VkPhysicalDeviceMemoryPriorityFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkMemoryPriorityAllocateInfoEXT(sType: VkStructureType;
                                        pNext: pointer = nil; priority: float32): VkMemoryPriorityAllocateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceBufferDeviceAddressFeatures(sType: VkStructureType;
    pNext: pointer = nil; bufferDeviceAddress: VkBool32;
    bufferDeviceAddressCaptureReplay: VkBool32;
    bufferDeviceAddressMultiDevice: VkBool32): VkPhysicalDeviceBufferDeviceAddressFeatures {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceBufferDeviceAddressFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; bufferDeviceAddress: VkBool32;
    bufferDeviceAddressCaptureReplay: VkBool32;
    bufferDeviceAddressMultiDevice: VkBool32): VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkBufferDeviceAddressInfo(sType: VkStructureType; pNext: pointer = nil;
                                  buffer: VkBuffer): VkBufferDeviceAddressInfo {...}{.
    raises: [], tags: [].}
proc newVkBufferOpaqueCaptureAddressCreateInfo(sType: VkStructureType;
    pNext: pointer = nil; opaqueCaptureAddress: uint64): VkBufferOpaqueCaptureAddressCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkBufferDeviceAddressCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; deviceAddress: VkDeviceAddress): VkBufferDeviceAddressCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceImageViewImageFormatInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; imageViewType: VkImageViewType): VkPhysicalDeviceImageViewImageFormatInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkFilterCubicImageViewImageFormatPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; filterCubic: VkBool32; filterCubicMinmax: VkBool32): VkFilterCubicImageViewImageFormatPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceImagelessFramebufferFeatures(sType: VkStructureType;
    pNext: pointer = nil; imagelessFramebuffer: VkBool32): VkPhysicalDeviceImagelessFramebufferFeatures {...}{.
    raises: [], tags: [].}
proc newVkFramebufferAttachmentsCreateInfo(sType: VkStructureType;
    pNext: pointer = nil; attachmentImageInfoCount: uint32;
    pAttachmentImageInfos: ptr VkFramebufferAttachmentImageInfo): VkFramebufferAttachmentsCreateInfo {...}{.
    raises: [], tags: [].}
proc newVkFramebufferAttachmentImageInfo(sType: VkStructureType;
    pNext: pointer = nil; flags: VkImageCreateFlags = 0.VkImageCreateFlags;
    usage: VkImageUsageFlags; width: uint32; height: uint32; layerCount: uint32;
    viewFormatCount: uint32; pViewFormats: ptr VkFormat): VkFramebufferAttachmentImageInfo {...}{.
    raises: [], tags: [].}
proc newVkRenderPassAttachmentBeginInfo(sType: VkStructureType;
                                        pNext: pointer = nil;
                                        attachmentCount: uint32;
                                        pAttachments: ptr VkImageView): VkRenderPassAttachmentBeginInfo {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT(
    sType: VkStructureType; pNext: pointer = nil;
    textureCompressionASTC_HDR: VkBool32): VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceCooperativeMatrixFeaturesNV(sType: VkStructureType;
    pNext: pointer = nil; cooperativeMatrix: VkBool32;
    cooperativeMatrixRobustBufferAccess: VkBool32): VkPhysicalDeviceCooperativeMatrixFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceCooperativeMatrixPropertiesNV(sType: VkStructureType;
    pNext: pointer = nil; cooperativeMatrixSupportedStages: VkShaderStageFlags): VkPhysicalDeviceCooperativeMatrixPropertiesNV {...}{.
    raises: [], tags: [].}
proc newVkCooperativeMatrixPropertiesNV(sType: VkStructureType;
                                        pNext: pointer = nil; MSize: uint32;
                                        NSize: uint32; KSize: uint32;
                                        AType: VkComponentTypeNV;
                                        BType: VkComponentTypeNV;
                                        CType: VkComponentTypeNV;
                                        DType: VkComponentTypeNV;
                                        scope: VkScopeNV): VkCooperativeMatrixPropertiesNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceYcbcrImageArraysFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; ycbcrImageArrays: VkBool32): VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkImageViewHandleInfoNVX(sType: VkStructureType; pNext: pointer = nil;
                                 imageView: VkImageView;
                                 descriptorType: VkDescriptorType;
                                 sampler: VkSampler): VkImageViewHandleInfoNVX {...}{.
    raises: [], tags: [].}
proc newVkImageViewAddressPropertiesNVX(sType: VkStructureType;
                                        pNext: pointer = nil;
                                        deviceAddress: VkDeviceAddress;
                                        size: VkDeviceSize): VkImageViewAddressPropertiesNVX {...}{.
    raises: [], tags: [].}
proc newVkPresentFrameTokenGGP(sType: VkStructureType; pNext: pointer = nil;
                               frameToken: GgpFrameToken): VkPresentFrameTokenGGP {...}{.
    raises: [], tags: [].}
proc newVkPipelineCreationFeedbackEXT(flags: VkPipelineCreationFeedbackFlagsEXT = 0.VkPipelineCreationFeedbackFlagsEXT;
                                      duration: uint64): VkPipelineCreationFeedbackEXT {...}{.
    raises: [], tags: [].}
proc newVkPipelineCreationFeedbackCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil;
    pPipelineCreationFeedback: ptr VkPipelineCreationFeedbackEXT;
    pipelineStageCreationFeedbackCount: uint32;
    pPipelineStageCreationFeedbacks: ptr ptr VkPipelineCreationFeedbackEXT): VkPipelineCreationFeedbackCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkSurfaceFullScreenExclusiveInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; fullScreenExclusive: VkFullScreenExclusiveEXT): VkSurfaceFullScreenExclusiveInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkSurfaceFullScreenExclusiveWin32InfoEXT(sType: VkStructureType;
    pNext: pointer = nil; hmonitor: HMONITOR): VkSurfaceFullScreenExclusiveWin32InfoEXT {...}{.
    raises: [], tags: [].}
proc newVkSurfaceCapabilitiesFullScreenExclusiveEXT(sType: VkStructureType;
    pNext: pointer = nil; fullScreenExclusiveSupported: VkBool32): VkSurfaceCapabilitiesFullScreenExclusiveEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDevicePerformanceQueryFeaturesKHR(sType: VkStructureType;
    pNext: pointer = nil; performanceCounterQueryPools: VkBool32;
    performanceCounterMultipleQueryPools: VkBool32): VkPhysicalDevicePerformanceQueryFeaturesKHR {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDevicePerformanceQueryPropertiesKHR(sType: VkStructureType;
    pNext: pointer = nil; allowCommandBufferQueryCopies: VkBool32): VkPhysicalDevicePerformanceQueryPropertiesKHR {...}{.
    raises: [], tags: [].}
proc newVkPerformanceCounterKHR(sType: VkStructureType; pNext: pointer = nil;
                                unit: VkPerformanceCounterUnitKHR;
                                scope: VkPerformanceCounterScopeKHR;
                                storage: VkPerformanceCounterStorageKHR;
                                uuid: array[VK_UUID_SIZE, uint8]): VkPerformanceCounterKHR {...}{.
    raises: [], tags: [].}
proc newVkPerformanceCounterDescriptionKHR(sType: VkStructureType;
    pNext: pointer = nil; flags: VkPerformanceCounterDescriptionFlagsKHR = 0.VkPerformanceCounterDescriptionFlagsKHR;
    name: array[VK_MAX_DESCRIPTION_SIZE, char];
    category: array[VK_MAX_DESCRIPTION_SIZE, char];
    description: array[VK_MAX_DESCRIPTION_SIZE, char]): VkPerformanceCounterDescriptionKHR {...}{.
    raises: [], tags: [].}
proc newVkQueryPoolPerformanceCreateInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; queueFamilyIndex: uint32; counterIndexCount: uint32;
    pCounterIndices: ptr uint32): VkQueryPoolPerformanceCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkAcquireProfilingLockInfoKHR(sType: VkStructureType;
                                      pNext: pointer = nil; flags: VkAcquireProfilingLockFlagsKHR = 0.VkAcquireProfilingLockFlagsKHR;
                                      timeout: uint64): VkAcquireProfilingLockInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkPerformanceQuerySubmitInfoKHR(sType: VkStructureType;
                                        pNext: pointer = nil;
                                        counterPassIndex: uint32): VkPerformanceQuerySubmitInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkHeadlessSurfaceCreateInfoEXT(sType: VkStructureType;
                                       pNext: pointer = nil; flags: VkHeadlessSurfaceCreateFlagsEXT = 0.VkHeadlessSurfaceCreateFlagsEXT): VkHeadlessSurfaceCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceCoverageReductionModeFeaturesNV(sType: VkStructureType;
    pNext: pointer = nil; coverageReductionMode: VkBool32): VkPhysicalDeviceCoverageReductionModeFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkPipelineCoverageReductionStateCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; flags: VkPipelineCoverageReductionStateCreateFlagsNV = 0.VkPipelineCoverageReductionStateCreateFlagsNV;
    coverageReductionMode: VkCoverageReductionModeNV): VkPipelineCoverageReductionStateCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkFramebufferMixedSamplesCombinationNV(sType: VkStructureType;
    pNext: pointer = nil; coverageReductionMode: VkCoverageReductionModeNV;
    rasterizationSamples: VkSampleCountFlagBits;
    depthStencilSamples: VkSampleCountFlags; colorSamples: VkSampleCountFlags): VkFramebufferMixedSamplesCombinationNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(
    sType: VkStructureType; pNext: pointer = nil;
    shaderIntegerFunctions2: VkBool32): VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {...}{.
    raises: [], tags: [].}
proc newVkPerformanceValueINTEL(type: VkPerformanceValueTypeINTEL;
                                data: VkPerformanceValueDataINTEL): VkPerformanceValueINTEL {...}{.
    raises: [], tags: [].}
proc newVkInitializePerformanceApiInfoINTEL(sType: VkStructureType;
    pNext: pointer = nil; pUserData: pointer = nil): VkInitializePerformanceApiInfoINTEL {...}{.
    raises: [], tags: [].}
proc newVkQueryPoolPerformanceQueryCreateInfoINTEL(sType: VkStructureType;
    pNext: pointer = nil;
    performanceCountersSampling: VkQueryPoolSamplingModeINTEL): VkQueryPoolPerformanceQueryCreateInfoINTEL {...}{.
    raises: [], tags: [].}
proc newVkPerformanceMarkerInfoINTEL(sType: VkStructureType;
                                     pNext: pointer = nil; marker: uint64): VkPerformanceMarkerInfoINTEL {...}{.
    raises: [], tags: [].}
proc newVkPerformanceStreamMarkerInfoINTEL(sType: VkStructureType;
    pNext: pointer = nil; marker: uint32): VkPerformanceStreamMarkerInfoINTEL {...}{.
    raises: [], tags: [].}
proc newVkPerformanceOverrideInfoINTEL(sType: VkStructureType;
                                       pNext: pointer = nil;
                                       type: VkPerformanceOverrideTypeINTEL;
                                       enable: VkBool32; parameter: uint64): VkPerformanceOverrideInfoINTEL {...}{.
    raises: [], tags: [].}
proc newVkPerformanceConfigurationAcquireInfoINTEL(sType: VkStructureType;
    pNext: pointer = nil; type: VkPerformanceConfigurationTypeINTEL): VkPerformanceConfigurationAcquireInfoINTEL {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShaderClockFeaturesKHR(sType: VkStructureType;
    pNext: pointer = nil; shaderSubgroupClock: VkBool32;
    shaderDeviceClock: VkBool32): VkPhysicalDeviceShaderClockFeaturesKHR {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceIndexTypeUint8FeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; indexTypeUint8: VkBool32): VkPhysicalDeviceIndexTypeUint8FeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShaderSMBuiltinsPropertiesNV(sType: VkStructureType;
    pNext: pointer = nil; shaderSMCount: uint32; shaderWarpsPerSM: uint32): VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShaderSMBuiltinsFeaturesNV(sType: VkStructureType;
    pNext: pointer = nil; shaderSMBuiltins: VkBool32): VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceFragmentShaderInterlockFeaturesEXT(
    sType: VkStructureType; pNext: pointer = nil;
    fragmentShaderSampleInterlock: VkBool32;
    fragmentShaderPixelInterlock: VkBool32;
    fragmentShaderShadingRateInterlock: VkBool32): VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(
    sType: VkStructureType; pNext: pointer = nil;
    separateDepthStencilLayouts: VkBool32): VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {...}{.
    raises: [], tags: [].}
proc newVkAttachmentReferenceStencilLayout(sType: VkStructureType;
    pNext: pointer = nil; stencilLayout: VkImageLayout): VkAttachmentReferenceStencilLayout {...}{.
    raises: [], tags: [].}
proc newVkAttachmentDescriptionStencilLayout(sType: VkStructureType;
    pNext: pointer = nil; stencilInitialLayout: VkImageLayout;
    stencilFinalLayout: VkImageLayout): VkAttachmentDescriptionStencilLayout {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR(
    sType: VkStructureType; pNext: pointer = nil;
    pipelineExecutableInfo: VkBool32): VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {...}{.
    raises: [], tags: [].}
proc newVkPipelineInfoKHR(sType: VkStructureType; pNext: pointer = nil;
                          pipeline: VkPipeline): VkPipelineInfoKHR {...}{.raises: [],
    tags: [].}
proc newVkPipelineExecutablePropertiesKHR(sType: VkStructureType;
    pNext: pointer = nil; stages: VkShaderStageFlags;
    name: array[VK_MAX_DESCRIPTION_SIZE, char];
    description: array[VK_MAX_DESCRIPTION_SIZE, char]; subgroupSize: uint32): VkPipelineExecutablePropertiesKHR {...}{.
    raises: [], tags: [].}
proc newVkPipelineExecutableInfoKHR(sType: VkStructureType;
                                    pNext: pointer = nil; pipeline: VkPipeline;
                                    executableIndex: uint32): VkPipelineExecutableInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkPipelineExecutableStatisticKHR(sType: VkStructureType;
    pNext: pointer = nil; name: array[VK_MAX_DESCRIPTION_SIZE, char];
    description: array[VK_MAX_DESCRIPTION_SIZE, char];
    format: VkPipelineExecutableStatisticFormatKHR;
    value: VkPipelineExecutableStatisticValueKHR): VkPipelineExecutableStatisticKHR {...}{.
    raises: [], tags: [].}
proc newVkPipelineExecutableInternalRepresentationKHR(sType: VkStructureType;
    pNext: pointer = nil; name: array[VK_MAX_DESCRIPTION_SIZE, char];
    description: array[VK_MAX_DESCRIPTION_SIZE, char]; isText: VkBool32;
    dataSize: uint; pData: pointer = nil): VkPipelineExecutableInternalRepresentationKHR {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT(
    sType: VkStructureType; pNext: pointer = nil;
    shaderDemoteToHelperInvocation: VkBool32): VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceTexelBufferAlignmentFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; texelBufferAlignment: VkBool32): VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceTexelBufferAlignmentPropertiesEXT(
    sType: VkStructureType; pNext: pointer = nil;
    storageTexelBufferOffsetAlignmentBytes: VkDeviceSize;
    storageTexelBufferOffsetSingleTexelAlignment: VkBool32;
    uniformTexelBufferOffsetAlignmentBytes: VkDeviceSize;
    uniformTexelBufferOffsetSingleTexelAlignment: VkBool32): VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceSubgroupSizeControlFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; subgroupSizeControl: VkBool32;
    computeFullSubgroups: VkBool32): VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceSubgroupSizeControlPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; minSubgroupSize: uint32; maxSubgroupSize: uint32;
    maxComputeWorkgroupSubgroups: uint32;
    requiredSubgroupSizeStages: VkShaderStageFlags): VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT(
    sType: VkStructureType; pNext: pointer = nil; requiredSubgroupSize: uint32): VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkMemoryOpaqueCaptureAddressAllocateInfo(sType: VkStructureType;
    pNext: pointer = nil; opaqueCaptureAddress: uint64): VkMemoryOpaqueCaptureAddressAllocateInfo {...}{.
    raises: [], tags: [].}
proc newVkDeviceMemoryOpaqueCaptureAddressInfo(sType: VkStructureType;
    pNext: pointer = nil; memory: VkDeviceMemory): VkDeviceMemoryOpaqueCaptureAddressInfo {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceLineRasterizationFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; rectangularLines: VkBool32; bresenhamLines: VkBool32;
    smoothLines: VkBool32; stippledRectangularLines: VkBool32;
    stippledBresenhamLines: VkBool32; stippledSmoothLines: VkBool32): VkPhysicalDeviceLineRasterizationFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceLineRasterizationPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; lineSubPixelPrecisionBits: uint32): VkPhysicalDeviceLineRasterizationPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPipelineRasterizationLineStateCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; lineRasterizationMode: VkLineRasterizationModeEXT;
    stippledLineEnable: VkBool32; lineStippleFactor: uint32;
    lineStipplePattern: uint16): VkPipelineRasterizationLineStateCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDevicePipelineCreationCacheControlFeaturesEXT(
    sType: VkStructureType; pNext: pointer = nil;
    pipelineCreationCacheControl: VkBool32): VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceVulkan11Features(sType: VkStructureType;
    pNext: pointer = nil; storageBuffer16BitAccess: VkBool32;
    uniformAndStorageBuffer16BitAccess: VkBool32;
    storagePushConstant16: VkBool32; storageInputOutput16: VkBool32;
    multiview: VkBool32; multiviewGeometryShader: VkBool32;
    multiviewTessellationShader: VkBool32;
    variablePointersStorageBuffer: VkBool32; variablePointers: VkBool32;
    protectedMemory: VkBool32; samplerYcbcrConversion: VkBool32;
    shaderDrawParameters: VkBool32): VkPhysicalDeviceVulkan11Features {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceVulkan11Properties(sType: VkStructureType;
    pNext: pointer = nil; 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): VkPhysicalDeviceVulkan11Properties {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceVulkan12Features(sType: VkStructureType;
    pNext: pointer = nil; 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): VkPhysicalDeviceVulkan12Features {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceVulkan12Properties(sType: VkStructureType;
    pNext: pointer = nil; 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): VkPhysicalDeviceVulkan12Properties {...}{.
    raises: [], tags: [].}
proc newVkPipelineCompilerControlCreateInfoAMD(sType: VkStructureType;
    pNext: pointer = nil;
    compilerControlFlags: VkPipelineCompilerControlFlagsAMD): VkPipelineCompilerControlCreateInfoAMD {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceCoherentMemoryFeaturesAMD(sType: VkStructureType;
    pNext: pointer = nil; deviceCoherentMemory: VkBool32): VkPhysicalDeviceCoherentMemoryFeaturesAMD {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceToolPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; name: array[VK_MAX_EXTENSION_NAME_SIZE, char];
    version: array[VK_MAX_EXTENSION_NAME_SIZE, char];
    purposes: VkToolPurposeFlagsEXT;
    description: array[VK_MAX_DESCRIPTION_SIZE, char];
    layer: array[VK_MAX_EXTENSION_NAME_SIZE, char]): VkPhysicalDeviceToolPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkSamplerCustomBorderColorCreateInfoEXT(sType: VkStructureType;
    pNext: pointer = nil; customBorderColor: VkClearColorValue; format: VkFormat): VkSamplerCustomBorderColorCreateInfoEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceCustomBorderColorPropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; maxCustomBorderColorSamplers: uint32): VkPhysicalDeviceCustomBorderColorPropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceCustomBorderColorFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; customBorderColors: VkBool32;
    customBorderColorWithoutFormat: VkBool32): VkPhysicalDeviceCustomBorderColorFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureGeometryTrianglesDataKHR(sType: VkStructureType;
    pNext: pointer = nil; vertexFormat: VkFormat;
    vertexData: VkDeviceOrHostAddressConstKHR; vertexStride: VkDeviceSize;
    indexType: VkIndexType; indexData: VkDeviceOrHostAddressConstKHR;
    transformData: VkDeviceOrHostAddressConstKHR): VkAccelerationStructureGeometryTrianglesDataKHR {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureGeometryAabbsDataKHR(sType: VkStructureType;
    pNext: pointer = nil; data: VkDeviceOrHostAddressConstKHR;
    stride: VkDeviceSize): VkAccelerationStructureGeometryAabbsDataKHR {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureGeometryInstancesDataKHR(sType: VkStructureType;
    pNext: pointer = nil; arrayOfPointers: VkBool32;
    data: VkDeviceOrHostAddressConstKHR): VkAccelerationStructureGeometryInstancesDataKHR {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureGeometryKHR(sType: VkStructureType;
    pNext: pointer = nil; geometryType: VkGeometryTypeKHR;
    geometry: VkAccelerationStructureGeometryDataKHR;
    flags: VkGeometryFlagsKHR = 0.VkGeometryFlagsKHR): VkAccelerationStructureGeometryKHR {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureBuildGeometryInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; type: VkAccelerationStructureTypeKHR; flags: VkBuildAccelerationStructureFlagsKHR = 0.VkBuildAccelerationStructureFlagsKHR;
    update: VkBool32; srcAccelerationStructure: VkAccelerationStructureKHR;
    dstAccelerationStructure: VkAccelerationStructureKHR;
    geometryArrayOfPointers: VkBool32; geometryCount: uint32;
    ppGeometries: ptr ptr VkAccelerationStructureGeometryKHR;
    scratchData: VkDeviceOrHostAddressKHR): VkAccelerationStructureBuildGeometryInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureBuildOffsetInfoKHR(primitiveCount: uint32;
    primitiveOffset: uint32; firstVertex: uint32; transformOffset: uint32): VkAccelerationStructureBuildOffsetInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureCreateGeometryTypeInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; geometryType: VkGeometryTypeKHR;
    maxPrimitiveCount: uint32; indexType: VkIndexType; maxVertexCount: uint32;
    vertexFormat: VkFormat; allowsTransforms: VkBool32): VkAccelerationStructureCreateGeometryTypeInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureCreateInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; compactedSize: VkDeviceSize;
    type: VkAccelerationStructureTypeKHR; flags: VkBuildAccelerationStructureFlagsKHR = 0.VkBuildAccelerationStructureFlagsKHR;
    maxGeometryCount: uint32;
    pGeometryInfos: ptr VkAccelerationStructureCreateGeometryTypeInfoKHR;
    deviceAddress: VkDeviceAddress): VkAccelerationStructureCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkAabbPositionsKHR(minX: float32; minY: float32; minZ: float32;
                           maxX: float32; maxY: float32; maxZ: float32): VkAabbPositionsKHR {...}{.
    raises: [], tags: [].}
proc newVkTransformMatrixKHR(matrix: array[3, float32]): VkTransformMatrixKHR {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureInstanceKHR(transform: VkTransformMatrixKHR;
    instanceCustomIndex: uint32; mask: uint32;
    instanceShaderBindingTableRecordOffset: uint32;
    flags: VkGeometryInstanceFlagsKHR = 0.VkGeometryInstanceFlagsKHR;
    accelerationStructureReference: uint64): VkAccelerationStructureInstanceKHR {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureDeviceAddressInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; accelerationStructure: VkAccelerationStructureKHR): VkAccelerationStructureDeviceAddressInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkAccelerationStructureVersionKHR(sType: VkStructureType;
    pNext: pointer = nil; versionData: ptr uint8): VkAccelerationStructureVersionKHR {...}{.
    raises: [], tags: [].}
proc newVkCopyAccelerationStructureInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; src: VkAccelerationStructureKHR;
    dst: VkAccelerationStructureKHR; mode: VkCopyAccelerationStructureModeKHR): VkCopyAccelerationStructureInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkCopyAccelerationStructureToMemoryInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; src: VkAccelerationStructureKHR;
    dst: VkDeviceOrHostAddressKHR; mode: VkCopyAccelerationStructureModeKHR): VkCopyAccelerationStructureToMemoryInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkCopyMemoryToAccelerationStructureInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; src: VkDeviceOrHostAddressConstKHR;
    dst: VkAccelerationStructureKHR; mode: VkCopyAccelerationStructureModeKHR): VkCopyMemoryToAccelerationStructureInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkRayTracingPipelineInterfaceCreateInfoKHR(sType: VkStructureType;
    pNext: pointer = nil; maxPayloadSize: uint32; maxAttributeSize: uint32;
    maxCallableSize: uint32): VkRayTracingPipelineInterfaceCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkDeferredOperationInfoKHR(sType: VkStructureType; pNext: pointer = nil;
                                   operationHandle: VkDeferredOperationKHR): VkDeferredOperationInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkPipelineLibraryCreateInfoKHR(sType: VkStructureType;
                                       pNext: pointer = nil;
                                       libraryCount: uint32;
                                       pLibraries: ptr VkPipeline): VkPipelineLibraryCreateInfoKHR {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceExtendedDynamicStateFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; extendedDynamicState: VkBool32): VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkRenderPassTransformBeginInfoQCOM(sType: VkStructureType;
    pNext: pointer = nil; transform: VkSurfaceTransformFlagBitsKHR): VkRenderPassTransformBeginInfoQCOM {...}{.
    raises: [], tags: [].}
proc newVkCommandBufferInheritanceRenderPassTransformInfoQCOM(
    sType: VkStructureType; pNext: pointer = nil;
    transform: VkSurfaceTransformFlagBitsKHR; renderArea: VkRect2D): VkCommandBufferInheritanceRenderPassTransformInfoQCOM {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceDiagnosticsConfigFeaturesNV(sType: VkStructureType;
    pNext: pointer = nil; diagnosticsConfig: VkBool32): VkPhysicalDeviceDiagnosticsConfigFeaturesNV {...}{.
    raises: [], tags: [].}
proc newVkDeviceDiagnosticsConfigCreateInfoNV(sType: VkStructureType;
    pNext: pointer = nil; flags: VkDeviceDiagnosticsConfigFlagsNV = 0.VkDeviceDiagnosticsConfigFlagsNV): VkDeviceDiagnosticsConfigCreateInfoNV {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceRobustness2FeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; robustBufferAccess2: VkBool32;
    robustImageAccess2: VkBool32; nullDescriptor: VkBool32): VkPhysicalDeviceRobustness2FeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceRobustness2PropertiesEXT(sType: VkStructureType;
    pNext: pointer = nil; robustStorageBufferAccessSizeAlignment: VkDeviceSize;
    robustUniformBufferAccessSizeAlignment: VkDeviceSize): VkPhysicalDeviceRobustness2PropertiesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDeviceImageRobustnessFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; robustImageAccess: VkBool32): VkPhysicalDeviceImageRobustnessFeaturesEXT {...}{.
    raises: [], tags: [].}
proc newVkPhysicalDevice4444FormatsFeaturesEXT(sType: VkStructureType;
    pNext: pointer = nil; formatA4R4G4B4: VkBool32; formatA4B4G4R4: VkBool32): VkPhysicalDevice4444FormatsFeaturesEXT {...}{.
    raises: [], tags: [].}
proc vkLoad1_0() {...}{.raises: [Exception], tags: [RootEffect].}
proc vkLoad1_1() {...}{.raises: [Exception], tags: [RootEffect].}
proc vkLoad1_2() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_surface() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_swapchain() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_display() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_display_swapchain() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_xlib_surface() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_xcb_surface() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_wayland_surface() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_android_surface() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_win32_surface() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_ANDROID_native_buffer() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_debug_report() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_debug_marker() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_transform_feedback() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_NVX_image_view_handle() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_AMD_shader_info() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_GGP_stream_descriptor_surface() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_NV_external_memory_capabilities() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_NV_external_memory_win32() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_device_group() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_NN_vi_surface() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_external_memory_win32() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_KHR_external_memory_fd() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_external_semaphore_win32() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_KHR_external_semaphore_fd() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_KHR_push_descriptor() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_conditional_rendering() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_KHR_descriptor_update_template() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_NV_clip_space_w_scaling() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_direct_mode_display() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_acquire_xlib_display() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_display_surface_counter() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_EXT_display_control() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_GOOGLE_display_timing() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_discard_rectangles() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_hdr_metadata() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_shared_presentable_image() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_KHR_external_fence_win32() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_external_fence_fd() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_performance_query() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_get_surface_capabilities2() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_KHR_get_display_properties2() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_MVK_ios_surface() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_MVK_macos_surface() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_debug_utils() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_ANDROID_external_memory_android_hardware_buffer() {...}{.
    raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_sample_locations() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_KHR_ray_tracing() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_image_drm_format_modifier() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_EXT_validation_cache() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_NV_shading_rate_image() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_NV_ray_tracing() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_external_memory_host() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_AMD_buffer_marker() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_calibrated_timestamps() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_NV_mesh_shader() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_NV_scissor_exclusive() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_NV_device_diagnostic_checkpoints() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_INTEL_performance_query() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_AMD_display_native_hdr() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_FUCHSIA_imagepipe_surface() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_EXT_metal_surface() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_tooling_info() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_NV_cooperative_matrix() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_NV_coverage_reduction_mode() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_EXT_full_screen_exclusive() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_EXT_headless_surface() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_line_rasterization() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_extended_dynamic_state() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_KHR_deferred_host_operations() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_KHR_pipeline_executable_properties() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_NV_device_generated_commands() {...}{.raises: [Exception],
    tags: [RootEffect].}
proc loadVK_EXT_private_data() {...}{.raises: [Exception], tags: [RootEffect].}
proc loadVK_EXT_directfb_surface() {...}{.raises: [Exception], tags: [RootEffect].}
proc vkInit(load1_0: bool = true; load1_1: bool = true): bool {...}{.
    raises: [Exception], tags: [RootEffect].}

Templates

template vkMakeVersion(major, minor, patch: untyped): untyped
template vkVersionMajor(version: untyped): untyped
template vkVersionMinor(version: untyped): untyped
template vkVersionPatch(version: untyped): untyped