Mercurial > games > semicongine
view semiconginev2/rendering/vulkan/api.nim @ 1254:b0f4c8ccd49a
did: stuff to test gltf importer
author | sam <sam@basx.dev> |
---|---|
date | Sat, 27 Jul 2024 20:47:54 +0700 |
parents | a3fa15c25026 |
children |
line wrap: on
line source
type VkHandle* = distinct uint VkNonDispatchableHandle* = distinct uint when defined(linux): let vulkanLib* = loadLib("libvulkan.so.1") when defined(windows): let vulkanLib* = loadLib("vulkan-1.dll") if vulkanLib == nil: raise newException(Exception, "Unable to load vulkan library") func VK_MAKE_API_VERSION*(variant: uint32, major: uint32, minor: uint32, patch: uint32): uint32 {.compileTime.} = (variant shl 29) or (major shl 22) or (minor shl 12) or patch template checkVkResult*(call: untyped) = when defined(release): discard call else: # yes, a bit cheap, but this is only for nice debug output var callstr = astToStr(call).replace("\n", "") while callstr.find(" ") >= 0: callstr = callstr.replace(" ", " ") debug "Calling vulkan: ", callstr let value = call if value != VK_SUCCESS: error "Vulkan error: ", astToStr(call), " returned ", $value raise newException(Exception, "Vulkan error: " & astToStr(call) & " returned " & $value) # custom enum iteration (for enum values > 2^16) macro enumFullRange(a: typed): untyped = newNimNode(nnkBracket).add(a.getType[1][1..^1]) iterator items*[T: HoleyEnum](E: typedesc[T]): T = for a in enumFullRange(E): yield a const VK_MAX_PHYSICAL_DEVICE_NAME_SIZE*: uint32 = 256 VK_UUID_SIZE*: uint32 = 16 VK_LUID_SIZE*: uint32 = 8 VK_LUID_SIZE_KHR* = VK_LUID_SIZE VK_MAX_EXTENSION_NAME_SIZE*: uint32 = 256 VK_MAX_DESCRIPTION_SIZE*: uint32 = 256 VK_MAX_MEMORY_TYPES*: uint32 = 32 VK_MAX_MEMORY_HEAPS*: uint32 = 16 VK_LOD_CLAMP_NONE*: float32 = 1000.0F VK_REMAINING_MIP_LEVELS*: uint32 = not 0'u32 VK_REMAINING_ARRAY_LAYERS*: uint32 = not 0'u32 VK_REMAINING_3D_SLICES_EXT*: uint32 = not 0'u32 VK_WHOLE_SIZE*: uint64 = not 0'u64 VK_ATTACHMENT_UNUSED*: uint32 = not 0'u32 VK_TRUE*: uint32 = 1 VK_FALSE*: uint32 = 0 VK_QUEUE_FAMILY_IGNORED*: uint32 = not 0'u32 VK_QUEUE_FAMILY_EXTERNAL*: uint32 = not 1'u32 VK_QUEUE_FAMILY_EXTERNAL_KHR* = VK_QUEUE_FAMILY_EXTERNAL VK_QUEUE_FAMILY_FOREIGN_EXT*: uint32 = not 2'u32 VK_SUBPASS_EXTERNAL*: uint32 = not 0'u32 VK_MAX_DEVICE_GROUP_SIZE*: uint32 = 32 VK_MAX_DEVICE_GROUP_SIZE_KHR* = VK_MAX_DEVICE_GROUP_SIZE VK_MAX_DRIVER_NAME_SIZE*: uint32 = 256 VK_MAX_DRIVER_NAME_SIZE_KHR* = VK_MAX_DRIVER_NAME_SIZE VK_MAX_DRIVER_INFO_SIZE*: uint32 = 256 VK_MAX_DRIVER_INFO_SIZE_KHR* = VK_MAX_DRIVER_INFO_SIZE VK_SHADER_UNUSED_KHR*: uint32 = not 0'u32 VK_SHADER_UNUSED_NV* = VK_SHADER_UNUSED_KHR VK_MAX_GLOBAL_PRIORITY_SIZE_KHR*: uint32 = 16 VK_MAX_GLOBAL_PRIORITY_SIZE_EXT* = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT*: uint32 = 32 type ANativeWindow* = object AHardwareBuffer* = object CAMetalLayer* = object MTLDevice_id* = object MTLCommandQueue_id* = object MTLBuffer_id* = object MTLTexture_id* = object MTLSharedEvent_id* = object IOSurfaceRef* = object VkSampleMask* = uint32 VkBool32* = uint32 VkFlags* = uint32 VkFlags64* = uint64 VkDeviceSize* = uint64 VkDeviceAddress* = uint64 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 VkSamplerYcbcrConversion* = distinct VkNonDispatchableHandle VkValidationCacheEXT* = distinct VkNonDispatchableHandle VkAccelerationStructureKHR* = distinct VkNonDispatchableHandle VkAccelerationStructureNV* = distinct VkNonDispatchableHandle VkPerformanceConfigurationINTEL* = distinct VkNonDispatchableHandle VkBufferCollectionFUCHSIA* = distinct VkNonDispatchableHandle VkDeferredOperationKHR* = distinct VkNonDispatchableHandle VkPrivateDataSlot* = distinct VkNonDispatchableHandle VkCuModuleNVX* = distinct VkNonDispatchableHandle VkCuFunctionNVX* = distinct VkNonDispatchableHandle VkOpticalFlowSessionNV* = distinct VkNonDispatchableHandle VkMicromapEXT* = distinct VkNonDispatchableHandle VkDisplayKHR* = distinct VkNonDispatchableHandle VkDisplayModeKHR* = distinct VkNonDispatchableHandle VkSurfaceKHR* = distinct VkNonDispatchableHandle VkSwapchainKHR* = distinct VkNonDispatchableHandle VkDebugReportCallbackEXT* = distinct VkNonDispatchableHandle VkDebugUtilsMessengerEXT* = distinct VkNonDispatchableHandle VkVideoSessionKHR* = distinct VkNonDispatchableHandle VkVideoSessionParametersKHR* = distinct VkNonDispatchableHandle VkSemaphoreSciSyncPoolNV* = distinct VkNonDispatchableHandle VkRemoteAddressNV* = pointer proc `$`*(handle: VkInstance): string = "VkInstance(" & $(uint(handle)) & ")" proc Valid*(handle: VkInstance): bool = uint(handle) != 0 proc Reset*(handle: var VkInstance) = handle = VkInstance(0) proc `==`*(a, b: VkInstance): bool = uint(a) == uint(b) proc `$`*(handle: VkPhysicalDevice): string = "VkPhysicalDevice(" & $(uint(handle)) & ")" proc Valid*(handle: VkPhysicalDevice): bool = uint(handle) != 0 proc Reset*(handle: var VkPhysicalDevice) = handle = VkPhysicalDevice(0) proc `==`*(a, b: VkPhysicalDevice): bool = uint(a) == uint(b) proc `$`*(handle: VkDevice): string = "VkDevice(" & $(uint(handle)) & ")" proc Valid*(handle: VkDevice): bool = uint(handle) != 0 proc Reset*(handle: var VkDevice) = handle = VkDevice(0) proc `==`*(a, b: VkDevice): bool = uint(a) == uint(b) proc `$`*(handle: VkQueue): string = "VkQueue(" & $(uint(handle)) & ")" proc Valid*(handle: VkQueue): bool = uint(handle) != 0 proc Reset*(handle: var VkQueue) = handle = VkQueue(0) proc `==`*(a, b: VkQueue): bool = uint(a) == uint(b) proc `$`*(handle: VkCommandBuffer): string = "VkCommandBuffer(" & $(uint(handle)) & ")" proc Valid*(handle: VkCommandBuffer): bool = uint(handle) != 0 proc Reset*(handle: var VkCommandBuffer) = handle = VkCommandBuffer(0) proc `==`*(a, b: VkCommandBuffer): bool = uint(a) == uint(b) proc `$`*(handle: VkDeviceMemory): string = "VkDeviceMemory(" & $(uint(handle)) & ")" proc Valid*(handle: VkDeviceMemory): bool = uint(handle) != 0 proc Reset*(handle: var VkDeviceMemory) = handle = VkDeviceMemory(0) proc `==`*(a, b: VkDeviceMemory): bool = uint(a) == uint(b) proc `$`*(handle: VkCommandPool): string = "VkCommandPool(" & $(uint(handle)) & ")" proc Valid*(handle: VkCommandPool): bool = uint(handle) != 0 proc Reset*(handle: var VkCommandPool) = handle = VkCommandPool(0) proc `==`*(a, b: VkCommandPool): bool = uint(a) == uint(b) proc `$`*(handle: VkBuffer): string = "VkBuffer(" & $(uint(handle)) & ")" proc Valid*(handle: VkBuffer): bool = uint(handle) != 0 proc Reset*(handle: var VkBuffer) = handle = VkBuffer(0) proc `==`*(a, b: VkBuffer): bool = uint(a) == uint(b) proc `$`*(handle: VkBufferView): string = "VkBufferView(" & $(uint(handle)) & ")" proc Valid*(handle: VkBufferView): bool = uint(handle) != 0 proc Reset*(handle: var VkBufferView) = handle = VkBufferView(0) proc `==`*(a, b: VkBufferView): bool = uint(a) == uint(b) proc `$`*(handle: VkImage): string = "VkImage(" & $(uint(handle)) & ")" proc Valid*(handle: VkImage): bool = uint(handle) != 0 proc Reset*(handle: var VkImage) = handle = VkImage(0) proc `==`*(a, b: VkImage): bool = uint(a) == uint(b) proc `$`*(handle: VkImageView): string = "VkImageView(" & $(uint(handle)) & ")" proc Valid*(handle: VkImageView): bool = uint(handle) != 0 proc Reset*(handle: var VkImageView) = handle = VkImageView(0) proc `==`*(a, b: VkImageView): bool = uint(a) == uint(b) proc `$`*(handle: VkShaderModule): string = "VkShaderModule(" & $(uint(handle)) & ")" proc Valid*(handle: VkShaderModule): bool = uint(handle) != 0 proc Reset*(handle: var VkShaderModule) = handle = VkShaderModule(0) proc `==`*(a, b: VkShaderModule): bool = uint(a) == uint(b) proc `$`*(handle: VkPipeline): string = "VkPipeline(" & $(uint(handle)) & ")" proc Valid*(handle: VkPipeline): bool = uint(handle) != 0 proc Reset*(handle: var VkPipeline) = handle = VkPipeline(0) proc `==`*(a, b: VkPipeline): bool = uint(a) == uint(b) proc `$`*(handle: VkPipelineLayout): string = "VkPipelineLayout(" & $(uint(handle)) & ")" proc Valid*(handle: VkPipelineLayout): bool = uint(handle) != 0 proc Reset*(handle: var VkPipelineLayout) = handle = VkPipelineLayout(0) proc `==`*(a, b: VkPipelineLayout): bool = uint(a) == uint(b) proc `$`*(handle: VkSampler): string = "VkSampler(" & $(uint(handle)) & ")" proc Valid*(handle: VkSampler): bool = uint(handle) != 0 proc Reset*(handle: var VkSampler) = handle = VkSampler(0) proc `==`*(a, b: VkSampler): bool = uint(a) == uint(b) proc `$`*(handle: VkDescriptorSet): string = "VkDescriptorSet(" & $(uint(handle)) & ")" proc Valid*(handle: VkDescriptorSet): bool = uint(handle) != 0 proc Reset*(handle: var VkDescriptorSet) = handle = VkDescriptorSet(0) proc `==`*(a, b: VkDescriptorSet): bool = uint(a) == uint(b) proc `$`*(handle: VkDescriptorSetLayout): string = "VkDescriptorSetLayout(" & $(uint(handle)) & ")" proc Valid*(handle: VkDescriptorSetLayout): bool = uint(handle) != 0 proc Reset*(handle: var VkDescriptorSetLayout) = handle = VkDescriptorSetLayout(0) proc `==`*(a, b: VkDescriptorSetLayout): bool = uint(a) == uint(b) proc `$`*(handle: VkDescriptorPool): string = "VkDescriptorPool(" & $(uint(handle)) & ")" proc Valid*(handle: VkDescriptorPool): bool = uint(handle) != 0 proc Reset*(handle: var VkDescriptorPool) = handle = VkDescriptorPool(0) proc `==`*(a, b: VkDescriptorPool): bool = uint(a) == uint(b) proc `$`*(handle: VkFence): string = "VkFence(" & $(uint(handle)) & ")" proc Valid*(handle: VkFence): bool = uint(handle) != 0 proc Reset*(handle: var VkFence) = handle = VkFence(0) proc `==`*(a, b: VkFence): bool = uint(a) == uint(b) proc `$`*(handle: VkSemaphore): string = "VkSemaphore(" & $(uint(handle)) & ")" proc Valid*(handle: VkSemaphore): bool = uint(handle) != 0 proc Reset*(handle: var VkSemaphore) = handle = VkSemaphore(0) proc `==`*(a, b: VkSemaphore): bool = uint(a) == uint(b) proc `$`*(handle: VkEvent): string = "VkEvent(" & $(uint(handle)) & ")" proc Valid*(handle: VkEvent): bool = uint(handle) != 0 proc Reset*(handle: var VkEvent) = handle = VkEvent(0) proc `==`*(a, b: VkEvent): bool = uint(a) == uint(b) proc `$`*(handle: VkQueryPool): string = "VkQueryPool(" & $(uint(handle)) & ")" proc Valid*(handle: VkQueryPool): bool = uint(handle) != 0 proc Reset*(handle: var VkQueryPool) = handle = VkQueryPool(0) proc `==`*(a, b: VkQueryPool): bool = uint(a) == uint(b) proc `$`*(handle: VkFramebuffer): string = "VkFramebuffer(" & $(uint(handle)) & ")" proc Valid*(handle: VkFramebuffer): bool = uint(handle) != 0 proc Reset*(handle: var VkFramebuffer) = handle = VkFramebuffer(0) proc `==`*(a, b: VkFramebuffer): bool = uint(a) == uint(b) proc `$`*(handle: VkRenderPass): string = "VkRenderPass(" & $(uint(handle)) & ")" proc Valid*(handle: VkRenderPass): bool = uint(handle) != 0 proc Reset*(handle: var VkRenderPass) = handle = VkRenderPass(0) proc `==`*(a, b: VkRenderPass): bool = uint(a) == uint(b) proc `$`*(handle: VkPipelineCache): string = "VkPipelineCache(" & $(uint(handle)) & ")" proc Valid*(handle: VkPipelineCache): bool = uint(handle) != 0 proc Reset*(handle: var VkPipelineCache) = handle = VkPipelineCache(0) proc `==`*(a, b: VkPipelineCache): bool = uint(a) == uint(b) proc `$`*(handle: VkIndirectCommandsLayoutNV): string = "VkIndirectCommandsLayoutNV(" & $(uint(handle)) & ")" proc Valid*(handle: VkIndirectCommandsLayoutNV): bool = uint(handle) != 0 proc Reset*(handle: var VkIndirectCommandsLayoutNV) = handle = VkIndirectCommandsLayoutNV(0) proc `==`*(a, b: VkIndirectCommandsLayoutNV): bool = uint(a) == uint(b) proc `$`*(handle: VkDescriptorUpdateTemplate): string = "VkDescriptorUpdateTemplate(" & $(uint(handle)) & ")" proc Valid*(handle: VkDescriptorUpdateTemplate): bool = uint(handle) != 0 proc Reset*(handle: var VkDescriptorUpdateTemplate) = handle = VkDescriptorUpdateTemplate(0) proc `==`*(a, b: VkDescriptorUpdateTemplate): bool = uint(a) == uint(b) proc `$`*(handle: VkSamplerYcbcrConversion): string = "VkSamplerYcbcrConversion(" & $(uint(handle)) & ")" proc Valid*(handle: VkSamplerYcbcrConversion): bool = uint(handle) != 0 proc Reset*(handle: var VkSamplerYcbcrConversion) = handle = VkSamplerYcbcrConversion(0) proc `==`*(a, b: VkSamplerYcbcrConversion): bool = uint(a) == uint(b) proc `$`*(handle: VkValidationCacheEXT): string = "VkValidationCacheEXT(" & $(uint(handle)) & ")" proc Valid*(handle: VkValidationCacheEXT): bool = uint(handle) != 0 proc Reset*(handle: var VkValidationCacheEXT) = handle = VkValidationCacheEXT(0) proc `==`*(a, b: VkValidationCacheEXT): bool = uint(a) == uint(b) proc `$`*(handle: VkAccelerationStructureKHR): string = "VkAccelerationStructureKHR(" & $(uint(handle)) & ")" proc Valid*(handle: VkAccelerationStructureKHR): bool = uint(handle) != 0 proc Reset*(handle: var VkAccelerationStructureKHR) = handle = VkAccelerationStructureKHR(0) proc `==`*(a, b: VkAccelerationStructureKHR): bool = uint(a) == uint(b) proc `$`*(handle: VkAccelerationStructureNV): string = "VkAccelerationStructureNV(" & $(uint(handle)) & ")" proc Valid*(handle: VkAccelerationStructureNV): bool = uint(handle) != 0 proc Reset*(handle: var VkAccelerationStructureNV) = handle = VkAccelerationStructureNV(0) proc `==`*(a, b: VkAccelerationStructureNV): bool = uint(a) == uint(b) proc `$`*(handle: VkPerformanceConfigurationINTEL): string = "VkPerformanceConfigurationINTEL(" & $(uint(handle)) & ")" proc Valid*(handle: VkPerformanceConfigurationINTEL): bool = uint(handle) != 0 proc Reset*(handle: var VkPerformanceConfigurationINTEL) = handle = VkPerformanceConfigurationINTEL(0) proc `==`*(a, b: VkPerformanceConfigurationINTEL): bool = uint(a) == uint(b) proc `$`*(handle: VkBufferCollectionFUCHSIA): string = "VkBufferCollectionFUCHSIA(" & $(uint(handle)) & ")" proc Valid*(handle: VkBufferCollectionFUCHSIA): bool = uint(handle) != 0 proc Reset*(handle: var VkBufferCollectionFUCHSIA) = handle = VkBufferCollectionFUCHSIA(0) proc `==`*(a, b: VkBufferCollectionFUCHSIA): bool = uint(a) == uint(b) proc `$`*(handle: VkDeferredOperationKHR): string = "VkDeferredOperationKHR(" & $(uint(handle)) & ")" proc Valid*(handle: VkDeferredOperationKHR): bool = uint(handle) != 0 proc Reset*(handle: var VkDeferredOperationKHR) = handle = VkDeferredOperationKHR(0) proc `==`*(a, b: VkDeferredOperationKHR): bool = uint(a) == uint(b) proc `$`*(handle: VkPrivateDataSlot): string = "VkPrivateDataSlot(" & $(uint(handle)) & ")" proc Valid*(handle: VkPrivateDataSlot): bool = uint(handle) != 0 proc Reset*(handle: var VkPrivateDataSlot) = handle = VkPrivateDataSlot(0) proc `==`*(a, b: VkPrivateDataSlot): bool = uint(a) == uint(b) proc `$`*(handle: VkCuModuleNVX): string = "VkCuModuleNVX(" & $(uint(handle)) & ")" proc Valid*(handle: VkCuModuleNVX): bool = uint(handle) != 0 proc Reset*(handle: var VkCuModuleNVX) = handle = VkCuModuleNVX(0) proc `==`*(a, b: VkCuModuleNVX): bool = uint(a) == uint(b) proc `$`*(handle: VkCuFunctionNVX): string = "VkCuFunctionNVX(" & $(uint(handle)) & ")" proc Valid*(handle: VkCuFunctionNVX): bool = uint(handle) != 0 proc Reset*(handle: var VkCuFunctionNVX) = handle = VkCuFunctionNVX(0) proc `==`*(a, b: VkCuFunctionNVX): bool = uint(a) == uint(b) proc `$`*(handle: VkOpticalFlowSessionNV): string = "VkOpticalFlowSessionNV(" & $(uint(handle)) & ")" proc Valid*(handle: VkOpticalFlowSessionNV): bool = uint(handle) != 0 proc Reset*(handle: var VkOpticalFlowSessionNV) = handle = VkOpticalFlowSessionNV(0) proc `==`*(a, b: VkOpticalFlowSessionNV): bool = uint(a) == uint(b) proc `$`*(handle: VkMicromapEXT): string = "VkMicromapEXT(" & $(uint(handle)) & ")" proc Valid*(handle: VkMicromapEXT): bool = uint(handle) != 0 proc Reset*(handle: var VkMicromapEXT) = handle = VkMicromapEXT(0) proc `==`*(a, b: VkMicromapEXT): bool = uint(a) == uint(b) proc `$`*(handle: VkDisplayKHR): string = "VkDisplayKHR(" & $(uint(handle)) & ")" proc Valid*(handle: VkDisplayKHR): bool = uint(handle) != 0 proc Reset*(handle: var VkDisplayKHR) = handle = VkDisplayKHR(0) proc `==`*(a, b: VkDisplayKHR): bool = uint(a) == uint(b) proc `$`*(handle: VkDisplayModeKHR): string = "VkDisplayModeKHR(" & $(uint(handle)) & ")" proc Valid*(handle: VkDisplayModeKHR): bool = uint(handle) != 0 proc Reset*(handle: var VkDisplayModeKHR) = handle = VkDisplayModeKHR(0) proc `==`*(a, b: VkDisplayModeKHR): bool = uint(a) == uint(b) proc `$`*(handle: VkSurfaceKHR): string = "VkSurfaceKHR(" & $(uint(handle)) & ")" proc Valid*(handle: VkSurfaceKHR): bool = uint(handle) != 0 proc Reset*(handle: var VkSurfaceKHR) = handle = VkSurfaceKHR(0) proc `==`*(a, b: VkSurfaceKHR): bool = uint(a) == uint(b) proc `$`*(handle: VkSwapchainKHR): string = "VkSwapchainKHR(" & $(uint(handle)) & ")" proc Valid*(handle: VkSwapchainKHR): bool = uint(handle) != 0 proc Reset*(handle: var VkSwapchainKHR) = handle = VkSwapchainKHR(0) proc `==`*(a, b: VkSwapchainKHR): bool = uint(a) == uint(b) proc `$`*(handle: VkDebugReportCallbackEXT): string = "VkDebugReportCallbackEXT(" & $(uint(handle)) & ")" proc Valid*(handle: VkDebugReportCallbackEXT): bool = uint(handle) != 0 proc Reset*(handle: var VkDebugReportCallbackEXT) = handle = VkDebugReportCallbackEXT(0) proc `==`*(a, b: VkDebugReportCallbackEXT): bool = uint(a) == uint(b) proc `$`*(handle: VkDebugUtilsMessengerEXT): string = "VkDebugUtilsMessengerEXT(" & $(uint(handle)) & ")" proc Valid*(handle: VkDebugUtilsMessengerEXT): bool = uint(handle) != 0 proc Reset*(handle: var VkDebugUtilsMessengerEXT) = handle = VkDebugUtilsMessengerEXT(0) proc `==`*(a, b: VkDebugUtilsMessengerEXT): bool = uint(a) == uint(b) proc `$`*(handle: VkVideoSessionKHR): string = "VkVideoSessionKHR(" & $(uint(handle)) & ")" proc Valid*(handle: VkVideoSessionKHR): bool = uint(handle) != 0 proc Reset*(handle: var VkVideoSessionKHR) = handle = VkVideoSessionKHR(0) proc `==`*(a, b: VkVideoSessionKHR): bool = uint(a) == uint(b) proc `$`*(handle: VkVideoSessionParametersKHR): string = "VkVideoSessionParametersKHR(" & $(uint(handle)) & ")" proc Valid*(handle: VkVideoSessionParametersKHR): bool = uint(handle) != 0 proc Reset*(handle: var VkVideoSessionParametersKHR) = handle = VkVideoSessionParametersKHR(0) proc `==`*(a, b: VkVideoSessionParametersKHR): bool = uint(a) == uint(b) proc `$`*(handle: VkSemaphoreSciSyncPoolNV): string = "VkSemaphoreSciSyncPoolNV(" & $(uint(handle)) & ")" proc Valid*(handle: VkSemaphoreSciSyncPoolNV): bool = uint(handle) != 0 proc Reset*(handle: var VkSemaphoreSciSyncPoolNV) = handle = VkSemaphoreSciSyncPoolNV(0) proc `==`*(a, b: VkSemaphoreSciSyncPoolNV): bool = uint(a) == uint(b) type 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 VkGeometryInstanceFlagsKHR* = distinct VkFlags VkBuildAccelerationStructureFlagsKHR* = distinct VkFlags VkPrivateDataSlotCreateFlags* = distinct VkFlags VkAccelerationStructureCreateFlagsKHR* = distinct VkFlags VkDescriptorUpdateTemplateCreateFlags* = distinct VkFlags VkPipelineCreationFeedbackFlags* = distinct VkFlags VkPerformanceCounterDescriptionFlagsKHR* = distinct VkFlags VkAcquireProfilingLockFlagsKHR* = distinct VkFlags VkSemaphoreWaitFlags* = distinct VkFlags VkPipelineCompilerControlFlagsAMD* = distinct VkFlags VkShaderCorePropertiesFlagsAMD* = distinct VkFlags VkDeviceDiagnosticsConfigFlagsNV* = distinct VkFlags VkRefreshObjectFlagsKHR* = distinct VkFlags VkAccessFlags2* = distinct VkFlags64 VkPipelineStageFlags2* = distinct VkFlags64 VkAccelerationStructureMotionInfoFlagsNV* = distinct VkFlags VkAccelerationStructureMotionInstanceFlagsNV* = distinct VkFlags VkFormatFeatureFlags2* = distinct VkFlags64 VkRenderingFlags* = distinct VkFlags VkMemoryDecompressionMethodFlagsNV* = distinct VkFlags64 VkBuildMicromapFlagsEXT* = distinct VkFlags VkMicromapCreateFlagsEXT* = distinct VkFlags VkDirectDriverLoadingFlagsLUNARG* = 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 VkScreenSurfaceCreateFlagsQNX* = distinct VkFlags VkPeerMemoryFeatureFlags* = distinct VkFlags VkMemoryAllocateFlags* = distinct VkFlags VkDeviceGroupPresentModeFlagsKHR* = distinct VkFlags VkDebugReportFlagsEXT* = distinct VkFlags VkCommandPoolTrimFlags* = distinct VkFlags VkExternalMemoryHandleTypeFlagsNV* = distinct VkFlags VkExternalMemoryFeatureFlagsNV* = distinct VkFlags VkExternalMemoryHandleTypeFlags* = distinct VkFlags VkExternalMemoryFeatureFlags* = distinct VkFlags VkExternalSemaphoreHandleTypeFlags* = distinct VkFlags VkExternalSemaphoreFeatureFlags* = distinct VkFlags VkSemaphoreImportFlags* = distinct VkFlags VkExternalFenceHandleTypeFlags* = distinct VkFlags VkExternalFenceFeatureFlags* = distinct VkFlags VkFenceImportFlags* = distinct VkFlags 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 VkDeviceMemoryReportFlagsEXT* = distinct VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT* = distinct VkFlags VkDescriptorBindingFlags* = distinct VkFlags VkConditionalRenderingFlagsEXT* = distinct VkFlags VkResolveModeFlags* = distinct VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT* = distinct VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT* = distinct VkFlags VkSwapchainImageUsageFlagsANDROID* = distinct VkFlags VkToolPurposeFlags* = distinct VkFlags VkSubmitFlags* = distinct VkFlags VkImageFormatConstraintsFlagsFUCHSIA* = distinct VkFlags VkImageConstraintsInfoFlagsFUCHSIA* = distinct VkFlags VkGraphicsPipelineLibraryFlagsEXT* = distinct VkFlags VkImageCompressionFlagsEXT* = distinct VkFlags VkImageCompressionFixedRateFlagsEXT* = distinct VkFlags VkExportMetalObjectTypeFlagsEXT* = distinct VkFlags VkDeviceAddressBindingFlagsEXT* = distinct VkFlags VkOpticalFlowGridSizeFlagsNV* = distinct VkFlags VkOpticalFlowUsageFlagsNV* = distinct VkFlags VkOpticalFlowSessionCreateFlagsNV* = distinct VkFlags VkOpticalFlowExecuteFlagsNV* = distinct VkFlags VkPresentScalingFlagsEXT* = distinct VkFlags VkPresentGravityFlagsEXT* = distinct VkFlags VkVideoCodecOperationFlagsKHR* = distinct VkFlags VkVideoCapabilityFlagsKHR* = distinct VkFlags VkVideoSessionCreateFlagsKHR* = distinct VkFlags VkVideoSessionParametersCreateFlagsKHR* = distinct VkFlags VkVideoBeginCodingFlagsKHR* = distinct VkFlags VkVideoEndCodingFlagsKHR* = distinct VkFlags VkVideoCodingControlFlagsKHR* = distinct VkFlags VkVideoDecodeUsageFlagsKHR* = distinct VkFlags VkVideoDecodeCapabilityFlagsKHR* = distinct VkFlags VkVideoDecodeFlagsKHR* = distinct VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR* = distinct VkFlags VkVideoEncodeFlagsKHR* = distinct VkFlags VkVideoEncodeUsageFlagsKHR* = distinct VkFlags VkVideoEncodeContentFlagsKHR* = distinct VkFlags VkVideoEncodeCapabilityFlagsKHR* = distinct VkFlags VkVideoEncodeRateControlFlagsKHR* = distinct VkFlags VkVideoEncodeRateControlModeFlagsKHR* = distinct VkFlags VkVideoChromaSubsamplingFlagsKHR* = distinct VkFlags VkVideoComponentBitDepthFlagsKHR* = distinct VkFlags VkVideoEncodeH264CapabilityFlagsEXT* = distinct VkFlags VkVideoEncodeH264InputModeFlagsEXT* = distinct VkFlags VkVideoEncodeH264OutputModeFlagsEXT* = distinct VkFlags VkVideoEncodeH265CapabilityFlagsEXT* = distinct VkFlags VkVideoEncodeH265InputModeFlagsEXT* = distinct VkFlags VkVideoEncodeH265OutputModeFlagsEXT* = distinct VkFlags VkVideoEncodeH265CtbSizeFlagsEXT* = distinct VkFlags VkVideoEncodeH265TransformBlockSizeFlagsEXT* = distinct VkFlags let vkGetInstanceProcAddr = cast[proc(instance: VkInstance, name: cstring): pointer {.stdcall.}](checkedSymAddr(vulkanLib, "vkGetInstanceProcAddr")) type VkImageLayout* {.size: sizeof(cint).} = enum VK_IMAGE_LAYOUT_UNDEFINED = 0 VK_IMAGE_LAYOUT_GENERAL = 1 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7 VK_IMAGE_LAYOUT_PREINITIALIZED = 8 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000 VkAttachmentLoadOp* {.size: sizeof(cint).} = enum VK_ATTACHMENT_LOAD_OP_LOAD = 0 VK_ATTACHMENT_LOAD_OP_CLEAR = 1 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2 VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000 VkAttachmentStoreOp* {.size: sizeof(cint).} = enum VK_ATTACHMENT_STORE_OP_STORE = 0 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1 VK_ATTACHMENT_STORE_OP_NONE = 1000301000 VkImageType* {.size: sizeof(cint).} = enum VK_IMAGE_TYPE_1D = 0 VK_IMAGE_TYPE_2D = 1 VK_IMAGE_TYPE_3D = 2 VkImageTiling* {.size: sizeof(cint).} = enum VK_IMAGE_TILING_OPTIMAL = 0 VK_IMAGE_TILING_LINEAR = 1 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000 VkImageViewType* {.size: sizeof(cint).} = 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: sizeof(cint).} = enum VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1 VkComponentSwizzle* {.size: sizeof(cint).} = 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: sizeof(cint).} = enum VK_DESCRIPTOR_TYPE_SAMPLER = 0 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001 VkQueryType* {.size: sizeof(cint).} = enum VK_QUERY_TYPE_OCCLUSION = 0 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1 VK_QUERY_TYPE_TIMESTAMP = 2 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001 VkBorderColor* {.size: sizeof(cint).} = enum VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004 VkPipelineBindPoint* {.size: sizeof(cint).} = enum VK_PIPELINE_BIND_POINT_GRAPHICS = 0 VK_PIPELINE_BIND_POINT_COMPUTE = 1 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003 VkPipelineCacheHeaderVersion* {.size: sizeof(cint).} = enum VK_PIPELINE_CACHE_HEADER_VERSION_ONE_ENUM = 1 VK_PIPELINE_CACHE_HEADER_VERSION_SAFETY_CRITICAL_ONE_ENUM = 1000298001 VkPipelineCacheCreateFlagBits* {.size: sizeof(cint).} = enum VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0b00000000000000000000000000000001 VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_EXT = 0b00000000000000000000000000000010 VK_PIPELINE_CACHE_CREATE_USE_APPLICATION_STORAGE_BIT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkPipelineCacheCreateFlagBits]): VkPipelineCacheCreateFlags = for flag in flags: result = VkPipelineCacheCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkPipelineCacheCreateFlags): seq[VkPipelineCacheCreateFlagBits] = for value in VkPipelineCacheCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkPipelineCacheCreateFlags): bool = cint(a) == cint(b) type VkPrimitiveTopology* {.size: sizeof(cint).} = 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: sizeof(cint).} = enum VK_SHARING_MODE_EXCLUSIVE = 0 VK_SHARING_MODE_CONCURRENT = 1 VkIndexType* {.size: sizeof(cint).} = enum VK_INDEX_TYPE_UINT16 = 0 VK_INDEX_TYPE_UINT32 = 1 VK_INDEX_TYPE_NONE_KHR = 1000165000 VK_INDEX_TYPE_UINT8_EXT = 1000265000 VkFilter* {.size: sizeof(cint).} = enum VK_FILTER_NEAREST = 0 VK_FILTER_LINEAR = 1 VK_FILTER_CUBIC_EXT = 1000015000 VkSamplerMipmapMode* {.size: sizeof(cint).} = enum VK_SAMPLER_MIPMAP_MODE_NEAREST = 0 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1 VkSamplerAddressMode* {.size: sizeof(cint).} = enum VK_SAMPLER_ADDRESS_MODE_REPEAT = 0 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4 VkCompareOp* {.size: sizeof(cint).} = 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: sizeof(cint).} = enum VK_POLYGON_MODE_FILL = 0 VK_POLYGON_MODE_LINE = 1 VK_POLYGON_MODE_POINT = 2 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000 VkFrontFace* {.size: sizeof(cint).} = enum VK_FRONT_FACE_COUNTER_CLOCKWISE = 0 VK_FRONT_FACE_CLOCKWISE = 1 VkBlendFactor* {.size: sizeof(cint).} = 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: sizeof(cint).} = enum VK_BLEND_OP_ADD = 0 VK_BLEND_OP_SUBTRACT = 1 VK_BLEND_OP_REVERSE_SUBTRACT = 2 VK_BLEND_OP_MIN = 3 VK_BLEND_OP_MAX = 4 VK_BLEND_OP_ZERO_EXT = 1000148000 VK_BLEND_OP_SRC_EXT = 1000148001 VK_BLEND_OP_DST_EXT = 1000148002 VK_BLEND_OP_SRC_OVER_EXT = 1000148003 VK_BLEND_OP_DST_OVER_EXT = 1000148004 VK_BLEND_OP_SRC_IN_EXT = 1000148005 VK_BLEND_OP_DST_IN_EXT = 1000148006 VK_BLEND_OP_SRC_OUT_EXT = 1000148007 VK_BLEND_OP_DST_OUT_EXT = 1000148008 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009 VK_BLEND_OP_DST_ATOP_EXT = 1000148010 VK_BLEND_OP_XOR_EXT = 1000148011 VK_BLEND_OP_MULTIPLY_EXT = 1000148012 VK_BLEND_OP_SCREEN_EXT = 1000148013 VK_BLEND_OP_OVERLAY_EXT = 1000148014 VK_BLEND_OP_DARKEN_EXT = 1000148015 VK_BLEND_OP_LIGHTEN_EXT = 1000148016 VK_BLEND_OP_COLORDODGE_EXT = 1000148017 VK_BLEND_OP_COLORBURN_EXT = 1000148018 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021 VK_BLEND_OP_EXCLUSION_EXT = 1000148022 VK_BLEND_OP_INVERT_EXT = 1000148023 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025 VK_BLEND_OP_LINEARBURN_EXT = 1000148026 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028 VK_BLEND_OP_PINLIGHT_EXT = 1000148029 VK_BLEND_OP_HARDMIX_EXT = 1000148030 VK_BLEND_OP_HSL_HUE_EXT = 1000148031 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034 VK_BLEND_OP_PLUS_EXT = 1000148035 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038 VK_BLEND_OP_MINUS_EXT = 1000148039 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040 VK_BLEND_OP_CONTRAST_EXT = 1000148041 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042 VK_BLEND_OP_RED_EXT = 1000148043 VK_BLEND_OP_GREEN_EXT = 1000148044 VK_BLEND_OP_BLUE_EXT = 1000148045 VkStencilOp* {.size: sizeof(cint).} = 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: sizeof(cint).} = 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: sizeof(cint).} = enum VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0 VkSystemAllocationScope* {.size: sizeof(cint).} = 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: sizeof(cint).} = 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: sizeof(cint).} = enum VK_VERTEX_INPUT_RATE_VERTEX = 0 VK_VERTEX_INPUT_RATE_INSTANCE = 1 VkFormat* {.size: sizeof(cint).} = enum VK_FORMAT_UNDEFINED = 0 VK_FORMAT_R4G4_UNORM_PACK8 = 1 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8 VK_FORMAT_R8_UNORM = 9 VK_FORMAT_R8_SNORM = 10 VK_FORMAT_R8_USCALED = 11 VK_FORMAT_R8_SSCALED = 12 VK_FORMAT_R8_UINT = 13 VK_FORMAT_R8_SINT = 14 VK_FORMAT_R8_SRGB = 15 VK_FORMAT_R8G8_UNORM = 16 VK_FORMAT_R8G8_SNORM = 17 VK_FORMAT_R8G8_USCALED = 18 VK_FORMAT_R8G8_SSCALED = 19 VK_FORMAT_R8G8_UINT = 20 VK_FORMAT_R8G8_SINT = 21 VK_FORMAT_R8G8_SRGB = 22 VK_FORMAT_R8G8B8_UNORM = 23 VK_FORMAT_R8G8B8_SNORM = 24 VK_FORMAT_R8G8B8_USCALED = 25 VK_FORMAT_R8G8B8_SSCALED = 26 VK_FORMAT_R8G8B8_UINT = 27 VK_FORMAT_R8G8B8_SINT = 28 VK_FORMAT_R8G8B8_SRGB = 29 VK_FORMAT_B8G8R8_UNORM = 30 VK_FORMAT_B8G8R8_SNORM = 31 VK_FORMAT_B8G8R8_USCALED = 32 VK_FORMAT_B8G8R8_SSCALED = 33 VK_FORMAT_B8G8R8_UINT = 34 VK_FORMAT_B8G8R8_SINT = 35 VK_FORMAT_B8G8R8_SRGB = 36 VK_FORMAT_R8G8B8A8_UNORM = 37 VK_FORMAT_R8G8B8A8_SNORM = 38 VK_FORMAT_R8G8B8A8_USCALED = 39 VK_FORMAT_R8G8B8A8_SSCALED = 40 VK_FORMAT_R8G8B8A8_UINT = 41 VK_FORMAT_R8G8B8A8_SINT = 42 VK_FORMAT_R8G8B8A8_SRGB = 43 VK_FORMAT_B8G8R8A8_UNORM = 44 VK_FORMAT_B8G8R8A8_SNORM = 45 VK_FORMAT_B8G8R8A8_USCALED = 46 VK_FORMAT_B8G8R8A8_SSCALED = 47 VK_FORMAT_B8G8R8A8_UINT = 48 VK_FORMAT_B8G8R8A8_SINT = 49 VK_FORMAT_B8G8R8A8_SRGB = 50 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69 VK_FORMAT_R16_UNORM = 70 VK_FORMAT_R16_SNORM = 71 VK_FORMAT_R16_USCALED = 72 VK_FORMAT_R16_SSCALED = 73 VK_FORMAT_R16_UINT = 74 VK_FORMAT_R16_SINT = 75 VK_FORMAT_R16_SFLOAT = 76 VK_FORMAT_R16G16_UNORM = 77 VK_FORMAT_R16G16_SNORM = 78 VK_FORMAT_R16G16_USCALED = 79 VK_FORMAT_R16G16_SSCALED = 80 VK_FORMAT_R16G16_UINT = 81 VK_FORMAT_R16G16_SINT = 82 VK_FORMAT_R16G16_SFLOAT = 83 VK_FORMAT_R16G16B16_UNORM = 84 VK_FORMAT_R16G16B16_SNORM = 85 VK_FORMAT_R16G16B16_USCALED = 86 VK_FORMAT_R16G16B16_SSCALED = 87 VK_FORMAT_R16G16B16_UINT = 88 VK_FORMAT_R16G16B16_SINT = 89 VK_FORMAT_R16G16B16_SFLOAT = 90 VK_FORMAT_R16G16B16A16_UNORM = 91 VK_FORMAT_R16G16B16A16_SNORM = 92 VK_FORMAT_R16G16B16A16_USCALED = 93 VK_FORMAT_R16G16B16A16_SSCALED = 94 VK_FORMAT_R16G16B16A16_UINT = 95 VK_FORMAT_R16G16B16A16_SINT = 96 VK_FORMAT_R16G16B16A16_SFLOAT = 97 VK_FORMAT_R32_UINT = 98 VK_FORMAT_R32_SINT = 99 VK_FORMAT_R32_SFLOAT = 100 VK_FORMAT_R32G32_UINT = 101 VK_FORMAT_R32G32_SINT = 102 VK_FORMAT_R32G32_SFLOAT = 103 VK_FORMAT_R32G32B32_UINT = 104 VK_FORMAT_R32G32B32_SINT = 105 VK_FORMAT_R32G32B32_SFLOAT = 106 VK_FORMAT_R32G32B32A32_UINT = 107 VK_FORMAT_R32G32B32A32_SINT = 108 VK_FORMAT_R32G32B32A32_SFLOAT = 109 VK_FORMAT_R64_UINT = 110 VK_FORMAT_R64_SINT = 111 VK_FORMAT_R64_SFLOAT = 112 VK_FORMAT_R64G64_UINT = 113 VK_FORMAT_R64G64_SINT = 114 VK_FORMAT_R64G64_SFLOAT = 115 VK_FORMAT_R64G64B64_UINT = 116 VK_FORMAT_R64G64B64_SINT = 117 VK_FORMAT_R64G64B64_SFLOAT = 118 VK_FORMAT_R64G64B64A64_UINT = 119 VK_FORMAT_R64G64B64A64_SINT = 120 VK_FORMAT_R64G64B64A64_SFLOAT = 121 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123 VK_FORMAT_D16_UNORM = 124 VK_FORMAT_X8_D24_UNORM_PACK32 = 125 VK_FORMAT_D32_SFLOAT = 126 VK_FORMAT_S8_UINT = 127 VK_FORMAT_D16_UNORM_S8_UINT = 128 VK_FORMAT_D24_UNORM_S8_UINT = 129 VK_FORMAT_D32_SFLOAT_S8_UINT = 130 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134 VK_FORMAT_BC2_UNORM_BLOCK = 135 VK_FORMAT_BC2_SRGB_BLOCK = 136 VK_FORMAT_BC3_UNORM_BLOCK = 137 VK_FORMAT_BC3_SRGB_BLOCK = 138 VK_FORMAT_BC4_UNORM_BLOCK = 139 VK_FORMAT_BC4_SNORM_BLOCK = 140 VK_FORMAT_BC5_UNORM_BLOCK = 141 VK_FORMAT_BC5_SNORM_BLOCK = 142 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144 VK_FORMAT_BC7_UNORM_BLOCK = 145 VK_FORMAT_BC7_SRGB_BLOCK = 146 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033 VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT = 1000288000 VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT = 1000288001 VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT = 1000288002 VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT = 1000288003 VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT = 1000288004 VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT = 1000288005 VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT = 1000288006 VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT = 1000288007 VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT = 1000288008 VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT = 1000288009 VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT = 1000288010 VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT = 1000288011 VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT = 1000288012 VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT = 1000288013 VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT = 1000288014 VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT = 1000288015 VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT = 1000288016 VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT = 1000288017 VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT = 1000288018 VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT = 1000288019 VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT = 1000288020 VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT = 1000288021 VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT = 1000288022 VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT = 1000288023 VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT = 1000288024 VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT = 1000288025 VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT = 1000288026 VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT = 1000288027 VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT = 1000288028 VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT = 1000288029 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001 VK_FORMAT_R16G16_S10_5_NV = 1000464000 VkStructureType* {.size: sizeof(cint).} = enum VK_STRUCTURE_TYPE_APPLICATION_INFO = 0 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000 VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID = 1000010000 VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID = 1000010001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID = 1000010002 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038003 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT = 1000038005 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000038006 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT = 1000038007 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT = 1000038010 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039003 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT = 1000039005 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000039006 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT = 1000039007 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT = 1000039008 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000 VK_STRUCTURE_TYPE_PRIVATE_VENDOR_INFO_RESERVED_OFFSET_0_NV = 1000051000 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = 1000068000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = 1000068001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = 1000068002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_RESERVATION_INFO_KHR = 1000116007 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000 VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004 VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_FEATURES = 1000298000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_PROPERTIES = 1000298001 VK_STRUCTURE_TYPE_DEVICE_OBJECT_RESERVATION_CREATE_INFO = 1000298002 VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_RESERVATION_CREATE_INFO = 1000298003 VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_CONSUMPTION = 1000298004 VK_STRUCTURE_TYPE_PIPELINE_POOL_SIZE = 1000298005 VK_STRUCTURE_TYPE_FAULT_DATA = 1000298007 VK_STRUCTURE_TYPE_FAULT_CALLBACK_INFO = 1000298008 VK_STRUCTURE_TYPE_PIPELINE_OFFLINE_CREATE_INFO = 1000298010 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001 VK_STRUCTURE_TYPE_REFRESH_OBJECT_LIST_KHR = 1000308000 VK_STRUCTURE_TYPE_RESERVED_QCOM = 1000309000 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002 VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003 VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004 VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005 VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006 VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007 VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008 VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009 VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002 VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003 VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004 VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005 VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006 VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007 VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009 VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = 1000338002 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = 1000338003 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000 VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001 VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000 VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001 VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV = 1000373000 VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV = 1000373001 VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV = 1000373002 VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV = 1000373003 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373004 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373005 VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV = 1000373006 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV = 1000373007 VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV = 1000374000 VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV = 1000374001 VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV = 1000374002 VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV = 1000374003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV = 1000374004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000 VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000 VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001 VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002 VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006 VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007 VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000 VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000 VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT = 1000435000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004 VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000 VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000 VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000 VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV = 1000489000 VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV = 1000489001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV = 1000489002 VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV = 1000489003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001 VkSubpassContents* {.size: sizeof(cint).} = enum VK_SUBPASS_CONTENTS_INLINE = 0 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1 VkResult* {.size: sizeof(cint).} = enum VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000 VK_ERROR_NO_PIPELINE_MATCH = -1000298001 VK_ERROR_INVALID_PIPELINE_CACHE_DATA = -1000298000 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000 VK_ERROR_NOT_PERMITTED_KHR = -1000174001 VK_ERROR_FRAGMENTATION = -1000161000 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000 VK_ERROR_INVALID_SHADER_NV = -1000012000 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001 VK_ERROR_OUT_OF_DATE_KHR = -1000001004 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001 VK_ERROR_SURFACE_LOST_KHR = -1000000000 VK_ERROR_UNKNOWN = -13 VK_ERROR_FRAGMENTED_POOL = -12 VK_ERROR_FORMAT_NOT_SUPPORTED = -11 VK_ERROR_TOO_MANY_OBJECTS = -10 VK_ERROR_INCOMPATIBLE_DRIVER = -9 VK_ERROR_FEATURE_NOT_PRESENT = -8 VK_ERROR_EXTENSION_NOT_PRESENT = -7 VK_ERROR_LAYER_NOT_PRESENT = -6 VK_ERROR_MEMORY_MAP_FAILED = -5 VK_ERROR_DEVICE_LOST = -4 VK_ERROR_INITIALIZATION_FAILED = -3 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2 VK_ERROR_OUT_OF_HOST_MEMORY = -1 VK_SUCCESS = 0 VK_NOT_READY = 1 VK_TIMEOUT = 2 VK_EVENT_SET = 3 VK_EVENT_RESET = 4 VK_INCOMPLETE = 5 VK_SUBOPTIMAL_KHR = 1000001003 VK_THREAD_IDLE_KHR = 1000268000 VK_THREAD_DONE_KHR = 1000268001 VK_OPERATION_DEFERRED_KHR = 1000268002 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003 VK_PIPELINE_COMPILE_REQUIRED = 1000297000 VkDynamicState* {.size: sizeof(cint).} = enum VK_DYNAMIC_STATE_VIEWPORT = 0 VK_DYNAMIC_STATE_SCISSOR = 1 VK_DYNAMIC_STATE_LINE_WIDTH = 2 VK_DYNAMIC_STATE_DEPTH_BIAS = 3 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000 VK_DYNAMIC_STATE_CULL_MODE = 1000267000 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032 VkDescriptorUpdateTemplateType* {.size: sizeof(cint).} = enum VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1 VkObjectType* {.size: sizeof(cint).} = enum VK_OBJECT_TYPE_UNKNOWN = 0 VK_OBJECT_TYPE_INSTANCE = 1 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2 VK_OBJECT_TYPE_DEVICE = 3 VK_OBJECT_TYPE_QUEUE = 4 VK_OBJECT_TYPE_SEMAPHORE = 5 VK_OBJECT_TYPE_COMMAND_BUFFER = 6 VK_OBJECT_TYPE_FENCE = 7 VK_OBJECT_TYPE_DEVICE_MEMORY = 8 VK_OBJECT_TYPE_BUFFER = 9 VK_OBJECT_TYPE_IMAGE = 10 VK_OBJECT_TYPE_EVENT = 11 VK_OBJECT_TYPE_QUERY_POOL = 12 VK_OBJECT_TYPE_BUFFER_VIEW = 13 VK_OBJECT_TYPE_IMAGE_VIEW = 14 VK_OBJECT_TYPE_SHADER_MODULE = 15 VK_OBJECT_TYPE_PIPELINE_CACHE = 16 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17 VK_OBJECT_TYPE_RENDER_PASS = 18 VK_OBJECT_TYPE_PIPELINE = 19 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20 VK_OBJECT_TYPE_SAMPLER = 21 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23 VK_OBJECT_TYPE_FRAMEBUFFER = 24 VK_OBJECT_TYPE_COMMAND_POOL = 25 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000 VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV = 1000489000 VkRayTracingInvocationReorderModeNV* {.size: sizeof(cint).} = enum VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0 VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1 VkDirectDriverLoadingModeLUNARG* {.size: sizeof(cint).} = enum VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0 VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1 VkQueueFlagBits* {.size: sizeof(cint).} = enum VK_QUEUE_GRAPHICS_BIT = 0b00000000000000000000000000000001 VK_QUEUE_COMPUTE_BIT = 0b00000000000000000000000000000010 VK_QUEUE_TRANSFER_BIT = 0b00000000000000000000000000000100 VK_QUEUE_SPARSE_BINDING_BIT = 0b00000000000000000000000000001000 VK_QUEUE_PROTECTED_BIT = 0b00000000000000000000000000010000 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0b00000000000000000000000000100000 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0b00000000000000000000000001000000 VK_QUEUE_RESERVED_7_BIT_QCOM = 0b00000000000000000000000010000000 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0b00000000000000000000000100000000 VK_QUEUE_RESERVED_9_BIT_EXT = 0b00000000000000000000001000000000 func toBits*(flags: openArray[VkQueueFlagBits]): VkQueueFlags = for flag in flags: result = VkQueueFlags(uint(result) or uint(flag)) func toEnums*(number: VkQueueFlags): seq[VkQueueFlagBits] = for value in VkQueueFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkQueueFlags): bool = cint(a) == cint(b) type VkCullModeFlagBits* {.size: sizeof(cint).} = enum VK_CULL_MODE_FRONT_BIT = 0b00000000000000000000000000000001 VK_CULL_MODE_BACK_BIT = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkCullModeFlagBits]): VkCullModeFlags = for flag in flags: result = VkCullModeFlags(uint(result) or uint(flag)) func toEnums*(number: VkCullModeFlags): seq[VkCullModeFlagBits] = for value in VkCullModeFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkCullModeFlags): bool = cint(a) == cint(b) const VK_CULL_MODE_NONE* = 0 VK_CULL_MODE_FRONT_AND_BACK* = 0x00000003 type VkRenderPassCreateFlagBits* {.size: sizeof(cint).} = enum VK_RENDER_PASS_CREATE_RESERVED_0_BIT_KHR = 0b00000000000000000000000000000001 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkRenderPassCreateFlagBits]): VkRenderPassCreateFlags = for flag in flags: result = VkRenderPassCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkRenderPassCreateFlags): seq[VkRenderPassCreateFlagBits] = for value in VkRenderPassCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkRenderPassCreateFlags): bool = cint(a) == cint(b) type VkDeviceQueueCreateFlagBits* {.size: sizeof(cint).} = enum VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0b00000000000000000000000000000001 VK_DEVICE_QUEUE_CREATE_RESERVED_1_BIT_QCOM = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkDeviceQueueCreateFlagBits]): VkDeviceQueueCreateFlags = for flag in flags: result = VkDeviceQueueCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkDeviceQueueCreateFlags): seq[VkDeviceQueueCreateFlagBits] = for value in VkDeviceQueueCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkDeviceQueueCreateFlags): bool = cint(a) == cint(b) type VkMemoryPropertyFlagBits* {.size: sizeof(cint).} = enum VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0b00000000000000000000000000000001 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0b00000000000000000000000000000010 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0b00000000000000000000000000000100 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0b00000000000000000000000000001000 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0b00000000000000000000000000010000 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0b00000000000000000000000000100000 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0b00000000000000000000000001000000 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0b00000000000000000000000010000000 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0b00000000000000000000000100000000 func toBits*(flags: openArray[VkMemoryPropertyFlagBits]): VkMemoryPropertyFlags = for flag in flags: result = VkMemoryPropertyFlags(uint(result) or uint(flag)) func toEnums*(number: VkMemoryPropertyFlags): seq[VkMemoryPropertyFlagBits] = for value in VkMemoryPropertyFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkMemoryPropertyFlags): bool = cint(a) == cint(b) type VkMemoryHeapFlagBits* {.size: sizeof(cint).} = enum VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0b00000000000000000000000000000001 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0b00000000000000000000000000000010 VK_MEMORY_HEAP_SEU_SAFE_BIT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkMemoryHeapFlagBits]): VkMemoryHeapFlags = for flag in flags: result = VkMemoryHeapFlags(uint(result) or uint(flag)) func toEnums*(number: VkMemoryHeapFlags): seq[VkMemoryHeapFlagBits] = for value in VkMemoryHeapFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkMemoryHeapFlags): bool = cint(a) == cint(b) type VkAccessFlagBits* {.size: sizeof(cint).} = enum VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0b00000000000000000000000000000001 VK_ACCESS_INDEX_READ_BIT = 0b00000000000000000000000000000010 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0b00000000000000000000000000000100 VK_ACCESS_UNIFORM_READ_BIT = 0b00000000000000000000000000001000 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0b00000000000000000000000000010000 VK_ACCESS_SHADER_READ_BIT = 0b00000000000000000000000000100000 VK_ACCESS_SHADER_WRITE_BIT = 0b00000000000000000000000001000000 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0b00000000000000000000000010000000 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0b00000000000000000000000100000000 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0b00000000000000000000001000000000 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0b00000000000000000000010000000000 VK_ACCESS_TRANSFER_READ_BIT = 0b00000000000000000000100000000000 VK_ACCESS_TRANSFER_WRITE_BIT = 0b00000000000000000001000000000000 VK_ACCESS_HOST_READ_BIT = 0b00000000000000000010000000000000 VK_ACCESS_HOST_WRITE_BIT = 0b00000000000000000100000000000000 VK_ACCESS_MEMORY_READ_BIT = 0b00000000000000001000000000000000 VK_ACCESS_MEMORY_WRITE_BIT = 0b00000000000000010000000000000000 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0b00000000000000100000000000000000 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0b00000000000001000000000000000000 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0b00000000000010000000000000000000 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0b00000000000100000000000000000000 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0b00000000001000000000000000000000 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0b00000000010000000000000000000000 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0b00000000100000000000000000000000 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0b00000001000000000000000000000000 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0b00000010000000000000000000000000 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0b00000100000000000000000000000000 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0b00001000000000000000000000000000 func toBits*(flags: openArray[VkAccessFlagBits]): VkAccessFlags = for flag in flags: result = VkAccessFlags(uint(result) or uint(flag)) func toEnums*(number: VkAccessFlags): seq[VkAccessFlagBits] = for value in VkAccessFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkAccessFlags): bool = cint(a) == cint(b) type VkBufferUsageFlagBits* {.size: sizeof(cint).} = enum VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0b00000000000000000000000000000001 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0b00000000000000000000000000000010 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0b00000000000000000000000000000100 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0b00000000000000000000000000001000 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0b00000000000000000000000000010000 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0b00000000000000000000000000100000 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0b00000000000000000000000001000000 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0b00000000000000000000000010000000 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0b00000000000000000000000100000000 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0b00000000000000000000001000000000 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0b00000000000000000000010000000000 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0b00000000000000000000100000000000 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0b00000000000000000001000000000000 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0b00000000000000000010000000000000 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0b00000000000000000100000000000000 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0b00000000000000001000000000000000 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0b00000000000000010000000000000000 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0b00000000000000100000000000000000 VK_BUFFER_USAGE_RESERVED_18_BIT_QCOM = 0b00000000000001000000000000000000 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0b00000000000010000000000000000000 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0b00000000000100000000000000000000 VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0b00000000001000000000000000000000 VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0b00000000010000000000000000000000 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0b00000000100000000000000000000000 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0b00000001000000000000000000000000 VK_BUFFER_USAGE_RESERVED_25_BIT_AMD = 0b00000010000000000000000000000000 VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0b00000100000000000000000000000000 func toBits*(flags: openArray[VkBufferUsageFlagBits]): VkBufferUsageFlags = for flag in flags: result = VkBufferUsageFlags(uint(result) or uint(flag)) func toEnums*(number: VkBufferUsageFlags): seq[VkBufferUsageFlagBits] = for value in VkBufferUsageFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkBufferUsageFlags): bool = cint(a) == cint(b) type VkBufferCreateFlagBits* {.size: sizeof(cint).} = enum VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0b00000000000000000000000000000001 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0b00000000000000000000000000000010 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0b00000000000000000000000000000100 VK_BUFFER_CREATE_PROTECTED_BIT = 0b00000000000000000000000000001000 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0b00000000000000000000000000010000 VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0b00000000000000000000000000100000 func toBits*(flags: openArray[VkBufferCreateFlagBits]): VkBufferCreateFlags = for flag in flags: result = VkBufferCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkBufferCreateFlags): seq[VkBufferCreateFlagBits] = for value in VkBufferCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkBufferCreateFlags): bool = cint(a) == cint(b) type VkShaderStageFlagBits* {.size: sizeof(cint).} = enum VK_SHADER_STAGE_VERTEX_BIT = 0b00000000000000000000000000000001 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0b00000000000000000000000000000010 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0b00000000000000000000000000000100 VK_SHADER_STAGE_GEOMETRY_BIT = 0b00000000000000000000000000001000 VK_SHADER_STAGE_FRAGMENT_BIT = 0b00000000000000000000000000010000 VK_SHADER_STAGE_COMPUTE_BIT = 0b00000000000000000000000000100000 VK_SHADER_STAGE_TASK_BIT_EXT = 0b00000000000000000000000001000000 VK_SHADER_STAGE_MESH_BIT_EXT = 0b00000000000000000000000010000000 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0b00000000000000000000000100000000 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0b00000000000000000000001000000000 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0b00000000000000000000010000000000 VK_SHADER_STAGE_MISS_BIT_KHR = 0b00000000000000000000100000000000 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0b00000000000000000001000000000000 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0b00000000000000000010000000000000 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0b00000000000000000100000000000000 VK_SHADER_STAGE_EXT_483_RESERVE_15 = 0b00000000000000001000000000000000 VK_SHADER_STAGE_EXT_483_RESERVE_16 = 0b00000000000000010000000000000000 VK_SHADER_STAGE_EXT_483_RESERVE_17 = 0b00000000000000100000000000000000 VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0b00000000000010000000000000000000 func toBits*(flags: openArray[VkShaderStageFlagBits]): VkShaderStageFlags = for flag in flags: result = VkShaderStageFlags(uint(result) or uint(flag)) func toEnums*(number: VkShaderStageFlags): seq[VkShaderStageFlagBits] = for value in VkShaderStageFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkShaderStageFlags): bool = cint(a) == cint(b) const VK_SHADER_STAGE_ALL_GRAPHICS* = 0x0000001F VK_SHADER_STAGE_ALL* = 0x7FFFFFFF type VkImageUsageFlagBits* {.size: sizeof(cint).} = enum VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0b00000000000000000000000000000001 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0b00000000000000000000000000000010 VK_IMAGE_USAGE_SAMPLED_BIT = 0b00000000000000000000000000000100 VK_IMAGE_USAGE_STORAGE_BIT = 0b00000000000000000000000000001000 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0b00000000000000000000000000010000 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0b00000000000000000000000000100000 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0b00000000000000000000000001000000 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0b00000000000000000000000010000000 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0b00000000000000000000000100000000 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0b00000000000000000000001000000000 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0b00000000000000000000010000000000 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0b00000000000000000000100000000000 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0b00000000000000000001000000000000 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0b00000000000000000010000000000000 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0b00000000000000000100000000000000 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0b00000000000000001000000000000000 VK_IMAGE_USAGE_RESERVED_16_BIT_QCOM = 0b00000000000000010000000000000000 VK_IMAGE_USAGE_RESERVED_17_BIT_QCOM = 0b00000000000000100000000000000000 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0b00000000000001000000000000000000 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0b00000000000010000000000000000000 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0b00000000000100000000000000000000 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0b00000000001000000000000000000000 VK_IMAGE_USAGE_RESERVED_22_BIT_EXT = 0b00000000010000000000000000000000 func toBits*(flags: openArray[VkImageUsageFlagBits]): VkImageUsageFlags = for flag in flags: result = VkImageUsageFlags(uint(result) or uint(flag)) func toEnums*(number: VkImageUsageFlags): seq[VkImageUsageFlagBits] = for value in VkImageUsageFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkImageUsageFlags): bool = cint(a) == cint(b) type VkImageCreateFlagBits* {.size: sizeof(cint).} = enum VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0b00000000000000000000000000000001 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0b00000000000000000000000000000010 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0b00000000000000000000000000000100 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0b00000000000000000000000000001000 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0b00000000000000000000000000010000 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0b00000000000000000000000000100000 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0b00000000000000000000000001000000 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0b00000000000000000000000010000000 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0b00000000000000000000000100000000 VK_IMAGE_CREATE_DISJOINT_BIT = 0b00000000000000000000001000000000 VK_IMAGE_CREATE_ALIAS_BIT = 0b00000000000000000000010000000000 VK_IMAGE_CREATE_PROTECTED_BIT = 0b00000000000000000000100000000000 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0b00000000000000000001000000000000 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0b00000000000000000010000000000000 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0b00000000000000000100000000000000 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0b00000000000000001000000000000000 VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0b00000000000000010000000000000000 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0b00000000000000100000000000000000 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0b00000000000001000000000000000000 VK_IMAGE_CREATE_RESERVED_19_BIT_EXT = 0b00000000000010000000000000000000 func toBits*(flags: openArray[VkImageCreateFlagBits]): VkImageCreateFlags = for flag in flags: result = VkImageCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkImageCreateFlags): seq[VkImageCreateFlagBits] = for value in VkImageCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkImageCreateFlags): bool = cint(a) == cint(b) type VkImageViewCreateFlagBits* {.size: sizeof(cint).} = enum VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0b00000000000000000000000000000001 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0b00000000000000000000000000000010 VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkImageViewCreateFlagBits]): VkImageViewCreateFlags = for flag in flags: result = VkImageViewCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkImageViewCreateFlags): seq[VkImageViewCreateFlagBits] = for value in VkImageViewCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkImageViewCreateFlags): bool = cint(a) == cint(b) type VkSamplerCreateFlagBits* {.size: sizeof(cint).} = enum VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0b00000000000000000000000000000001 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0b00000000000000000000000000000010 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0b00000000000000000000000000000100 VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0b00000000000000000000000000001000 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0b00000000000000000000000000010000 func toBits*(flags: openArray[VkSamplerCreateFlagBits]): VkSamplerCreateFlags = for flag in flags: result = VkSamplerCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkSamplerCreateFlags): seq[VkSamplerCreateFlagBits] = for value in VkSamplerCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkSamplerCreateFlags): bool = cint(a) == cint(b) type VkPipelineCreateFlagBits* {.size: sizeof(cint).} = enum VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0b00000000000000000000000000000001 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0b00000000000000000000000000000010 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0b00000000000000000000000000000100 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0b00000000000000000000000000001000 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0b00000000000000000000000000010000 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0b00000000000000000000000000100000 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0b00000000000000000000000001000000 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0b00000000000000000000000010000000 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0b00000000000000000000000100000000 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0b00000000000000000000001000000000 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0b00000000000000000000010000000000 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0b00000000000000000000100000000000 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0b00000000000000000001000000000000 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0b00000000000000000010000000000000 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0b00000000000000000100000000000000 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0b00000000000000001000000000000000 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0b00000000000000010000000000000000 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0b00000000000000100000000000000000 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0b00000000000001000000000000000000 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0b00000000000010000000000000000000 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0b00000000000100000000000000000000 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0b00000000001000000000000000000000 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0b00000000010000000000000000000000 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0b00000000100000000000000000000000 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0b00000001000000000000000000000000 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0b00000010000000000000000000000000 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0b00000100000000000000000000000000 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = 0b00001000000000000000000000000000 VK_PIPELINE_CREATE_RESERVED_BIT_28_NV = 0b00010000000000000000000000000000 VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0b00100000000000000000000000000000 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = 0b01000000000000000000000000000000 func toBits*(flags: openArray[VkPipelineCreateFlagBits]): VkPipelineCreateFlags = for flag in flags: result = VkPipelineCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkPipelineCreateFlags): seq[VkPipelineCreateFlagBits] = for value in VkPipelineCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkPipelineCreateFlags): bool = cint(a) == cint(b) type VkPipelineShaderStageCreateFlagBits* {.size: sizeof(cint).} = enum VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0b00000000000000000000000000000001 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0b00000000000000000000000000000010 VK_PIPELINE_SHADER_STAGE_CREATE_RESERVED_3_BIT_KHR = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkPipelineShaderStageCreateFlagBits]): VkPipelineShaderStageCreateFlags = for flag in flags: result = VkPipelineShaderStageCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkPipelineShaderStageCreateFlags): seq[VkPipelineShaderStageCreateFlagBits] = for value in VkPipelineShaderStageCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkPipelineShaderStageCreateFlags): bool = cint(a) == cint(b) type VkColorComponentFlagBits* {.size: sizeof(cint).} = enum VK_COLOR_COMPONENT_R_BIT = 0b00000000000000000000000000000001 VK_COLOR_COMPONENT_G_BIT = 0b00000000000000000000000000000010 VK_COLOR_COMPONENT_B_BIT = 0b00000000000000000000000000000100 VK_COLOR_COMPONENT_A_BIT = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkColorComponentFlagBits]): VkColorComponentFlags = for flag in flags: result = VkColorComponentFlags(uint(result) or uint(flag)) func toEnums*(number: VkColorComponentFlags): seq[VkColorComponentFlagBits] = for value in VkColorComponentFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkColorComponentFlags): bool = cint(a) == cint(b) type VkFenceCreateFlagBits* {.size: sizeof(cint).} = enum VK_FENCE_CREATE_SIGNALED_BIT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkFenceCreateFlagBits]): VkFenceCreateFlags = for flag in flags: result = VkFenceCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkFenceCreateFlags): seq[VkFenceCreateFlagBits] = for value in VkFenceCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkFenceCreateFlags): bool = cint(a) == cint(b) type VkFormatFeatureFlagBits* {.size: sizeof(cint).} = enum VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0b00000000000000000000000000000001 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0b00000000000000000000000000000010 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0b00000000000000000000000000000100 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0b00000000000000000000000000001000 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0b00000000000000000000000000010000 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0b00000000000000000000000000100000 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0b00000000000000000000000001000000 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0b00000000000000000000000010000000 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0b00000000000000000000000100000000 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0b00000000000000000000001000000000 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0b00000000000000000000010000000000 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0b00000000000000000000100000000000 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0b00000000000000000001000000000000 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0b00000000000000000010000000000000 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0b00000000000000000100000000000000 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0b00000000000000001000000000000000 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0b00000000000000010000000000000000 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0b00000000000000100000000000000000 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0b00000000000001000000000000000000 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0b00000000000010000000000000000000 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0b00000000000100000000000000000000 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0b00000000001000000000000000000000 VK_FORMAT_FEATURE_DISJOINT_BIT = 0b00000000010000000000000000000000 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0b00000000100000000000000000000000 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0b00000001000000000000000000000000 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0b00000010000000000000000000000000 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0b00000100000000000000000000000000 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0b00001000000000000000000000000000 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0b00010000000000000000000000000000 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0b00100000000000000000000000000000 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0b01000000000000000000000000000000 func toBits*(flags: openArray[VkFormatFeatureFlagBits]): VkFormatFeatureFlags = for flag in flags: result = VkFormatFeatureFlags(uint(result) or uint(flag)) func toEnums*(number: VkFormatFeatureFlags): seq[VkFormatFeatureFlagBits] = for value in VkFormatFeatureFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkFormatFeatureFlags): bool = cint(a) == cint(b) type VkQueryControlFlagBits* {.size: sizeof(cint).} = enum VK_QUERY_CONTROL_PRECISE_BIT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkQueryControlFlagBits]): VkQueryControlFlags = for flag in flags: result = VkQueryControlFlags(uint(result) or uint(flag)) func toEnums*(number: VkQueryControlFlags): seq[VkQueryControlFlagBits] = for value in VkQueryControlFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkQueryControlFlags): bool = cint(a) == cint(b) type VkQueryResultFlagBits* {.size: sizeof(cint).} = enum VK_QUERY_RESULT_64_BIT = 0b00000000000000000000000000000001 VK_QUERY_RESULT_WAIT_BIT = 0b00000000000000000000000000000010 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0b00000000000000000000000000000100 VK_QUERY_RESULT_PARTIAL_BIT = 0b00000000000000000000000000001000 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0b00000000000000000000000000010000 func toBits*(flags: openArray[VkQueryResultFlagBits]): VkQueryResultFlags = for flag in flags: result = VkQueryResultFlags(uint(result) or uint(flag)) func toEnums*(number: VkQueryResultFlags): seq[VkQueryResultFlagBits] = for value in VkQueryResultFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkQueryResultFlags): bool = cint(a) == cint(b) type VkCommandBufferUsageFlagBits* {.size: sizeof(cint).} = enum VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0b00000000000000000000000000000001 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0b00000000000000000000000000000010 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkCommandBufferUsageFlagBits]): VkCommandBufferUsageFlags = for flag in flags: result = VkCommandBufferUsageFlags(uint(result) or uint(flag)) func toEnums*(number: VkCommandBufferUsageFlags): seq[VkCommandBufferUsageFlagBits] = for value in VkCommandBufferUsageFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkCommandBufferUsageFlags): bool = cint(a) == cint(b) type VkQueryPipelineStatisticFlagBits* {.size: sizeof(cint).} = enum VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0b00000000000000000000000000000001 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0b00000000000000000000000000000010 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0b00000000000000000000000000000100 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0b00000000000000000000000000001000 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0b00000000000000000000000000010000 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0b00000000000000000000000000100000 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0b00000000000000000000000001000000 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0b00000000000000000000000010000000 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0b00000000000000000000000100000000 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0b00000000000000000000001000000000 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0b00000000000000000000010000000000 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0b00000000000000000000100000000000 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0b00000000000000000001000000000000 VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0b00000000000000000010000000000000 func toBits*(flags: openArray[VkQueryPipelineStatisticFlagBits]): VkQueryPipelineStatisticFlags = for flag in flags: result = VkQueryPipelineStatisticFlags(uint(result) or uint(flag)) func toEnums*(number: VkQueryPipelineStatisticFlags): seq[VkQueryPipelineStatisticFlagBits] = for value in VkQueryPipelineStatisticFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkQueryPipelineStatisticFlags): bool = cint(a) == cint(b) type VkImageAspectFlagBits* {.size: sizeof(cint).} = enum VK_IMAGE_ASPECT_COLOR_BIT = 0b00000000000000000000000000000001 VK_IMAGE_ASPECT_DEPTH_BIT = 0b00000000000000000000000000000010 VK_IMAGE_ASPECT_STENCIL_BIT = 0b00000000000000000000000000000100 VK_IMAGE_ASPECT_METADATA_BIT = 0b00000000000000000000000000001000 VK_IMAGE_ASPECT_PLANE_0_BIT = 0b00000000000000000000000000010000 VK_IMAGE_ASPECT_PLANE_1_BIT = 0b00000000000000000000000000100000 VK_IMAGE_ASPECT_PLANE_2_BIT = 0b00000000000000000000000001000000 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0b00000000000000000000000010000000 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0b00000000000000000000000100000000 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0b00000000000000000000001000000000 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0b00000000000000000000010000000000 func toBits*(flags: openArray[VkImageAspectFlagBits]): VkImageAspectFlags = for flag in flags: result = VkImageAspectFlags(uint(result) or uint(flag)) func toEnums*(number: VkImageAspectFlags): seq[VkImageAspectFlagBits] = for value in VkImageAspectFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkImageAspectFlags): bool = cint(a) == cint(b) type VkSparseImageFormatFlagBits* {.size: sizeof(cint).} = enum VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0b00000000000000000000000000000001 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0b00000000000000000000000000000010 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkSparseImageFormatFlagBits]): VkSparseImageFormatFlags = for flag in flags: result = VkSparseImageFormatFlags(uint(result) or uint(flag)) func toEnums*(number: VkSparseImageFormatFlags): seq[VkSparseImageFormatFlagBits] = for value in VkSparseImageFormatFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkSparseImageFormatFlags): bool = cint(a) == cint(b) type VkSparseMemoryBindFlagBits* {.size: sizeof(cint).} = enum VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkSparseMemoryBindFlagBits]): VkSparseMemoryBindFlags = for flag in flags: result = VkSparseMemoryBindFlags(uint(result) or uint(flag)) func toEnums*(number: VkSparseMemoryBindFlags): seq[VkSparseMemoryBindFlagBits] = for value in VkSparseMemoryBindFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkSparseMemoryBindFlags): bool = cint(a) == cint(b) type VkPipelineStageFlagBits* {.size: sizeof(cint).} = enum VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0b00000000000000000000000000000001 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0b00000000000000000000000000000010 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0b00000000000000000000000000000100 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0b00000000000000000000000000001000 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0b00000000000000000000000000010000 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0b00000000000000000000000000100000 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0b00000000000000000000000001000000 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0b00000000000000000000000010000000 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0b00000000000000000000000100000000 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0b00000000000000000000001000000000 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0b00000000000000000000010000000000 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0b00000000000000000000100000000000 VK_PIPELINE_STAGE_TRANSFER_BIT = 0b00000000000000000001000000000000 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0b00000000000000000010000000000000 VK_PIPELINE_STAGE_HOST_BIT = 0b00000000000000000100000000000000 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0b00000000000000001000000000000000 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0b00000000000000010000000000000000 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0b00000000000000100000000000000000 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0b00000000000001000000000000000000 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0b00000000000010000000000000000000 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0b00000000000100000000000000000000 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0b00000000001000000000000000000000 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0b00000000010000000000000000000000 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0b00000000100000000000000000000000 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0b00000001000000000000000000000000 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0b00000010000000000000000000000000 func toBits*(flags: openArray[VkPipelineStageFlagBits]): VkPipelineStageFlags = for flag in flags: result = VkPipelineStageFlags(uint(result) or uint(flag)) func toEnums*(number: VkPipelineStageFlags): seq[VkPipelineStageFlagBits] = for value in VkPipelineStageFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkPipelineStageFlags): bool = cint(a) == cint(b) type VkCommandPoolCreateFlagBits* {.size: sizeof(cint).} = enum VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0b00000000000000000000000000000001 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0b00000000000000000000000000000010 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkCommandPoolCreateFlagBits]): VkCommandPoolCreateFlags = for flag in flags: result = VkCommandPoolCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkCommandPoolCreateFlags): seq[VkCommandPoolCreateFlagBits] = for value in VkCommandPoolCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkCommandPoolCreateFlags): bool = cint(a) == cint(b) type VkCommandPoolResetFlagBits* {.size: sizeof(cint).} = enum VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0b00000000000000000000000000000001 VK_COMMAND_POOL_RESET_RESERVED_1_BIT_COREAVI = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkCommandPoolResetFlagBits]): VkCommandPoolResetFlags = for flag in flags: result = VkCommandPoolResetFlags(uint(result) or uint(flag)) func toEnums*(number: VkCommandPoolResetFlags): seq[VkCommandPoolResetFlagBits] = for value in VkCommandPoolResetFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkCommandPoolResetFlags): bool = cint(a) == cint(b) type VkCommandBufferResetFlagBits* {.size: sizeof(cint).} = enum VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkCommandBufferResetFlagBits]): VkCommandBufferResetFlags = for flag in flags: result = VkCommandBufferResetFlags(uint(result) or uint(flag)) func toEnums*(number: VkCommandBufferResetFlags): seq[VkCommandBufferResetFlagBits] = for value in VkCommandBufferResetFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkCommandBufferResetFlags): bool = cint(a) == cint(b) type VkSampleCountFlagBits* {.size: sizeof(cint).} = enum VK_SAMPLE_COUNT_1_BIT = 0b00000000000000000000000000000001 VK_SAMPLE_COUNT_2_BIT = 0b00000000000000000000000000000010 VK_SAMPLE_COUNT_4_BIT = 0b00000000000000000000000000000100 VK_SAMPLE_COUNT_8_BIT = 0b00000000000000000000000000001000 VK_SAMPLE_COUNT_16_BIT = 0b00000000000000000000000000010000 VK_SAMPLE_COUNT_32_BIT = 0b00000000000000000000000000100000 VK_SAMPLE_COUNT_64_BIT = 0b00000000000000000000000001000000 func toBits*(flags: openArray[VkSampleCountFlagBits]): VkSampleCountFlags = for flag in flags: result = VkSampleCountFlags(uint(result) or uint(flag)) func toEnums*(number: VkSampleCountFlags): seq[VkSampleCountFlagBits] = for value in VkSampleCountFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkSampleCountFlags): bool = cint(a) == cint(b) type VkAttachmentDescriptionFlagBits* {.size: sizeof(cint).} = enum VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkAttachmentDescriptionFlagBits]): VkAttachmentDescriptionFlags = for flag in flags: result = VkAttachmentDescriptionFlags(uint(result) or uint(flag)) func toEnums*(number: VkAttachmentDescriptionFlags): seq[VkAttachmentDescriptionFlagBits] = for value in VkAttachmentDescriptionFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkAttachmentDescriptionFlags): bool = cint(a) == cint(b) type VkStencilFaceFlagBits* {.size: sizeof(cint).} = enum VK_STENCIL_FACE_FRONT_BIT = 0b00000000000000000000000000000001 VK_STENCIL_FACE_BACK_BIT = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkStencilFaceFlagBits]): VkStencilFaceFlags = for flag in flags: result = VkStencilFaceFlags(uint(result) or uint(flag)) func toEnums*(number: VkStencilFaceFlags): seq[VkStencilFaceFlagBits] = for value in VkStencilFaceFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkStencilFaceFlags): bool = cint(a) == cint(b) const VK_STENCIL_FACE_FRONT_AND_BACK* = 0x00000003 type VkDescriptorPoolCreateFlagBits* {.size: sizeof(cint).} = enum VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0b00000000000000000000000000000001 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0b00000000000000000000000000000010 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkDescriptorPoolCreateFlagBits]): VkDescriptorPoolCreateFlags = for flag in flags: result = VkDescriptorPoolCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkDescriptorPoolCreateFlags): seq[VkDescriptorPoolCreateFlagBits] = for value in VkDescriptorPoolCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkDescriptorPoolCreateFlags): bool = cint(a) == cint(b) type VkDependencyFlagBits* {.size: sizeof(cint).} = enum VK_DEPENDENCY_BY_REGION_BIT = 0b00000000000000000000000000000001 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0b00000000000000000000000000000010 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0b00000000000000000000000000000100 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkDependencyFlagBits]): VkDependencyFlags = for flag in flags: result = VkDependencyFlags(uint(result) or uint(flag)) func toEnums*(number: VkDependencyFlags): seq[VkDependencyFlagBits] = for value in VkDependencyFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkDependencyFlags): bool = cint(a) == cint(b) type VkSemaphoreType* {.size: sizeof(cint).} = enum VK_SEMAPHORE_TYPE_BINARY = 0 VK_SEMAPHORE_TYPE_TIMELINE = 1 VkSemaphoreWaitFlagBits* {.size: sizeof(cint).} = enum VK_SEMAPHORE_WAIT_ANY_BIT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkSemaphoreWaitFlagBits]): VkSemaphoreWaitFlags = for flag in flags: result = VkSemaphoreWaitFlags(uint(result) or uint(flag)) func toEnums*(number: VkSemaphoreWaitFlags): seq[VkSemaphoreWaitFlagBits] = for value in VkSemaphoreWaitFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkSemaphoreWaitFlags): bool = cint(a) == cint(b) type VkPresentModeKHR* {.size: sizeof(cint).} = enum VK_PRESENT_MODE_IMMEDIATE_KHR = 0 VK_PRESENT_MODE_MAILBOX_KHR = 1 VK_PRESENT_MODE_FIFO_KHR = 2 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001 VkColorSpaceKHR* {.size: sizeof(cint).} = enum VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000 VkDisplayPlaneAlphaFlagBitsKHR* {.size: sizeof(cint).} = enum VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0b00000000000000000000000000000001 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0b00000000000000000000000000000010 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0b00000000000000000000000000000100 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkDisplayPlaneAlphaFlagBitsKHR]): VkDisplayPlaneAlphaFlagsKHR = for flag in flags: result = VkDisplayPlaneAlphaFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkDisplayPlaneAlphaFlagsKHR): seq[VkDisplayPlaneAlphaFlagBitsKHR] = for value in VkDisplayPlaneAlphaFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkDisplayPlaneAlphaFlagsKHR): bool = cint(a) == cint(b) type VkCompositeAlphaFlagBitsKHR* {.size: sizeof(cint).} = enum VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0b00000000000000000000000000000001 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0b00000000000000000000000000000010 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0b00000000000000000000000000000100 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkCompositeAlphaFlagBitsKHR]): VkCompositeAlphaFlagsKHR = for flag in flags: result = VkCompositeAlphaFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkCompositeAlphaFlagsKHR): seq[VkCompositeAlphaFlagBitsKHR] = for value in VkCompositeAlphaFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkCompositeAlphaFlagsKHR): bool = cint(a) == cint(b) type VkSurfaceTransformFlagBitsKHR* {.size: sizeof(cint).} = enum VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0b00000000000000000000000000000001 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0b00000000000000000000000000000010 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0b00000000000000000000000000000100 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0b00000000000000000000000000001000 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0b00000000000000000000000000010000 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0b00000000000000000000000000100000 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0b00000000000000000000000001000000 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0b00000000000000000000000010000000 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0b00000000000000000000000100000000 func toBits*(flags: openArray[VkSurfaceTransformFlagBitsKHR]): VkSurfaceTransformFlagsKHR = for flag in flags: result = VkSurfaceTransformFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkSurfaceTransformFlagsKHR): seq[VkSurfaceTransformFlagBitsKHR] = for value in VkSurfaceTransformFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkSurfaceTransformFlagsKHR): bool = cint(a) == cint(b) type VkSwapchainImageUsageFlagBitsANDROID* {.size: sizeof(cint).} = enum VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkSwapchainImageUsageFlagBitsANDROID]): VkSwapchainImageUsageFlagsANDROID = for flag in flags: result = VkSwapchainImageUsageFlagsANDROID(uint(result) or uint(flag)) func toEnums*(number: VkSwapchainImageUsageFlagsANDROID): seq[VkSwapchainImageUsageFlagBitsANDROID] = for value in VkSwapchainImageUsageFlagBitsANDROID.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkSwapchainImageUsageFlagsANDROID): bool = cint(a) == cint(b) type VkTimeDomainEXT* {.size: sizeof(cint).} = 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: sizeof(cint).} = enum VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0b00000000000000000000000000000001 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0b00000000000000000000000000000010 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0b00000000000000000000000000000100 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0b00000000000000000000000000001000 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0b00000000000000000000000000010000 func toBits*(flags: openArray[VkDebugReportFlagBitsEXT]): VkDebugReportFlagsEXT = for flag in flags: result = VkDebugReportFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkDebugReportFlagsEXT): seq[VkDebugReportFlagBitsEXT] = for value in VkDebugReportFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkDebugReportFlagsEXT): bool = cint(a) == cint(b) type VkDebugReportObjectTypeEXT* {.size: sizeof(cint).} = enum VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000 VkDeviceMemoryReportEventTypeEXT* {.size: sizeof(cint).} = enum VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4 VkRasterizationOrderAMD* {.size: sizeof(cint).} = enum VK_RASTERIZATION_ORDER_STRICT_AMD = 0 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1 VkExternalMemoryHandleTypeFlagBitsNV* {.size: sizeof(cint).} = enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0b00000000000000000000000000000001 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0b00000000000000000000000000000010 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0b00000000000000000000000000000100 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkExternalMemoryHandleTypeFlagBitsNV]): VkExternalMemoryHandleTypeFlagsNV = for flag in flags: result = VkExternalMemoryHandleTypeFlagsNV(uint(result) or uint(flag)) func toEnums*(number: VkExternalMemoryHandleTypeFlagsNV): seq[VkExternalMemoryHandleTypeFlagBitsNV] = for value in VkExternalMemoryHandleTypeFlagBitsNV.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkExternalMemoryHandleTypeFlagsNV): bool = cint(a) == cint(b) type VkExternalMemoryFeatureFlagBitsNV* {.size: sizeof(cint).} = enum VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0b00000000000000000000000000000001 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0b00000000000000000000000000000010 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkExternalMemoryFeatureFlagBitsNV]): VkExternalMemoryFeatureFlagsNV = for flag in flags: result = VkExternalMemoryFeatureFlagsNV(uint(result) or uint(flag)) func toEnums*(number: VkExternalMemoryFeatureFlagsNV): seq[VkExternalMemoryFeatureFlagBitsNV] = for value in VkExternalMemoryFeatureFlagBitsNV.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkExternalMemoryFeatureFlagsNV): bool = cint(a) == cint(b) type VkValidationCheckEXT* {.size: sizeof(cint).} = enum VK_VALIDATION_CHECK_ALL_EXT = 0 VK_VALIDATION_CHECK_SHADERS_EXT = 1 VkValidationFeatureEnableEXT* {.size: sizeof(cint).} = 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: sizeof(cint).} = enum VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7 VkSubgroupFeatureFlagBits* {.size: sizeof(cint).} = enum VK_SUBGROUP_FEATURE_BASIC_BIT = 0b00000000000000000000000000000001 VK_SUBGROUP_FEATURE_VOTE_BIT = 0b00000000000000000000000000000010 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0b00000000000000000000000000000100 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0b00000000000000000000000000001000 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0b00000000000000000000000000010000 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0b00000000000000000000000000100000 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0b00000000000000000000000001000000 VK_SUBGROUP_FEATURE_QUAD_BIT = 0b00000000000000000000000010000000 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0b00000000000000000000000100000000 func toBits*(flags: openArray[VkSubgroupFeatureFlagBits]): VkSubgroupFeatureFlags = for flag in flags: result = VkSubgroupFeatureFlags(uint(result) or uint(flag)) func toEnums*(number: VkSubgroupFeatureFlags): seq[VkSubgroupFeatureFlagBits] = for value in VkSubgroupFeatureFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkSubgroupFeatureFlags): bool = cint(a) == cint(b) type VkIndirectCommandsLayoutUsageFlagBitsNV* {.size: sizeof(cint).} = enum VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0b00000000000000000000000000000001 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0b00000000000000000000000000000010 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkIndirectCommandsLayoutUsageFlagBitsNV]): VkIndirectCommandsLayoutUsageFlagsNV = for flag in flags: result = VkIndirectCommandsLayoutUsageFlagsNV(uint(result) or uint(flag)) func toEnums*(number: VkIndirectCommandsLayoutUsageFlagsNV): seq[VkIndirectCommandsLayoutUsageFlagBitsNV] = for value in VkIndirectCommandsLayoutUsageFlagBitsNV.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkIndirectCommandsLayoutUsageFlagsNV): bool = cint(a) == cint(b) type VkIndirectStateFlagBitsNV* {.size: sizeof(cint).} = enum VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkIndirectStateFlagBitsNV]): VkIndirectStateFlagsNV = for flag in flags: result = VkIndirectStateFlagsNV(uint(result) or uint(flag)) func toEnums*(number: VkIndirectStateFlagsNV): seq[VkIndirectStateFlagBitsNV] = for value in VkIndirectStateFlagBitsNV.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkIndirectStateFlagsNV): bool = cint(a) == cint(b) type VkIndirectCommandsTokenTypeNV* {.size: sizeof(cint).} = enum VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000 VkPrivateDataSlotCreateFlagBits* {.size: sizeof(cint).} = enum VK_PRIVATE_DATA_SLOT_CREATE_RESERVED_0_BIT_NV = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkPrivateDataSlotCreateFlagBits]): VkPrivateDataSlotCreateFlags = for flag in flags: result = VkPrivateDataSlotCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkPrivateDataSlotCreateFlags): seq[VkPrivateDataSlotCreateFlagBits] = for value in VkPrivateDataSlotCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkPrivateDataSlotCreateFlags): bool = cint(a) == cint(b) type VkDescriptorSetLayoutCreateFlagBits* {.size: sizeof(cint).} = enum VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0b00000000000000000000000000000001 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0b00000000000000000000000000000010 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0b00000000000000000000000000000100 VK_DESCRIPTOR_SET_LAYOUT_CREATE_RESERVED_3_BIT_AMD = 0b00000000000000000000000000001000 VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0b00000000000000000000000000010000 VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0b00000000000000000000000000100000 func toBits*(flags: openArray[VkDescriptorSetLayoutCreateFlagBits]): VkDescriptorSetLayoutCreateFlags = for flag in flags: result = VkDescriptorSetLayoutCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkDescriptorSetLayoutCreateFlags): seq[VkDescriptorSetLayoutCreateFlagBits] = for value in VkDescriptorSetLayoutCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkDescriptorSetLayoutCreateFlags): bool = cint(a) == cint(b) type VkExternalMemoryHandleTypeFlagBits* {.size: sizeof(cint).} = enum VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0b00000000000000000000000000000001 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0b00000000000000000000000000000010 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0b00000000000000000000000000000100 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0b00000000000000000000000000001000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0b00000000000000000000000000010000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0b00000000000000000000000000100000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0b00000000000000000000000001000000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0b00000000000000000000000010000000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0b00000000000000000000000100000000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0b00000000000000000000001000000000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0b00000000000000000000010000000000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0b00000000000000000000100000000000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0b00000000000000000001000000000000 VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV = 0b00000000000000000010000000000000 func toBits*(flags: openArray[VkExternalMemoryHandleTypeFlagBits]): VkExternalMemoryHandleTypeFlags = for flag in flags: result = VkExternalMemoryHandleTypeFlags(uint(result) or uint(flag)) func toEnums*(number: VkExternalMemoryHandleTypeFlags): seq[VkExternalMemoryHandleTypeFlagBits] = for value in VkExternalMemoryHandleTypeFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkExternalMemoryHandleTypeFlags): bool = cint(a) == cint(b) type VkExternalMemoryFeatureFlagBits* {.size: sizeof(cint).} = enum VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0b00000000000000000000000000000001 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0b00000000000000000000000000000010 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkExternalMemoryFeatureFlagBits]): VkExternalMemoryFeatureFlags = for flag in flags: result = VkExternalMemoryFeatureFlags(uint(result) or uint(flag)) func toEnums*(number: VkExternalMemoryFeatureFlags): seq[VkExternalMemoryFeatureFlagBits] = for value in VkExternalMemoryFeatureFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkExternalMemoryFeatureFlags): bool = cint(a) == cint(b) type VkExternalSemaphoreHandleTypeFlagBits* {.size: sizeof(cint).} = enum VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0b00000000000000000000000000000001 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0b00000000000000000000000000000010 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0b00000000000000000000000000000100 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0b00000000000000000000000000001000 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0b00000000000000000000000000010000 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV = 0b00000000000000000000000000100000 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0b00000000000000000000000010000000 func toBits*(flags: openArray[VkExternalSemaphoreHandleTypeFlagBits]): VkExternalSemaphoreHandleTypeFlags = for flag in flags: result = VkExternalSemaphoreHandleTypeFlags(uint(result) or uint(flag)) func toEnums*(number: VkExternalSemaphoreHandleTypeFlags): seq[VkExternalSemaphoreHandleTypeFlagBits] = for value in VkExternalSemaphoreHandleTypeFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkExternalSemaphoreHandleTypeFlags): bool = cint(a) == cint(b) type VkExternalSemaphoreFeatureFlagBits* {.size: sizeof(cint).} = enum VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0b00000000000000000000000000000001 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkExternalSemaphoreFeatureFlagBits]): VkExternalSemaphoreFeatureFlags = for flag in flags: result = VkExternalSemaphoreFeatureFlags(uint(result) or uint(flag)) func toEnums*(number: VkExternalSemaphoreFeatureFlags): seq[VkExternalSemaphoreFeatureFlagBits] = for value in VkExternalSemaphoreFeatureFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkExternalSemaphoreFeatureFlags): bool = cint(a) == cint(b) type VkSemaphoreImportFlagBits* {.size: sizeof(cint).} = enum VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkSemaphoreImportFlagBits]): VkSemaphoreImportFlags = for flag in flags: result = VkSemaphoreImportFlags(uint(result) or uint(flag)) func toEnums*(number: VkSemaphoreImportFlags): seq[VkSemaphoreImportFlagBits] = for value in VkSemaphoreImportFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkSemaphoreImportFlags): bool = cint(a) == cint(b) type VkExternalFenceHandleTypeFlagBits* {.size: sizeof(cint).} = enum VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0b00000000000000000000000000000001 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0b00000000000000000000000000000010 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0b00000000000000000000000000000100 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0b00000000000000000000000000001000 VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV = 0b00000000000000000000000000010000 VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV = 0b00000000000000000000000000100000 func toBits*(flags: openArray[VkExternalFenceHandleTypeFlagBits]): VkExternalFenceHandleTypeFlags = for flag in flags: result = VkExternalFenceHandleTypeFlags(uint(result) or uint(flag)) func toEnums*(number: VkExternalFenceHandleTypeFlags): seq[VkExternalFenceHandleTypeFlagBits] = for value in VkExternalFenceHandleTypeFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkExternalFenceHandleTypeFlags): bool = cint(a) == cint(b) type VkExternalFenceFeatureFlagBits* {.size: sizeof(cint).} = enum VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0b00000000000000000000000000000001 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkExternalFenceFeatureFlagBits]): VkExternalFenceFeatureFlags = for flag in flags: result = VkExternalFenceFeatureFlags(uint(result) or uint(flag)) func toEnums*(number: VkExternalFenceFeatureFlags): seq[VkExternalFenceFeatureFlagBits] = for value in VkExternalFenceFeatureFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkExternalFenceFeatureFlags): bool = cint(a) == cint(b) type VkFenceImportFlagBits* {.size: sizeof(cint).} = enum VK_FENCE_IMPORT_TEMPORARY_BIT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkFenceImportFlagBits]): VkFenceImportFlags = for flag in flags: result = VkFenceImportFlags(uint(result) or uint(flag)) func toEnums*(number: VkFenceImportFlags): seq[VkFenceImportFlagBits] = for value in VkFenceImportFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkFenceImportFlags): bool = cint(a) == cint(b) type VkSurfaceCounterFlagBitsEXT* {.size: sizeof(cint).} = enum VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkSurfaceCounterFlagBitsEXT]): VkSurfaceCounterFlagsEXT = for flag in flags: result = VkSurfaceCounterFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkSurfaceCounterFlagsEXT): seq[VkSurfaceCounterFlagBitsEXT] = for value in VkSurfaceCounterFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkSurfaceCounterFlagsEXT): bool = cint(a) == cint(b) type VkDisplayPowerStateEXT* {.size: sizeof(cint).} = enum VK_DISPLAY_POWER_STATE_OFF_EXT = 0 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1 VK_DISPLAY_POWER_STATE_ON_EXT = 2 VkDeviceEventTypeEXT* {.size: sizeof(cint).} = enum VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0 VkDisplayEventTypeEXT* {.size: sizeof(cint).} = enum VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0 VkPeerMemoryFeatureFlagBits* {.size: sizeof(cint).} = enum VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0b00000000000000000000000000000001 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0b00000000000000000000000000000010 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0b00000000000000000000000000000100 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkPeerMemoryFeatureFlagBits]): VkPeerMemoryFeatureFlags = for flag in flags: result = VkPeerMemoryFeatureFlags(uint(result) or uint(flag)) func toEnums*(number: VkPeerMemoryFeatureFlags): seq[VkPeerMemoryFeatureFlagBits] = for value in VkPeerMemoryFeatureFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkPeerMemoryFeatureFlags): bool = cint(a) == cint(b) type VkMemoryAllocateFlagBits* {.size: sizeof(cint).} = enum VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0b00000000000000000000000000000001 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0b00000000000000000000000000000010 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkMemoryAllocateFlagBits]): VkMemoryAllocateFlags = for flag in flags: result = VkMemoryAllocateFlags(uint(result) or uint(flag)) func toEnums*(number: VkMemoryAllocateFlags): seq[VkMemoryAllocateFlagBits] = for value in VkMemoryAllocateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkMemoryAllocateFlags): bool = cint(a) == cint(b) type VkDeviceGroupPresentModeFlagBitsKHR* {.size: sizeof(cint).} = enum VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0b00000000000000000000000000000001 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0b00000000000000000000000000000010 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0b00000000000000000000000000000100 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkDeviceGroupPresentModeFlagBitsKHR]): VkDeviceGroupPresentModeFlagsKHR = for flag in flags: result = VkDeviceGroupPresentModeFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkDeviceGroupPresentModeFlagsKHR): seq[VkDeviceGroupPresentModeFlagBitsKHR] = for value in VkDeviceGroupPresentModeFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkDeviceGroupPresentModeFlagsKHR): bool = cint(a) == cint(b) type VkSwapchainCreateFlagBitsKHR* {.size: sizeof(cint).} = enum VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0b00000000000000000000000000000001 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0b00000000000000000000000000000010 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0b00000000000000000000000000000100 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0b00000000000000000000000000001000 VK_SWAPCHAIN_CREATE_RESERVED_4_BIT_EXT = 0b00000000000000000000000000010000 func toBits*(flags: openArray[VkSwapchainCreateFlagBitsKHR]): VkSwapchainCreateFlagsKHR = for flag in flags: result = VkSwapchainCreateFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkSwapchainCreateFlagsKHR): seq[VkSwapchainCreateFlagBitsKHR] = for value in VkSwapchainCreateFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkSwapchainCreateFlagsKHR): bool = cint(a) == cint(b) type VkViewportCoordinateSwizzleNV* {.size: sizeof(cint).} = 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: sizeof(cint).} = enum VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1 VkSubpassDescriptionFlagBits* {.size: sizeof(cint).} = enum VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0b00000000000000000000000000000001 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0b00000000000000000000000000000010 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0b00000000000000000000000000000100 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0b00000000000000000000000000001000 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0b00000000000000000000000000010000 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0b00000000000000000000000000100000 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0b00000000000000000000000001000000 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0b00000000000000000000000010000000 func toBits*(flags: openArray[VkSubpassDescriptionFlagBits]): VkSubpassDescriptionFlags = for flag in flags: result = VkSubpassDescriptionFlags(uint(result) or uint(flag)) func toEnums*(number: VkSubpassDescriptionFlags): seq[VkSubpassDescriptionFlagBits] = for value in VkSubpassDescriptionFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkSubpassDescriptionFlags): bool = cint(a) == cint(b) type VkPointClippingBehavior* {.size: sizeof(cint).} = enum VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1 VkSamplerReductionMode* {.size: sizeof(cint).} = enum VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0 VK_SAMPLER_REDUCTION_MODE_MIN = 1 VK_SAMPLER_REDUCTION_MODE_MAX = 2 VkTessellationDomainOrigin* {.size: sizeof(cint).} = enum VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1 VkSamplerYcbcrModelConversion* {.size: sizeof(cint).} = 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: sizeof(cint).} = enum VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1 VkChromaLocation* {.size: sizeof(cint).} = enum VK_CHROMA_LOCATION_COSITED_EVEN = 0 VK_CHROMA_LOCATION_MIDPOINT = 1 VkBlendOverlapEXT* {.size: sizeof(cint).} = enum VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0 VK_BLEND_OVERLAP_DISJOINT_EXT = 1 VK_BLEND_OVERLAP_CONJOINT_EXT = 2 VkCoverageModulationModeNV* {.size: sizeof(cint).} = 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: sizeof(cint).} = enum VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1 VkValidationCacheHeaderVersionEXT* {.size: sizeof(cint).} = enum VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1 VkShaderInfoTypeAMD* {.size: sizeof(cint).} = enum VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0 VK_SHADER_INFO_TYPE_BINARY_AMD = 1 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2 VkQueueGlobalPriorityKHR* {.size: sizeof(cint).} = enum VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024 VkDebugUtilsMessageSeverityFlagBitsEXT* {.size: sizeof(cint).} = enum VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0b00000000000000000000000000000001 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0b00000000000000000000000000010000 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0b00000000000000000000000100000000 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0b00000000000000000001000000000000 func toBits*(flags: openArray[VkDebugUtilsMessageSeverityFlagBitsEXT]): VkDebugUtilsMessageSeverityFlagsEXT = for flag in flags: result = VkDebugUtilsMessageSeverityFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkDebugUtilsMessageSeverityFlagsEXT): seq[VkDebugUtilsMessageSeverityFlagBitsEXT] = for value in VkDebugUtilsMessageSeverityFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkDebugUtilsMessageSeverityFlagsEXT): bool = cint(a) == cint(b) type VkDebugUtilsMessageTypeFlagBitsEXT* {.size: sizeof(cint).} = enum VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0b00000000000000000000000000000001 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0b00000000000000000000000000000010 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0b00000000000000000000000000000100 VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkDebugUtilsMessageTypeFlagBitsEXT]): VkDebugUtilsMessageTypeFlagsEXT = for flag in flags: result = VkDebugUtilsMessageTypeFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkDebugUtilsMessageTypeFlagsEXT): seq[VkDebugUtilsMessageTypeFlagBitsEXT] = for value in VkDebugUtilsMessageTypeFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkDebugUtilsMessageTypeFlagsEXT): bool = cint(a) == cint(b) type VkConservativeRasterizationModeEXT* {.size: sizeof(cint).} = enum VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2 VkDescriptorBindingFlagBits* {.size: sizeof(cint).} = enum VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0b00000000000000000000000000000001 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0b00000000000000000000000000000010 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0b00000000000000000000000000000100 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0b00000000000000000000000000001000 VK_DESCRIPTOR_BINDING_RESERVED_4_BIT_QCOM = 0b00000000000000000000000000010000 func toBits*(flags: openArray[VkDescriptorBindingFlagBits]): VkDescriptorBindingFlags = for flag in flags: result = VkDescriptorBindingFlags(uint(result) or uint(flag)) func toEnums*(number: VkDescriptorBindingFlags): seq[VkDescriptorBindingFlagBits] = for value in VkDescriptorBindingFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkDescriptorBindingFlags): bool = cint(a) == cint(b) type VkVendorId* {.size: sizeof(cint).} = enum VK_VENDOR_ID_VIV = 65537 VK_VENDOR_ID_VSI = 65538 VK_VENDOR_ID_KAZAN = 65539 VK_VENDOR_ID_CODEPLAY = 65540 VK_VENDOR_ID_MESA = 65541 VK_VENDOR_ID_POCL = 65542 VkDriverId* {.size: sizeof(cint).} = enum VK_DRIVER_ID_AMD_PROPRIETARY = 1 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2 VK_DRIVER_ID_MESA_RADV = 3 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8 VK_DRIVER_ID_ARM_PROPRIETARY = 9 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10 VK_DRIVER_ID_GGP_PROPRIETARY = 11 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12 VK_DRIVER_ID_MESA_LLVMPIPE = 13 VK_DRIVER_ID_MOLTENVK = 14 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15 VK_DRIVER_ID_JUICE_PROPRIETARY = 16 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17 VK_DRIVER_ID_MESA_TURNIP = 18 VK_DRIVER_ID_MESA_V3DV = 19 VK_DRIVER_ID_MESA_PANVK = 20 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21 VK_DRIVER_ID_MESA_VENUS = 22 VK_DRIVER_ID_MESA_DOZEN = 23 VK_DRIVER_ID_MESA_NVK = 24 VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25 VkConditionalRenderingFlagBitsEXT* {.size: sizeof(cint).} = enum VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkConditionalRenderingFlagBitsEXT]): VkConditionalRenderingFlagsEXT = for flag in flags: result = VkConditionalRenderingFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkConditionalRenderingFlagsEXT): seq[VkConditionalRenderingFlagBitsEXT] = for value in VkConditionalRenderingFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkConditionalRenderingFlagsEXT): bool = cint(a) == cint(b) type VkResolveModeFlagBits* {.size: sizeof(cint).} = enum VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0b00000000000000000000000000000001 VK_RESOLVE_MODE_AVERAGE_BIT = 0b00000000000000000000000000000010 VK_RESOLVE_MODE_MIN_BIT = 0b00000000000000000000000000000100 VK_RESOLVE_MODE_MAX_BIT = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkResolveModeFlagBits]): VkResolveModeFlags = for flag in flags: result = VkResolveModeFlags(uint(result) or uint(flag)) func toEnums*(number: VkResolveModeFlags): seq[VkResolveModeFlagBits] = for value in VkResolveModeFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkResolveModeFlags): bool = cint(a) == cint(b) const VK_RESOLVE_MODE_NONE* = 0 type VkShadingRatePaletteEntryNV* {.size: sizeof(cint).} = 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: sizeof(cint).} = 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: sizeof(cint).} = enum VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0b00000000000000000000000000000001 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0b00000000000000000000000000000010 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0b00000000000000000000000000000100 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0b00000000000000000000000000001000 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0b00000000000000000000000000010000 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0b00000000000000000000000000100000 func toBits*(flags: openArray[VkGeometryInstanceFlagBitsKHR]): VkGeometryInstanceFlagsKHR = for flag in flags: result = VkGeometryInstanceFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkGeometryInstanceFlagsKHR): seq[VkGeometryInstanceFlagBitsKHR] = for value in VkGeometryInstanceFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkGeometryInstanceFlagsKHR): bool = cint(a) == cint(b) type VkGeometryFlagBitsKHR* {.size: sizeof(cint).} = enum VK_GEOMETRY_OPAQUE_BIT_KHR = 0b00000000000000000000000000000001 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkGeometryFlagBitsKHR]): VkGeometryFlagsKHR = for flag in flags: result = VkGeometryFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkGeometryFlagsKHR): seq[VkGeometryFlagBitsKHR] = for value in VkGeometryFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkGeometryFlagsKHR): bool = cint(a) == cint(b) type VkBuildAccelerationStructureFlagBitsKHR* {.size: sizeof(cint).} = enum VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0b00000000000000000000000000000001 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0b00000000000000000000000000000010 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0b00000000000000000000000000000100 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0b00000000000000000000000000001000 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0b00000000000000000000000000010000 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0b00000000000000000000000000100000 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0b00000000000000000000000001000000 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0b00000000000000000000000010000000 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0b00000000000000000000000100000000 VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_BIT_9_NV = 0b00000000000000000000001000000000 VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_BIT_10_NV = 0b00000000000000000000010000000000 func toBits*(flags: openArray[VkBuildAccelerationStructureFlagBitsKHR]): VkBuildAccelerationStructureFlagsKHR = for flag in flags: result = VkBuildAccelerationStructureFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkBuildAccelerationStructureFlagsKHR): seq[VkBuildAccelerationStructureFlagBitsKHR] = for value in VkBuildAccelerationStructureFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkBuildAccelerationStructureFlagsKHR): bool = cint(a) == cint(b) type VkAccelerationStructureCreateFlagBitsKHR* {.size: sizeof(cint).} = enum VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0b00000000000000000000000000000001 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0b00000000000000000000000000000100 VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkAccelerationStructureCreateFlagBitsKHR]): VkAccelerationStructureCreateFlagsKHR = for flag in flags: result = VkAccelerationStructureCreateFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkAccelerationStructureCreateFlagsKHR): seq[VkAccelerationStructureCreateFlagBitsKHR] = for value in VkAccelerationStructureCreateFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkAccelerationStructureCreateFlagsKHR): bool = cint(a) == cint(b) type VkCopyAccelerationStructureModeKHR* {.size: sizeof(cint).} = 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 VkBuildAccelerationStructureModeKHR* {.size: sizeof(cint).} = enum VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1 VkAccelerationStructureTypeKHR* {.size: sizeof(cint).} = enum VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2 VkGeometryTypeKHR* {.size: sizeof(cint).} = enum VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0 VK_GEOMETRY_TYPE_AABBS_KHR = 1 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2 VkAccelerationStructureMemoryRequirementsTypeNV* {.size: sizeof(cint).} = enum VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2 VkAccelerationStructureBuildTypeKHR* {.size: sizeof(cint).} = 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: sizeof(cint).} = 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 VkAccelerationStructureCompatibilityKHR* {.size: sizeof(cint).} = enum VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1 VkShaderGroupShaderKHR* {.size: sizeof(cint).} = enum VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3 VkMemoryOverallocationBehaviorAMD* {.size: sizeof(cint).} = enum VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2 VkFramebufferCreateFlagBits* {.size: sizeof(cint).} = enum VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkFramebufferCreateFlagBits]): VkFramebufferCreateFlags = for flag in flags: result = VkFramebufferCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkFramebufferCreateFlags): seq[VkFramebufferCreateFlagBits] = for value in VkFramebufferCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkFramebufferCreateFlags): bool = cint(a) == cint(b) type VkScopeNV* {.size: sizeof(cint).} = enum VK_SCOPE_DEVICE_NV = 1 VK_SCOPE_WORKGROUP_NV = 2 VK_SCOPE_SUBGROUP_NV = 3 VK_SCOPE_QUEUE_FAMILY_NV = 5 VkComponentTypeNV* {.size: sizeof(cint).} = 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: sizeof(cint).} = enum VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0b00000000000000000000000000000001 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0b00000000000000000000000000000010 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0b00000000000000000000000000000100 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkDeviceDiagnosticsConfigFlagBitsNV]): VkDeviceDiagnosticsConfigFlagsNV = for flag in flags: result = VkDeviceDiagnosticsConfigFlagsNV(uint(result) or uint(flag)) func toEnums*(number: VkDeviceDiagnosticsConfigFlagsNV): seq[VkDeviceDiagnosticsConfigFlagBitsNV] = for value in VkDeviceDiagnosticsConfigFlagBitsNV.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkDeviceDiagnosticsConfigFlagsNV): bool = cint(a) == cint(b) type VkPipelineCreationFeedbackFlagBits* {.size: sizeof(cint).} = enum VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0b00000000000000000000000000000001 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0b00000000000000000000000000000010 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkPipelineCreationFeedbackFlagBits]): VkPipelineCreationFeedbackFlags = for flag in flags: result = VkPipelineCreationFeedbackFlags(uint(result) or uint(flag)) func toEnums*(number: VkPipelineCreationFeedbackFlags): seq[VkPipelineCreationFeedbackFlagBits] = for value in VkPipelineCreationFeedbackFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkPipelineCreationFeedbackFlags): bool = cint(a) == cint(b) type VkFullScreenExclusiveEXT* {.size: sizeof(cint).} = 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: sizeof(cint).} = enum VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2 VkMemoryDecompressionMethodFlagBitsNV* {.size: 8.} = enum VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 0b0000000000000000000000000000000000000000000000000000000000000001 func toBits*(flags: openArray[VkMemoryDecompressionMethodFlagBitsNV]): VkMemoryDecompressionMethodFlagsNV = for flag in flags: result = VkMemoryDecompressionMethodFlagsNV(uint64(result) or uint64(flag)) func toEnums*(number: VkMemoryDecompressionMethodFlagsNV): seq[VkMemoryDecompressionMethodFlagBitsNV] = for value in VkMemoryDecompressionMethodFlagBitsNV.items: if (cast[uint64](value) and uint64(number)) > 0: result.add value proc `==`*(a, b: VkMemoryDecompressionMethodFlagsNV): bool = uint64(a) == uint64(b) type VkPerformanceCounterUnitKHR* {.size: sizeof(cint).} = 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: sizeof(cint).} = 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: sizeof(cint).} = enum VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0b00000000000000000000000000000001 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkPerformanceCounterDescriptionFlagBitsKHR]): VkPerformanceCounterDescriptionFlagsKHR = for flag in flags: result = VkPerformanceCounterDescriptionFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkPerformanceCounterDescriptionFlagsKHR): seq[VkPerformanceCounterDescriptionFlagBitsKHR] = for value in VkPerformanceCounterDescriptionFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkPerformanceCounterDescriptionFlagsKHR): bool = cint(a) == cint(b) type VkPerformanceConfigurationTypeINTEL* {.size: sizeof(cint).} = enum VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0 VkQueryPoolSamplingModeINTEL* {.size: sizeof(cint).} = enum VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0 VkPerformanceOverrideTypeINTEL* {.size: sizeof(cint).} = enum VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1 VkPerformanceParameterTypeINTEL* {.size: sizeof(cint).} = enum VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1 VkPerformanceValueTypeINTEL* {.size: sizeof(cint).} = 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: sizeof(cint).} = 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: sizeof(cint).} = 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: sizeof(cint).} = 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 VkFaultLevel* {.size: sizeof(cint).} = enum VK_FAULT_LEVEL_UNASSIGNED = 0 VK_FAULT_LEVEL_CRITICAL = 1 VK_FAULT_LEVEL_RECOVERABLE = 2 VK_FAULT_LEVEL_WARNING = 3 VkFaultType* {.size: sizeof(cint).} = enum VK_FAULT_TYPE_INVALID = 0 VK_FAULT_TYPE_UNASSIGNED = 1 VK_FAULT_TYPE_IMPLEMENTATION = 2 VK_FAULT_TYPE_SYSTEM = 3 VK_FAULT_TYPE_PHYSICAL_DEVICE = 4 VK_FAULT_TYPE_COMMAND_BUFFER_FULL = 5 VK_FAULT_TYPE_INVALID_API_USAGE = 6 VkFaultQueryBehavior* {.size: sizeof(cint).} = enum VK_FAULT_QUERY_BEHAVIOR_GET_AND_CLEAR_ALL_FAULTS = 0 VkToolPurposeFlagBits* {.size: sizeof(cint).} = enum VK_TOOL_PURPOSE_VALIDATION_BIT = 0b00000000000000000000000000000001 VK_TOOL_PURPOSE_PROFILING_BIT = 0b00000000000000000000000000000010 VK_TOOL_PURPOSE_TRACING_BIT = 0b00000000000000000000000000000100 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0b00000000000000000000000000001000 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0b00000000000000000000000000010000 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0b00000000000000000000000000100000 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0b00000000000000000000000001000000 func toBits*(flags: openArray[VkToolPurposeFlagBits]): VkToolPurposeFlags = for flag in flags: result = VkToolPurposeFlags(uint(result) or uint(flag)) func toEnums*(number: VkToolPurposeFlags): seq[VkToolPurposeFlagBits] = for value in VkToolPurposeFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkToolPurposeFlags): bool = cint(a) == cint(b) type VkPipelineMatchControl* {.size: sizeof(cint).} = enum VK_PIPELINE_MATCH_CONTROL_APPLICATION_UUID_EXACT_MATCH = 0 VkFragmentShadingRateCombinerOpKHR* {.size: sizeof(cint).} = enum VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4 VkFragmentShadingRateNV* {.size: sizeof(cint).} = enum VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15 VkFragmentShadingRateTypeNV* {.size: sizeof(cint).} = enum VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1 VkSubpassMergeStatusEXT* {.size: sizeof(cint).} = enum VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13 VkAccessFlagBits2* {.size: 8.} = enum VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0b0000000000000000000000000000000000000000000000000000000000000001 VK_ACCESS_2_INDEX_READ_BIT = 0b0000000000000000000000000000000000000000000000000000000000000010 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0b0000000000000000000000000000000000000000000000000000000000000100 VK_ACCESS_2_UNIFORM_READ_BIT = 0b0000000000000000000000000000000000000000000000000000000000001000 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0b0000000000000000000000000000000000000000000000000000000000010000 VK_ACCESS_2_SHADER_READ_BIT = 0b0000000000000000000000000000000000000000000000000000000000100000 VK_ACCESS_2_SHADER_WRITE_BIT = 0b0000000000000000000000000000000000000000000000000000000001000000 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0b0000000000000000000000000000000000000000000000000000000010000000 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0b0000000000000000000000000000000000000000000000000000000100000000 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0b0000000000000000000000000000000000000000000000000000001000000000 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0b0000000000000000000000000000000000000000000000000000010000000000 VK_ACCESS_2_TRANSFER_READ_BIT = 0b0000000000000000000000000000000000000000000000000000100000000000 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0b0000000000000000000000000000000000000000000000000001000000000000 VK_ACCESS_2_HOST_READ_BIT = 0b0000000000000000000000000000000000000000000000000010000000000000 VK_ACCESS_2_HOST_WRITE_BIT = 0b0000000000000000000000000000000000000000000000000100000000000000 VK_ACCESS_2_MEMORY_READ_BIT = 0b0000000000000000000000000000000000000000000000001000000000000000 VK_ACCESS_2_MEMORY_WRITE_BIT = 0b0000000000000000000000000000000000000000000000010000000000000000 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0b0000000000000000000000000000000000000000000000100000000000000000 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0b0000000000000000000000000000000000000000000001000000000000000000 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0b0000000000000000000000000000000000000000000010000000000000000000 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0b0000000000000000000000000000000000000000000100000000000000000000 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0b0000000000000000000000000000000000000000001000000000000000000000 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0b0000000000000000000000000000000000000000010000000000000000000000 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0b0000000000000000000000000000000000000000100000000000000000000000 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0b0000000000000000000000000000000000000001000000000000000000000000 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0b0000000000000000000000000000000000000010000000000000000000000000 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0b0000000000000000000000000000000000000100000000000000000000000000 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0b0000000000000000000000000000000000001000000000000000000000000000 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0b0000000000000000000000000000000100000000000000000000000000000000 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0b0000000000000000000000000000001000000000000000000000000000000000 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0b0000000000000000000000000000010000000000000000000000000000000000 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0b0000000000000000000000000000100000000000000000000000000000000000 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0b0000000000000000000000000001000000000000000000000000000000000000 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0b0000000000000000000000000010000000000000000000000000000000000000 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0b0000000000000000000000000100000000000000000000000000000000000000 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0b0000000000000000000000001000000000000000000000000000000000000000 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0b0000000000000000000000010000000000000000000000000000000000000000 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0b0000000000000000000000100000000000000000000000000000000000000000 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0b0000000000000000000001000000000000000000000000000000000000000000 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0b0000000000000000000010000000000000000000000000000000000000000000 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0b0000000000000000000100000000000000000000000000000000000000000000 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0b0000000000000000001000000000000000000000000000000000000000000000 VK_ACCESS_2_RESERVED_46_BIT_EXT = 0b0000000000000000010000000000000000000000000000000000000000000000 func toBits*(flags: openArray[VkAccessFlagBits2]): VkAccessFlags2 = for flag in flags: result = VkAccessFlags2(uint64(result) or uint64(flag)) func toEnums*(number: VkAccessFlags2): seq[VkAccessFlagBits2] = for value in VkAccessFlagBits2.items: if (cast[uint64](value) and uint64(number)) > 0: result.add value proc `==`*(a, b: VkAccessFlags2): bool = uint64(a) == uint64(b) const VK_ACCESS_2_NONE* = 0 type VkPipelineStageFlagBits2* {.size: 8.} = enum VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0b0000000000000000000000000000000000000000000000000000000000000001 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0b0000000000000000000000000000000000000000000000000000000000000010 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0b0000000000000000000000000000000000000000000000000000000000000100 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0b0000000000000000000000000000000000000000000000000000000000001000 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0b0000000000000000000000000000000000000000000000000000000000010000 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0b0000000000000000000000000000000000000000000000000000000000100000 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0b0000000000000000000000000000000000000000000000000000000001000000 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0b0000000000000000000000000000000000000000000000000000000010000000 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0b0000000000000000000000000000000000000000000000000000000100000000 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0b0000000000000000000000000000000000000000000000000000001000000000 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0b0000000000000000000000000000000000000000000000000000010000000000 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0b0000000000000000000000000000000000000000000000000000100000000000 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0b0000000000000000000000000000000000000000000000000001000000000000 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0b0000000000000000000000000000000000000000000000000010000000000000 VK_PIPELINE_STAGE_2_HOST_BIT = 0b0000000000000000000000000000000000000000000000000100000000000000 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0b0000000000000000000000000000000000000000000000001000000000000000 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0b0000000000000000000000000000000000000000000000010000000000000000 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0b0000000000000000000000000000000000000000000000100000000000000000 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0b0000000000000000000000000000000000000000000001000000000000000000 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0b0000000000000000000000000000000000000000000010000000000000000000 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0b0000000000000000000000000000000000000000000100000000000000000000 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0b0000000000000000000000000000000000000000001000000000000000000000 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0b0000000000000000000000000000000000000000010000000000000000000000 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0b0000000000000000000000000000000000000000100000000000000000000000 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0b0000000000000000000000000000000000000001000000000000000000000000 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0b0000000000000000000000000000000000000010000000000000000000000000 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0b0000000000000000000000000000000000000100000000000000000000000000 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0b0000000000000000000000000000000000001000000000000000000000000000 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0b0000000000000000000000000000000000010000000000000000000000000000 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0b0000000000000000000000000000000000100000000000000000000000000000 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0b0000000000000000000000000000000001000000000000000000000000000000 VK_PIPELINE_STAGE_2_COPY_BIT = 0b0000000000000000000000000000000100000000000000000000000000000000 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0b0000000000000000000000000000001000000000000000000000000000000000 VK_PIPELINE_STAGE_2_BLIT_BIT = 0b0000000000000000000000000000010000000000000000000000000000000000 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0b0000000000000000000000000000100000000000000000000000000000000000 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0b0000000000000000000000000001000000000000000000000000000000000000 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0b0000000000000000000000000010000000000000000000000000000000000000 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0b0000000000000000000000000100000000000000000000000000000000000000 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0b0000000000000000000000001000000000000000000000000000000000000000 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0b0000000000000000000000010000000000000000000000000000000000000000 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0b0000000000000000000000100000000000000000000000000000000000000000 func toBits*(flags: openArray[VkPipelineStageFlagBits2]): VkPipelineStageFlags2 = for flag in flags: result = VkPipelineStageFlags2(uint64(result) or uint64(flag)) func toEnums*(number: VkPipelineStageFlags2): seq[VkPipelineStageFlagBits2] = for value in VkPipelineStageFlagBits2.items: if (cast[uint64](value) and uint64(number)) > 0: result.add value proc `==`*(a, b: VkPipelineStageFlags2): bool = uint64(a) == uint64(b) const VK_PIPELINE_STAGE_2_NONE* = 0 type VkSubmitFlagBits* {.size: sizeof(cint).} = enum VK_SUBMIT_PROTECTED_BIT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkSubmitFlagBits]): VkSubmitFlags = for flag in flags: result = VkSubmitFlags(uint(result) or uint(flag)) func toEnums*(number: VkSubmitFlags): seq[VkSubmitFlagBits] = for value in VkSubmitFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkSubmitFlags): bool = cint(a) == cint(b) type VkEventCreateFlagBits* {.size: sizeof(cint).} = enum VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkEventCreateFlagBits]): VkEventCreateFlags = for flag in flags: result = VkEventCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkEventCreateFlags): seq[VkEventCreateFlagBits] = for value in VkEventCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkEventCreateFlags): bool = cint(a) == cint(b) type VkPipelineLayoutCreateFlagBits* {.size: sizeof(cint).} = enum VK_PIPELINE_LAYOUT_CREATE_RESERVED_0_BIT_AMD = 0b00000000000000000000000000000001 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkPipelineLayoutCreateFlagBits]): VkPipelineLayoutCreateFlags = for flag in flags: result = VkPipelineLayoutCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkPipelineLayoutCreateFlags): seq[VkPipelineLayoutCreateFlagBits] = for value in VkPipelineLayoutCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkPipelineLayoutCreateFlags): bool = cint(a) == cint(b) type VkSciSyncClientTypeNV* {.size: sizeof(cint).} = enum VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_NV = 0 VK_SCI_SYNC_CLIENT_TYPE_WAITER_NV = 1 VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_WAITER_NV = 2 VkSciSyncPrimitiveTypeNV* {.size: sizeof(cint).} = enum VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV = 0 VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV = 1 VkProvokingVertexModeEXT* {.size: sizeof(cint).} = enum VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1 VkPipelineCacheValidationVersion* {.size: sizeof(cint).} = enum VK_PIPELINE_CACHE_VALIDATION_VERSION_SAFETY_CRITICAL_ONE = 1 VkAccelerationStructureMotionInstanceTypeNV* {.size: sizeof(cint).} = enum VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2 VkPipelineColorBlendStateCreateFlagBits* {.size: sizeof(cint).} = enum VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkPipelineColorBlendStateCreateFlagBits]): VkPipelineColorBlendStateCreateFlags = for flag in flags: result = VkPipelineColorBlendStateCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkPipelineColorBlendStateCreateFlags): seq[VkPipelineColorBlendStateCreateFlagBits] = for value in VkPipelineColorBlendStateCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkPipelineColorBlendStateCreateFlags): bool = cint(a) == cint(b) type VkPipelineDepthStencilStateCreateFlagBits* {.size: sizeof(cint).} = enum VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0b00000000000000000000000000000001 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkPipelineDepthStencilStateCreateFlagBits]): VkPipelineDepthStencilStateCreateFlags = for flag in flags: result = VkPipelineDepthStencilStateCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkPipelineDepthStencilStateCreateFlags): seq[VkPipelineDepthStencilStateCreateFlagBits] = for value in VkPipelineDepthStencilStateCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkPipelineDepthStencilStateCreateFlags): bool = cint(a) == cint(b) type VkGraphicsPipelineLibraryFlagBitsEXT* {.size: sizeof(cint).} = enum VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0b00000000000000000000000000000001 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0b00000000000000000000000000000010 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0b00000000000000000000000000000100 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkGraphicsPipelineLibraryFlagBitsEXT]): VkGraphicsPipelineLibraryFlagsEXT = for flag in flags: result = VkGraphicsPipelineLibraryFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkGraphicsPipelineLibraryFlagsEXT): seq[VkGraphicsPipelineLibraryFlagBitsEXT] = for value in VkGraphicsPipelineLibraryFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkGraphicsPipelineLibraryFlagsEXT): bool = cint(a) == cint(b) type VkDeviceAddressBindingFlagBitsEXT* {.size: sizeof(cint).} = enum VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkDeviceAddressBindingFlagBitsEXT]): VkDeviceAddressBindingFlagsEXT = for flag in flags: result = VkDeviceAddressBindingFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkDeviceAddressBindingFlagsEXT): seq[VkDeviceAddressBindingFlagBitsEXT] = for value in VkDeviceAddressBindingFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkDeviceAddressBindingFlagsEXT): bool = cint(a) == cint(b) type VkDeviceAddressBindingTypeEXT* {.size: sizeof(cint).} = enum VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0 VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1 VkPresentScalingFlagBitsEXT* {.size: sizeof(cint).} = enum VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 0b00000000000000000000000000000001 VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 0b00000000000000000000000000000010 VK_PRESENT_SCALING_STRETCH_BIT_EXT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkPresentScalingFlagBitsEXT]): VkPresentScalingFlagsEXT = for flag in flags: result = VkPresentScalingFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkPresentScalingFlagsEXT): seq[VkPresentScalingFlagBitsEXT] = for value in VkPresentScalingFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkPresentScalingFlagsEXT): bool = cint(a) == cint(b) type VkPresentGravityFlagBitsEXT* {.size: sizeof(cint).} = enum VK_PRESENT_GRAVITY_MIN_BIT_EXT = 0b00000000000000000000000000000001 VK_PRESENT_GRAVITY_MAX_BIT_EXT = 0b00000000000000000000000000000010 VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkPresentGravityFlagBitsEXT]): VkPresentGravityFlagsEXT = for flag in flags: result = VkPresentGravityFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkPresentGravityFlagsEXT): seq[VkPresentGravityFlagBitsEXT] = for value in VkPresentGravityFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkPresentGravityFlagsEXT): bool = cint(a) == cint(b) type VkVideoCodecOperationFlagBitsKHR* {.size: sizeof(cint).} = enum VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0b00000000000000000000000000000001 VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0b00000000000000000000000000000010 VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT = 0b00000000000000010000000000000000 VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT = 0b00000000000000100000000000000000 func toBits*(flags: openArray[VkVideoCodecOperationFlagBitsKHR]): VkVideoCodecOperationFlagsKHR = for flag in flags: result = VkVideoCodecOperationFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkVideoCodecOperationFlagsKHR): seq[VkVideoCodecOperationFlagBitsKHR] = for value in VkVideoCodecOperationFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoCodecOperationFlagsKHR): bool = cint(a) == cint(b) const VK_VIDEO_CODEC_OPERATION_NONE_KHR* = 0 type VkVideoChromaSubsamplingFlagBitsKHR* {.size: sizeof(cint).} = enum VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0b00000000000000000000000000000001 VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0b00000000000000000000000000000010 VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0b00000000000000000000000000000100 VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkVideoChromaSubsamplingFlagBitsKHR]): VkVideoChromaSubsamplingFlagsKHR = for flag in flags: result = VkVideoChromaSubsamplingFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkVideoChromaSubsamplingFlagsKHR): seq[VkVideoChromaSubsamplingFlagBitsKHR] = for value in VkVideoChromaSubsamplingFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoChromaSubsamplingFlagsKHR): bool = cint(a) == cint(b) const VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR* = 0 type VkVideoComponentBitDepthFlagBitsKHR* {.size: sizeof(cint).} = enum VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0b00000000000000000000000000000001 VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0b00000000000000000000000000000100 VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0b00000000000000000000000000010000 func toBits*(flags: openArray[VkVideoComponentBitDepthFlagBitsKHR]): VkVideoComponentBitDepthFlagsKHR = for flag in flags: result = VkVideoComponentBitDepthFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkVideoComponentBitDepthFlagsKHR): seq[VkVideoComponentBitDepthFlagBitsKHR] = for value in VkVideoComponentBitDepthFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoComponentBitDepthFlagsKHR): bool = cint(a) == cint(b) const VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR* = 0 type VkVideoCapabilityFlagBitsKHR* {.size: sizeof(cint).} = enum VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0b00000000000000000000000000000001 VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkVideoCapabilityFlagBitsKHR]): VkVideoCapabilityFlagsKHR = for flag in flags: result = VkVideoCapabilityFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkVideoCapabilityFlagsKHR): seq[VkVideoCapabilityFlagBitsKHR] = for value in VkVideoCapabilityFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoCapabilityFlagsKHR): bool = cint(a) == cint(b) type VkVideoSessionCreateFlagBitsKHR* {.size: sizeof(cint).} = enum VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkVideoSessionCreateFlagBitsKHR]): VkVideoSessionCreateFlagsKHR = for flag in flags: result = VkVideoSessionCreateFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkVideoSessionCreateFlagsKHR): seq[VkVideoSessionCreateFlagBitsKHR] = for value in VkVideoSessionCreateFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoSessionCreateFlagsKHR): bool = cint(a) == cint(b) type VkVideoDecodeH264PictureLayoutFlagBitsKHR* {.size: sizeof(cint).} = enum VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 0b00000000000000000000000000000001 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkVideoDecodeH264PictureLayoutFlagBitsKHR]): VkVideoDecodeH264PictureLayoutFlagsKHR = for flag in flags: result = VkVideoDecodeH264PictureLayoutFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkVideoDecodeH264PictureLayoutFlagsKHR): seq[VkVideoDecodeH264PictureLayoutFlagBitsKHR] = for value in VkVideoDecodeH264PictureLayoutFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoDecodeH264PictureLayoutFlagsKHR): bool = cint(a) == cint(b) const VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR* = 0 type VkVideoCodingControlFlagBitsKHR* {.size: sizeof(cint).} = enum VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0b00000000000000000000000000000001 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0b00000000000000000000000000000010 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_LAYER_BIT_KHR = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkVideoCodingControlFlagBitsKHR]): VkVideoCodingControlFlagsKHR = for flag in flags: result = VkVideoCodingControlFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkVideoCodingControlFlagsKHR): seq[VkVideoCodingControlFlagBitsKHR] = for value in VkVideoCodingControlFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoCodingControlFlagsKHR): bool = cint(a) == cint(b) type VkQueryResultStatusKHR* {.size: sizeof(cint).} = enum VK_QUERY_RESULT_STATUS_ERROR_KHR = -1 VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0 VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1 VkVideoDecodeUsageFlagBitsKHR* {.size: sizeof(cint).} = enum VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0b00000000000000000000000000000001 VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0b00000000000000000000000000000010 VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkVideoDecodeUsageFlagBitsKHR]): VkVideoDecodeUsageFlagsKHR = for flag in flags: result = VkVideoDecodeUsageFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkVideoDecodeUsageFlagsKHR): seq[VkVideoDecodeUsageFlagBitsKHR] = for value in VkVideoDecodeUsageFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoDecodeUsageFlagsKHR): bool = cint(a) == cint(b) const VK_VIDEO_DECODE_USAGE_DEFAULT_KHR* = 0 type VkVideoDecodeCapabilityFlagBitsKHR* {.size: sizeof(cint).} = enum VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0b00000000000000000000000000000001 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0b00000000000000000000000000000010 func toBits*(flags: openArray[VkVideoDecodeCapabilityFlagBitsKHR]): VkVideoDecodeCapabilityFlagsKHR = for flag in flags: result = VkVideoDecodeCapabilityFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkVideoDecodeCapabilityFlagsKHR): seq[VkVideoDecodeCapabilityFlagBitsKHR] = for value in VkVideoDecodeCapabilityFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoDecodeCapabilityFlagsKHR): bool = cint(a) == cint(b) type VkVideoEncodeUsageFlagBitsKHR* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 0b00000000000000000000000000000001 VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 0b00000000000000000000000000000010 VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 0b00000000000000000000000000000100 VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkVideoEncodeUsageFlagBitsKHR]): VkVideoEncodeUsageFlagsKHR = for flag in flags: result = VkVideoEncodeUsageFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkVideoEncodeUsageFlagsKHR): seq[VkVideoEncodeUsageFlagBitsKHR] = for value in VkVideoEncodeUsageFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoEncodeUsageFlagsKHR): bool = cint(a) == cint(b) const VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR* = 0 type VkVideoEncodeContentFlagBitsKHR* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 0b00000000000000000000000000000001 VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 0b00000000000000000000000000000010 VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkVideoEncodeContentFlagBitsKHR]): VkVideoEncodeContentFlagsKHR = for flag in flags: result = VkVideoEncodeContentFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkVideoEncodeContentFlagsKHR): seq[VkVideoEncodeContentFlagBitsKHR] = for value in VkVideoEncodeContentFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoEncodeContentFlagsKHR): bool = cint(a) == cint(b) const VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR* = 0 type VkVideoEncodeTuningModeKHR* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0 VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1 VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2 VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3 VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4 VkVideoEncodeCapabilityFlagBitsKHR* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkVideoEncodeCapabilityFlagBitsKHR]): VkVideoEncodeCapabilityFlagsKHR = for flag in flags: result = VkVideoEncodeCapabilityFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkVideoEncodeCapabilityFlagsKHR): seq[VkVideoEncodeCapabilityFlagBitsKHR] = for value in VkVideoEncodeCapabilityFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoEncodeCapabilityFlagsKHR): bool = cint(a) == cint(b) type VkVideoEncodeRateControlModeFlagBitsKHR* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR = 0b00000000000000000000000000000001 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 0b00000000000000000000000000000010 VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkVideoEncodeRateControlModeFlagBitsKHR]): VkVideoEncodeRateControlModeFlagsKHR = for flag in flags: result = VkVideoEncodeRateControlModeFlagsKHR(uint(result) or uint(flag)) func toEnums*(number: VkVideoEncodeRateControlModeFlagsKHR): seq[VkVideoEncodeRateControlModeFlagBitsKHR] = for value in VkVideoEncodeRateControlModeFlagBitsKHR.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoEncodeRateControlModeFlagsKHR): bool = cint(a) == cint(b) type VkVideoEncodeH264CapabilityFlagBitsEXT* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_ENABLED_BIT_EXT = 0b00000000000000000000000000000001 VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_DISABLED_BIT_EXT = 0b00000000000000000000000000000010 VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT = 0b00000000000000000000000000000100 VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT = 0b00000000000000000000000000001000 VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT = 0b00000000000000000000000000010000 VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT = 0b00000000000000000000000000100000 VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT = 0b00000000000000000000000001000000 VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT = 0b00000000000000000000000010000000 VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT = 0b00000000000000000000000100000000 VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT = 0b00000000000000000000001000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT = 0b00000000000000000000010000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT = 0b00000000000000000000100000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT = 0b00000000000000000001000000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT = 0b00000000000000000010000000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT = 0b00000000000000000100000000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT = 0b00000000000000001000000000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT = 0b00000000000000010000000000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT = 0b00000000000000100000000000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT = 0b00000000000001000000000000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT = 0b00000000000010000000000000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT = 0b00000000000100000000000000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT = 0b00000000001000000000000000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT = 0b00000000010000000000000000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT = 0b00000000100000000000000000000000 VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT = 0b00000001000000000000000000000000 func toBits*(flags: openArray[VkVideoEncodeH264CapabilityFlagBitsEXT]): VkVideoEncodeH264CapabilityFlagsEXT = for flag in flags: result = VkVideoEncodeH264CapabilityFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkVideoEncodeH264CapabilityFlagsEXT): seq[VkVideoEncodeH264CapabilityFlagBitsEXT] = for value in VkVideoEncodeH264CapabilityFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoEncodeH264CapabilityFlagsEXT): bool = cint(a) == cint(b) type VkVideoEncodeH264InputModeFlagBitsEXT* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT = 0b00000000000000000000000000000001 VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT = 0b00000000000000000000000000000010 VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkVideoEncodeH264InputModeFlagBitsEXT]): VkVideoEncodeH264InputModeFlagsEXT = for flag in flags: result = VkVideoEncodeH264InputModeFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkVideoEncodeH264InputModeFlagsEXT): seq[VkVideoEncodeH264InputModeFlagBitsEXT] = for value in VkVideoEncodeH264InputModeFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoEncodeH264InputModeFlagsEXT): bool = cint(a) == cint(b) type VkVideoEncodeH264OutputModeFlagBitsEXT* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT = 0b00000000000000000000000000000001 VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT = 0b00000000000000000000000000000010 VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkVideoEncodeH264OutputModeFlagBitsEXT]): VkVideoEncodeH264OutputModeFlagsEXT = for flag in flags: result = VkVideoEncodeH264OutputModeFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkVideoEncodeH264OutputModeFlagsEXT): seq[VkVideoEncodeH264OutputModeFlagBitsEXT] = for value in VkVideoEncodeH264OutputModeFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoEncodeH264OutputModeFlagsEXT): bool = cint(a) == cint(b) type VkVideoEncodeH264RateControlStructureEXT* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT = 0 VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_EXT = 1 VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_EXT = 2 VkImageConstraintsInfoFlagBitsFUCHSIA* {.size: sizeof(cint).} = enum VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA = 0b00000000000000000000000000000001 VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA = 0b00000000000000000000000000000010 VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA = 0b00000000000000000000000000000100 VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA = 0b00000000000000000000000000001000 VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = 0b00000000000000000000000000010000 func toBits*(flags: openArray[VkImageConstraintsInfoFlagBitsFUCHSIA]): VkImageConstraintsInfoFlagsFUCHSIA = for flag in flags: result = VkImageConstraintsInfoFlagsFUCHSIA(uint(result) or uint(flag)) func toEnums*(number: VkImageConstraintsInfoFlagsFUCHSIA): seq[VkImageConstraintsInfoFlagBitsFUCHSIA] = for value in VkImageConstraintsInfoFlagBitsFUCHSIA.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkImageConstraintsInfoFlagsFUCHSIA): bool = cint(a) == cint(b) type VkFormatFeatureFlagBits2* {.size: 8.} = enum VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0b0000000000000000000000000000000000000000000000000000000000000001 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0b0000000000000000000000000000000000000000000000000000000000000010 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0b0000000000000000000000000000000000000000000000000000000000000100 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0b0000000000000000000000000000000000000000000000000000000000001000 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0b0000000000000000000000000000000000000000000000000000000000010000 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0b0000000000000000000000000000000000000000000000000000000000100000 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0b0000000000000000000000000000000000000000000000000000000001000000 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0b0000000000000000000000000000000000000000000000000000000010000000 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0b0000000000000000000000000000000000000000000000000000000100000000 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0b0000000000000000000000000000000000000000000000000000001000000000 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0b0000000000000000000000000000000000000000000000000000010000000000 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0b0000000000000000000000000000000000000000000000000000100000000000 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0b0000000000000000000000000000000000000000000000000001000000000000 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0b0000000000000000000000000000000000000000000000000010000000000000 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0b0000000000000000000000000000000000000000000000000100000000000000 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0b0000000000000000000000000000000000000000000000001000000000000000 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0b0000000000000000000000000000000000000000000000010000000000000000 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0b0000000000000000000000000000000000000000000000100000000000000000 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0b0000000000000000000000000000000000000000000001000000000000000000 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0b0000000000000000000000000000000000000000000010000000000000000000 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0b0000000000000000000000000000000000000000000100000000000000000000 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0b0000000000000000000000000000000000000000001000000000000000000000 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0b0000000000000000000000000000000000000000010000000000000000000000 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0b0000000000000000000000000000000000000000100000000000000000000000 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0b0000000000000000000000000000000000000001000000000000000000000000 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0b0000000000000000000000000000000000000010000000000000000000000000 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0b0000000000000000000000000000000000000100000000000000000000000000 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0b0000000000000000000000000000000000001000000000000000000000000000 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0b0000000000000000000000000000000000010000000000000000000000000000 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0b0000000000000000000000000000000000100000000000000000000000000000 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0b0000000000000000000000000000000001000000000000000000000000000000 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0b0000000000000000000000000000000010000000000000000000000000000000 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0b0000000000000000000000000000000100000000000000000000000000000000 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0b0000000000000000000000000000001000000000000000000000000000000000 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0b0000000000000000000000000000010000000000000000000000000000000000 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0b0000000000000000000000000000100000000000000000000000000000000000 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0b0000000000000000000000000001000000000000000000000000000000000000 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0b0000000000000000000000000010000000000000000000000000000000000000 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0b0000000000000000000000000100000000000000000000000000000000000000 VK_FORMAT_FEATURE_2_RESERVED_39_BIT_EXT = 0b0000000000000000000000001000000000000000000000000000000000000000 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0b0000000000000000000000010000000000000000000000000000000000000000 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0b0000000000000000000000100000000000000000000000000000000000000000 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0b0000000000000000000001000000000000000000000000000000000000000000 VK_FORMAT_FEATURE_2_RESERVED_44_BIT_EXT = 0b0000000000000000000100000000000000000000000000000000000000000000 VK_FORMAT_FEATURE_2_RESERVED_45_BIT_EXT = 0b0000000000000000001000000000000000000000000000000000000000000000 func toBits*(flags: openArray[VkFormatFeatureFlagBits2]): VkFormatFeatureFlags2 = for flag in flags: result = VkFormatFeatureFlags2(uint64(result) or uint64(flag)) func toEnums*(number: VkFormatFeatureFlags2): seq[VkFormatFeatureFlagBits2] = for value in VkFormatFeatureFlagBits2.items: if (cast[uint64](value) and uint64(number)) > 0: result.add value proc `==`*(a, b: VkFormatFeatureFlags2): bool = uint64(a) == uint64(b) type VkRenderingFlagBits* {.size: sizeof(cint).} = enum VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0b00000000000000000000000000000001 VK_RENDERING_SUSPENDING_BIT = 0b00000000000000000000000000000010 VK_RENDERING_RESUMING_BIT = 0b00000000000000000000000000000100 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkRenderingFlagBits]): VkRenderingFlags = for flag in flags: result = VkRenderingFlags(uint(result) or uint(flag)) func toEnums*(number: VkRenderingFlags): seq[VkRenderingFlagBits] = for value in VkRenderingFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkRenderingFlags): bool = cint(a) == cint(b) type VkVideoEncodeH265CapabilityFlagBitsEXT* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_H265_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT = 0b00000000000000000000000000000001 VK_VIDEO_ENCODE_H265_CAPABILITY_SCALING_LISTS_BIT_EXT = 0b00000000000000000000000000000010 VK_VIDEO_ENCODE_H265_CAPABILITY_SAMPLE_ADAPTIVE_OFFSET_ENABLED_BIT_EXT = 0b00000000000000000000000000000100 VK_VIDEO_ENCODE_H265_CAPABILITY_PCM_ENABLE_BIT_EXT = 0b00000000000000000000000000001000 VK_VIDEO_ENCODE_H265_CAPABILITY_SPS_TEMPORAL_MVP_ENABLED_BIT_EXT = 0b00000000000000000000000000010000 VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT = 0b00000000000000000000000000100000 VK_VIDEO_ENCODE_H265_CAPABILITY_INIT_QP_MINUS26_BIT_EXT = 0b00000000000000000000000001000000 VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT = 0b00000000000000000000000010000000 VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT = 0b00000000000000000000000100000000 VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT = 0b00000000000000000000001000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_DISABLED_BIT_EXT = 0b00000000000000000000010000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT = 0b00000000000000000000100000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT = 0b00000000000000000001000000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT = 0b00000000000000000010000000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT = 0b00000000000000000100000000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT = 0b00000000000000001000000000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT = 0b00000000000000010000000000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT = 0b00000000000000100000000000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT = 0b00000000000001000000000000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT = 0b00000000000010000000000000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT = 0b00000000000100000000000000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT = 0b00000000001000000000000000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT = 0b00000000010000000000000000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT = 0b00000000100000000000000000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT = 0b00000001000000000000000000000000 VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT = 0b00000010000000000000000000000000 func toBits*(flags: openArray[VkVideoEncodeH265CapabilityFlagBitsEXT]): VkVideoEncodeH265CapabilityFlagsEXT = for flag in flags: result = VkVideoEncodeH265CapabilityFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkVideoEncodeH265CapabilityFlagsEXT): seq[VkVideoEncodeH265CapabilityFlagBitsEXT] = for value in VkVideoEncodeH265CapabilityFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoEncodeH265CapabilityFlagsEXT): bool = cint(a) == cint(b) type VkVideoEncodeH265InputModeFlagBitsEXT* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT = 0b00000000000000000000000000000001 VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_SEGMENT_BIT_EXT = 0b00000000000000000000000000000010 VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkVideoEncodeH265InputModeFlagBitsEXT]): VkVideoEncodeH265InputModeFlagsEXT = for flag in flags: result = VkVideoEncodeH265InputModeFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkVideoEncodeH265InputModeFlagsEXT): seq[VkVideoEncodeH265InputModeFlagBitsEXT] = for value in VkVideoEncodeH265InputModeFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoEncodeH265InputModeFlagsEXT): bool = cint(a) == cint(b) type VkVideoEncodeH265OutputModeFlagBitsEXT* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT = 0b00000000000000000000000000000001 VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_SEGMENT_BIT_EXT = 0b00000000000000000000000000000010 VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkVideoEncodeH265OutputModeFlagBitsEXT]): VkVideoEncodeH265OutputModeFlagsEXT = for flag in flags: result = VkVideoEncodeH265OutputModeFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkVideoEncodeH265OutputModeFlagsEXT): seq[VkVideoEncodeH265OutputModeFlagBitsEXT] = for value in VkVideoEncodeH265OutputModeFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoEncodeH265OutputModeFlagsEXT): bool = cint(a) == cint(b) type VkVideoEncodeH265RateControlStructureEXT* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT = 0 VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_EXT = 1 VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_EXT = 2 VkVideoEncodeH265CtbSizeFlagBitsEXT* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT = 0b00000000000000000000000000000001 VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT = 0b00000000000000000000000000000010 VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkVideoEncodeH265CtbSizeFlagBitsEXT]): VkVideoEncodeH265CtbSizeFlagsEXT = for flag in flags: result = VkVideoEncodeH265CtbSizeFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkVideoEncodeH265CtbSizeFlagsEXT): seq[VkVideoEncodeH265CtbSizeFlagBitsEXT] = for value in VkVideoEncodeH265CtbSizeFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoEncodeH265CtbSizeFlagsEXT): bool = cint(a) == cint(b) type VkVideoEncodeH265TransformBlockSizeFlagBitsEXT* {.size: sizeof(cint).} = enum VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT = 0b00000000000000000000000000000001 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT = 0b00000000000000000000000000000010 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT = 0b00000000000000000000000000000100 VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkVideoEncodeH265TransformBlockSizeFlagBitsEXT]): VkVideoEncodeH265TransformBlockSizeFlagsEXT = for flag in flags: result = VkVideoEncodeH265TransformBlockSizeFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkVideoEncodeH265TransformBlockSizeFlagsEXT): seq[VkVideoEncodeH265TransformBlockSizeFlagBitsEXT] = for value in VkVideoEncodeH265TransformBlockSizeFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkVideoEncodeH265TransformBlockSizeFlagsEXT): bool = cint(a) == cint(b) type VkExportMetalObjectTypeFlagBitsEXT* {.size: sizeof(cint).} = enum VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT = 0b00000000000000000000000000000001 VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT = 0b00000000000000000000000000000010 VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT = 0b00000000000000000000000000000100 VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT = 0b00000000000000000000000000001000 VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT = 0b00000000000000000000000000010000 VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT = 0b00000000000000000000000000100000 func toBits*(flags: openArray[VkExportMetalObjectTypeFlagBitsEXT]): VkExportMetalObjectTypeFlagsEXT = for flag in flags: result = VkExportMetalObjectTypeFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkExportMetalObjectTypeFlagsEXT): seq[VkExportMetalObjectTypeFlagBitsEXT] = for value in VkExportMetalObjectTypeFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkExportMetalObjectTypeFlagsEXT): bool = cint(a) == cint(b) type VkInstanceCreateFlagBits* {.size: sizeof(cint).} = enum VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkInstanceCreateFlagBits]): VkInstanceCreateFlags = for flag in flags: result = VkInstanceCreateFlags(uint(result) or uint(flag)) func toEnums*(number: VkInstanceCreateFlags): seq[VkInstanceCreateFlagBits] = for value in VkInstanceCreateFlagBits.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkInstanceCreateFlags): bool = cint(a) == cint(b) type VkImageCompressionFlagBitsEXT* {.size: sizeof(cint).} = enum VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0b00000000000000000000000000000001 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0b00000000000000000000000000000010 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkImageCompressionFlagBitsEXT]): VkImageCompressionFlagsEXT = for flag in flags: result = VkImageCompressionFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkImageCompressionFlagsEXT): seq[VkImageCompressionFlagBitsEXT] = for value in VkImageCompressionFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkImageCompressionFlagsEXT): bool = cint(a) == cint(b) const VK_IMAGE_COMPRESSION_DEFAULT_EXT* = 0 type VkImageCompressionFixedRateFlagBitsEXT* {.size: sizeof(cint).} = enum VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0b00000000000000000000000000000001 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0b00000000000000000000000000000010 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0b00000000000000000000000000000100 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0b00000000000000000000000000001000 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0b00000000000000000000000000010000 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0b00000000000000000000000000100000 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0b00000000000000000000000001000000 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0b00000000000000000000000010000000 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0b00000000000000000000000100000000 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0b00000000000000000000001000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0b00000000000000000000010000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0b00000000000000000000100000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0b00000000000000000001000000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0b00000000000000000010000000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0b00000000000000000100000000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0b00000000000000001000000000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0b00000000000000010000000000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0b00000000000000100000000000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0b00000000000001000000000000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0b00000000000010000000000000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0b00000000000100000000000000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0b00000000001000000000000000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0b00000000010000000000000000000000 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0b00000000100000000000000000000000 func toBits*(flags: openArray[VkImageCompressionFixedRateFlagBitsEXT]): VkImageCompressionFixedRateFlagsEXT = for flag in flags: result = VkImageCompressionFixedRateFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkImageCompressionFixedRateFlagsEXT): seq[VkImageCompressionFixedRateFlagBitsEXT] = for value in VkImageCompressionFixedRateFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkImageCompressionFixedRateFlagsEXT): bool = cint(a) == cint(b) const VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT* = 0 type VkPipelineRobustnessBufferBehaviorEXT* {.size: sizeof(cint).} = enum VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = 0 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = 1 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = 2 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = 3 VkPipelineRobustnessImageBehaviorEXT* {.size: sizeof(cint).} = enum VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = 0 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = 1 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = 2 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = 3 VkOpticalFlowGridSizeFlagBitsNV* {.size: sizeof(cint).} = enum VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0b00000000000000000000000000000001 VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0b00000000000000000000000000000010 VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0b00000000000000000000000000000100 VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0b00000000000000000000000000001000 func toBits*(flags: openArray[VkOpticalFlowGridSizeFlagBitsNV]): VkOpticalFlowGridSizeFlagsNV = for flag in flags: result = VkOpticalFlowGridSizeFlagsNV(uint(result) or uint(flag)) func toEnums*(number: VkOpticalFlowGridSizeFlagsNV): seq[VkOpticalFlowGridSizeFlagBitsNV] = for value in VkOpticalFlowGridSizeFlagBitsNV.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkOpticalFlowGridSizeFlagsNV): bool = cint(a) == cint(b) const VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV* = 0 type VkOpticalFlowUsageFlagBitsNV* {.size: sizeof(cint).} = enum VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0b00000000000000000000000000000001 VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0b00000000000000000000000000000010 VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0b00000000000000000000000000000100 VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0b00000000000000000000000000001000 VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0b00000000000000000000000000010000 func toBits*(flags: openArray[VkOpticalFlowUsageFlagBitsNV]): VkOpticalFlowUsageFlagsNV = for flag in flags: result = VkOpticalFlowUsageFlagsNV(uint(result) or uint(flag)) func toEnums*(number: VkOpticalFlowUsageFlagsNV): seq[VkOpticalFlowUsageFlagBitsNV] = for value in VkOpticalFlowUsageFlagBitsNV.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkOpticalFlowUsageFlagsNV): bool = cint(a) == cint(b) const VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV* = 0 type VkOpticalFlowPerformanceLevelNV* {.size: sizeof(cint).} = enum VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3 VkOpticalFlowSessionBindingPointNV* {.size: sizeof(cint).} = enum VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8 VkOpticalFlowSessionCreateFlagBitsNV* {.size: sizeof(cint).} = enum VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0b00000000000000000000000000000001 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0b00000000000000000000000000000010 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0b00000000000000000000000000000100 VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0b00000000000000000000000000001000 VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0b00000000000000000000000000010000 func toBits*(flags: openArray[VkOpticalFlowSessionCreateFlagBitsNV]): VkOpticalFlowSessionCreateFlagsNV = for flag in flags: result = VkOpticalFlowSessionCreateFlagsNV(uint(result) or uint(flag)) func toEnums*(number: VkOpticalFlowSessionCreateFlagsNV): seq[VkOpticalFlowSessionCreateFlagBitsNV] = for value in VkOpticalFlowSessionCreateFlagBitsNV.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkOpticalFlowSessionCreateFlagsNV): bool = cint(a) == cint(b) type VkOpticalFlowExecuteFlagBitsNV* {.size: sizeof(cint).} = enum VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkOpticalFlowExecuteFlagBitsNV]): VkOpticalFlowExecuteFlagsNV = for flag in flags: result = VkOpticalFlowExecuteFlagsNV(uint(result) or uint(flag)) func toEnums*(number: VkOpticalFlowExecuteFlagsNV): seq[VkOpticalFlowExecuteFlagBitsNV] = for value in VkOpticalFlowExecuteFlagBitsNV.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkOpticalFlowExecuteFlagsNV): bool = cint(a) == cint(b) type VkMicromapTypeEXT* {.size: sizeof(cint).} = enum VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0 VkBuildMicromapFlagBitsEXT* {.size: sizeof(cint).} = enum VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0b00000000000000000000000000000001 VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0b00000000000000000000000000000010 VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0b00000000000000000000000000000100 func toBits*(flags: openArray[VkBuildMicromapFlagBitsEXT]): VkBuildMicromapFlagsEXT = for flag in flags: result = VkBuildMicromapFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkBuildMicromapFlagsEXT): seq[VkBuildMicromapFlagBitsEXT] = for value in VkBuildMicromapFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkBuildMicromapFlagsEXT): bool = cint(a) == cint(b) type VkMicromapCreateFlagBitsEXT* {.size: sizeof(cint).} = enum VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0b00000000000000000000000000000001 func toBits*(flags: openArray[VkMicromapCreateFlagBitsEXT]): VkMicromapCreateFlagsEXT = for flag in flags: result = VkMicromapCreateFlagsEXT(uint(result) or uint(flag)) func toEnums*(number: VkMicromapCreateFlagsEXT): seq[VkMicromapCreateFlagBitsEXT] = for value in VkMicromapCreateFlagBitsEXT.items: if (value.ord and cint(number)) > 0: result.add value proc `==`*(a, b: VkMicromapCreateFlagsEXT): bool = cint(a) == cint(b) type VkCopyMicromapModeEXT* {.size: sizeof(cint).} = enum VK_COPY_MICROMAP_MODE_CLONE_EXT = 0 VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1 VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2 VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3 VkBuildMicromapModeEXT* {.size: sizeof(cint).} = enum VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0 VkOpacityMicromapFormatEXT* {.size: sizeof(cint).} = enum VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1 VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2 VkOpacityMicromapSpecialIndexEXT* {.size: sizeof(cint).} = enum VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1 VkDeviceFaultAddressTypeEXT* {.size: sizeof(cint).} = enum VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0 VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1 VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2 VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6 VkDeviceFaultVendorBinaryHeaderVersionEXT* {.size: sizeof(cint).} = enum VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT_ENUM = 1 proc `$`*(bitset: VkFramebufferCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkRenderPassCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkSamplerCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkPipelineCacheCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkPipelineShaderStageCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkDescriptorSetLayoutCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkInstanceCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkDeviceQueueCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkBufferCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkBufferUsageFlags): string = $toEnums(bitset) proc `$`*(bitset: VkColorComponentFlags): string = $toEnums(bitset) proc `$`*(bitset: VkCommandPoolCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkCommandPoolResetFlags): string = $toEnums(bitset) proc `$`*(bitset: VkCommandBufferResetFlags): string = $toEnums(bitset) proc `$`*(bitset: VkCommandBufferUsageFlags): string = $toEnums(bitset) proc `$`*(bitset: VkCullModeFlags): string = $toEnums(bitset) proc `$`*(bitset: VkFenceCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkFormatFeatureFlags): string = $toEnums(bitset) proc `$`*(bitset: VkImageAspectFlags): string = $toEnums(bitset) proc `$`*(bitset: VkImageCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkImageUsageFlags): string = $toEnums(bitset) proc `$`*(bitset: VkImageViewCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkMemoryHeapFlags): string = $toEnums(bitset) proc `$`*(bitset: VkAccessFlags): string = $toEnums(bitset) proc `$`*(bitset: VkMemoryPropertyFlags): string = $toEnums(bitset) proc `$`*(bitset: VkPipelineCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkQueryControlFlags): string = $toEnums(bitset) proc `$`*(bitset: VkQueryPipelineStatisticFlags): string = $toEnums(bitset) proc `$`*(bitset: VkQueryResultFlags): string = $toEnums(bitset) proc `$`*(bitset: VkQueueFlags): string = $toEnums(bitset) proc `$`*(bitset: VkShaderStageFlags): string = $toEnums(bitset) proc `$`*(bitset: VkSparseMemoryBindFlags): string = $toEnums(bitset) proc `$`*(bitset: VkStencilFaceFlags): string = $toEnums(bitset) proc `$`*(bitset: VkPipelineStageFlags): string = $toEnums(bitset) proc `$`*(bitset: VkSparseImageFormatFlags): string = $toEnums(bitset) proc `$`*(bitset: VkSampleCountFlags): string = $toEnums(bitset) proc `$`*(bitset: VkAttachmentDescriptionFlags): string = $toEnums(bitset) proc `$`*(bitset: VkDescriptorPoolCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkDependencyFlags): string = $toEnums(bitset) proc `$`*(bitset: VkEventCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkPipelineLayoutCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkIndirectCommandsLayoutUsageFlagsNV): string = $toEnums(bitset) proc `$`*(bitset: VkIndirectStateFlagsNV): string = $toEnums(bitset) proc `$`*(bitset: VkPrivateDataSlotCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkSubpassDescriptionFlags): string = $toEnums(bitset) proc `$`*(bitset: VkResolveModeFlags): string = $toEnums(bitset) proc `$`*(bitset: VkDescriptorBindingFlags): string = $toEnums(bitset) proc `$`*(bitset: VkConditionalRenderingFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkGeometryFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkGeometryInstanceFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkBuildAccelerationStructureFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkAccelerationStructureCreateFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkDeviceDiagnosticsConfigFlagsNV): string = $toEnums(bitset) proc `$`*(bitset: VkPipelineCreationFeedbackFlags): string = $toEnums(bitset) proc `$`*(bitset: VkPerformanceCounterDescriptionFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkSemaphoreWaitFlags): string = $toEnums(bitset) proc `$`*(bitset: VkToolPurposeFlags): string = $toEnums(bitset) proc `$`*(bitset: VkAccessFlags2): string = $toEnums(bitset) proc `$`*(bitset: VkPipelineStageFlags2): string = $toEnums(bitset) proc `$`*(bitset: VkImageConstraintsInfoFlagsFUCHSIA): string = $toEnums(bitset) proc `$`*(bitset: VkFormatFeatureFlags2): string = $toEnums(bitset) proc `$`*(bitset: VkRenderingFlags): string = $toEnums(bitset) proc `$`*(bitset: VkPipelineDepthStencilStateCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkPipelineColorBlendStateCreateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkImageCompressionFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkImageCompressionFixedRateFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkExportMetalObjectTypeFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkDeviceAddressBindingFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkBuildMicromapFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkMicromapCreateFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkMemoryDecompressionMethodFlagsNV): string = $toEnums(bitset) proc `$`*(bitset: VkCompositeAlphaFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkDisplayPlaneAlphaFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkSurfaceTransformFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkDebugReportFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkExternalMemoryHandleTypeFlagsNV): string = $toEnums(bitset) proc `$`*(bitset: VkExternalMemoryFeatureFlagsNV): string = $toEnums(bitset) proc `$`*(bitset: VkExternalMemoryHandleTypeFlags): string = $toEnums(bitset) proc `$`*(bitset: VkExternalMemoryFeatureFlags): string = $toEnums(bitset) proc `$`*(bitset: VkExternalSemaphoreHandleTypeFlags): string = $toEnums(bitset) proc `$`*(bitset: VkExternalSemaphoreFeatureFlags): string = $toEnums(bitset) proc `$`*(bitset: VkSemaphoreImportFlags): string = $toEnums(bitset) proc `$`*(bitset: VkExternalFenceHandleTypeFlags): string = $toEnums(bitset) proc `$`*(bitset: VkExternalFenceFeatureFlags): string = $toEnums(bitset) proc `$`*(bitset: VkFenceImportFlags): string = $toEnums(bitset) proc `$`*(bitset: VkSurfaceCounterFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkPeerMemoryFeatureFlags): string = $toEnums(bitset) proc `$`*(bitset: VkMemoryAllocateFlags): string = $toEnums(bitset) proc `$`*(bitset: VkDeviceGroupPresentModeFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkSwapchainCreateFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkSubgroupFeatureFlags): string = $toEnums(bitset) proc `$`*(bitset: VkDebugUtilsMessageSeverityFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkDebugUtilsMessageTypeFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkSwapchainImageUsageFlagsANDROID): string = $toEnums(bitset) proc `$`*(bitset: VkSubmitFlags): string = $toEnums(bitset) proc `$`*(bitset: VkGraphicsPipelineLibraryFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkOpticalFlowGridSizeFlagsNV): string = $toEnums(bitset) proc `$`*(bitset: VkOpticalFlowUsageFlagsNV): string = $toEnums(bitset) proc `$`*(bitset: VkOpticalFlowSessionCreateFlagsNV): string = $toEnums(bitset) proc `$`*(bitset: VkOpticalFlowExecuteFlagsNV): string = $toEnums(bitset) proc `$`*(bitset: VkPresentScalingFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkPresentGravityFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkVideoCodecOperationFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkVideoChromaSubsamplingFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkVideoComponentBitDepthFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkVideoCapabilityFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkVideoSessionCreateFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkVideoCodingControlFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkVideoDecodeUsageFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkVideoDecodeCapabilityFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkVideoDecodeH264PictureLayoutFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkVideoEncodeUsageFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkVideoEncodeContentFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkVideoEncodeCapabilityFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkVideoEncodeRateControlModeFlagsKHR): string = $toEnums(bitset) proc `$`*(bitset: VkVideoEncodeH264CapabilityFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkVideoEncodeH264InputModeFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkVideoEncodeH264OutputModeFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkVideoEncodeH265CapabilityFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkVideoEncodeH265InputModeFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkVideoEncodeH265OutputModeFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkVideoEncodeH265CtbSizeFlagsEXT): string = $toEnums(bitset) proc `$`*(bitset: VkVideoEncodeH265TransformBlockSizeFlagsEXT): string = $toEnums(bitset) type VkGeometryFlagsNV* = VkGeometryFlagsKHR VkGeometryInstanceFlagsNV* = VkGeometryInstanceFlagsKHR VkBuildAccelerationStructureFlagsNV* = VkBuildAccelerationStructureFlagsKHR VkPrivateDataSlotCreateFlagsEXT* = VkPrivateDataSlotCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR* = VkDescriptorUpdateTemplateCreateFlags VkPipelineCreationFeedbackFlagsEXT* = VkPipelineCreationFeedbackFlags VkSemaphoreWaitFlagsKHR* = VkSemaphoreWaitFlags VkAccessFlags2KHR* = VkAccessFlags2 VkPipelineStageFlags2KHR* = VkPipelineStageFlags2 VkFormatFeatureFlags2KHR* = VkFormatFeatureFlags2 VkRenderingFlagsKHR* = VkRenderingFlags VkPeerMemoryFeatureFlagsKHR* = VkPeerMemoryFeatureFlags VkMemoryAllocateFlagsKHR* = VkMemoryAllocateFlags VkCommandPoolTrimFlagsKHR* = VkCommandPoolTrimFlags VkExternalMemoryHandleTypeFlagsKHR* = VkExternalMemoryHandleTypeFlags VkExternalMemoryFeatureFlagsKHR* = VkExternalMemoryFeatureFlags VkExternalSemaphoreHandleTypeFlagsKHR* = VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreFeatureFlagsKHR* = VkExternalSemaphoreFeatureFlags VkSemaphoreImportFlagsKHR* = VkSemaphoreImportFlags VkExternalFenceHandleTypeFlagsKHR* = VkExternalFenceHandleTypeFlags VkExternalFenceFeatureFlagsKHR* = VkExternalFenceFeatureFlags VkFenceImportFlagsKHR* = VkFenceImportFlags VkDescriptorBindingFlagsEXT* = VkDescriptorBindingFlags VkResolveModeFlagsKHR* = VkResolveModeFlags VkToolPurposeFlagsEXT* = VkToolPurposeFlags VkSubmitFlagsKHR* = VkSubmitFlags VkPrivateDataSlotCreateFlagBitsEXT* = VkPrivateDataSlotCreateFlagBits VkDescriptorUpdateTemplateTypeKHR* = VkDescriptorUpdateTemplateType VkPointClippingBehaviorKHR* = VkPointClippingBehavior VkQueueGlobalPriorityEXT* = VkQueueGlobalPriorityKHR VkResolveModeFlagBitsKHR* = VkResolveModeFlagBits VkDescriptorBindingFlagBitsEXT* = VkDescriptorBindingFlagBits VkSemaphoreTypeKHR* = VkSemaphoreType VkGeometryFlagBitsNV* = VkGeometryFlagBitsKHR VkGeometryInstanceFlagBitsNV* = VkGeometryInstanceFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV* = VkBuildAccelerationStructureFlagBitsKHR VkCopyAccelerationStructureModeNV* = VkCopyAccelerationStructureModeKHR VkAccelerationStructureTypeNV* = VkAccelerationStructureTypeKHR VkGeometryTypeNV* = VkGeometryTypeKHR VkRayTracingShaderGroupTypeNV* = VkRayTracingShaderGroupTypeKHR VkPipelineCreationFeedbackFlagBitsEXT* = VkPipelineCreationFeedbackFlagBits VkSemaphoreWaitFlagBitsKHR* = VkSemaphoreWaitFlagBits VkToolPurposeFlagBitsEXT* = VkToolPurposeFlagBits VkAccessFlagBits2KHR* = VkAccessFlagBits2 VkPipelineStageFlagBits2KHR* = VkPipelineStageFlagBits2 VkFormatFeatureFlagBits2KHR* = VkFormatFeatureFlagBits2 VkRenderingFlagBitsKHR* = VkRenderingFlagBits 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 VkSubmitFlagBitsKHR* = VkSubmitFlagBits VkDriverIdKHR* = VkDriverId type PFN_vkInternalAllocationNotification* = proc(pUserData: pointer, size: csize_t, allocationType: VkInternalAllocationType, allocationScope: VkSystemAllocationScope): void {.cdecl.} PFN_vkInternalFreeNotification* = proc(pUserData: pointer, size: csize_t, allocationType: VkInternalAllocationType, allocationScope: VkSystemAllocationScope): void {.cdecl.} PFN_vkReallocationFunction* = proc(pUserData: pointer, pOriginal: pointer, size: csize_t, alignment: csize_t, allocationScope: VkSystemAllocationScope): pointer {.cdecl.} PFN_vkAllocationFunction* = proc(pUserData: pointer, size: csize_t, alignment: csize_t, allocationScope: VkSystemAllocationScope): pointer {.cdecl.} PFN_vkFreeFunction* = proc(pUserData: pointer, pMemory: pointer): void {.cdecl.} PFN_vkVoidFunction* = proc(): void {.cdecl.} PFN_vkDebugReportCallbackEXT* = proc(flags: VkDebugReportFlagsEXT, objectType: VkDebugReportObjectTypeEXT, theobject: uint64, location: csize_t, messageCode: int32, pLayerPrefix: cstring, pMessage: cstring, pUserData: pointer): VkBool32 {.cdecl.} PFN_vkDebugUtilsMessengerCallbackEXT* = proc(messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT, messageTypes: VkDebugUtilsMessageTypeFlagsEXT, pCallbackData: ptr VkDebugUtilsMessengerCallbackDataEXT, pUserData: pointer): VkBool32 {.cdecl.} PFN_vkFaultCallbackFunction* = proc(unrecordedFaults: VkBool32, faultCount: uint32, pFaults: ptr VkFaultData): void {.cdecl.} PFN_vkDeviceMemoryReportCallbackEXT* = proc(pCallbackData: ptr VkDeviceMemoryReportCallbackDataEXT, pUserData: pointer): void {.cdecl.} PFN_vkGetInstanceProcAddrLUNARG* = proc(instance: VkInstance, pName: cstring): PFN_vkVoidFunction {.cdecl.} VkBaseOutStructure* = object sType*: VkStructureType pNext*: ptr VkBaseOutStructure VkBaseInStructure* = object sType*: VkStructureType pNext*: ptr VkBaseInStructure 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 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 VkCopyMemoryIndirectCommandNV* = object srcAddress*: VkDeviceAddress dstAddress*: VkDeviceAddress size*: VkDeviceSize VkCopyMemoryToImageIndirectCommandNV* = object srcAddress*: VkDeviceAddress 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*: csize_t 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 thetype*: 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*: csize_t VkSpecializationInfo* = object mapEntryCount*: uint32 pMapEntries*: ptr VkSpecializationMapEntry dataSize*: csize_t 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*: csize_t pInitialData*: pointer VkPipelineCacheHeaderVersionOne* = object headerSize*: uint32 headerVersion*: VkPipelineCacheHeaderVersion vendorID*: uint32 deviceID*: uint32 pipelineCacheUUID*: array[VK_UUID_SIZE, uint8] VkPipelineCacheStageValidationIndexEntry* = object codeSize*: uint64 codeOffset*: uint64 VkPipelineCacheSafetyCriticalIndexEntry* = object pipelineIdentifier*: array[VK_UUID_SIZE, uint8] pipelineMemorySize*: uint64 jsonSize*: uint64 jsonOffset*: uint64 stageIndexCount*: uint32 stageIndexStride*: uint32 stageIndexOffset*: uint64 VkPipelineCacheHeaderVersionSafetyCriticalOne* = object headerVersionOne*: VkPipelineCacheHeaderVersionOne validationVersion*: VkPipelineCacheValidationVersion implementationData*: uint32 pipelineIndexCount*: uint32 pipelineIndexStride*: uint32 pipelineIndexOffset*: uint64 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*: csize_t minTexelBufferOffsetAlignment*: VkDeviceSize minUniformBufferOffsetAlignment*: VkDeviceSize minStorageBufferOffsetAlignment*: VkDeviceSize minTexelOffset*: int32 maxTexelOffset*: uint32 minTexelGatherOffset*: int32 maxTexelGatherOffset*: uint32 minInterpolationOffset*: float32 maxInterpolationOffset*: float32 subPixelInterpolationOffsetBits*: uint32 maxFramebufferWidth*: uint32 maxFramebufferHeight*: uint32 maxFramebufferLayers*: uint32 framebufferColorSampleCounts*: VkSampleCountFlags framebufferDepthSampleCounts*: VkSampleCountFlags framebufferStencilSampleCounts*: VkSampleCountFlags framebufferNoAttachmentsSampleCounts*: VkSampleCountFlags maxColorAttachments*: uint32 sampledImageColorSampleCounts*: VkSampleCountFlags sampledImageIntegerSampleCounts*: VkSampleCountFlags sampledImageDepthSampleCounts*: VkSampleCountFlags sampledImageStencilSampleCounts*: VkSampleCountFlags storageImageSampleCounts*: VkSampleCountFlags maxSampleMaskWords*: uint32 timestampComputeAndGraphics*: VkBool32 timestampPeriod*: float32 maxClipDistances*: uint32 maxCullDistances*: uint32 maxCombinedClipAndCullDistances*: uint32 discreteQueuePriorities*: uint32 pointSizeRange*: array[2, float32] lineWidthRange*: array[2, float32] pointSizeGranularity*: float32 lineWidthGranularity*: float32 strictLines*: VkBool32 standardSampleLocations*: VkBool32 optimalBufferCopyOffsetAlignment*: VkDeviceSize optimalBufferCopyRowPitchAlignment*: VkDeviceSize nonCoherentAtomSize*: VkDeviceSize 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 VkMultiDrawInfoEXT* = object firstVertex*: uint32 vertexCount*: uint32 VkMultiDrawIndexedInfoEXT* = object firstIndex*: uint32 indexCount*: uint32 vertexOffset*: int32 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 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 VkApplicationParametersEXT* = object sType*: VkStructureType pNext*: pointer vendorID*: uint32 deviceID*: uint32 key*: uint32 value*: uint64 VkPipelineRasterizationStateRasterizationOrderAMD* = object sType*: VkStructureType pNext*: pointer rasterizationOrder*: VkRasterizationOrderAMD VkDebugMarkerObjectNameInfoEXT* = object sType*: VkStructureType pNext*: pointer objectType*: VkDebugReportObjectTypeEXT theobject*: uint64 pObjectName*: cstring VkDebugMarkerObjectTagInfoEXT* = object sType*: VkStructureType pNext*: pointer objectType*: VkDebugReportObjectTypeEXT theobject*: uint64 tagName*: uint64 tagSize*: csize_t pTag*: pointer 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 VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV* = object sType*: VkStructureType pNext*: pointer deviceGeneratedCommands*: VkBool32 VkDevicePrivateDataCreateInfo* = object sType*: VkStructureType pNext*: pointer privateDataSlotRequestCount*: uint32 VkDevicePrivateDataCreateInfoEXT* = object VkPrivateDataSlotCreateInfo* = object sType*: VkStructureType pNext*: pointer flags*: VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateInfoEXT* = object VkPhysicalDevicePrivateDataFeatures* = object sType*: VkStructureType pNext*: pointer privateData*: VkBool32 VkPhysicalDevicePrivateDataFeaturesEXT* = object VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV* = object sType*: VkStructureType pNext*: pointer maxGraphicsShaderGroupCount*: uint32 maxIndirectSequenceCount*: uint32 maxIndirectCommandsTokenCount*: uint32 maxIndirectCommandsStreamCount*: uint32 maxIndirectCommandsTokenOffset*: uint32 maxIndirectCommandsStreamStride*: uint32 minSequencesCountBufferOffsetAlignment*: uint32 minSequencesIndexBufferOffsetAlignment*: uint32 minIndirectCommandsBufferOffsetAlignment*: uint32 VkPhysicalDeviceMultiDrawPropertiesEXT* = object sType*: VkStructureType pNext*: pointer maxMultiDrawCount*: 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 thetype*: 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 thetype*: 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 VkImportMemoryFdInfoKHR* = object sType*: VkStructureType pNext*: pointer handleType*: VkExternalMemoryHandleTypeFlagBits fd*: cint VkMemoryFdPropertiesKHR* = object sType*: VkStructureType pNext*: pointer memoryTypeBits*: uint32 VkMemoryGetFdInfoKHR* = object sType*: VkStructureType pNext*: pointer memory*: VkDeviceMemory handleType*: VkExternalMemoryHandleTypeFlagBits 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 VkImportSemaphoreFdInfoKHR* = object sType*: VkStructureType pNext*: pointer semaphore*: VkSemaphore flags*: VkSemaphoreImportFlags handleType*: VkExternalSemaphoreHandleTypeFlagBits fd*: cint 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 VkImportFenceFdInfoKHR* = object sType*: VkStructureType pNext*: pointer fence*: VkFence flags*: VkFenceImportFlags handleType*: VkExternalFenceHandleTypeFlagBits fd*: cint 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*: csize_t stride*: csize_t 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 VkPhysicalDevicePresentIdFeaturesKHR* = object sType*: VkStructureType pNext*: pointer presentId*: VkBool32 VkPresentIdKHR* = object sType*: VkStructureType pNext*: pointer swapchainCount*: uint32 pPresentIds*: ptr uint64 VkPhysicalDevicePresentWaitFeaturesKHR* = object sType*: VkStructureType pNext*: pointer presentWait*: VkBool32 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 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 VkDeviceBufferMemoryRequirements* = object sType*: VkStructureType pNext*: pointer pCreateInfo*: ptr VkBufferCreateInfo VkDeviceBufferMemoryRequirementsKHR* = object VkImageMemoryRequirementsInfo2* = object sType*: VkStructureType pNext*: pointer image*: VkImage VkImageMemoryRequirementsInfo2KHR* = object VkImageSparseMemoryRequirementsInfo2* = object sType*: VkStructureType pNext*: pointer image*: VkImage VkImageSparseMemoryRequirementsInfo2KHR* = object VkDeviceImageMemoryRequirements* = object sType*: VkStructureType pNext*: pointer pCreateInfo*: ptr VkImageCreateInfo planeAspect*: VkImageAspectFlagBits VkDeviceImageMemoryRequirementsKHR* = 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 VkImageViewSlicedCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer sliceOffset*: uint32 sliceCount*: uint32 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 VkPhysicalDeviceMultiDrawFeaturesEXT* = object sType*: VkStructureType pNext*: pointer multiDraw*: 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 VkPhysicalDeviceInlineUniformBlockFeatures* = object sType*: VkStructureType pNext*: pointer inlineUniformBlock*: VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind*: VkBool32 VkPhysicalDeviceInlineUniformBlockFeaturesEXT* = object VkPhysicalDeviceInlineUniformBlockProperties* = object sType*: VkStructureType pNext*: pointer maxInlineUniformBlockSize*: uint32 maxPerStageDescriptorInlineUniformBlocks*: uint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks*: uint32 maxDescriptorSetInlineUniformBlocks*: uint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks*: uint32 VkPhysicalDeviceInlineUniformBlockPropertiesEXT* = object VkWriteDescriptorSetInlineUniformBlock* = object sType*: VkStructureType pNext*: pointer dataSize*: uint32 pData*: pointer VkWriteDescriptorSetInlineUniformBlockEXT* = object VkDescriptorPoolInlineUniformBlockCreateInfo* = object sType*: VkStructureType pNext*: pointer maxInlineUniformBlockBindings*: uint32 VkDescriptorPoolInlineUniformBlockCreateInfoEXT* = object 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*: csize_t pInitialData*: pointer VkShaderModuleValidationCacheCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer validationCache*: VkValidationCacheEXT VkPhysicalDeviceMaintenance3Properties* = object sType*: VkStructureType pNext*: pointer maxPerSetDescriptors*: uint32 maxMemoryAllocationSize*: VkDeviceSize VkPhysicalDeviceMaintenance3PropertiesKHR* = object VkPhysicalDeviceMaintenance4Features* = object sType*: VkStructureType pNext*: pointer maintenance4*: VkBool32 VkPhysicalDeviceMaintenance4FeaturesKHR* = object VkPhysicalDeviceMaintenance4Properties* = object sType*: VkStructureType pNext*: pointer maxBufferSize*: VkDeviceSize VkPhysicalDeviceMaintenance4PropertiesKHR* = 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 VkShaderResourceUsageAMD* = object numUsedVgprs*: uint32 numUsedSgprs*: uint32 ldsSizePerLocalWorkGroup*: uint32 ldsUsageSizeInBytes*: csize_t scratchMemUsageInBytes*: csize_t VkShaderStatisticsInfoAMD* = object shaderStageMask*: VkShaderStageFlags resourceUsage*: VkShaderResourceUsageAMD numPhysicalVgprs*: uint32 numPhysicalSgprs*: uint32 numAvailableVgprs*: uint32 numAvailableSgprs*: uint32 computeWorkGroupSize*: array[3, uint32] VkDeviceQueueGlobalPriorityCreateInfoKHR* = object sType*: VkStructureType pNext*: pointer globalPriority*: VkQueueGlobalPriorityKHR VkDeviceQueueGlobalPriorityCreateInfoEXT* = object VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR* = object sType*: VkStructureType pNext*: pointer globalPriorityQuery*: VkBool32 VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT* = object VkQueueFamilyGlobalPriorityPropertiesKHR* = object sType*: VkStructureType pNext*: pointer priorityCount*: uint32 priorities*: array[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR, VkQueueGlobalPriorityKHR] VkQueueFamilyGlobalPriorityPropertiesEXT* = object VkDebugUtilsObjectNameInfoEXT* = object sType*: VkStructureType pNext*: pointer objectType*: VkObjectType objectHandle*: uint64 pObjectName*: cstring VkDebugUtilsObjectTagInfoEXT* = object sType*: VkStructureType pNext*: pointer objectType*: VkObjectType objectHandle*: uint64 tagName*: uint64 tagSize*: csize_t pTag*: pointer 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 VkPhysicalDeviceDeviceMemoryReportFeaturesEXT* = object sType*: VkStructureType pNext*: pointer deviceMemoryReport*: VkBool32 VkDeviceDeviceMemoryReportCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer flags*: VkDeviceMemoryReportFlagsEXT pfnUserCallback*: PFN_vkDeviceMemoryReportCallbackEXT pUserData*: pointer VkDeviceMemoryReportCallbackDataEXT* = object sType*: VkStructureType pNext*: pointer flags*: VkDeviceMemoryReportFlagsEXT thetype*: VkDeviceMemoryReportEventTypeEXT memoryObjectId*: uint64 size*: VkDeviceSize objectType*: VkObjectType objectHandle*: uint64 heapIndex*: uint32 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 VkCommandBufferInheritanceConditionalRenderingInfoEXT* = object sType*: VkStructureType pNext*: pointer conditionalRenderingEnable*: VkBool32 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 VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT* = object sType*: VkStructureType pNext*: pointer shaderBufferFloat16Atomics*: VkBool32 shaderBufferFloat16AtomicAdd*: VkBool32 shaderBufferFloat16AtomicMinMax*: VkBool32 shaderBufferFloat32AtomicMinMax*: VkBool32 shaderBufferFloat64AtomicMinMax*: VkBool32 shaderSharedFloat16Atomics*: VkBool32 shaderSharedFloat16AtomicAdd*: VkBool32 shaderSharedFloat16AtomicMinMax*: VkBool32 shaderSharedFloat32AtomicMinMax*: VkBool32 shaderSharedFloat64AtomicMinMax*: VkBool32 shaderImageFloat32AtomicMinMax*: VkBool32 sparseImageFloat32AtomicMinMax*: VkBool32 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 VkPhysicalDeviceShaderImageFootprintFeaturesNV* = object sType*: VkStructureType pNext*: pointer imageFootprint*: VkBool32 VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV* = object sType*: VkStructureType pNext*: pointer dedicatedAllocationImageAliasing*: VkBool32 VkPhysicalDeviceCopyMemoryIndirectFeaturesNV* = object sType*: VkStructureType pNext*: pointer indirectCopy*: VkBool32 VkPhysicalDeviceCopyMemoryIndirectPropertiesNV* = object sType*: VkStructureType pNext*: pointer supportedQueues*: VkQueueFlags VkPhysicalDeviceMemoryDecompressionFeaturesNV* = object sType*: VkStructureType pNext*: pointer memoryDecompression*: VkBool32 VkPhysicalDeviceMemoryDecompressionPropertiesNV* = object sType*: VkStructureType pNext*: pointer decompressionMethods*: VkMemoryDecompressionMethodFlagsNV maxDecompressionIndirectCount*: uint64 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 VkPhysicalDeviceInvocationMaskFeaturesHUAWEI* = object sType*: VkStructureType pNext*: pointer invocationMask*: VkBool32 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 VkPhysicalDeviceMeshShaderFeaturesEXT* = object sType*: VkStructureType pNext*: pointer taskShader*: VkBool32 meshShader*: VkBool32 multiviewMeshShader*: VkBool32 primitiveFragmentShadingRateMeshShader*: VkBool32 meshShaderQueries*: VkBool32 VkPhysicalDeviceMeshShaderPropertiesEXT* = object sType*: VkStructureType pNext*: pointer maxTaskWorkGroupTotalCount*: uint32 maxTaskWorkGroupCount*: array[3, uint32] maxTaskWorkGroupInvocations*: uint32 maxTaskWorkGroupSize*: array[3, uint32] maxTaskPayloadSize*: uint32 maxTaskSharedMemorySize*: uint32 maxTaskPayloadAndSharedMemorySize*: uint32 maxMeshWorkGroupTotalCount*: uint32 maxMeshWorkGroupCount*: array[3, uint32] maxMeshWorkGroupInvocations*: uint32 maxMeshWorkGroupSize*: array[3, uint32] maxMeshSharedMemorySize*: uint32 maxMeshPayloadAndSharedMemorySize*: uint32 maxMeshOutputMemorySize*: uint32 maxMeshPayloadAndOutputMemorySize*: uint32 maxMeshOutputComponents*: uint32 maxMeshOutputVertices*: uint32 maxMeshOutputPrimitives*: uint32 maxMeshOutputLayers*: uint32 maxMeshMultiviewViewCount*: uint32 meshOutputPerVertexGranularity*: uint32 meshOutputPerPrimitiveGranularity*: uint32 maxPreferredTaskWorkGroupInvocations*: uint32 maxPreferredMeshWorkGroupInvocations*: uint32 prefersLocalInvocationVertexOutput*: VkBool32 prefersLocalInvocationPrimitiveOutput*: VkBool32 prefersCompactVertexOutput*: VkBool32 prefersCompactPrimitiveOutput*: VkBool32 VkDrawMeshTasksIndirectCommandEXT* = object groupCountX*: uint32 groupCountY*: uint32 groupCountZ*: uint32 VkRayTracingShaderGroupCreateInfoNV* = object sType*: VkStructureType pNext*: pointer thetype*: VkRayTracingShaderGroupTypeKHR generalShader*: uint32 closestHitShader*: uint32 anyHitShader*: uint32 intersectionShader*: uint32 VkRayTracingShaderGroupCreateInfoKHR* = object sType*: VkStructureType pNext*: pointer thetype*: 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 maxPipelineRayRecursionDepth*: uint32 pLibraryInfo*: ptr VkPipelineLibraryCreateInfoKHR pLibraryInterface*: ptr VkRayTracingPipelineInterfaceCreateInfoKHR pDynamicState*: ptr VkPipelineDynamicStateCreateInfo 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 thetype*: VkAccelerationStructureTypeNV flags*: VkBuildAccelerationStructureFlagsNV instanceCount*: uint32 geometryCount*: uint32 pGeometries*: ptr VkGeometryNV VkAccelerationStructureCreateInfoNV* = object sType*: VkStructureType pNext*: pointer compactedSize*: VkDeviceSize info*: VkAccelerationStructureInfoNV VkBindAccelerationStructureMemoryInfoNV* = object sType*: VkStructureType pNext*: pointer accelerationStructure*: VkAccelerationStructureNV memory*: VkDeviceMemory memoryOffset*: VkDeviceSize deviceIndexCount*: uint32 pDeviceIndices*: ptr uint32 VkWriteDescriptorSetAccelerationStructureKHR* = object sType*: VkStructureType pNext*: pointer accelerationStructureCount*: uint32 pAccelerationStructures*: ptr VkAccelerationStructureKHR VkWriteDescriptorSetAccelerationStructureNV* = object sType*: VkStructureType pNext*: pointer accelerationStructureCount*: uint32 pAccelerationStructures*: ptr VkAccelerationStructureNV VkAccelerationStructureMemoryRequirementsInfoNV* = object sType*: VkStructureType pNext*: pointer thetype*: VkAccelerationStructureMemoryRequirementsTypeNV accelerationStructure*: VkAccelerationStructureNV VkPhysicalDeviceAccelerationStructureFeaturesKHR* = object sType*: VkStructureType pNext*: pointer accelerationStructure*: VkBool32 accelerationStructureCaptureReplay*: VkBool32 accelerationStructureIndirectBuild*: VkBool32 accelerationStructureHostCommands*: VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind*: VkBool32 VkPhysicalDeviceRayTracingPipelineFeaturesKHR* = object sType*: VkStructureType pNext*: pointer rayTracingPipeline*: VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay*: VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed*: VkBool32 rayTracingPipelineTraceRaysIndirect*: VkBool32 rayTraversalPrimitiveCulling*: VkBool32 VkPhysicalDeviceRayQueryFeaturesKHR* = object sType*: VkStructureType pNext*: pointer rayQuery*: VkBool32 VkPhysicalDeviceAccelerationStructurePropertiesKHR* = object sType*: VkStructureType pNext*: pointer maxGeometryCount*: uint64 maxInstanceCount*: uint64 maxPrimitiveCount*: uint64 maxPerStageDescriptorAccelerationStructures*: uint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures*: uint32 maxDescriptorSetAccelerationStructures*: uint32 maxDescriptorSetUpdateAfterBindAccelerationStructures*: uint32 minAccelerationStructureScratchOffsetAlignment*: uint32 VkPhysicalDeviceRayTracingPipelinePropertiesKHR* = object sType*: VkStructureType pNext*: pointer shaderGroupHandleSize*: uint32 maxRayRecursionDepth*: uint32 maxShaderGroupStride*: uint32 shaderGroupBaseAlignment*: uint32 shaderGroupHandleCaptureReplaySize*: uint32 maxRayDispatchInvocationCount*: uint32 shaderGroupHandleAlignment*: uint32 maxRayHitAttributeSize*: uint32 VkPhysicalDeviceRayTracingPropertiesNV* = object sType*: VkStructureType pNext*: pointer shaderGroupHandleSize*: uint32 maxRecursionDepth*: uint32 maxShaderGroupStride*: uint32 shaderGroupBaseAlignment*: uint32 maxGeometryCount*: uint64 maxInstanceCount*: uint64 maxTriangleCount*: uint64 maxDescriptorSetAccelerationStructures*: uint32 VkStridedDeviceAddressRegionKHR* = object deviceAddress*: VkDeviceAddress stride*: VkDeviceSize size*: VkDeviceSize VkTraceRaysIndirectCommandKHR* = object width*: uint32 height*: uint32 depth*: uint32 VkTraceRaysIndirectCommand2KHR* = object raygenShaderRecordAddress*: VkDeviceAddress raygenShaderRecordSize*: VkDeviceSize missShaderBindingTableAddress*: VkDeviceAddress missShaderBindingTableSize*: VkDeviceSize missShaderBindingTableStride*: VkDeviceSize hitShaderBindingTableAddress*: VkDeviceAddress hitShaderBindingTableSize*: VkDeviceSize hitShaderBindingTableStride*: VkDeviceSize callableShaderBindingTableAddress*: VkDeviceAddress callableShaderBindingTableSize*: VkDeviceSize callableShaderBindingTableStride*: VkDeviceSize width*: uint32 height*: uint32 depth*: uint32 VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR* = object sType*: VkStructureType pNext*: pointer rayTracingMaintenance1*: VkBool32 rayTracingPipelineTraceRaysIndirect2*: VkBool32 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 VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* = object sType*: VkStructureType pNext*: pointer fragmentDensityMapOffset*: 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 VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM* = object sType*: VkStructureType pNext*: pointer fragmentDensityOffsetGranularity*: VkExtent2D VkRenderPassFragmentDensityMapCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer fragmentDensityMapAttachment*: VkAttachmentReference VkSubpassFragmentDensityMapOffsetEndInfoQCOM* = object sType*: VkStructureType pNext*: pointer fragmentDensityOffsetCount*: uint32 pFragmentDensityOffsets*: ptr VkOffset2D 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 VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT* = object sType*: VkStructureType pNext*: pointer pageableDeviceLocalMemory*: VkBool32 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 VkPhysicalDeviceTextureCompressionASTCHDRFeatures* = object sType*: VkStructureType pNext*: pointer textureCompressionASTC_HDR*: VkBool32 VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT* = object 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 VkPipelineCreationFeedback* = object flags*: VkPipelineCreationFeedbackFlags duration*: uint64 VkPipelineCreationFeedbackEXT* = object VkPipelineCreationFeedbackCreateInfo* = object sType*: VkStructureType pNext*: pointer pPipelineCreationFeedback*: ptr VkPipelineCreationFeedback pipelineStageCreationFeedbackCount*: uint32 pPipelineStageCreationFeedbacks*: ptr VkPipelineCreationFeedback VkPipelineCreationFeedbackCreateInfoEXT* = object VkPhysicalDevicePresentBarrierFeaturesNV* = object sType*: VkStructureType pNext*: pointer presentBarrier*: VkBool32 VkSurfaceCapabilitiesPresentBarrierNV* = object sType*: VkStructureType pNext*: pointer presentBarrierSupported*: VkBool32 VkSwapchainPresentBarrierCreateInfoNV* = object sType*: VkStructureType pNext*: pointer presentBarrierEnable*: 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 VkPerformanceQueryReservationInfoKHR* = object sType*: VkStructureType pNext*: pointer maxPerformanceQueriesPerPool*: 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 thetype*: 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 thetype*: VkPerformanceOverrideTypeINTEL enable*: VkBool32 parameter*: uint64 VkPerformanceConfigurationAcquireInfoINTEL* = object sType*: VkStructureType pNext*: pointer thetype*: 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 VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT* = object sType*: VkStructureType pNext*: pointer primitiveTopologyListRestart*: VkBool32 primitiveTopologyPatchListRestart*: VkBool32 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 VkPipelineInfoEXT* = object 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*: csize_t pData*: pointer VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* = object sType*: VkStructureType pNext*: pointer shaderDemoteToHelperInvocation*: VkBool32 VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT* = object VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* = object sType*: VkStructureType pNext*: pointer texelBufferAlignment*: VkBool32 VkPhysicalDeviceTexelBufferAlignmentProperties* = object sType*: VkStructureType pNext*: pointer storageTexelBufferOffsetAlignmentBytes*: VkDeviceSize storageTexelBufferOffsetSingleTexelAlignment*: VkBool32 uniformTexelBufferOffsetAlignmentBytes*: VkDeviceSize uniformTexelBufferOffsetSingleTexelAlignment*: VkBool32 VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT* = object VkPhysicalDeviceSubgroupSizeControlFeatures* = object sType*: VkStructureType pNext*: pointer subgroupSizeControl*: VkBool32 computeFullSubgroups*: VkBool32 VkPhysicalDeviceSubgroupSizeControlFeaturesEXT* = object VkPhysicalDeviceSubgroupSizeControlProperties* = object sType*: VkStructureType pNext*: pointer minSubgroupSize*: uint32 maxSubgroupSize*: uint32 maxComputeWorkgroupSubgroups*: uint32 requiredSubgroupSizeStages*: VkShaderStageFlags VkPhysicalDeviceSubgroupSizeControlPropertiesEXT* = object VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* = object sType*: VkStructureType pNext*: pointer requiredSubgroupSize*: uint32 VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT* = object VkSubpassShadingPipelineCreateInfoHUAWEI* = object sType*: VkStructureType pNext*: pointer renderPass*: VkRenderPass subpass*: uint32 VkPhysicalDeviceSubpassShadingPropertiesHUAWEI* = object sType*: VkStructureType pNext*: pointer maxSubpassShadingWorkgroupSizeAspectRatio*: uint32 VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI* = object sType*: VkStructureType pNext*: pointer maxWorkGroupCount*: array[3, uint32] maxWorkGroupSize*: array[3, uint32] maxOutputClusterCount*: 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 VkPhysicalDevicePipelineCreationCacheControlFeatures* = object sType*: VkStructureType pNext*: pointer pipelineCreationCacheControl*: VkBool32 VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT* = object VkPhysicalDeviceVulkan11Features* = object sType*: VkStructureType pNext*: pointer storageBuffer16BitAccess*: VkBool32 uniformAndStorageBuffer16BitAccess*: VkBool32 storagePushConstant16*: VkBool32 storageInputOutput16*: VkBool32 multiview*: VkBool32 multiviewGeometryShader*: VkBool32 multiviewTessellationShader*: VkBool32 variablePointersStorageBuffer*: VkBool32 variablePointers*: VkBool32 protectedMemory*: VkBool32 samplerYcbcrConversion*: VkBool32 shaderDrawParameters*: VkBool32 VkPhysicalDeviceVulkan11Properties* = object sType*: VkStructureType pNext*: pointer deviceUUID*: array[VK_UUID_SIZE, uint8] driverUUID*: array[VK_UUID_SIZE, uint8] deviceLUID*: array[VK_LUID_SIZE, uint8] deviceNodeMask*: uint32 deviceLUIDValid*: VkBool32 subgroupSize*: uint32 subgroupSupportedStages*: VkShaderStageFlags subgroupSupportedOperations*: VkSubgroupFeatureFlags subgroupQuadOperationsInAllStages*: VkBool32 pointClippingBehavior*: VkPointClippingBehavior maxMultiviewViewCount*: uint32 maxMultiviewInstanceIndex*: uint32 protectedNoFault*: VkBool32 maxPerSetDescriptors*: uint32 maxMemoryAllocationSize*: VkDeviceSize VkPhysicalDeviceVulkan12Features* = object sType*: VkStructureType pNext*: pointer samplerMirrorClampToEdge*: VkBool32 drawIndirectCount*: VkBool32 storageBuffer8BitAccess*: VkBool32 uniformAndStorageBuffer8BitAccess*: VkBool32 storagePushConstant8*: VkBool32 shaderBufferInt64Atomics*: VkBool32 shaderSharedInt64Atomics*: VkBool32 shaderFloat16*: VkBool32 shaderInt8*: VkBool32 descriptorIndexing*: VkBool32 shaderInputAttachmentArrayDynamicIndexing*: VkBool32 shaderUniformTexelBufferArrayDynamicIndexing*: VkBool32 shaderStorageTexelBufferArrayDynamicIndexing*: VkBool32 shaderUniformBufferArrayNonUniformIndexing*: VkBool32 shaderSampledImageArrayNonUniformIndexing*: VkBool32 shaderStorageBufferArrayNonUniformIndexing*: VkBool32 shaderStorageImageArrayNonUniformIndexing*: VkBool32 shaderInputAttachmentArrayNonUniformIndexing*: VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing*: VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing*: VkBool32 descriptorBindingUniformBufferUpdateAfterBind*: VkBool32 descriptorBindingSampledImageUpdateAfterBind*: VkBool32 descriptorBindingStorageImageUpdateAfterBind*: VkBool32 descriptorBindingStorageBufferUpdateAfterBind*: VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind*: VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind*: VkBool32 descriptorBindingUpdateUnusedWhilePending*: VkBool32 descriptorBindingPartiallyBound*: VkBool32 descriptorBindingVariableDescriptorCount*: VkBool32 runtimeDescriptorArray*: VkBool32 samplerFilterMinmax*: VkBool32 scalarBlockLayout*: VkBool32 imagelessFramebuffer*: VkBool32 uniformBufferStandardLayout*: VkBool32 shaderSubgroupExtendedTypes*: VkBool32 separateDepthStencilLayouts*: VkBool32 hostQueryReset*: VkBool32 timelineSemaphore*: VkBool32 bufferDeviceAddress*: VkBool32 bufferDeviceAddressCaptureReplay*: VkBool32 bufferDeviceAddressMultiDevice*: VkBool32 vulkanMemoryModel*: VkBool32 vulkanMemoryModelDeviceScope*: VkBool32 vulkanMemoryModelAvailabilityVisibilityChains*: VkBool32 shaderOutputViewportIndex*: VkBool32 shaderOutputLayer*: VkBool32 subgroupBroadcastDynamicId*: VkBool32 VkPhysicalDeviceVulkan12Properties* = object sType*: VkStructureType pNext*: pointer driverID*: VkDriverId driverName*: array[VK_MAX_DRIVER_NAME_SIZE, char] driverInfo*: array[VK_MAX_DRIVER_INFO_SIZE, char] conformanceVersion*: VkConformanceVersion denormBehaviorIndependence*: VkShaderFloatControlsIndependence roundingModeIndependence*: VkShaderFloatControlsIndependence shaderSignedZeroInfNanPreserveFloat16*: VkBool32 shaderSignedZeroInfNanPreserveFloat32*: VkBool32 shaderSignedZeroInfNanPreserveFloat64*: VkBool32 shaderDenormPreserveFloat16*: VkBool32 shaderDenormPreserveFloat32*: VkBool32 shaderDenormPreserveFloat64*: VkBool32 shaderDenormFlushToZeroFloat16*: VkBool32 shaderDenormFlushToZeroFloat32*: VkBool32 shaderDenormFlushToZeroFloat64*: VkBool32 shaderRoundingModeRTEFloat16*: VkBool32 shaderRoundingModeRTEFloat32*: VkBool32 shaderRoundingModeRTEFloat64*: VkBool32 shaderRoundingModeRTZFloat16*: VkBool32 shaderRoundingModeRTZFloat32*: VkBool32 shaderRoundingModeRTZFloat64*: VkBool32 maxUpdateAfterBindDescriptorsInAllPools*: uint32 shaderUniformBufferArrayNonUniformIndexingNative*: VkBool32 shaderSampledImageArrayNonUniformIndexingNative*: VkBool32 shaderStorageBufferArrayNonUniformIndexingNative*: VkBool32 shaderStorageImageArrayNonUniformIndexingNative*: VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative*: VkBool32 robustBufferAccessUpdateAfterBind*: VkBool32 quadDivergentImplicitLod*: VkBool32 maxPerStageDescriptorUpdateAfterBindSamplers*: uint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers*: uint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers*: uint32 maxPerStageDescriptorUpdateAfterBindSampledImages*: uint32 maxPerStageDescriptorUpdateAfterBindStorageImages*: uint32 maxPerStageDescriptorUpdateAfterBindInputAttachments*: uint32 maxPerStageUpdateAfterBindResources*: uint32 maxDescriptorSetUpdateAfterBindSamplers*: uint32 maxDescriptorSetUpdateAfterBindUniformBuffers*: uint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic*: uint32 maxDescriptorSetUpdateAfterBindStorageBuffers*: uint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic*: uint32 maxDescriptorSetUpdateAfterBindSampledImages*: uint32 maxDescriptorSetUpdateAfterBindStorageImages*: uint32 maxDescriptorSetUpdateAfterBindInputAttachments*: uint32 supportedDepthResolveModes*: VkResolveModeFlags supportedStencilResolveModes*: VkResolveModeFlags independentResolveNone*: VkBool32 independentResolve*: VkBool32 filterMinmaxSingleComponentFormats*: VkBool32 filterMinmaxImageComponentMapping*: VkBool32 maxTimelineSemaphoreValueDifference*: uint64 framebufferIntegerColorSampleCounts*: VkSampleCountFlags VkPhysicalDeviceVulkan13Features* = object sType*: VkStructureType pNext*: pointer robustImageAccess*: VkBool32 inlineUniformBlock*: VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind*: VkBool32 pipelineCreationCacheControl*: VkBool32 privateData*: VkBool32 shaderDemoteToHelperInvocation*: VkBool32 shaderTerminateInvocation*: VkBool32 subgroupSizeControl*: VkBool32 computeFullSubgroups*: VkBool32 synchronization2*: VkBool32 textureCompressionASTC_HDR*: VkBool32 shaderZeroInitializeWorkgroupMemory*: VkBool32 dynamicRendering*: VkBool32 shaderIntegerDotProduct*: VkBool32 maintenance4*: VkBool32 VkPhysicalDeviceVulkan13Properties* = object sType*: VkStructureType pNext*: pointer minSubgroupSize*: uint32 maxSubgroupSize*: uint32 maxComputeWorkgroupSubgroups*: uint32 requiredSubgroupSizeStages*: VkShaderStageFlags maxInlineUniformBlockSize*: uint32 maxPerStageDescriptorInlineUniformBlocks*: uint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks*: uint32 maxDescriptorSetInlineUniformBlocks*: uint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks*: uint32 maxInlineUniformTotalSize*: uint32 integerDotProduct8BitUnsignedAccelerated*: VkBool32 integerDotProduct8BitSignedAccelerated*: VkBool32 integerDotProduct8BitMixedSignednessAccelerated*: VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated*: VkBool32 integerDotProduct4x8BitPackedSignedAccelerated*: VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated*: VkBool32 integerDotProduct16BitUnsignedAccelerated*: VkBool32 integerDotProduct16BitSignedAccelerated*: VkBool32 integerDotProduct16BitMixedSignednessAccelerated*: VkBool32 integerDotProduct32BitUnsignedAccelerated*: VkBool32 integerDotProduct32BitSignedAccelerated*: VkBool32 integerDotProduct32BitMixedSignednessAccelerated*: VkBool32 integerDotProduct64BitUnsignedAccelerated*: VkBool32 integerDotProduct64BitSignedAccelerated*: VkBool32 integerDotProduct64BitMixedSignednessAccelerated*: VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated*: VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated*: VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated*: VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated*: VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated*: VkBool32 storageTexelBufferOffsetAlignmentBytes*: VkDeviceSize storageTexelBufferOffsetSingleTexelAlignment*: VkBool32 uniformTexelBufferOffsetAlignmentBytes*: VkDeviceSize uniformTexelBufferOffsetSingleTexelAlignment*: VkBool32 maxBufferSize*: VkDeviceSize VkPipelineCompilerControlCreateInfoAMD* = object sType*: VkStructureType pNext*: pointer compilerControlFlags*: VkPipelineCompilerControlFlagsAMD VkPhysicalDeviceCoherentMemoryFeaturesAMD* = object sType*: VkStructureType pNext*: pointer deviceCoherentMemory*: VkBool32 VkFaultData* = object sType*: VkStructureType pNext*: pointer faultLevel*: VkFaultLevel faultType*: VkFaultType VkFaultCallbackInfo* = object sType*: VkStructureType pNext*: pointer faultCount*: uint32 pFaults*: ptr VkFaultData pfnFaultCallback*: PFN_vkFaultCallbackFunction VkPhysicalDeviceToolProperties* = object sType*: VkStructureType pNext*: pointer name*: array[VK_MAX_EXTENSION_NAME_SIZE, char] version*: array[VK_MAX_EXTENSION_NAME_SIZE, char] purposes*: VkToolPurposeFlags description*: array[VK_MAX_DESCRIPTION_SIZE, char] layer*: array[VK_MAX_EXTENSION_NAME_SIZE, char] VkPhysicalDeviceToolPropertiesEXT* = object 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 VkSamplerBorderColorComponentMappingCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer components*: VkComponentMapping srgb*: VkBool32 VkPhysicalDeviceBorderColorSwizzleFeaturesEXT* = object sType*: VkStructureType pNext*: pointer borderColorSwizzle*: VkBool32 borderColorSwizzleFromImage*: 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 maxVertex*: uint32 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 thetype*: VkAccelerationStructureTypeKHR flags*: VkBuildAccelerationStructureFlagsKHR mode*: VkBuildAccelerationStructureModeKHR srcAccelerationStructure*: VkAccelerationStructureKHR dstAccelerationStructure*: VkAccelerationStructureKHR geometryCount*: uint32 pGeometries*: ptr VkAccelerationStructureGeometryKHR ppGeometries*: ptr ptr VkAccelerationStructureGeometryKHR scratchData*: VkDeviceOrHostAddressKHR VkAccelerationStructureBuildRangeInfoKHR* = object primitiveCount*: uint32 primitiveOffset*: uint32 firstVertex*: uint32 transformOffset*: uint32 VkAccelerationStructureCreateInfoKHR* = object sType*: VkStructureType pNext*: pointer createFlags*: VkAccelerationStructureCreateFlagsKHR buffer*: VkBuffer offset*: VkDeviceSize size*: VkDeviceSize thetype*: VkAccelerationStructureTypeKHR deviceAddress*: VkDeviceAddress VkAabbPositionsKHR* = object minX*: float32 minY*: float32 minZ*: float32 maxX*: float32 maxY*: float32 maxZ*: float32 VkAabbPositionsNV* = object VkTransformMatrixKHR* = object matrix*: array[3*4, 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 VkAccelerationStructureVersionInfoKHR* = object sType*: VkStructureType pNext*: pointer pVersionData*: 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 maxPipelineRayPayloadSize*: uint32 maxPipelineRayHitAttributeSize*: uint32 VkPipelineLibraryCreateInfoKHR* = object sType*: VkStructureType pNext*: pointer libraryCount*: uint32 pLibraries*: ptr VkPipeline VkRefreshObjectKHR* = object objectType*: VkObjectType objectHandle*: uint64 flags*: VkRefreshObjectFlagsKHR VkRefreshObjectListKHR* = object sType*: VkStructureType pNext*: pointer objectCount*: uint32 pObjects*: ptr VkRefreshObjectKHR VkPhysicalDeviceExtendedDynamicStateFeaturesEXT* = object sType*: VkStructureType pNext*: pointer extendedDynamicState*: VkBool32 VkPhysicalDeviceExtendedDynamicState2FeaturesEXT* = object sType*: VkStructureType pNext*: pointer extendedDynamicState2*: VkBool32 extendedDynamicState2LogicOp*: VkBool32 extendedDynamicState2PatchControlPoints*: VkBool32 VkPhysicalDeviceExtendedDynamicState3FeaturesEXT* = object sType*: VkStructureType pNext*: pointer extendedDynamicState3TessellationDomainOrigin*: VkBool32 extendedDynamicState3DepthClampEnable*: VkBool32 extendedDynamicState3PolygonMode*: VkBool32 extendedDynamicState3RasterizationSamples*: VkBool32 extendedDynamicState3SampleMask*: VkBool32 extendedDynamicState3AlphaToCoverageEnable*: VkBool32 extendedDynamicState3AlphaToOneEnable*: VkBool32 extendedDynamicState3LogicOpEnable*: VkBool32 extendedDynamicState3ColorBlendEnable*: VkBool32 extendedDynamicState3ColorBlendEquation*: VkBool32 extendedDynamicState3ColorWriteMask*: VkBool32 extendedDynamicState3RasterizationStream*: VkBool32 extendedDynamicState3ConservativeRasterizationMode*: VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize*: VkBool32 extendedDynamicState3DepthClipEnable*: VkBool32 extendedDynamicState3SampleLocationsEnable*: VkBool32 extendedDynamicState3ColorBlendAdvanced*: VkBool32 extendedDynamicState3ProvokingVertexMode*: VkBool32 extendedDynamicState3LineRasterizationMode*: VkBool32 extendedDynamicState3LineStippleEnable*: VkBool32 extendedDynamicState3DepthClipNegativeOneToOne*: VkBool32 extendedDynamicState3ViewportWScalingEnable*: VkBool32 extendedDynamicState3ViewportSwizzle*: VkBool32 extendedDynamicState3CoverageToColorEnable*: VkBool32 extendedDynamicState3CoverageToColorLocation*: VkBool32 extendedDynamicState3CoverageModulationMode*: VkBool32 extendedDynamicState3CoverageModulationTableEnable*: VkBool32 extendedDynamicState3CoverageModulationTable*: VkBool32 extendedDynamicState3CoverageReductionMode*: VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable*: VkBool32 extendedDynamicState3ShadingRateImageEnable*: VkBool32 VkPhysicalDeviceExtendedDynamicState3PropertiesEXT* = object sType*: VkStructureType pNext*: pointer dynamicPrimitiveTopologyUnrestricted*: VkBool32 VkColorBlendEquationEXT* = object srcColorBlendFactor*: VkBlendFactor dstColorBlendFactor*: VkBlendFactor colorBlendOp*: VkBlendOp srcAlphaBlendFactor*: VkBlendFactor dstAlphaBlendFactor*: VkBlendFactor alphaBlendOp*: VkBlendOp VkColorBlendAdvancedEXT* = object advancedBlendOp*: VkBlendOp srcPremultiplied*: VkBool32 dstPremultiplied*: VkBool32 blendOverlap*: VkBlendOverlapEXT clampResults*: VkBool32 VkRenderPassTransformBeginInfoQCOM* = object sType*: VkStructureType pNext*: pointer transform*: VkSurfaceTransformFlagBitsKHR VkCopyCommandTransformInfoQCOM* = 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 VkPipelineOfflineCreateInfo* = object sType*: VkStructureType pNext*: pointer pipelineIdentifier*: array[VK_UUID_SIZE, uint8] matchControl*: VkPipelineMatchControl poolEntrySize*: VkDeviceSize VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* = object sType*: VkStructureType pNext*: pointer shaderZeroInitializeWorkgroupMemory*: VkBool32 VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR* = object VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR* = object sType*: VkStructureType pNext*: pointer shaderSubgroupUniformControlFlow*: VkBool32 VkPhysicalDeviceRobustness2FeaturesEXT* = object sType*: VkStructureType pNext*: pointer robustBufferAccess2*: VkBool32 robustImageAccess2*: VkBool32 nullDescriptor*: VkBool32 VkPhysicalDeviceRobustness2PropertiesEXT* = object sType*: VkStructureType pNext*: pointer robustStorageBufferAccessSizeAlignment*: VkDeviceSize robustUniformBufferAccessSizeAlignment*: VkDeviceSize VkPhysicalDeviceImageRobustnessFeatures* = object sType*: VkStructureType pNext*: pointer robustImageAccess*: VkBool32 VkPhysicalDeviceImageRobustnessFeaturesEXT* = object VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR* = object sType*: VkStructureType pNext*: pointer workgroupMemoryExplicitLayout*: VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout*: VkBool32 workgroupMemoryExplicitLayout8BitAccess*: VkBool32 workgroupMemoryExplicitLayout16BitAccess*: VkBool32 VkPhysicalDevice4444FormatsFeaturesEXT* = object sType*: VkStructureType pNext*: pointer formatA4R4G4B4*: VkBool32 formatA4B4G4R4*: VkBool32 VkPhysicalDeviceSubpassShadingFeaturesHUAWEI* = object sType*: VkStructureType pNext*: pointer subpassShading*: VkBool32 VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI* = object sType*: VkStructureType pNext*: pointer clustercullingShader*: VkBool32 multiviewClusterCullingShader*: VkBool32 VkBufferCopy2* = object sType*: VkStructureType pNext*: pointer srcOffset*: VkDeviceSize dstOffset*: VkDeviceSize size*: VkDeviceSize VkBufferCopy2KHR* = object VkImageCopy2* = object sType*: VkStructureType pNext*: pointer srcSubresource*: VkImageSubresourceLayers srcOffset*: VkOffset3D dstSubresource*: VkImageSubresourceLayers dstOffset*: VkOffset3D extent*: VkExtent3D VkImageCopy2KHR* = object VkImageBlit2* = object sType*: VkStructureType pNext*: pointer srcSubresource*: VkImageSubresourceLayers srcOffsets*: array[2, VkOffset3D] dstSubresource*: VkImageSubresourceLayers dstOffsets*: array[2, VkOffset3D] VkImageBlit2KHR* = object VkBufferImageCopy2* = object sType*: VkStructureType pNext*: pointer bufferOffset*: VkDeviceSize bufferRowLength*: uint32 bufferImageHeight*: uint32 imageSubresource*: VkImageSubresourceLayers imageOffset*: VkOffset3D imageExtent*: VkExtent3D VkBufferImageCopy2KHR* = object VkImageResolve2* = object sType*: VkStructureType pNext*: pointer srcSubresource*: VkImageSubresourceLayers srcOffset*: VkOffset3D dstSubresource*: VkImageSubresourceLayers dstOffset*: VkOffset3D extent*: VkExtent3D VkImageResolve2KHR* = object VkCopyBufferInfo2* = object sType*: VkStructureType pNext*: pointer srcBuffer*: VkBuffer dstBuffer*: VkBuffer regionCount*: uint32 pRegions*: ptr VkBufferCopy2 VkCopyBufferInfo2KHR* = object VkCopyImageInfo2* = object sType*: VkStructureType pNext*: pointer srcImage*: VkImage srcImageLayout*: VkImageLayout dstImage*: VkImage dstImageLayout*: VkImageLayout regionCount*: uint32 pRegions*: ptr VkImageCopy2 VkCopyImageInfo2KHR* = object VkBlitImageInfo2* = object sType*: VkStructureType pNext*: pointer srcImage*: VkImage srcImageLayout*: VkImageLayout dstImage*: VkImage dstImageLayout*: VkImageLayout regionCount*: uint32 pRegions*: ptr VkImageBlit2 filter*: VkFilter VkBlitImageInfo2KHR* = object VkCopyBufferToImageInfo2* = object sType*: VkStructureType pNext*: pointer srcBuffer*: VkBuffer dstImage*: VkImage dstImageLayout*: VkImageLayout regionCount*: uint32 pRegions*: ptr VkBufferImageCopy2 VkCopyBufferToImageInfo2KHR* = object VkCopyImageToBufferInfo2* = object sType*: VkStructureType pNext*: pointer srcImage*: VkImage srcImageLayout*: VkImageLayout dstBuffer*: VkBuffer regionCount*: uint32 pRegions*: ptr VkBufferImageCopy2 VkCopyImageToBufferInfo2KHR* = object VkResolveImageInfo2* = object sType*: VkStructureType pNext*: pointer srcImage*: VkImage srcImageLayout*: VkImageLayout dstImage*: VkImage dstImageLayout*: VkImageLayout regionCount*: uint32 pRegions*: ptr VkImageResolve2 VkResolveImageInfo2KHR* = object VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT* = object sType*: VkStructureType pNext*: pointer shaderImageInt64Atomics*: VkBool32 sparseImageInt64Atomics*: VkBool32 VkFragmentShadingRateAttachmentInfoKHR* = object sType*: VkStructureType pNext*: pointer pFragmentShadingRateAttachment*: ptr VkAttachmentReference2 shadingRateAttachmentTexelSize*: VkExtent2D VkPipelineFragmentShadingRateStateCreateInfoKHR* = object sType*: VkStructureType pNext*: pointer fragmentSize*: VkExtent2D combinerOps*: array[2, VkFragmentShadingRateCombinerOpKHR] VkPhysicalDeviceFragmentShadingRateFeaturesKHR* = object sType*: VkStructureType pNext*: pointer pipelineFragmentShadingRate*: VkBool32 primitiveFragmentShadingRate*: VkBool32 attachmentFragmentShadingRate*: VkBool32 VkPhysicalDeviceFragmentShadingRatePropertiesKHR* = object sType*: VkStructureType pNext*: pointer minFragmentShadingRateAttachmentTexelSize*: VkExtent2D maxFragmentShadingRateAttachmentTexelSize*: VkExtent2D maxFragmentShadingRateAttachmentTexelSizeAspectRatio*: uint32 primitiveFragmentShadingRateWithMultipleViewports*: VkBool32 layeredShadingRateAttachments*: VkBool32 fragmentShadingRateNonTrivialCombinerOps*: VkBool32 maxFragmentSize*: VkExtent2D maxFragmentSizeAspectRatio*: uint32 maxFragmentShadingRateCoverageSamples*: uint32 maxFragmentShadingRateRasterizationSamples*: VkSampleCountFlagBits fragmentShadingRateWithShaderDepthStencilWrites*: VkBool32 fragmentShadingRateWithSampleMask*: VkBool32 fragmentShadingRateWithShaderSampleMask*: VkBool32 fragmentShadingRateWithConservativeRasterization*: VkBool32 fragmentShadingRateWithFragmentShaderInterlock*: VkBool32 fragmentShadingRateWithCustomSampleLocations*: VkBool32 fragmentShadingRateStrictMultiplyCombiner*: VkBool32 VkPhysicalDeviceFragmentShadingRateKHR* = object sType*: VkStructureType pNext*: pointer sampleCounts*: VkSampleCountFlags fragmentSize*: VkExtent2D VkPhysicalDeviceShaderTerminateInvocationFeatures* = object sType*: VkStructureType pNext*: pointer shaderTerminateInvocation*: VkBool32 VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR* = object VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV* = object sType*: VkStructureType pNext*: pointer fragmentShadingRateEnums*: VkBool32 supersampleFragmentShadingRates*: VkBool32 noInvocationFragmentShadingRates*: VkBool32 VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV* = object sType*: VkStructureType pNext*: pointer maxFragmentShadingRateInvocationCount*: VkSampleCountFlagBits VkPipelineFragmentShadingRateEnumStateCreateInfoNV* = object sType*: VkStructureType pNext*: pointer shadingRateType*: VkFragmentShadingRateTypeNV shadingRate*: VkFragmentShadingRateNV combinerOps*: array[2, VkFragmentShadingRateCombinerOpKHR] VkAccelerationStructureBuildSizesInfoKHR* = object sType*: VkStructureType pNext*: pointer accelerationStructureSize*: VkDeviceSize updateScratchSize*: VkDeviceSize buildScratchSize*: VkDeviceSize VkPhysicalDeviceImage2DViewOf3DFeaturesEXT* = object sType*: VkStructureType pNext*: pointer image2DViewOf3D*: VkBool32 sampler2DViewOf3D*: VkBool32 VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT* = object sType*: VkStructureType pNext*: pointer imageSlicedViewOf3D*: VkBool32 VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT* = object sType*: VkStructureType pNext*: pointer mutableDescriptorType*: VkBool32 VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE* = object VkMutableDescriptorTypeListEXT* = object descriptorTypeCount*: uint32 pDescriptorTypes*: ptr VkDescriptorType VkMutableDescriptorTypeListVALVE* = object VkMutableDescriptorTypeCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer mutableDescriptorTypeListCount*: uint32 pMutableDescriptorTypeLists*: ptr VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeCreateInfoVALVE* = object VkPhysicalDeviceDepthClipControlFeaturesEXT* = object sType*: VkStructureType pNext*: pointer depthClipControl*: VkBool32 VkPipelineViewportDepthClipControlCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer negativeOneToOne*: VkBool32 VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT* = object sType*: VkStructureType pNext*: pointer vertexInputDynamicState*: VkBool32 VkPhysicalDeviceExternalMemoryRDMAFeaturesNV* = object sType*: VkStructureType pNext*: pointer externalMemoryRDMA*: VkBool32 VkVertexInputBindingDescription2EXT* = object sType*: VkStructureType pNext*: pointer binding*: uint32 stride*: uint32 inputRate*: VkVertexInputRate divisor*: uint32 VkVertexInputAttributeDescription2EXT* = object sType*: VkStructureType pNext*: pointer location*: uint32 binding*: uint32 format*: VkFormat offset*: uint32 VkPhysicalDeviceColorWriteEnableFeaturesEXT* = object sType*: VkStructureType pNext*: pointer colorWriteEnable*: VkBool32 VkPipelineColorWriteCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer attachmentCount*: uint32 pColorWriteEnables*: ptr VkBool32 VkMemoryBarrier2* = object sType*: VkStructureType pNext*: pointer srcStageMask*: VkPipelineStageFlags2 srcAccessMask*: VkAccessFlags2 dstStageMask*: VkPipelineStageFlags2 dstAccessMask*: VkAccessFlags2 VkMemoryBarrier2KHR* = object VkImageMemoryBarrier2* = object sType*: VkStructureType pNext*: pointer srcStageMask*: VkPipelineStageFlags2 srcAccessMask*: VkAccessFlags2 dstStageMask*: VkPipelineStageFlags2 dstAccessMask*: VkAccessFlags2 oldLayout*: VkImageLayout newLayout*: VkImageLayout srcQueueFamilyIndex*: uint32 dstQueueFamilyIndex*: uint32 image*: VkImage subresourceRange*: VkImageSubresourceRange VkImageMemoryBarrier2KHR* = object VkBufferMemoryBarrier2* = object sType*: VkStructureType pNext*: pointer srcStageMask*: VkPipelineStageFlags2 srcAccessMask*: VkAccessFlags2 dstStageMask*: VkPipelineStageFlags2 dstAccessMask*: VkAccessFlags2 srcQueueFamilyIndex*: uint32 dstQueueFamilyIndex*: uint32 buffer*: VkBuffer offset*: VkDeviceSize size*: VkDeviceSize VkBufferMemoryBarrier2KHR* = object VkDependencyInfo* = object sType*: VkStructureType pNext*: pointer dependencyFlags*: VkDependencyFlags memoryBarrierCount*: uint32 pMemoryBarriers*: ptr VkMemoryBarrier2 bufferMemoryBarrierCount*: uint32 pBufferMemoryBarriers*: ptr VkBufferMemoryBarrier2 imageMemoryBarrierCount*: uint32 pImageMemoryBarriers*: ptr VkImageMemoryBarrier2 VkDependencyInfoKHR* = object VkSemaphoreSubmitInfo* = object sType*: VkStructureType pNext*: pointer semaphore*: VkSemaphore value*: uint64 stageMask*: VkPipelineStageFlags2 deviceIndex*: uint32 VkSemaphoreSubmitInfoKHR* = object VkCommandBufferSubmitInfo* = object sType*: VkStructureType pNext*: pointer commandBuffer*: VkCommandBuffer deviceMask*: uint32 VkCommandBufferSubmitInfoKHR* = object VkSubmitInfo2* = object sType*: VkStructureType pNext*: pointer flags*: VkSubmitFlags waitSemaphoreInfoCount*: uint32 pWaitSemaphoreInfos*: ptr VkSemaphoreSubmitInfo commandBufferInfoCount*: uint32 pCommandBufferInfos*: ptr VkCommandBufferSubmitInfo signalSemaphoreInfoCount*: uint32 pSignalSemaphoreInfos*: ptr VkSemaphoreSubmitInfo VkSubmitInfo2KHR* = object VkQueueFamilyCheckpointProperties2NV* = object sType*: VkStructureType pNext*: pointer checkpointExecutionStageMask*: VkPipelineStageFlags2 VkCheckpointData2NV* = object sType*: VkStructureType pNext*: pointer stage*: VkPipelineStageFlags2 pCheckpointMarker*: pointer VkPhysicalDeviceSynchronization2Features* = object sType*: VkStructureType pNext*: pointer synchronization2*: VkBool32 VkPhysicalDeviceSynchronization2FeaturesKHR* = object VkPhysicalDeviceVulkanSC10Properties* = object sType*: VkStructureType pNext*: pointer deviceNoDynamicHostAllocations*: VkBool32 deviceDestroyFreesMemory*: VkBool32 commandPoolMultipleCommandBuffersRecording*: VkBool32 commandPoolResetCommandBuffer*: VkBool32 commandBufferSimultaneousUse*: VkBool32 secondaryCommandBufferNullOrImagelessFramebuffer*: VkBool32 recycleDescriptorSetMemory*: VkBool32 recyclePipelineMemory*: VkBool32 maxRenderPassSubpasses*: uint32 maxRenderPassDependencies*: uint32 maxSubpassInputAttachments*: uint32 maxSubpassPreserveAttachments*: uint32 maxFramebufferAttachments*: uint32 maxDescriptorSetLayoutBindings*: uint32 maxQueryFaultCount*: uint32 maxCallbackFaultCount*: uint32 maxCommandPoolCommandBuffers*: uint32 maxCommandBufferSize*: VkDeviceSize VkPipelinePoolSize* = object sType*: VkStructureType pNext*: pointer poolEntrySize*: VkDeviceSize poolEntryCount*: uint32 VkDeviceObjectReservationCreateInfo* = object sType*: VkStructureType pNext*: pointer pipelineCacheCreateInfoCount*: uint32 pPipelineCacheCreateInfos*: ptr VkPipelineCacheCreateInfo pipelinePoolSizeCount*: uint32 pPipelinePoolSizes*: ptr VkPipelinePoolSize semaphoreRequestCount*: uint32 commandBufferRequestCount*: uint32 fenceRequestCount*: uint32 deviceMemoryRequestCount*: uint32 bufferRequestCount*: uint32 imageRequestCount*: uint32 eventRequestCount*: uint32 queryPoolRequestCount*: uint32 bufferViewRequestCount*: uint32 imageViewRequestCount*: uint32 layeredImageViewRequestCount*: uint32 pipelineCacheRequestCount*: uint32 pipelineLayoutRequestCount*: uint32 renderPassRequestCount*: uint32 graphicsPipelineRequestCount*: uint32 computePipelineRequestCount*: uint32 descriptorSetLayoutRequestCount*: uint32 samplerRequestCount*: uint32 descriptorPoolRequestCount*: uint32 descriptorSetRequestCount*: uint32 framebufferRequestCount*: uint32 commandPoolRequestCount*: uint32 samplerYcbcrConversionRequestCount*: uint32 surfaceRequestCount*: uint32 swapchainRequestCount*: uint32 displayModeRequestCount*: uint32 subpassDescriptionRequestCount*: uint32 attachmentDescriptionRequestCount*: uint32 descriptorSetLayoutBindingRequestCount*: uint32 descriptorSetLayoutBindingLimit*: uint32 maxImageViewMipLevels*: uint32 maxImageViewArrayLayers*: uint32 maxLayeredImageViewMipLevels*: uint32 maxOcclusionQueriesPerPool*: uint32 maxPipelineStatisticsQueriesPerPool*: uint32 maxTimestampQueriesPerPool*: uint32 maxImmutableSamplersPerDescriptorSetLayout*: uint32 VkCommandPoolMemoryReservationCreateInfo* = object sType*: VkStructureType pNext*: pointer commandPoolReservedSize*: VkDeviceSize commandPoolMaxCommandBuffers*: uint32 VkCommandPoolMemoryConsumption* = object sType*: VkStructureType pNext*: pointer commandPoolAllocated*: VkDeviceSize commandPoolReservedSize*: VkDeviceSize commandBufferAllocated*: VkDeviceSize VkPhysicalDeviceVulkanSC10Features* = object sType*: VkStructureType pNext*: pointer shaderAtomicInstructions*: VkBool32 VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT* = object sType*: VkStructureType pNext*: pointer primitivesGeneratedQuery*: VkBool32 primitivesGeneratedQueryWithRasterizerDiscard*: VkBool32 primitivesGeneratedQueryWithNonZeroStreams*: VkBool32 VkPhysicalDeviceLegacyDitheringFeaturesEXT* = object sType*: VkStructureType pNext*: pointer legacyDithering*: VkBool32 VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT* = object sType*: VkStructureType pNext*: pointer multisampledRenderToSingleSampled*: VkBool32 VkSubpassResolvePerformanceQueryEXT* = object sType*: VkStructureType pNext*: pointer optimal*: VkBool32 VkMultisampledRenderToSingleSampledInfoEXT* = object sType*: VkStructureType pNext*: pointer multisampledRenderToSingleSampledEnable*: VkBool32 rasterizationSamples*: VkSampleCountFlagBits VkPhysicalDevicePipelineProtectedAccessFeaturesEXT* = object sType*: VkStructureType pNext*: pointer pipelineProtectedAccess*: VkBool32 VkPhysicalDeviceInheritedViewportScissorFeaturesNV* = object sType*: VkStructureType pNext*: pointer inheritedViewportScissor2D*: VkBool32 VkCommandBufferInheritanceViewportScissorInfoNV* = object sType*: VkStructureType pNext*: pointer viewportScissor2D*: VkBool32 viewportDepthCount*: uint32 pViewportDepths*: ptr VkViewport VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT* = object sType*: VkStructureType pNext*: pointer ycbcr2plane444Formats*: VkBool32 VkPhysicalDeviceProvokingVertexFeaturesEXT* = object sType*: VkStructureType pNext*: pointer provokingVertexLast*: VkBool32 transformFeedbackPreservesProvokingVertex*: VkBool32 VkPhysicalDeviceProvokingVertexPropertiesEXT* = object sType*: VkStructureType pNext*: pointer provokingVertexModePerPipeline*: VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex*: VkBool32 VkPipelineRasterizationProvokingVertexStateCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer provokingVertexMode*: VkProvokingVertexModeEXT VkCuModuleCreateInfoNVX* = object sType*: VkStructureType pNext*: pointer dataSize*: csize_t pData*: pointer VkCuFunctionCreateInfoNVX* = object sType*: VkStructureType pNext*: pointer module*: VkCuModuleNVX pName*: cstring VkCuLaunchInfoNVX* = object sType*: VkStructureType pNext*: pointer function*: VkCuFunctionNVX gridDimX*: uint32 gridDimY*: uint32 gridDimZ*: uint32 blockDimX*: uint32 blockDimY*: uint32 blockDimZ*: uint32 sharedMemBytes*: uint32 paramCount*: csize_t pParams*: ptr pointer extraCount*: csize_t pExtras*: ptr pointer VkPhysicalDeviceDescriptorBufferFeaturesEXT* = object sType*: VkStructureType pNext*: pointer descriptorBuffer*: VkBool32 descriptorBufferCaptureReplay*: VkBool32 descriptorBufferImageLayoutIgnored*: VkBool32 descriptorBufferPushDescriptors*: VkBool32 VkPhysicalDeviceDescriptorBufferPropertiesEXT* = object sType*: VkStructureType pNext*: pointer combinedImageSamplerDescriptorSingleArray*: VkBool32 bufferlessPushDescriptors*: VkBool32 allowSamplerImageViewPostSubmitCreation*: VkBool32 descriptorBufferOffsetAlignment*: VkDeviceSize maxDescriptorBufferBindings*: uint32 maxResourceDescriptorBufferBindings*: uint32 maxSamplerDescriptorBufferBindings*: uint32 maxEmbeddedImmutableSamplerBindings*: uint32 maxEmbeddedImmutableSamplers*: uint32 bufferCaptureReplayDescriptorDataSize*: csize_t imageCaptureReplayDescriptorDataSize*: csize_t imageViewCaptureReplayDescriptorDataSize*: csize_t samplerCaptureReplayDescriptorDataSize*: csize_t accelerationStructureCaptureReplayDescriptorDataSize*: csize_t samplerDescriptorSize*: csize_t combinedImageSamplerDescriptorSize*: csize_t sampledImageDescriptorSize*: csize_t storageImageDescriptorSize*: csize_t uniformTexelBufferDescriptorSize*: csize_t robustUniformTexelBufferDescriptorSize*: csize_t storageTexelBufferDescriptorSize*: csize_t robustStorageTexelBufferDescriptorSize*: csize_t uniformBufferDescriptorSize*: csize_t robustUniformBufferDescriptorSize*: csize_t storageBufferDescriptorSize*: csize_t robustStorageBufferDescriptorSize*: csize_t inputAttachmentDescriptorSize*: csize_t accelerationStructureDescriptorSize*: csize_t maxSamplerDescriptorBufferRange*: VkDeviceSize maxResourceDescriptorBufferRange*: VkDeviceSize samplerDescriptorBufferAddressSpaceSize*: VkDeviceSize resourceDescriptorBufferAddressSpaceSize*: VkDeviceSize descriptorBufferAddressSpaceSize*: VkDeviceSize VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* = object sType*: VkStructureType pNext*: pointer combinedImageSamplerDensityMapDescriptorSize*: csize_t VkDescriptorAddressInfoEXT* = object sType*: VkStructureType pNext*: pointer address*: VkDeviceAddress range*: VkDeviceSize format*: VkFormat VkDescriptorBufferBindingInfoEXT* = object sType*: VkStructureType pNext*: pointer address*: VkDeviceAddress usage*: VkBufferUsageFlags VkDescriptorBufferBindingPushDescriptorBufferHandleEXT* = object sType*: VkStructureType pNext*: pointer buffer*: VkBuffer VkDescriptorDataEXT* {.union.} = object pSampler*: ptr VkSampler pCombinedImageSampler*: ptr VkDescriptorImageInfo pInputAttachmentImage*: ptr VkDescriptorImageInfo pSampledImage*: ptr VkDescriptorImageInfo pStorageImage*: ptr VkDescriptorImageInfo pUniformTexelBuffer*: ptr VkDescriptorAddressInfoEXT pStorageTexelBuffer*: ptr VkDescriptorAddressInfoEXT pUniformBuffer*: ptr VkDescriptorAddressInfoEXT pStorageBuffer*: ptr VkDescriptorAddressInfoEXT accelerationStructure*: VkDeviceAddress VkDescriptorGetInfoEXT* = object sType*: VkStructureType pNext*: pointer thetype*: VkDescriptorType data*: VkDescriptorDataEXT VkBufferCaptureDescriptorDataInfoEXT* = object sType*: VkStructureType pNext*: pointer buffer*: VkBuffer VkImageCaptureDescriptorDataInfoEXT* = object sType*: VkStructureType pNext*: pointer image*: VkImage VkImageViewCaptureDescriptorDataInfoEXT* = object sType*: VkStructureType pNext*: pointer imageView*: VkImageView VkSamplerCaptureDescriptorDataInfoEXT* = object sType*: VkStructureType pNext*: pointer sampler*: VkSampler VkAccelerationStructureCaptureDescriptorDataInfoEXT* = object sType*: VkStructureType pNext*: pointer accelerationStructure*: VkAccelerationStructureKHR accelerationStructureNV*: VkAccelerationStructureNV VkOpaqueCaptureDescriptorDataCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer opaqueCaptureDescriptorData*: pointer VkPhysicalDeviceShaderIntegerDotProductFeatures* = object sType*: VkStructureType pNext*: pointer shaderIntegerDotProduct*: VkBool32 VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR* = object VkPhysicalDeviceShaderIntegerDotProductProperties* = object sType*: VkStructureType pNext*: pointer integerDotProduct8BitUnsignedAccelerated*: VkBool32 integerDotProduct8BitSignedAccelerated*: VkBool32 integerDotProduct8BitMixedSignednessAccelerated*: VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated*: VkBool32 integerDotProduct4x8BitPackedSignedAccelerated*: VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated*: VkBool32 integerDotProduct16BitUnsignedAccelerated*: VkBool32 integerDotProduct16BitSignedAccelerated*: VkBool32 integerDotProduct16BitMixedSignednessAccelerated*: VkBool32 integerDotProduct32BitUnsignedAccelerated*: VkBool32 integerDotProduct32BitSignedAccelerated*: VkBool32 integerDotProduct32BitMixedSignednessAccelerated*: VkBool32 integerDotProduct64BitUnsignedAccelerated*: VkBool32 integerDotProduct64BitSignedAccelerated*: VkBool32 integerDotProduct64BitMixedSignednessAccelerated*: VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated*: VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated*: VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated*: VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated*: VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated*: VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated*: VkBool32 VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR* = object VkPhysicalDeviceDrmPropertiesEXT* = object sType*: VkStructureType pNext*: pointer hasPrimary*: VkBool32 hasRender*: VkBool32 primaryMajor*: int64 primaryMinor*: int64 renderMajor*: int64 renderMinor*: int64 VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR* = object sType*: VkStructureType pNext*: pointer fragmentShaderBarycentric*: VkBool32 VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR* = object sType*: VkStructureType pNext*: pointer triStripVertexOrderIndependentOfProvokingVertex*: VkBool32 VkPhysicalDeviceRayTracingMotionBlurFeaturesNV* = object sType*: VkStructureType pNext*: pointer rayTracingMotionBlur*: VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect*: VkBool32 VkAccelerationStructureGeometryMotionTrianglesDataNV* = object sType*: VkStructureType pNext*: pointer vertexData*: VkDeviceOrHostAddressConstKHR VkAccelerationStructureMotionInfoNV* = object sType*: VkStructureType pNext*: pointer maxInstances*: uint32 flags*: VkAccelerationStructureMotionInfoFlagsNV VkSRTDataNV* = object sx*: float32 a*: float32 b*: float32 pvx*: float32 sy*: float32 c*: float32 pvy*: float32 sz*: float32 pvz*: float32 qx*: float32 qy*: float32 qz*: float32 qw*: float32 tx*: float32 ty*: float32 tz*: float32 VkAccelerationStructureSRTMotionInstanceNV* = object transformT0*: VkSRTDataNV transformT1*: VkSRTDataNV instanceCustomIndex*: uint32 mask*: uint32 instanceShaderBindingTableRecordOffset*: uint32 flags*: VkGeometryInstanceFlagsKHR accelerationStructureReference*: uint64 VkAccelerationStructureMatrixMotionInstanceNV* = object transformT0*: VkTransformMatrixKHR transformT1*: VkTransformMatrixKHR instanceCustomIndex*: uint32 mask*: uint32 instanceShaderBindingTableRecordOffset*: uint32 flags*: VkGeometryInstanceFlagsKHR accelerationStructureReference*: uint64 VkAccelerationStructureMotionInstanceDataNV* {.union.} = object staticInstance*: VkAccelerationStructureInstanceKHR matrixMotionInstance*: VkAccelerationStructureMatrixMotionInstanceNV srtMotionInstance*: VkAccelerationStructureSRTMotionInstanceNV VkAccelerationStructureMotionInstanceNV* = object thetype*: VkAccelerationStructureMotionInstanceTypeNV flags*: VkAccelerationStructureMotionInstanceFlagsNV data*: VkAccelerationStructureMotionInstanceDataNV VkMemoryGetRemoteAddressInfoNV* = object sType*: VkStructureType pNext*: pointer memory*: VkDeviceMemory handleType*: VkExternalMemoryHandleTypeFlagBits VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT* = object sType*: VkStructureType pNext*: pointer formatRgba10x6WithoutYCbCrSampler*: VkBool32 VkFormatProperties3* = object sType*: VkStructureType pNext*: pointer linearTilingFeatures*: VkFormatFeatureFlags2 optimalTilingFeatures*: VkFormatFeatureFlags2 bufferFeatures*: VkFormatFeatureFlags2 VkFormatProperties3KHR* = object VkDrmFormatModifierPropertiesList2EXT* = object sType*: VkStructureType pNext*: pointer drmFormatModifierCount*: uint32 pDrmFormatModifierProperties*: ptr VkDrmFormatModifierProperties2EXT VkDrmFormatModifierProperties2EXT* = object drmFormatModifier*: uint64 drmFormatModifierPlaneCount*: uint32 drmFormatModifierTilingFeatures*: VkFormatFeatureFlags2 VkPipelineRenderingCreateInfo* = object sType*: VkStructureType pNext*: pointer viewMask*: uint32 colorAttachmentCount*: uint32 pColorAttachmentFormats*: ptr VkFormat depthAttachmentFormat*: VkFormat stencilAttachmentFormat*: VkFormat VkPipelineRenderingCreateInfoKHR* = object VkRenderingInfo* = object sType*: VkStructureType pNext*: pointer flags*: VkRenderingFlags renderArea*: VkRect2D layerCount*: uint32 viewMask*: uint32 colorAttachmentCount*: uint32 pColorAttachments*: ptr VkRenderingAttachmentInfo pDepthAttachment*: ptr VkRenderingAttachmentInfo pStencilAttachment*: ptr VkRenderingAttachmentInfo VkRenderingInfoKHR* = object VkRenderingAttachmentInfo* = object sType*: VkStructureType pNext*: pointer imageView*: VkImageView imageLayout*: VkImageLayout resolveMode*: VkResolveModeFlagBits resolveImageView*: VkImageView resolveImageLayout*: VkImageLayout loadOp*: VkAttachmentLoadOp storeOp*: VkAttachmentStoreOp clearValue*: VkClearValue VkRenderingAttachmentInfoKHR* = object VkRenderingFragmentShadingRateAttachmentInfoKHR* = object sType*: VkStructureType pNext*: pointer imageView*: VkImageView imageLayout*: VkImageLayout shadingRateAttachmentTexelSize*: VkExtent2D VkRenderingFragmentDensityMapAttachmentInfoEXT* = object sType*: VkStructureType pNext*: pointer imageView*: VkImageView imageLayout*: VkImageLayout VkPhysicalDeviceDynamicRenderingFeatures* = object sType*: VkStructureType pNext*: pointer dynamicRendering*: VkBool32 VkPhysicalDeviceDynamicRenderingFeaturesKHR* = object VkCommandBufferInheritanceRenderingInfo* = object sType*: VkStructureType pNext*: pointer flags*: VkRenderingFlags viewMask*: uint32 colorAttachmentCount*: uint32 pColorAttachmentFormats*: ptr VkFormat depthAttachmentFormat*: VkFormat stencilAttachmentFormat*: VkFormat rasterizationSamples*: VkSampleCountFlagBits VkCommandBufferInheritanceRenderingInfoKHR* = object VkAttachmentSampleCountInfoAMD* = object sType*: VkStructureType pNext*: pointer colorAttachmentCount*: uint32 pColorAttachmentSamples*: ptr VkSampleCountFlagBits depthStencilAttachmentSamples*: VkSampleCountFlagBits VkAttachmentSampleCountInfoNV* = object VkMultiviewPerViewAttributesInfoNVX* = object sType*: VkStructureType pNext*: pointer perViewAttributes*: VkBool32 perViewAttributesPositionXOnly*: VkBool32 VkPhysicalDeviceImageViewMinLodFeaturesEXT* = object sType*: VkStructureType pNext*: pointer minLod*: VkBool32 VkImageViewMinLodCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer minLod*: float32 VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT* = object sType*: VkStructureType pNext*: pointer rasterizationOrderColorAttachmentAccess*: VkBool32 rasterizationOrderDepthAttachmentAccess*: VkBool32 rasterizationOrderStencilAttachmentAccess*: VkBool32 VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM* = object VkPhysicalDeviceLinearColorAttachmentFeaturesNV* = object sType*: VkStructureType pNext*: pointer linearColorAttachment*: VkBool32 VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* = object sType*: VkStructureType pNext*: pointer graphicsPipelineLibrary*: VkBool32 VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT* = object sType*: VkStructureType pNext*: pointer graphicsPipelineLibraryFastLinking*: VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration*: VkBool32 VkGraphicsPipelineLibraryCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer flags*: VkGraphicsPipelineLibraryFlagsEXT VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE* = object sType*: VkStructureType pNext*: pointer descriptorSetHostMapping*: VkBool32 VkDescriptorSetBindingReferenceVALVE* = object sType*: VkStructureType pNext*: pointer descriptorSetLayout*: VkDescriptorSetLayout binding*: uint32 VkDescriptorSetLayoutHostMappingInfoVALVE* = object sType*: VkStructureType pNext*: pointer descriptorOffset*: csize_t descriptorSize*: uint32 VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT* = object sType*: VkStructureType pNext*: pointer shaderModuleIdentifier*: VkBool32 VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT* = object sType*: VkStructureType pNext*: pointer shaderModuleIdentifierAlgorithmUUID*: array[VK_UUID_SIZE, uint8] VkPipelineShaderStageModuleIdentifierCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer identifierSize*: uint32 pIdentifier*: ptr uint8 VkShaderModuleIdentifierEXT* = object sType*: VkStructureType pNext*: pointer identifierSize*: uint32 identifier*: array[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT, uint8] VkImageCompressionControlEXT* = object sType*: VkStructureType pNext*: pointer flags*: VkImageCompressionFlagsEXT compressionControlPlaneCount*: uint32 pFixedRateFlags*: ptr VkImageCompressionFixedRateFlagsEXT VkPhysicalDeviceImageCompressionControlFeaturesEXT* = object sType*: VkStructureType pNext*: pointer imageCompressionControl*: VkBool32 VkImageCompressionPropertiesEXT* = object sType*: VkStructureType pNext*: pointer imageCompressionFlags*: VkImageCompressionFlagsEXT imageCompressionFixedRateFlags*: VkImageCompressionFixedRateFlagsEXT VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* = object sType*: VkStructureType pNext*: pointer imageCompressionControlSwapchain*: VkBool32 VkImageSubresource2EXT* = object sType*: VkStructureType pNext*: pointer imageSubresource*: VkImageSubresource VkSubresourceLayout2EXT* = object sType*: VkStructureType pNext*: pointer subresourceLayout*: VkSubresourceLayout VkRenderPassCreationControlEXT* = object sType*: VkStructureType pNext*: pointer disallowMerging*: VkBool32 VkRenderPassCreationFeedbackInfoEXT* = object postMergeSubpassCount*: uint32 VkRenderPassCreationFeedbackCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer pRenderPassFeedback*: ptr VkRenderPassCreationFeedbackInfoEXT VkRenderPassSubpassFeedbackInfoEXT* = object subpassMergeStatus*: VkSubpassMergeStatusEXT description*: array[VK_MAX_DESCRIPTION_SIZE, char] postMergeIndex*: uint32 VkRenderPassSubpassFeedbackCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer pSubpassFeedback*: ptr VkRenderPassSubpassFeedbackInfoEXT VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT* = object sType*: VkStructureType pNext*: pointer subpassMergeFeedback*: VkBool32 VkMicromapBuildInfoEXT* = object sType*: VkStructureType pNext*: pointer thetype*: VkMicromapTypeEXT flags*: VkBuildMicromapFlagsEXT mode*: VkBuildMicromapModeEXT dstMicromap*: VkMicromapEXT usageCountsCount*: uint32 pUsageCounts*: ptr VkMicromapUsageEXT ppUsageCounts*: ptr ptr VkMicromapUsageEXT data*: VkDeviceOrHostAddressConstKHR scratchData*: VkDeviceOrHostAddressKHR triangleArray*: VkDeviceOrHostAddressConstKHR triangleArrayStride*: VkDeviceSize VkMicromapCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer createFlags*: VkMicromapCreateFlagsEXT buffer*: VkBuffer offset*: VkDeviceSize size*: VkDeviceSize thetype*: VkMicromapTypeEXT deviceAddress*: VkDeviceAddress VkMicromapVersionInfoEXT* = object sType*: VkStructureType pNext*: pointer pVersionData*: ptr uint8 VkCopyMicromapInfoEXT* = object sType*: VkStructureType pNext*: pointer src*: VkMicromapEXT dst*: VkMicromapEXT mode*: VkCopyMicromapModeEXT VkCopyMicromapToMemoryInfoEXT* = object sType*: VkStructureType pNext*: pointer src*: VkMicromapEXT dst*: VkDeviceOrHostAddressKHR mode*: VkCopyMicromapModeEXT VkCopyMemoryToMicromapInfoEXT* = object sType*: VkStructureType pNext*: pointer src*: VkDeviceOrHostAddressConstKHR dst*: VkMicromapEXT mode*: VkCopyMicromapModeEXT VkMicromapBuildSizesInfoEXT* = object sType*: VkStructureType pNext*: pointer micromapSize*: VkDeviceSize buildScratchSize*: VkDeviceSize discardable*: VkBool32 VkMicromapUsageEXT* = object count*: uint32 subdivisionLevel*: uint32 format*: uint32 VkMicromapTriangleEXT* = object dataOffset*: uint32 subdivisionLevel*: uint16 format*: uint16 VkPhysicalDeviceOpacityMicromapFeaturesEXT* = object sType*: VkStructureType pNext*: pointer micromap*: VkBool32 micromapCaptureReplay*: VkBool32 micromapHostCommands*: VkBool32 VkPhysicalDeviceOpacityMicromapPropertiesEXT* = object sType*: VkStructureType pNext*: pointer maxOpacity2StateSubdivisionLevel*: uint32 maxOpacity4StateSubdivisionLevel*: uint32 VkAccelerationStructureTrianglesOpacityMicromapEXT* = object sType*: VkStructureType pNext*: pointer indexType*: VkIndexType indexBuffer*: VkDeviceOrHostAddressConstKHR indexStride*: VkDeviceSize baseTriangle*: uint32 usageCountsCount*: uint32 pUsageCounts*: ptr VkMicromapUsageEXT ppUsageCounts*: ptr ptr VkMicromapUsageEXT micromap*: VkMicromapEXT VkPipelinePropertiesIdentifierEXT* = object sType*: VkStructureType pNext*: pointer pipelineIdentifier*: array[VK_UUID_SIZE, uint8] VkPhysicalDevicePipelinePropertiesFeaturesEXT* = object sType*: VkStructureType pNext*: pointer pipelinePropertiesIdentifier*: VkBool32 VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD* = object sType*: VkStructureType pNext*: pointer shaderEarlyAndLateFragmentTests*: VkBool32 VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT* = object sType*: VkStructureType pNext*: pointer nonSeamlessCubeMap*: VkBool32 VkPhysicalDevicePipelineRobustnessFeaturesEXT* = object sType*: VkStructureType pNext*: pointer pipelineRobustness*: VkBool32 VkPipelineRobustnessCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer storageBuffers*: VkPipelineRobustnessBufferBehaviorEXT uniformBuffers*: VkPipelineRobustnessBufferBehaviorEXT vertexInputs*: VkPipelineRobustnessBufferBehaviorEXT images*: VkPipelineRobustnessImageBehaviorEXT VkPhysicalDevicePipelineRobustnessPropertiesEXT* = object sType*: VkStructureType pNext*: pointer defaultRobustnessStorageBuffers*: VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers*: VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs*: VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessImages*: VkPipelineRobustnessImageBehaviorEXT VkImageViewSampleWeightCreateInfoQCOM* = object sType*: VkStructureType pNext*: pointer filterCenter*: VkOffset2D filterSize*: VkExtent2D numPhases*: uint32 VkPhysicalDeviceImageProcessingFeaturesQCOM* = object sType*: VkStructureType pNext*: pointer textureSampleWeighted*: VkBool32 textureBoxFilter*: VkBool32 textureBlockMatch*: VkBool32 VkPhysicalDeviceImageProcessingPropertiesQCOM* = object sType*: VkStructureType pNext*: pointer maxWeightFilterPhases*: uint32 maxWeightFilterDimension*: VkExtent2D maxBlockMatchRegion*: VkExtent2D maxBoxFilterBlockSize*: VkExtent2D VkPhysicalDeviceTilePropertiesFeaturesQCOM* = object sType*: VkStructureType pNext*: pointer tileProperties*: VkBool32 VkTilePropertiesQCOM* = object sType*: VkStructureType pNext*: pointer tileSize*: VkExtent3D apronSize*: VkExtent2D origin*: VkOffset2D VkPhysicalDeviceAmigoProfilingFeaturesSEC* = object sType*: VkStructureType pNext*: pointer amigoProfiling*: VkBool32 VkAmigoProfilingSubmitInfoSEC* = object sType*: VkStructureType pNext*: pointer firstDrawTimestamp*: uint64 swapBufferTimestamp*: uint64 VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT* = object sType*: VkStructureType pNext*: pointer attachmentFeedbackLoopLayout*: VkBool32 VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* = object sType*: VkStructureType pNext*: pointer depthClampZeroOne*: VkBool32 VkPhysicalDeviceAddressBindingReportFeaturesEXT* = object sType*: VkStructureType pNext*: pointer reportAddressBinding*: VkBool32 VkDeviceAddressBindingCallbackDataEXT* = object sType*: VkStructureType pNext*: pointer flags*: VkDeviceAddressBindingFlagsEXT baseAddress*: VkDeviceAddress size*: VkDeviceSize bindingType*: VkDeviceAddressBindingTypeEXT VkPhysicalDeviceOpticalFlowFeaturesNV* = object sType*: VkStructureType pNext*: pointer opticalFlow*: VkBool32 VkPhysicalDeviceOpticalFlowPropertiesNV* = object sType*: VkStructureType pNext*: pointer supportedOutputGridSizes*: VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes*: VkOpticalFlowGridSizeFlagsNV hintSupported*: VkBool32 costSupported*: VkBool32 bidirectionalFlowSupported*: VkBool32 globalFlowSupported*: VkBool32 minWidth*: uint32 minHeight*: uint32 maxWidth*: uint32 maxHeight*: uint32 maxNumRegionsOfInterest*: uint32 VkOpticalFlowImageFormatInfoNV* = object sType*: VkStructureType pNext*: pointer usage*: VkOpticalFlowUsageFlagsNV VkOpticalFlowImageFormatPropertiesNV* = object sType*: VkStructureType pNext*: pointer format*: VkFormat VkOpticalFlowSessionCreateInfoNV* = object sType*: VkStructureType pNext*: pointer width*: uint32 height*: uint32 imageFormat*: VkFormat flowVectorFormat*: VkFormat costFormat*: VkFormat outputGridSize*: VkOpticalFlowGridSizeFlagsNV hintGridSize*: VkOpticalFlowGridSizeFlagsNV performanceLevel*: VkOpticalFlowPerformanceLevelNV flags*: VkOpticalFlowSessionCreateFlagsNV VkOpticalFlowSessionCreatePrivateDataInfoNV* = object sType*: VkStructureType pNext*: pointer id*: uint32 size*: uint32 pPrivateData*: pointer VkOpticalFlowExecuteInfoNV* = object sType*: VkStructureType pNext*: pointer flags*: VkOpticalFlowExecuteFlagsNV regionCount*: uint32 pRegions*: ptr VkRect2D VkPhysicalDeviceFaultFeaturesEXT* = object sType*: VkStructureType pNext*: pointer deviceFault*: VkBool32 deviceFaultVendorBinary*: VkBool32 VkDeviceFaultAddressInfoEXT* = object addressType*: VkDeviceFaultAddressTypeEXT reportedAddress*: VkDeviceAddress addressPrecision*: VkDeviceSize VkDeviceFaultVendorInfoEXT* = object description*: array[VK_MAX_DESCRIPTION_SIZE, char] vendorFaultCode*: uint64 vendorFaultData*: uint64 VkDeviceFaultCountsEXT* = object sType*: VkStructureType pNext*: pointer addressInfoCount*: uint32 vendorInfoCount*: uint32 vendorBinarySize*: VkDeviceSize VkDeviceFaultInfoEXT* = object sType*: VkStructureType pNext*: pointer description*: array[VK_MAX_DESCRIPTION_SIZE, char] pAddressInfos*: ptr VkDeviceFaultAddressInfoEXT pVendorInfos*: ptr VkDeviceFaultVendorInfoEXT pVendorBinaryData*: pointer VkDeviceFaultVendorBinaryHeaderVersionOneEXT* = object headerSize*: uint32 headerVersion*: VkDeviceFaultVendorBinaryHeaderVersionEXT vendorID*: uint32 deviceID*: uint32 driverVersion*: uint32 pipelineCacheUUID*: array[VK_UUID_SIZE, uint8] applicationNameOffset*: uint32 applicationVersion*: uint32 engineNameOffset*: uint32 VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT* = object sType*: VkStructureType pNext*: pointer pipelineLibraryGroupHandles*: VkBool32 VkDecompressMemoryRegionNV* = object srcAddress*: VkDeviceAddress dstAddress*: VkDeviceAddress compressedSize*: VkDeviceSize decompressedSize*: VkDeviceSize decompressionMethod*: VkMemoryDecompressionMethodFlagsNV VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM* = object sType*: VkStructureType pNext*: pointer shaderCoreMask*: uint64 shaderCoreCount*: uint32 shaderWarpsPerCore*: uint32 VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM* = object sType*: VkStructureType pNext*: pointer shaderCoreBuiltins*: VkBool32 VkSurfacePresentModeEXT* = object sType*: VkStructureType pNext*: pointer presentMode*: VkPresentModeKHR VkSurfacePresentScalingCapabilitiesEXT* = object sType*: VkStructureType pNext*: pointer supportedPresentScaling*: VkPresentScalingFlagsEXT supportedPresentGravityX*: VkPresentGravityFlagsEXT supportedPresentGravityY*: VkPresentGravityFlagsEXT minScaledImageExtent*: VkExtent2D maxScaledImageExtent*: VkExtent2D VkSurfacePresentModeCompatibilityEXT* = object sType*: VkStructureType pNext*: pointer presentModeCount*: uint32 pPresentModes*: ptr VkPresentModeKHR VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* = object sType*: VkStructureType pNext*: pointer swapchainMaintenance1*: VkBool32 VkSwapchainPresentFenceInfoEXT* = object sType*: VkStructureType pNext*: pointer swapchainCount*: uint32 pFences*: ptr VkFence VkSwapchainPresentModesCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer presentModeCount*: uint32 pPresentModes*: ptr VkPresentModeKHR VkSwapchainPresentModeInfoEXT* = object sType*: VkStructureType pNext*: pointer swapchainCount*: uint32 pPresentModes*: ptr VkPresentModeKHR VkSwapchainPresentScalingCreateInfoEXT* = object sType*: VkStructureType pNext*: pointer scalingBehavior*: VkPresentScalingFlagsEXT presentGravityX*: VkPresentGravityFlagsEXT presentGravityY*: VkPresentGravityFlagsEXT VkReleaseSwapchainImagesInfoEXT* = object sType*: VkStructureType pNext*: pointer swapchain*: VkSwapchainKHR imageIndexCount*: uint32 pImageIndices*: ptr uint32 VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV* = object sType*: VkStructureType pNext*: pointer rayTracingInvocationReorder*: VkBool32 VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV* = object sType*: VkStructureType pNext*: pointer rayTracingInvocationReorderReorderingHint*: VkRayTracingInvocationReorderModeNV VkDirectDriverLoadingInfoLUNARG* = object sType*: VkStructureType pNext*: pointer flags*: VkDirectDriverLoadingFlagsLUNARG pfnGetInstanceProcAddr*: PFN_vkGetInstanceProcAddrLUNARG VkDirectDriverLoadingListLUNARG* = object sType*: VkStructureType pNext*: pointer mode*: VkDirectDriverLoadingModeLUNARG driverCount*: uint32 pDrivers*: ptr VkDirectDriverLoadingInfoLUNARG VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM* = object sType*: VkStructureType pNext*: pointer multiviewPerViewViewports*: VkBool32 VkPhysicalDeviceShaderCorePropertiesARM* = object sType*: VkStructureType pNext*: pointer pixelRate*: uint32 texelRate*: uint32 fmaRate*: uint32 VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM* = object sType*: VkStructureType pNext*: pointer multiviewPerViewRenderAreas*: VkBool32 VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM* = object sType*: VkStructureType pNext*: pointer perViewRenderAreaCount*: uint32 pPerViewRenderAreas*: ptr VkRect2D # feature VK_VERSION_1_0 var 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.} 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, thetype: VkImageType, tiling: VkImageTiling, usage: VkImageUsageFlags, flags: VkImageCreateFlags, pImageFormatProperties: ptr VkImageFormatProperties): VkResult {.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.} vkGetDeviceProcAddr*: proc(device: VkDevice, pName: cstring): PFN_vkVoidFunction {.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.} vkEnumerateInstanceExtensionProperties*: proc(pLayerName: cstring, pPropertyCount: ptr uint32, pProperties: ptr VkExtensionProperties): VkResult {.stdcall.} vkEnumerateDeviceExtensionProperties*: proc(physicalDevice: VkPhysicalDevice, pLayerName: cstring, pPropertyCount: ptr uint32, pProperties: ptr VkExtensionProperties): VkResult {.stdcall.} vkEnumerateInstanceLayerProperties*: proc(pPropertyCount: ptr uint32, pProperties: ptr VkLayerProperties): VkResult {.stdcall.} vkEnumerateDeviceLayerProperties*: proc(physicalDevice: VkPhysicalDevice, pPropertyCount: ptr uint32, pProperties: ptr VkLayerProperties): 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.} vkBindBufferMemory*: proc(device: VkDevice, buffer: VkBuffer, memory: VkDeviceMemory, memoryOffset: VkDeviceSize): VkResult {.stdcall.} vkBindImageMemory*: proc(device: VkDevice, image: VkImage, memory: VkDeviceMemory, memoryOffset: VkDeviceSize): VkResult {.stdcall.} vkGetBufferMemoryRequirements*: proc(device: VkDevice, buffer: VkBuffer, pMemoryRequirements: ptr VkMemoryRequirements): void {.stdcall.} vkGetImageMemoryRequirements*: proc(device: VkDevice, image: VkImage, pMemoryRequirements: ptr VkMemoryRequirements): void {.stdcall.} vkGetImageSparseMemoryRequirements*: proc(device: VkDevice, image: VkImage, pSparseMemoryRequirementCount: ptr uint32, pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements): void {.stdcall.} vkGetPhysicalDeviceSparseImageFormatProperties*: proc(physicalDevice: VkPhysicalDevice, format: VkFormat, thetype: 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: csize_t, pData: pointer, stride: VkDeviceSize, flags: VkQueryResultFlags): VkResult {.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 csize_t, 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.} 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.} proc loadVK_VERSION_1_0*(instance: VkInstance) = vkDestroyInstance = cast[proc(instance: VkInstance, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyInstance")) vkEnumeratePhysicalDevices = cast[proc(instance: VkInstance, pPhysicalDeviceCount: ptr uint32, pPhysicalDevices: ptr VkPhysicalDevice): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkEnumeratePhysicalDevices")) vkGetPhysicalDeviceFeatures = cast[proc(physicalDevice: VkPhysicalDevice, pFeatures: ptr VkPhysicalDeviceFeatures): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures")) vkGetPhysicalDeviceFormatProperties = cast[proc(physicalDevice: VkPhysicalDevice, format: VkFormat, pFormatProperties: ptr VkFormatProperties): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties")) vkGetPhysicalDeviceImageFormatProperties = cast[proc(physicalDevice: VkPhysicalDevice, format: VkFormat, thetype: VkImageType, tiling: VkImageTiling, usage: VkImageUsageFlags, flags: VkImageCreateFlags, pImageFormatProperties: ptr VkImageFormatProperties): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties")) vkGetPhysicalDeviceProperties = cast[proc(physicalDevice: VkPhysicalDevice, pProperties: ptr VkPhysicalDeviceProperties): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties")) vkGetPhysicalDeviceQueueFamilyProperties = cast[proc(physicalDevice: VkPhysicalDevice, pQueueFamilyPropertyCount: ptr uint32, pQueueFamilyProperties: ptr VkQueueFamilyProperties): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties")) vkGetPhysicalDeviceMemoryProperties = cast[proc(physicalDevice: VkPhysicalDevice, pMemoryProperties: ptr VkPhysicalDeviceMemoryProperties): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties")) vkGetDeviceProcAddr = cast[proc(device: VkDevice, pName: cstring): PFN_vkVoidFunction {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceProcAddr")) vkCreateDevice = cast[proc(physicalDevice: VkPhysicalDevice, pCreateInfo: ptr VkDeviceCreateInfo, pAllocator: ptr VkAllocationCallbacks, pDevice: ptr VkDevice): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateDevice")) vkDestroyDevice = cast[proc(device: VkDevice, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyDevice")) vkEnumerateDeviceExtensionProperties = cast[proc(physicalDevice: VkPhysicalDevice, pLayerName: cstring, pPropertyCount: ptr uint32, pProperties: ptr VkExtensionProperties): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkEnumerateDeviceExtensionProperties")) vkEnumerateDeviceLayerProperties = cast[proc(physicalDevice: VkPhysicalDevice, pPropertyCount: ptr uint32, pProperties: ptr VkLayerProperties): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkEnumerateDeviceLayerProperties")) vkGetDeviceQueue = cast[proc(device: VkDevice, queueFamilyIndex: uint32, queueIndex: uint32, pQueue: ptr VkQueue): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceQueue")) vkQueueSubmit = cast[proc(queue: VkQueue, submitCount: uint32, pSubmits: ptr VkSubmitInfo, fence: VkFence): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkQueueSubmit")) vkQueueWaitIdle = cast[proc(queue: VkQueue): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkQueueWaitIdle")) vkDeviceWaitIdle = cast[proc(device: VkDevice): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDeviceWaitIdle")) vkAllocateMemory = cast[proc(device: VkDevice, pAllocateInfo: ptr VkMemoryAllocateInfo, pAllocator: ptr VkAllocationCallbacks, pMemory: ptr VkDeviceMemory): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkAllocateMemory")) vkFreeMemory = cast[proc(device: VkDevice, memory: VkDeviceMemory, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkFreeMemory")) vkMapMemory = cast[proc(device: VkDevice, memory: VkDeviceMemory, offset: VkDeviceSize, size: VkDeviceSize, flags: VkMemoryMapFlags, ppData: ptr pointer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkMapMemory")) vkUnmapMemory = cast[proc(device: VkDevice, memory: VkDeviceMemory): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkUnmapMemory")) vkFlushMappedMemoryRanges = cast[proc(device: VkDevice, memoryRangeCount: uint32, pMemoryRanges: ptr VkMappedMemoryRange): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkFlushMappedMemoryRanges")) vkInvalidateMappedMemoryRanges = cast[proc(device: VkDevice, memoryRangeCount: uint32, pMemoryRanges: ptr VkMappedMemoryRange): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkInvalidateMappedMemoryRanges")) vkGetDeviceMemoryCommitment = cast[proc(device: VkDevice, memory: VkDeviceMemory, pCommittedMemoryInBytes: ptr VkDeviceSize): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceMemoryCommitment")) vkBindBufferMemory = cast[proc(device: VkDevice, buffer: VkBuffer, memory: VkDeviceMemory, memoryOffset: VkDeviceSize): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkBindBufferMemory")) vkBindImageMemory = cast[proc(device: VkDevice, image: VkImage, memory: VkDeviceMemory, memoryOffset: VkDeviceSize): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkBindImageMemory")) vkGetBufferMemoryRequirements = cast[proc(device: VkDevice, buffer: VkBuffer, pMemoryRequirements: ptr VkMemoryRequirements): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements")) vkGetImageMemoryRequirements = cast[proc(device: VkDevice, image: VkImage, pMemoryRequirements: ptr VkMemoryRequirements): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetImageMemoryRequirements")) vkGetImageSparseMemoryRequirements = cast[proc(device: VkDevice, image: VkImage, pSparseMemoryRequirementCount: ptr uint32, pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements")) vkGetPhysicalDeviceSparseImageFormatProperties = cast[proc(physicalDevice: VkPhysicalDevice, format: VkFormat, thetype: VkImageType, samples: VkSampleCountFlagBits, usage: VkImageUsageFlags, tiling: VkImageTiling, pPropertyCount: ptr uint32, pProperties: ptr VkSparseImageFormatProperties): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties")) vkQueueBindSparse = cast[proc(queue: VkQueue, bindInfoCount: uint32, pBindInfo: ptr VkBindSparseInfo, fence: VkFence): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkQueueBindSparse")) vkCreateFence = cast[proc(device: VkDevice, pCreateInfo: ptr VkFenceCreateInfo, pAllocator: ptr VkAllocationCallbacks, pFence: ptr VkFence): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateFence")) vkDestroyFence = cast[proc(device: VkDevice, fence: VkFence, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyFence")) vkResetFences = cast[proc(device: VkDevice, fenceCount: uint32, pFences: ptr VkFence): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkResetFences")) vkGetFenceStatus = cast[proc(device: VkDevice, fence: VkFence): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetFenceStatus")) vkWaitForFences = cast[proc(device: VkDevice, fenceCount: uint32, pFences: ptr VkFence, waitAll: VkBool32, timeout: uint64): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkWaitForFences")) vkCreateSemaphore = cast[proc(device: VkDevice, pCreateInfo: ptr VkSemaphoreCreateInfo, pAllocator: ptr VkAllocationCallbacks, pSemaphore: ptr VkSemaphore): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateSemaphore")) vkDestroySemaphore = cast[proc(device: VkDevice, semaphore: VkSemaphore, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroySemaphore")) vkCreateEvent = cast[proc(device: VkDevice, pCreateInfo: ptr VkEventCreateInfo, pAllocator: ptr VkAllocationCallbacks, pEvent: ptr VkEvent): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateEvent")) vkDestroyEvent = cast[proc(device: VkDevice, event: VkEvent, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyEvent")) vkGetEventStatus = cast[proc(device: VkDevice, event: VkEvent): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetEventStatus")) vkSetEvent = cast[proc(device: VkDevice, event: VkEvent): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkSetEvent")) vkResetEvent = cast[proc(device: VkDevice, event: VkEvent): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkResetEvent")) vkCreateQueryPool = cast[proc(device: VkDevice, pCreateInfo: ptr VkQueryPoolCreateInfo, pAllocator: ptr VkAllocationCallbacks, pQueryPool: ptr VkQueryPool): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateQueryPool")) vkDestroyQueryPool = cast[proc(device: VkDevice, queryPool: VkQueryPool, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyQueryPool")) vkGetQueryPoolResults = cast[proc(device: VkDevice, queryPool: VkQueryPool, firstQuery: uint32, queryCount: uint32, dataSize: csize_t, pData: pointer, stride: VkDeviceSize, flags: VkQueryResultFlags): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetQueryPoolResults")) vkCreateBuffer = cast[proc(device: VkDevice, pCreateInfo: ptr VkBufferCreateInfo, pAllocator: ptr VkAllocationCallbacks, pBuffer: ptr VkBuffer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateBuffer")) vkDestroyBuffer = cast[proc(device: VkDevice, buffer: VkBuffer, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyBuffer")) vkCreateBufferView = cast[proc(device: VkDevice, pCreateInfo: ptr VkBufferViewCreateInfo, pAllocator: ptr VkAllocationCallbacks, pView: ptr VkBufferView): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateBufferView")) vkDestroyBufferView = cast[proc(device: VkDevice, bufferView: VkBufferView, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyBufferView")) vkCreateImage = cast[proc(device: VkDevice, pCreateInfo: ptr VkImageCreateInfo, pAllocator: ptr VkAllocationCallbacks, pImage: ptr VkImage): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateImage")) vkDestroyImage = cast[proc(device: VkDevice, image: VkImage, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyImage")) vkGetImageSubresourceLayout = cast[proc(device: VkDevice, image: VkImage, pSubresource: ptr VkImageSubresource, pLayout: ptr VkSubresourceLayout): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetImageSubresourceLayout")) vkCreateImageView = cast[proc(device: VkDevice, pCreateInfo: ptr VkImageViewCreateInfo, pAllocator: ptr VkAllocationCallbacks, pView: ptr VkImageView): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateImageView")) vkDestroyImageView = cast[proc(device: VkDevice, imageView: VkImageView, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyImageView")) vkCreateShaderModule = cast[proc(device: VkDevice, pCreateInfo: ptr VkShaderModuleCreateInfo, pAllocator: ptr VkAllocationCallbacks, pShaderModule: ptr VkShaderModule): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateShaderModule")) vkDestroyShaderModule = cast[proc(device: VkDevice, shaderModule: VkShaderModule, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyShaderModule")) vkCreatePipelineCache = cast[proc(device: VkDevice, pCreateInfo: ptr VkPipelineCacheCreateInfo, pAllocator: ptr VkAllocationCallbacks, pPipelineCache: ptr VkPipelineCache): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreatePipelineCache")) vkDestroyPipelineCache = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyPipelineCache")) vkGetPipelineCacheData = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, pDataSize: ptr csize_t, pData: pointer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPipelineCacheData")) vkMergePipelineCaches = cast[proc(device: VkDevice, dstCache: VkPipelineCache, srcCacheCount: uint32, pSrcCaches: ptr VkPipelineCache): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkMergePipelineCaches")) vkCreateGraphicsPipelines = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkGraphicsPipelineCreateInfo, pAllocator: ptr VkAllocationCallbacks, pPipelines: ptr VkPipeline): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateGraphicsPipelines")) vkCreateComputePipelines = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkComputePipelineCreateInfo, pAllocator: ptr VkAllocationCallbacks, pPipelines: ptr VkPipeline): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateComputePipelines")) vkDestroyPipeline = cast[proc(device: VkDevice, pipeline: VkPipeline, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyPipeline")) vkCreatePipelineLayout = cast[proc(device: VkDevice, pCreateInfo: ptr VkPipelineLayoutCreateInfo, pAllocator: ptr VkAllocationCallbacks, pPipelineLayout: ptr VkPipelineLayout): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreatePipelineLayout")) vkDestroyPipelineLayout = cast[proc(device: VkDevice, pipelineLayout: VkPipelineLayout, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyPipelineLayout")) vkCreateSampler = cast[proc(device: VkDevice, pCreateInfo: ptr VkSamplerCreateInfo, pAllocator: ptr VkAllocationCallbacks, pSampler: ptr VkSampler): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateSampler")) vkDestroySampler = cast[proc(device: VkDevice, sampler: VkSampler, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroySampler")) vkCreateDescriptorSetLayout = cast[proc(device: VkDevice, pCreateInfo: ptr VkDescriptorSetLayoutCreateInfo, pAllocator: ptr VkAllocationCallbacks, pSetLayout: ptr VkDescriptorSetLayout): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateDescriptorSetLayout")) vkDestroyDescriptorSetLayout = cast[proc(device: VkDevice, descriptorSetLayout: VkDescriptorSetLayout, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyDescriptorSetLayout")) vkCreateDescriptorPool = cast[proc(device: VkDevice, pCreateInfo: ptr VkDescriptorPoolCreateInfo, pAllocator: ptr VkAllocationCallbacks, pDescriptorPool: ptr VkDescriptorPool): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateDescriptorPool")) vkDestroyDescriptorPool = cast[proc(device: VkDevice, descriptorPool: VkDescriptorPool, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyDescriptorPool")) vkResetDescriptorPool = cast[proc(device: VkDevice, descriptorPool: VkDescriptorPool, flags: VkDescriptorPoolResetFlags): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkResetDescriptorPool")) vkAllocateDescriptorSets = cast[proc(device: VkDevice, pAllocateInfo: ptr VkDescriptorSetAllocateInfo, pDescriptorSets: ptr VkDescriptorSet): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkAllocateDescriptorSets")) vkFreeDescriptorSets = cast[proc(device: VkDevice, descriptorPool: VkDescriptorPool, descriptorSetCount: uint32, pDescriptorSets: ptr VkDescriptorSet): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkFreeDescriptorSets")) vkUpdateDescriptorSets = cast[proc(device: VkDevice, descriptorWriteCount: uint32, pDescriptorWrites: ptr VkWriteDescriptorSet, descriptorCopyCount: uint32, pDescriptorCopies: ptr VkCopyDescriptorSet): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkUpdateDescriptorSets")) vkCreateFramebuffer = cast[proc(device: VkDevice, pCreateInfo: ptr VkFramebufferCreateInfo, pAllocator: ptr VkAllocationCallbacks, pFramebuffer: ptr VkFramebuffer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateFramebuffer")) vkDestroyFramebuffer = cast[proc(device: VkDevice, framebuffer: VkFramebuffer, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyFramebuffer")) vkCreateRenderPass = cast[proc(device: VkDevice, pCreateInfo: ptr VkRenderPassCreateInfo, pAllocator: ptr VkAllocationCallbacks, pRenderPass: ptr VkRenderPass): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateRenderPass")) vkDestroyRenderPass = cast[proc(device: VkDevice, renderPass: VkRenderPass, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyRenderPass")) vkGetRenderAreaGranularity = cast[proc(device: VkDevice, renderPass: VkRenderPass, pGranularity: ptr VkExtent2D): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetRenderAreaGranularity")) vkCreateCommandPool = cast[proc(device: VkDevice, pCreateInfo: ptr VkCommandPoolCreateInfo, pAllocator: ptr VkAllocationCallbacks, pCommandPool: ptr VkCommandPool): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateCommandPool")) vkDestroyCommandPool = cast[proc(device: VkDevice, commandPool: VkCommandPool, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyCommandPool")) vkResetCommandPool = cast[proc(device: VkDevice, commandPool: VkCommandPool, flags: VkCommandPoolResetFlags): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkResetCommandPool")) vkAllocateCommandBuffers = cast[proc(device: VkDevice, pAllocateInfo: ptr VkCommandBufferAllocateInfo, pCommandBuffers: ptr VkCommandBuffer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkAllocateCommandBuffers")) vkFreeCommandBuffers = cast[proc(device: VkDevice, commandPool: VkCommandPool, commandBufferCount: uint32, pCommandBuffers: ptr VkCommandBuffer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkFreeCommandBuffers")) vkBeginCommandBuffer = cast[proc(commandBuffer: VkCommandBuffer, pBeginInfo: ptr VkCommandBufferBeginInfo): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkBeginCommandBuffer")) vkEndCommandBuffer = cast[proc(commandBuffer: VkCommandBuffer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkEndCommandBuffer")) vkResetCommandBuffer = cast[proc(commandBuffer: VkCommandBuffer, flags: VkCommandBufferResetFlags): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkResetCommandBuffer")) vkCmdBindPipeline = cast[proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, pipeline: VkPipeline): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBindPipeline")) vkCmdSetViewport = cast[proc(commandBuffer: VkCommandBuffer, firstViewport: uint32, viewportCount: uint32, pViewports: ptr VkViewport): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetViewport")) vkCmdSetScissor = cast[proc(commandBuffer: VkCommandBuffer, firstScissor: uint32, scissorCount: uint32, pScissors: ptr VkRect2D): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetScissor")) vkCmdSetLineWidth = cast[proc(commandBuffer: VkCommandBuffer, lineWidth: float32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetLineWidth")) vkCmdSetDepthBias = cast[proc(commandBuffer: VkCommandBuffer, depthBiasConstantFactor: float32, depthBiasClamp: float32, depthBiasSlopeFactor: float32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDepthBias")) vkCmdSetBlendConstants = cast[proc(commandBuffer: VkCommandBuffer, blendConstants: array[4, float32]): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetBlendConstants")) vkCmdSetDepthBounds = cast[proc(commandBuffer: VkCommandBuffer, minDepthBounds: float32, maxDepthBounds: float32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDepthBounds")) vkCmdSetStencilCompareMask = cast[proc(commandBuffer: VkCommandBuffer, faceMask: VkStencilFaceFlags, compareMask: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetStencilCompareMask")) vkCmdSetStencilWriteMask = cast[proc(commandBuffer: VkCommandBuffer, faceMask: VkStencilFaceFlags, writeMask: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetStencilWriteMask")) vkCmdSetStencilReference = cast[proc(commandBuffer: VkCommandBuffer, faceMask: VkStencilFaceFlags, reference: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetStencilReference")) vkCmdBindDescriptorSets = cast[proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, layout: VkPipelineLayout, firstSet: uint32, descriptorSetCount: uint32, pDescriptorSets: ptr VkDescriptorSet, dynamicOffsetCount: uint32, pDynamicOffsets: ptr uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBindDescriptorSets")) vkCmdBindIndexBuffer = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, indexType: VkIndexType): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBindIndexBuffer")) vkCmdBindVertexBuffers = cast[proc(commandBuffer: VkCommandBuffer, firstBinding: uint32, bindingCount: uint32, pBuffers: ptr VkBuffer, pOffsets: ptr VkDeviceSize): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBindVertexBuffers")) vkCmdDraw = cast[proc(commandBuffer: VkCommandBuffer, vertexCount: uint32, instanceCount: uint32, firstVertex: uint32, firstInstance: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDraw")) vkCmdDrawIndexed = cast[proc(commandBuffer: VkCommandBuffer, indexCount: uint32, instanceCount: uint32, firstIndex: uint32, vertexOffset: int32, firstInstance: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawIndexed")) vkCmdDrawIndirect = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, drawCount: uint32, stride: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawIndirect")) vkCmdDrawIndexedIndirect = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, drawCount: uint32, stride: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirect")) vkCmdDispatch = cast[proc(commandBuffer: VkCommandBuffer, groupCountX: uint32, groupCountY: uint32, groupCountZ: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDispatch")) vkCmdDispatchIndirect = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDispatchIndirect")) vkCmdCopyBuffer = cast[proc(commandBuffer: VkCommandBuffer, srcBuffer: VkBuffer, dstBuffer: VkBuffer, regionCount: uint32, pRegions: ptr VkBufferCopy): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyBuffer")) vkCmdCopyImage = cast[proc(commandBuffer: VkCommandBuffer, srcImage: VkImage, srcImageLayout: VkImageLayout, dstImage: VkImage, dstImageLayout: VkImageLayout, regionCount: uint32, pRegions: ptr VkImageCopy): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyImage")) vkCmdBlitImage = cast[proc(commandBuffer: VkCommandBuffer, srcImage: VkImage, srcImageLayout: VkImageLayout, dstImage: VkImage, dstImageLayout: VkImageLayout, regionCount: uint32, pRegions: ptr VkImageBlit, filter: VkFilter): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBlitImage")) vkCmdCopyBufferToImage = cast[proc(commandBuffer: VkCommandBuffer, srcBuffer: VkBuffer, dstImage: VkImage, dstImageLayout: VkImageLayout, regionCount: uint32, pRegions: ptr VkBufferImageCopy): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyBufferToImage")) vkCmdCopyImageToBuffer = cast[proc(commandBuffer: VkCommandBuffer, srcImage: VkImage, srcImageLayout: VkImageLayout, dstBuffer: VkBuffer, regionCount: uint32, pRegions: ptr VkBufferImageCopy): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer")) vkCmdUpdateBuffer = cast[proc(commandBuffer: VkCommandBuffer, dstBuffer: VkBuffer, dstOffset: VkDeviceSize, dataSize: VkDeviceSize, pData: pointer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdUpdateBuffer")) vkCmdFillBuffer = cast[proc(commandBuffer: VkCommandBuffer, dstBuffer: VkBuffer, dstOffset: VkDeviceSize, size: VkDeviceSize, data: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdFillBuffer")) vkCmdClearColorImage = cast[proc(commandBuffer: VkCommandBuffer, image: VkImage, imageLayout: VkImageLayout, pColor: ptr VkClearColorValue, rangeCount: uint32, pRanges: ptr VkImageSubresourceRange): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdClearColorImage")) vkCmdClearDepthStencilImage = cast[proc(commandBuffer: VkCommandBuffer, image: VkImage, imageLayout: VkImageLayout, pDepthStencil: ptr VkClearDepthStencilValue, rangeCount: uint32, pRanges: ptr VkImageSubresourceRange): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdClearDepthStencilImage")) vkCmdClearAttachments = cast[proc(commandBuffer: VkCommandBuffer, attachmentCount: uint32, pAttachments: ptr VkClearAttachment, rectCount: uint32, pRects: ptr VkClearRect): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdClearAttachments")) vkCmdResolveImage = cast[proc(commandBuffer: VkCommandBuffer, srcImage: VkImage, srcImageLayout: VkImageLayout, dstImage: VkImage, dstImageLayout: VkImageLayout, regionCount: uint32, pRegions: ptr VkImageResolve): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdResolveImage")) vkCmdSetEvent = cast[proc(commandBuffer: VkCommandBuffer, event: VkEvent, stageMask: VkPipelineStageFlags): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetEvent")) vkCmdResetEvent = cast[proc(commandBuffer: VkCommandBuffer, event: VkEvent, stageMask: VkPipelineStageFlags): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdResetEvent")) vkCmdWaitEvents = cast[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.}](vkGetInstanceProcAddr(instance, "vkCmdWaitEvents")) vkCmdPipelineBarrier = cast[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.}](vkGetInstanceProcAddr(instance, "vkCmdPipelineBarrier")) vkCmdBeginQuery = cast[proc(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, query: uint32, flags: VkQueryControlFlags): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBeginQuery")) vkCmdEndQuery = cast[proc(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, query: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdEndQuery")) vkCmdResetQueryPool = cast[proc(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, firstQuery: uint32, queryCount: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdResetQueryPool")) vkCmdWriteTimestamp = cast[proc(commandBuffer: VkCommandBuffer, pipelineStage: VkPipelineStageFlagBits, queryPool: VkQueryPool, query: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdWriteTimestamp")) vkCmdCopyQueryPoolResults = cast[proc(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, firstQuery: uint32, queryCount: uint32, dstBuffer: VkBuffer, dstOffset: VkDeviceSize, stride: VkDeviceSize, flags: VkQueryResultFlags): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyQueryPoolResults")) vkCmdPushConstants = cast[proc(commandBuffer: VkCommandBuffer, layout: VkPipelineLayout, stageFlags: VkShaderStageFlags, offset: uint32, size: uint32, pValues: pointer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdPushConstants")) vkCmdBeginRenderPass = cast[proc(commandBuffer: VkCommandBuffer, pRenderPassBegin: ptr VkRenderPassBeginInfo, contents: VkSubpassContents): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBeginRenderPass")) vkCmdNextSubpass = cast[proc(commandBuffer: VkCommandBuffer, contents: VkSubpassContents): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdNextSubpass")) vkCmdEndRenderPass = cast[proc(commandBuffer: VkCommandBuffer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdEndRenderPass")) vkCmdExecuteCommands = cast[proc(commandBuffer: VkCommandBuffer, commandBufferCount: uint32, pCommandBuffers: ptr VkCommandBuffer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdExecuteCommands")) # feature VK_VERSION_1_1 var vkEnumerateInstanceVersion*: proc(pApiVersion: ptr uint32): VkResult {.stdcall.} vkBindBufferMemory2*: proc(device: VkDevice, bindInfoCount: uint32, pBindInfos: ptr VkBindBufferMemoryInfo): VkResult {.stdcall.} vkBindImageMemory2*: proc(device: VkDevice, bindInfoCount: uint32, pBindInfos: ptr VkBindImageMemoryInfo): VkResult {.stdcall.} vkGetDeviceGroupPeerMemoryFeatures*: proc(device: VkDevice, heapIndex: uint32, localDeviceIndex: uint32, remoteDeviceIndex: uint32, pPeerMemoryFeatures: ptr VkPeerMemoryFeatureFlags): void {.stdcall.} vkCmdSetDeviceMask*: proc(commandBuffer: VkCommandBuffer, deviceMask: uint32): void {.stdcall.} vkCmdDispatchBase*: proc(commandBuffer: VkCommandBuffer, baseGroupX: uint32, baseGroupY: uint32, baseGroupZ: uint32, groupCountX: uint32, groupCountY: uint32, groupCountZ: uint32): void {.stdcall.} vkEnumeratePhysicalDeviceGroups*: proc(instance: VkInstance, pPhysicalDeviceGroupCount: ptr uint32, pPhysicalDeviceGroupProperties: ptr VkPhysicalDeviceGroupProperties): VkResult {.stdcall.} vkGetImageMemoryRequirements2*: proc(device: VkDevice, pInfo: ptr VkImageMemoryRequirementsInfo2, pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.} vkGetBufferMemoryRequirements2*: proc(device: VkDevice, pInfo: ptr VkBufferMemoryRequirementsInfo2, pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.} vkGetImageSparseMemoryRequirements2*: proc(device: VkDevice, pInfo: ptr VkImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: ptr uint32, pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements2): 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.} vkTrimCommandPool*: proc(device: VkDevice, commandPool: VkCommandPool, flags: VkCommandPoolTrimFlags): void {.stdcall.} vkGetDeviceQueue2*: proc(device: VkDevice, pQueueInfo: ptr VkDeviceQueueInfo2, pQueue: ptr VkQueue): 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.} 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.} vkGetPhysicalDeviceExternalBufferProperties*: proc(physicalDevice: VkPhysicalDevice, pExternalBufferInfo: ptr VkPhysicalDeviceExternalBufferInfo, pExternalBufferProperties: ptr VkExternalBufferProperties): void {.stdcall.} vkGetPhysicalDeviceExternalFenceProperties*: proc(physicalDevice: VkPhysicalDevice, pExternalFenceInfo: ptr VkPhysicalDeviceExternalFenceInfo, pExternalFenceProperties: ptr VkExternalFenceProperties): void {.stdcall.} vkGetPhysicalDeviceExternalSemaphoreProperties*: proc(physicalDevice: VkPhysicalDevice, pExternalSemaphoreInfo: ptr VkPhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: ptr VkExternalSemaphoreProperties): void {.stdcall.} vkGetDescriptorSetLayoutSupport*: proc(device: VkDevice, pCreateInfo: ptr VkDescriptorSetLayoutCreateInfo, pSupport: ptr VkDescriptorSetLayoutSupport): void {.stdcall.} proc loadVK_VERSION_1_1*(instance: VkInstance) = vkBindBufferMemory2 = cast[proc(device: VkDevice, bindInfoCount: uint32, pBindInfos: ptr VkBindBufferMemoryInfo): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkBindBufferMemory2")) vkBindImageMemory2 = cast[proc(device: VkDevice, bindInfoCount: uint32, pBindInfos: ptr VkBindImageMemoryInfo): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkBindImageMemory2")) vkGetDeviceGroupPeerMemoryFeatures = cast[proc(device: VkDevice, heapIndex: uint32, localDeviceIndex: uint32, remoteDeviceIndex: uint32, pPeerMemoryFeatures: ptr VkPeerMemoryFeatureFlags): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceGroupPeerMemoryFeatures")) vkCmdSetDeviceMask = cast[proc(commandBuffer: VkCommandBuffer, deviceMask: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDeviceMask")) vkCmdDispatchBase = cast[proc(commandBuffer: VkCommandBuffer, baseGroupX: uint32, baseGroupY: uint32, baseGroupZ: uint32, groupCountX: uint32, groupCountY: uint32, groupCountZ: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDispatchBase")) vkEnumeratePhysicalDeviceGroups = cast[proc(instance: VkInstance, pPhysicalDeviceGroupCount: ptr uint32, pPhysicalDeviceGroupProperties: ptr VkPhysicalDeviceGroupProperties): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceGroups")) vkGetImageMemoryRequirements2 = cast[proc(device: VkDevice, pInfo: ptr VkImageMemoryRequirementsInfo2, pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetImageMemoryRequirements2")) vkGetBufferMemoryRequirements2 = cast[proc(device: VkDevice, pInfo: ptr VkBufferMemoryRequirementsInfo2, pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetBufferMemoryRequirements2")) vkGetImageSparseMemoryRequirements2 = cast[proc(device: VkDevice, pInfo: ptr VkImageSparseMemoryRequirementsInfo2, pSparseMemoryRequirementCount: ptr uint32, pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetImageSparseMemoryRequirements2")) vkGetPhysicalDeviceFeatures2 = cast[proc(physicalDevice: VkPhysicalDevice, pFeatures: ptr VkPhysicalDeviceFeatures2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFeatures2")) vkGetPhysicalDeviceProperties2 = cast[proc(physicalDevice: VkPhysicalDevice, pProperties: ptr VkPhysicalDeviceProperties2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2")) vkGetPhysicalDeviceFormatProperties2 = cast[proc(physicalDevice: VkPhysicalDevice, format: VkFormat, pFormatProperties: ptr VkFormatProperties2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFormatProperties2")) vkGetPhysicalDeviceImageFormatProperties2 = cast[proc(physicalDevice: VkPhysicalDevice, pImageFormatInfo: ptr VkPhysicalDeviceImageFormatInfo2, pImageFormatProperties: ptr VkImageFormatProperties2): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties2")) vkGetPhysicalDeviceQueueFamilyProperties2 = cast[proc(physicalDevice: VkPhysicalDevice, pQueueFamilyPropertyCount: ptr uint32, pQueueFamilyProperties: ptr VkQueueFamilyProperties2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyProperties2")) vkGetPhysicalDeviceMemoryProperties2 = cast[proc(physicalDevice: VkPhysicalDevice, pMemoryProperties: ptr VkPhysicalDeviceMemoryProperties2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceMemoryProperties2")) vkGetPhysicalDeviceSparseImageFormatProperties2 = cast[proc(physicalDevice: VkPhysicalDevice, pFormatInfo: ptr VkPhysicalDeviceSparseImageFormatInfo2, pPropertyCount: ptr uint32, pProperties: ptr VkSparseImageFormatProperties2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSparseImageFormatProperties2")) vkTrimCommandPool = cast[proc(device: VkDevice, commandPool: VkCommandPool, flags: VkCommandPoolTrimFlags): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkTrimCommandPool")) vkGetDeviceQueue2 = cast[proc(device: VkDevice, pQueueInfo: ptr VkDeviceQueueInfo2, pQueue: ptr VkQueue): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceQueue2")) vkCreateSamplerYcbcrConversion = cast[proc(device: VkDevice, pCreateInfo: ptr VkSamplerYcbcrConversionCreateInfo, pAllocator: ptr VkAllocationCallbacks, pYcbcrConversion: ptr VkSamplerYcbcrConversion): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateSamplerYcbcrConversion")) vkDestroySamplerYcbcrConversion = cast[proc(device: VkDevice, ycbcrConversion: VkSamplerYcbcrConversion, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroySamplerYcbcrConversion")) vkCreateDescriptorUpdateTemplate = cast[proc(device: VkDevice, pCreateInfo: ptr VkDescriptorUpdateTemplateCreateInfo, pAllocator: ptr VkAllocationCallbacks, pDescriptorUpdateTemplate: ptr VkDescriptorUpdateTemplate): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateDescriptorUpdateTemplate")) vkDestroyDescriptorUpdateTemplate = cast[proc(device: VkDevice, descriptorUpdateTemplate: VkDescriptorUpdateTemplate, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyDescriptorUpdateTemplate")) vkUpdateDescriptorSetWithTemplate = cast[proc(device: VkDevice, descriptorSet: VkDescriptorSet, descriptorUpdateTemplate: VkDescriptorUpdateTemplate, pData: pointer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkUpdateDescriptorSetWithTemplate")) vkGetPhysicalDeviceExternalBufferProperties = cast[proc(physicalDevice: VkPhysicalDevice, pExternalBufferInfo: ptr VkPhysicalDeviceExternalBufferInfo, pExternalBufferProperties: ptr VkExternalBufferProperties): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalBufferProperties")) vkGetPhysicalDeviceExternalFenceProperties = cast[proc(physicalDevice: VkPhysicalDevice, pExternalFenceInfo: ptr VkPhysicalDeviceExternalFenceInfo, pExternalFenceProperties: ptr VkExternalFenceProperties): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalFenceProperties")) vkGetPhysicalDeviceExternalSemaphoreProperties = cast[proc(physicalDevice: VkPhysicalDevice, pExternalSemaphoreInfo: ptr VkPhysicalDeviceExternalSemaphoreInfo, pExternalSemaphoreProperties: ptr VkExternalSemaphoreProperties): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalSemaphoreProperties")) vkGetDescriptorSetLayoutSupport = cast[proc(device: VkDevice, pCreateInfo: ptr VkDescriptorSetLayoutCreateInfo, pSupport: ptr VkDescriptorSetLayoutSupport): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSupport")) # feature VK_VERSION_1_2 var 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.} 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.} vkResetQueryPool*: proc(device: VkDevice, queryPool: VkQueryPool, firstQuery: uint32, queryCount: uint32): 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.} vkGetBufferDeviceAddress*: proc(device: VkDevice, pInfo: ptr VkBufferDeviceAddressInfo): VkDeviceAddress {.stdcall.} vkGetBufferOpaqueCaptureAddress*: proc(device: VkDevice, pInfo: ptr VkBufferDeviceAddressInfo): uint64 {.stdcall.} vkGetDeviceMemoryOpaqueCaptureAddress*: proc(device: VkDevice, pInfo: ptr VkDeviceMemoryOpaqueCaptureAddressInfo): uint64 {.stdcall.} proc loadVK_VERSION_1_2*(instance: VkInstance) = vkCmdDrawIndirectCount = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, countBuffer: VkBuffer, countBufferOffset: VkDeviceSize, maxDrawCount: uint32, stride: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawIndirectCount")) vkCmdDrawIndexedIndirectCount = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, countBuffer: VkBuffer, countBufferOffset: VkDeviceSize, maxDrawCount: uint32, stride: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawIndexedIndirectCount")) vkCreateRenderPass2 = cast[proc(device: VkDevice, pCreateInfo: ptr VkRenderPassCreateInfo2, pAllocator: ptr VkAllocationCallbacks, pRenderPass: ptr VkRenderPass): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateRenderPass2")) vkCmdBeginRenderPass2 = cast[proc(commandBuffer: VkCommandBuffer, pRenderPassBegin: ptr VkRenderPassBeginInfo, pSubpassBeginInfo: ptr VkSubpassBeginInfo): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBeginRenderPass2")) vkCmdNextSubpass2 = cast[proc(commandBuffer: VkCommandBuffer, pSubpassBeginInfo: ptr VkSubpassBeginInfo, pSubpassEndInfo: ptr VkSubpassEndInfo): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdNextSubpass2")) vkCmdEndRenderPass2 = cast[proc(commandBuffer: VkCommandBuffer, pSubpassEndInfo: ptr VkSubpassEndInfo): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdEndRenderPass2")) vkResetQueryPool = cast[proc(device: VkDevice, queryPool: VkQueryPool, firstQuery: uint32, queryCount: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkResetQueryPool")) vkGetSemaphoreCounterValue = cast[proc(device: VkDevice, semaphore: VkSemaphore, pValue: ptr uint64): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetSemaphoreCounterValue")) vkWaitSemaphores = cast[proc(device: VkDevice, pWaitInfo: ptr VkSemaphoreWaitInfo, timeout: uint64): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkWaitSemaphores")) vkSignalSemaphore = cast[proc(device: VkDevice, pSignalInfo: ptr VkSemaphoreSignalInfo): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkSignalSemaphore")) vkGetBufferDeviceAddress = cast[proc(device: VkDevice, pInfo: ptr VkBufferDeviceAddressInfo): VkDeviceAddress {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetBufferDeviceAddress")) vkGetBufferOpaqueCaptureAddress = cast[proc(device: VkDevice, pInfo: ptr VkBufferDeviceAddressInfo): uint64 {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureAddress")) vkGetDeviceMemoryOpaqueCaptureAddress = cast[proc(device: VkDevice, pInfo: ptr VkDeviceMemoryOpaqueCaptureAddressInfo): uint64 {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceMemoryOpaqueCaptureAddress")) # feature VK_VERSION_1_3 var vkGetPhysicalDeviceToolProperties*: proc(physicalDevice: VkPhysicalDevice, pToolCount: ptr uint32, pToolProperties: ptr VkPhysicalDeviceToolProperties): VkResult {.stdcall.} vkCreatePrivateDataSlot*: proc(device: VkDevice, pCreateInfo: ptr VkPrivateDataSlotCreateInfo, pAllocator: ptr VkAllocationCallbacks, pPrivateDataSlot: ptr VkPrivateDataSlot): VkResult {.stdcall.} vkDestroyPrivateDataSlot*: proc(device: VkDevice, privateDataSlot: VkPrivateDataSlot, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.} vkSetPrivateData*: proc(device: VkDevice, objectType: VkObjectType, objectHandle: uint64, privateDataSlot: VkPrivateDataSlot, data: uint64): VkResult {.stdcall.} vkGetPrivateData*: proc(device: VkDevice, objectType: VkObjectType, objectHandle: uint64, privateDataSlot: VkPrivateDataSlot, pData: ptr uint64): void {.stdcall.} vkCmdSetEvent2*: proc(commandBuffer: VkCommandBuffer, event: VkEvent, pDependencyInfo: ptr VkDependencyInfo): void {.stdcall.} vkCmdResetEvent2*: proc(commandBuffer: VkCommandBuffer, event: VkEvent, stageMask: VkPipelineStageFlags2): void {.stdcall.} vkCmdWaitEvents2*: proc(commandBuffer: VkCommandBuffer, eventCount: uint32, pEvents: ptr VkEvent, pDependencyInfos: ptr VkDependencyInfo): void {.stdcall.} vkCmdPipelineBarrier2*: proc(commandBuffer: VkCommandBuffer, pDependencyInfo: ptr VkDependencyInfo): void {.stdcall.} vkCmdWriteTimestamp2*: proc(commandBuffer: VkCommandBuffer, stage: VkPipelineStageFlags2, queryPool: VkQueryPool, query: uint32): void {.stdcall.} vkQueueSubmit2*: proc(queue: VkQueue, submitCount: uint32, pSubmits: ptr VkSubmitInfo2, fence: VkFence): VkResult {.stdcall.} vkCmdCopyBuffer2*: proc(commandBuffer: VkCommandBuffer, pCopyBufferInfo: ptr VkCopyBufferInfo2): void {.stdcall.} vkCmdCopyImage2*: proc(commandBuffer: VkCommandBuffer, pCopyImageInfo: ptr VkCopyImageInfo2): void {.stdcall.} vkCmdCopyBufferToImage2*: proc(commandBuffer: VkCommandBuffer, pCopyBufferToImageInfo: ptr VkCopyBufferToImageInfo2): void {.stdcall.} vkCmdCopyImageToBuffer2*: proc(commandBuffer: VkCommandBuffer, pCopyImageToBufferInfo: ptr VkCopyImageToBufferInfo2): void {.stdcall.} vkCmdBlitImage2*: proc(commandBuffer: VkCommandBuffer, pBlitImageInfo: ptr VkBlitImageInfo2): void {.stdcall.} vkCmdResolveImage2*: proc(commandBuffer: VkCommandBuffer, pResolveImageInfo: ptr VkResolveImageInfo2): void {.stdcall.} vkCmdBeginRendering*: proc(commandBuffer: VkCommandBuffer, pRenderingInfo: ptr VkRenderingInfo): void {.stdcall.} vkCmdEndRendering*: proc(commandBuffer: VkCommandBuffer): void {.stdcall.} vkCmdSetCullMode*: proc(commandBuffer: VkCommandBuffer, cullMode: VkCullModeFlags): void {.stdcall.} vkCmdSetFrontFace*: proc(commandBuffer: VkCommandBuffer, frontFace: VkFrontFace): void {.stdcall.} vkCmdSetPrimitiveTopology*: proc(commandBuffer: VkCommandBuffer, primitiveTopology: VkPrimitiveTopology): void {.stdcall.} vkCmdSetViewportWithCount*: proc(commandBuffer: VkCommandBuffer, viewportCount: uint32, pViewports: ptr VkViewport): void {.stdcall.} vkCmdSetScissorWithCount*: proc(commandBuffer: VkCommandBuffer, scissorCount: uint32, pScissors: ptr VkRect2D): void {.stdcall.} vkCmdBindVertexBuffers2*: proc(commandBuffer: VkCommandBuffer, firstBinding: uint32, bindingCount: uint32, pBuffers: ptr VkBuffer, pOffsets: ptr VkDeviceSize, pSizes: ptr VkDeviceSize, pStrides: ptr VkDeviceSize): void {.stdcall.} vkCmdSetDepthTestEnable*: proc(commandBuffer: VkCommandBuffer, depthTestEnable: VkBool32): void {.stdcall.} vkCmdSetDepthWriteEnable*: proc(commandBuffer: VkCommandBuffer, depthWriteEnable: VkBool32): void {.stdcall.} vkCmdSetDepthCompareOp*: proc(commandBuffer: VkCommandBuffer, depthCompareOp: VkCompareOp): void {.stdcall.} vkCmdSetDepthBoundsTestEnable*: proc(commandBuffer: VkCommandBuffer, depthBoundsTestEnable: VkBool32): void {.stdcall.} vkCmdSetStencilTestEnable*: proc(commandBuffer: VkCommandBuffer, stencilTestEnable: VkBool32): void {.stdcall.} vkCmdSetStencilOp*: proc(commandBuffer: VkCommandBuffer, faceMask: VkStencilFaceFlags, failOp: VkStencilOp, passOp: VkStencilOp, depthFailOp: VkStencilOp, compareOp: VkCompareOp): void {.stdcall.} vkCmdSetRasterizerDiscardEnable*: proc(commandBuffer: VkCommandBuffer, rasterizerDiscardEnable: VkBool32): void {.stdcall.} vkCmdSetDepthBiasEnable*: proc(commandBuffer: VkCommandBuffer, depthBiasEnable: VkBool32): void {.stdcall.} vkCmdSetPrimitiveRestartEnable*: proc(commandBuffer: VkCommandBuffer, primitiveRestartEnable: VkBool32): void {.stdcall.} vkGetDeviceBufferMemoryRequirements*: proc(device: VkDevice, pInfo: ptr VkDeviceBufferMemoryRequirements, pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.} vkGetDeviceImageMemoryRequirements*: proc(device: VkDevice, pInfo: ptr VkDeviceImageMemoryRequirements, pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.} vkGetDeviceImageSparseMemoryRequirements*: proc(device: VkDevice, pInfo: ptr VkDeviceImageMemoryRequirements, pSparseMemoryRequirementCount: ptr uint32, pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements2): void {.stdcall.} proc loadVK_VERSION_1_3*(instance: VkInstance) = vkGetPhysicalDeviceToolProperties = cast[proc(physicalDevice: VkPhysicalDevice, pToolCount: ptr uint32, pToolProperties: ptr VkPhysicalDeviceToolProperties): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceToolProperties")) vkCreatePrivateDataSlot = cast[proc(device: VkDevice, pCreateInfo: ptr VkPrivateDataSlotCreateInfo, pAllocator: ptr VkAllocationCallbacks, pPrivateDataSlot: ptr VkPrivateDataSlot): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreatePrivateDataSlot")) vkDestroyPrivateDataSlot = cast[proc(device: VkDevice, privateDataSlot: VkPrivateDataSlot, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyPrivateDataSlot")) vkSetPrivateData = cast[proc(device: VkDevice, objectType: VkObjectType, objectHandle: uint64, privateDataSlot: VkPrivateDataSlot, data: uint64): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkSetPrivateData")) vkGetPrivateData = cast[proc(device: VkDevice, objectType: VkObjectType, objectHandle: uint64, privateDataSlot: VkPrivateDataSlot, pData: ptr uint64): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPrivateData")) vkCmdSetEvent2 = cast[proc(commandBuffer: VkCommandBuffer, event: VkEvent, pDependencyInfo: ptr VkDependencyInfo): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetEvent2")) vkCmdResetEvent2 = cast[proc(commandBuffer: VkCommandBuffer, event: VkEvent, stageMask: VkPipelineStageFlags2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdResetEvent2")) vkCmdWaitEvents2 = cast[proc(commandBuffer: VkCommandBuffer, eventCount: uint32, pEvents: ptr VkEvent, pDependencyInfos: ptr VkDependencyInfo): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdWaitEvents2")) vkCmdPipelineBarrier2 = cast[proc(commandBuffer: VkCommandBuffer, pDependencyInfo: ptr VkDependencyInfo): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdPipelineBarrier2")) vkCmdWriteTimestamp2 = cast[proc(commandBuffer: VkCommandBuffer, stage: VkPipelineStageFlags2, queryPool: VkQueryPool, query: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdWriteTimestamp2")) vkQueueSubmit2 = cast[proc(queue: VkQueue, submitCount: uint32, pSubmits: ptr VkSubmitInfo2, fence: VkFence): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkQueueSubmit2")) vkCmdCopyBuffer2 = cast[proc(commandBuffer: VkCommandBuffer, pCopyBufferInfo: ptr VkCopyBufferInfo2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyBuffer2")) vkCmdCopyImage2 = cast[proc(commandBuffer: VkCommandBuffer, pCopyImageInfo: ptr VkCopyImageInfo2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyImage2")) vkCmdCopyBufferToImage2 = cast[proc(commandBuffer: VkCommandBuffer, pCopyBufferToImageInfo: ptr VkCopyBufferToImageInfo2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyBufferToImage2")) vkCmdCopyImageToBuffer2 = cast[proc(commandBuffer: VkCommandBuffer, pCopyImageToBufferInfo: ptr VkCopyImageToBufferInfo2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer2")) vkCmdBlitImage2 = cast[proc(commandBuffer: VkCommandBuffer, pBlitImageInfo: ptr VkBlitImageInfo2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBlitImage2")) vkCmdResolveImage2 = cast[proc(commandBuffer: VkCommandBuffer, pResolveImageInfo: ptr VkResolveImageInfo2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdResolveImage2")) vkCmdBeginRendering = cast[proc(commandBuffer: VkCommandBuffer, pRenderingInfo: ptr VkRenderingInfo): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBeginRendering")) vkCmdEndRendering = cast[proc(commandBuffer: VkCommandBuffer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdEndRendering")) vkCmdSetCullMode = cast[proc(commandBuffer: VkCommandBuffer, cullMode: VkCullModeFlags): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetCullMode")) vkCmdSetFrontFace = cast[proc(commandBuffer: VkCommandBuffer, frontFace: VkFrontFace): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetFrontFace")) vkCmdSetPrimitiveTopology = cast[proc(commandBuffer: VkCommandBuffer, primitiveTopology: VkPrimitiveTopology): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetPrimitiveTopology")) vkCmdSetViewportWithCount = cast[proc(commandBuffer: VkCommandBuffer, viewportCount: uint32, pViewports: ptr VkViewport): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetViewportWithCount")) vkCmdSetScissorWithCount = cast[proc(commandBuffer: VkCommandBuffer, scissorCount: uint32, pScissors: ptr VkRect2D): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetScissorWithCount")) vkCmdBindVertexBuffers2 = cast[proc(commandBuffer: VkCommandBuffer, firstBinding: uint32, bindingCount: uint32, pBuffers: ptr VkBuffer, pOffsets: ptr VkDeviceSize, pSizes: ptr VkDeviceSize, pStrides: ptr VkDeviceSize): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBindVertexBuffers2")) vkCmdSetDepthTestEnable = cast[proc(commandBuffer: VkCommandBuffer, depthTestEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDepthTestEnable")) vkCmdSetDepthWriteEnable = cast[proc(commandBuffer: VkCommandBuffer, depthWriteEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDepthWriteEnable")) vkCmdSetDepthCompareOp = cast[proc(commandBuffer: VkCommandBuffer, depthCompareOp: VkCompareOp): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDepthCompareOp")) vkCmdSetDepthBoundsTestEnable = cast[proc(commandBuffer: VkCommandBuffer, depthBoundsTestEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDepthBoundsTestEnable")) vkCmdSetStencilTestEnable = cast[proc(commandBuffer: VkCommandBuffer, stencilTestEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetStencilTestEnable")) vkCmdSetStencilOp = cast[proc(commandBuffer: VkCommandBuffer, faceMask: VkStencilFaceFlags, failOp: VkStencilOp, passOp: VkStencilOp, depthFailOp: VkStencilOp, compareOp: VkCompareOp): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetStencilOp")) vkCmdSetRasterizerDiscardEnable = cast[proc(commandBuffer: VkCommandBuffer, rasterizerDiscardEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetRasterizerDiscardEnable")) vkCmdSetDepthBiasEnable = cast[proc(commandBuffer: VkCommandBuffer, depthBiasEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDepthBiasEnable")) vkCmdSetPrimitiveRestartEnable = cast[proc(commandBuffer: VkCommandBuffer, primitiveRestartEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetPrimitiveRestartEnable")) vkGetDeviceBufferMemoryRequirements = cast[proc(device: VkDevice, pInfo: ptr VkDeviceBufferMemoryRequirements, pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceBufferMemoryRequirements")) vkGetDeviceImageMemoryRequirements = cast[proc(device: VkDevice, pInfo: ptr VkDeviceImageMemoryRequirements, pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceImageMemoryRequirements")) vkGetDeviceImageSparseMemoryRequirements = cast[proc(device: VkDevice, pInfo: ptr VkDeviceImageMemoryRequirements, pSparseMemoryRequirementCount: ptr uint32, pSparseMemoryRequirements: ptr VkSparseImageMemoryRequirements2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceImageSparseMemoryRequirements")) proc loadVulkan*(instance: VkInstance) = loadVK_VERSION_1_0(instance) loadVK_VERSION_1_1(instance) loadVK_VERSION_1_2(instance) loadVK_VERSION_1_3(instance) proc loadVK_NV_geometry_shader_passthrough*(instance: VkInstance) = discard proc loadVK_EXT_rasterization_order_attachment_access*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_IMG_format_pvrtc*(instance: VkInstance) = discard proc loadVK_AMD_shader_fragment_mask*(instance: VkInstance) = discard proc loadVK_EXT_primitive_topology_list_restart*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_KHR_global_priority*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_QCOM_image_processing*(instance: VkInstance) = loadVK_VERSION_1_3(instance) # extension VK_AMD_shader_info var vkGetShaderInfoAMD*: proc(device: VkDevice, pipeline: VkPipeline, shaderStage: VkShaderStageFlagBits, infoType: VkShaderInfoTypeAMD, pInfoSize: ptr csize_t, pInfo: pointer): VkResult {.stdcall.} proc loadVK_AMD_shader_info*(instance: VkInstance) = vkGetShaderInfoAMD = cast[proc(device: VkDevice, pipeline: VkPipeline, shaderStage: VkShaderStageFlagBits, infoType: VkShaderInfoTypeAMD, pInfoSize: ptr csize_t, pInfo: pointer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetShaderInfoAMD")) proc loadVK_AMD_gpu_shader_int16*(instance: VkInstance) = discard proc loadVK_EXT_pipeline_robustness*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_EXT_sample_locations var vkCmdSetSampleLocationsEXT*: proc(commandBuffer: VkCommandBuffer, pSampleLocationsInfo: ptr VkSampleLocationsInfoEXT): void {.stdcall.} vkGetPhysicalDeviceMultisamplePropertiesEXT*: proc(physicalDevice: VkPhysicalDevice, samples: VkSampleCountFlagBits, pMultisampleProperties: ptr VkMultisamplePropertiesEXT): void {.stdcall.} proc loadVK_EXT_sample_locations*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdSetSampleLocationsEXT = cast[proc(commandBuffer: VkCommandBuffer, pSampleLocationsInfo: ptr VkSampleLocationsInfoEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetSampleLocationsEXT")) vkGetPhysicalDeviceMultisamplePropertiesEXT = cast[proc(physicalDevice: VkPhysicalDevice, samples: VkSampleCountFlagBits, pMultisampleProperties: ptr VkMultisamplePropertiesEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT")) # extension VK_EXT_descriptor_buffer var vkGetDescriptorSetLayoutSizeEXT*: proc(device: VkDevice, layout: VkDescriptorSetLayout, pLayoutSizeInBytes: ptr VkDeviceSize): void {.stdcall.} vkGetDescriptorSetLayoutBindingOffsetEXT*: proc(device: VkDevice, layout: VkDescriptorSetLayout, binding: uint32, pOffset: ptr VkDeviceSize): void {.stdcall.} vkGetDescriptorEXT*: proc(device: VkDevice, pDescriptorInfo: ptr VkDescriptorGetInfoEXT, dataSize: csize_t, pDescriptor: pointer): void {.stdcall.} vkCmdBindDescriptorBuffersEXT*: proc(commandBuffer: VkCommandBuffer, bufferCount: uint32, pBindingInfos: ptr VkDescriptorBufferBindingInfoEXT): void {.stdcall.} vkCmdSetDescriptorBufferOffsetsEXT*: proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, layout: VkPipelineLayout, firstSet: uint32, setCount: uint32, pBufferIndices: ptr uint32, pOffsets: ptr VkDeviceSize): void {.stdcall.} vkCmdBindDescriptorBufferEmbeddedSamplersEXT*: proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, layout: VkPipelineLayout, set: uint32): void {.stdcall.} vkGetBufferOpaqueCaptureDescriptorDataEXT*: proc(device: VkDevice, pInfo: ptr VkBufferCaptureDescriptorDataInfoEXT, pData: pointer): VkResult {.stdcall.} vkGetImageOpaqueCaptureDescriptorDataEXT*: proc(device: VkDevice, pInfo: ptr VkImageCaptureDescriptorDataInfoEXT, pData: pointer): VkResult {.stdcall.} vkGetImageViewOpaqueCaptureDescriptorDataEXT*: proc(device: VkDevice, pInfo: ptr VkImageViewCaptureDescriptorDataInfoEXT, pData: pointer): VkResult {.stdcall.} vkGetSamplerOpaqueCaptureDescriptorDataEXT*: proc(device: VkDevice, pInfo: ptr VkSamplerCaptureDescriptorDataInfoEXT, pData: pointer): VkResult {.stdcall.} vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT*: proc(device: VkDevice, pInfo: ptr VkAccelerationStructureCaptureDescriptorDataInfoEXT, pData: pointer): VkResult {.stdcall.} proc loadVK_EXT_descriptor_buffer*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_VERSION_1_2(instance) loadVK_VERSION_1_3(instance) loadVK_VERSION_1_2(instance) vkGetDescriptorSetLayoutSizeEXT = cast[proc(device: VkDevice, layout: VkDescriptorSetLayout, pLayoutSizeInBytes: ptr VkDeviceSize): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutSizeEXT")) vkGetDescriptorSetLayoutBindingOffsetEXT = cast[proc(device: VkDevice, layout: VkDescriptorSetLayout, binding: uint32, pOffset: ptr VkDeviceSize): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutBindingOffsetEXT")) vkGetDescriptorEXT = cast[proc(device: VkDevice, pDescriptorInfo: ptr VkDescriptorGetInfoEXT, dataSize: csize_t, pDescriptor: pointer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDescriptorEXT")) vkCmdBindDescriptorBuffersEXT = cast[proc(commandBuffer: VkCommandBuffer, bufferCount: uint32, pBindingInfos: ptr VkDescriptorBufferBindingInfoEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBindDescriptorBuffersEXT")) vkCmdSetDescriptorBufferOffsetsEXT = cast[proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, layout: VkPipelineLayout, firstSet: uint32, setCount: uint32, pBufferIndices: ptr uint32, pOffsets: ptr VkDeviceSize): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDescriptorBufferOffsetsEXT")) vkCmdBindDescriptorBufferEmbeddedSamplersEXT = cast[proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, layout: VkPipelineLayout, set: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT")) vkGetBufferOpaqueCaptureDescriptorDataEXT = cast[proc(device: VkDevice, pInfo: ptr VkBufferCaptureDescriptorDataInfoEXT, pData: pointer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetBufferOpaqueCaptureDescriptorDataEXT")) vkGetImageOpaqueCaptureDescriptorDataEXT = cast[proc(device: VkDevice, pInfo: ptr VkImageCaptureDescriptorDataInfoEXT, pData: pointer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetImageOpaqueCaptureDescriptorDataEXT")) vkGetImageViewOpaqueCaptureDescriptorDataEXT = cast[proc(device: VkDevice, pInfo: ptr VkImageViewCaptureDescriptorDataInfoEXT, pData: pointer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetImageViewOpaqueCaptureDescriptorDataEXT")) vkGetSamplerOpaqueCaptureDescriptorDataEXT = cast[proc(device: VkDevice, pInfo: ptr VkSamplerCaptureDescriptorDataInfoEXT, pData: pointer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetSamplerOpaqueCaptureDescriptorDataEXT")) vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = cast[proc(device: VkDevice, pInfo: ptr VkAccelerationStructureCaptureDescriptorDataInfoEXT, pData: pointer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT")) # extension VK_KHR_performance_query var 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.} proc loadVK_KHR_performance_query*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = cast[proc(physicalDevice: VkPhysicalDevice, queueFamilyIndex: uint32, pCounterCount: ptr uint32, pCounters: ptr VkPerformanceCounterKHR, pCounterDescriptions: ptr VkPerformanceCounterDescriptionKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR")) vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = cast[proc(physicalDevice: VkPhysicalDevice, pPerformanceQueryCreateInfo: ptr VkQueryPoolPerformanceCreateInfoKHR, pNumPasses: ptr uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR")) vkAcquireProfilingLockKHR = cast[proc(device: VkDevice, pInfo: ptr VkAcquireProfilingLockInfoKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkAcquireProfilingLockKHR")) vkReleaseProfilingLockKHR = cast[proc(device: VkDevice): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkReleaseProfilingLockKHR")) proc loadVK_GOOGLE_user_type*(instance: VkInstance) = discard # extension VK_EXT_debug_report var 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, theobject: uint64, location: csize_t, messageCode: int32, pLayerPrefix: cstring, pMessage: cstring): void {.stdcall.} proc loadVK_EXT_debug_report*(instance: VkInstance) = vkCreateDebugReportCallbackEXT = cast[proc(instance: VkInstance, pCreateInfo: ptr VkDebugReportCallbackCreateInfoEXT, pAllocator: ptr VkAllocationCallbacks, pCallback: ptr VkDebugReportCallbackEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT")) vkDestroyDebugReportCallbackEXT = cast[proc(instance: VkInstance, callback: VkDebugReportCallbackEXT, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyDebugReportCallbackEXT")) vkDebugReportMessageEXT = cast[proc(instance: VkInstance, flags: VkDebugReportFlagsEXT, objectType: VkDebugReportObjectTypeEXT, theobject: uint64, location: csize_t, messageCode: int32, pLayerPrefix: cstring, pMessage: cstring): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDebugReportMessageEXT")) proc loadVK_EXT_multisampled_render_to_single_sampled*(instance: VkInstance) = loadVK_VERSION_1_2(instance) loadVK_VERSION_1_2(instance) proc loadVK_AMD_negative_viewport_height*(instance: VkInstance) = discard proc loadVK_EXT_provoking_vertex*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_NV_device_diagnostics_config*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_NV_shader_subgroup_partitioned*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_image_sliced_view_of_3d*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_VERSION_1_1(instance) proc loadVK_AMD_shader_image_load_store_lod*(instance: VkInstance) = discard proc loadVK_INTEL_shader_integer_functions2*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_image_2d_view_of_3d*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_VERSION_1_1(instance) # extension VK_NV_shading_rate_image var 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.} proc loadVK_NV_shading_rate_image*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdBindShadingRateImageNV = cast[proc(commandBuffer: VkCommandBuffer, imageView: VkImageView, imageLayout: VkImageLayout): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBindShadingRateImageNV")) vkCmdSetViewportShadingRatePaletteNV = cast[proc(commandBuffer: VkCommandBuffer, firstViewport: uint32, viewportCount: uint32, pShadingRatePalettes: ptr VkShadingRatePaletteNV): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetViewportShadingRatePaletteNV")) vkCmdSetCoarseSampleOrderNV = cast[proc(commandBuffer: VkCommandBuffer, sampleOrderType: VkCoarseSampleOrderTypeNV, customSampleOrderCount: uint32, pCustomSampleOrders: ptr VkCoarseSampleOrderCustomNV): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetCoarseSampleOrderNV")) proc loadVK_EXT_fragment_density_map*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_NV_device_diagnostic_checkpoints var vkCmdSetCheckpointNV*: proc(commandBuffer: VkCommandBuffer, pCheckpointMarker: pointer): void {.stdcall.} vkGetQueueCheckpointDataNV*: proc(queue: VkQueue, pCheckpointDataCount: ptr uint32, pCheckpointData: ptr VkCheckpointDataNV): void {.stdcall.} proc loadVK_NV_device_diagnostic_checkpoints*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdSetCheckpointNV = cast[proc(commandBuffer: VkCommandBuffer, pCheckpointMarker: pointer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetCheckpointNV")) vkGetQueueCheckpointDataNV = cast[proc(queue: VkQueue, pCheckpointDataCount: ptr uint32, pCheckpointData: ptr VkCheckpointDataNV): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetQueueCheckpointDataNV")) proc loadVK_EXT_pci_bus_info*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_queue_family_foreign*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_EXT_debug_utils var 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.} proc loadVK_EXT_debug_utils*(instance: VkInstance) = vkSetDebugUtilsObjectNameEXT = cast[proc(device: VkDevice, pNameInfo: ptr VkDebugUtilsObjectNameInfoEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkSetDebugUtilsObjectNameEXT")) vkSetDebugUtilsObjectTagEXT = cast[proc(device: VkDevice, pTagInfo: ptr VkDebugUtilsObjectTagInfoEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkSetDebugUtilsObjectTagEXT")) vkQueueBeginDebugUtilsLabelEXT = cast[proc(queue: VkQueue, pLabelInfo: ptr VkDebugUtilsLabelEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkQueueBeginDebugUtilsLabelEXT")) vkQueueEndDebugUtilsLabelEXT = cast[proc(queue: VkQueue): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkQueueEndDebugUtilsLabelEXT")) vkQueueInsertDebugUtilsLabelEXT = cast[proc(queue: VkQueue, pLabelInfo: ptr VkDebugUtilsLabelEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkQueueInsertDebugUtilsLabelEXT")) vkCmdBeginDebugUtilsLabelEXT = cast[proc(commandBuffer: VkCommandBuffer, pLabelInfo: ptr VkDebugUtilsLabelEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBeginDebugUtilsLabelEXT")) vkCmdEndDebugUtilsLabelEXT = cast[proc(commandBuffer: VkCommandBuffer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdEndDebugUtilsLabelEXT")) vkCmdInsertDebugUtilsLabelEXT = cast[proc(commandBuffer: VkCommandBuffer, pLabelInfo: ptr VkDebugUtilsLabelEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdInsertDebugUtilsLabelEXT")) vkCreateDebugUtilsMessengerEXT = cast[proc(instance: VkInstance, pCreateInfo: ptr VkDebugUtilsMessengerCreateInfoEXT, pAllocator: ptr VkAllocationCallbacks, pMessenger: ptr VkDebugUtilsMessengerEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateDebugUtilsMessengerEXT")) vkDestroyDebugUtilsMessengerEXT = cast[proc(instance: VkInstance, messenger: VkDebugUtilsMessengerEXT, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyDebugUtilsMessengerEXT")) vkSubmitDebugUtilsMessageEXT = cast[proc(instance: VkInstance, messageSeverity: VkDebugUtilsMessageSeverityFlagBitsEXT, messageTypes: VkDebugUtilsMessageTypeFlagsEXT, pCallbackData: ptr VkDebugUtilsMessengerCallbackDataEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkSubmitDebugUtilsMessageEXT")) proc loadVK_KHR_portability_enumeration*(instance: VkInstance) = discard proc loadVK_EXT_memory_priority*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_AMD_shader_core_properties*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_KHR_external_fence_fd var vkImportFenceFdKHR*: proc(device: VkDevice, pImportFenceFdInfo: ptr VkImportFenceFdInfoKHR): VkResult {.stdcall.} vkGetFenceFdKHR*: proc(device: VkDevice, pGetFdInfo: ptr VkFenceGetFdInfoKHR, pFd: ptr cint): VkResult {.stdcall.} proc loadVK_KHR_external_fence_fd*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkImportFenceFdKHR = cast[proc(device: VkDevice, pImportFenceFdInfo: ptr VkImportFenceFdInfoKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkImportFenceFdKHR")) vkGetFenceFdKHR = cast[proc(device: VkDevice, pGetFdInfo: ptr VkFenceGetFdInfoKHR, pFd: ptr cint): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetFenceFdKHR")) # extension VK_NV_device_generated_commands var vkGetGeneratedCommandsMemoryRequirementsNV*: proc(device: VkDevice, pInfo: ptr VkGeneratedCommandsMemoryRequirementsInfoNV, pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.} vkCmdPreprocessGeneratedCommandsNV*: proc(commandBuffer: VkCommandBuffer, pGeneratedCommandsInfo: ptr VkGeneratedCommandsInfoNV): void {.stdcall.} vkCmdExecuteGeneratedCommandsNV*: proc(commandBuffer: VkCommandBuffer, isPreprocessed: VkBool32, pGeneratedCommandsInfo: ptr VkGeneratedCommandsInfoNV): void {.stdcall.} vkCmdBindPipelineShaderGroupNV*: proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, pipeline: VkPipeline, groupIndex: uint32): 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.} proc loadVK_NV_device_generated_commands*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_VERSION_1_2(instance) vkGetGeneratedCommandsMemoryRequirementsNV = cast[proc(device: VkDevice, pInfo: ptr VkGeneratedCommandsMemoryRequirementsInfoNV, pMemoryRequirements: ptr VkMemoryRequirements2): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetGeneratedCommandsMemoryRequirementsNV")) vkCmdPreprocessGeneratedCommandsNV = cast[proc(commandBuffer: VkCommandBuffer, pGeneratedCommandsInfo: ptr VkGeneratedCommandsInfoNV): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdPreprocessGeneratedCommandsNV")) vkCmdExecuteGeneratedCommandsNV = cast[proc(commandBuffer: VkCommandBuffer, isPreprocessed: VkBool32, pGeneratedCommandsInfo: ptr VkGeneratedCommandsInfoNV): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdExecuteGeneratedCommandsNV")) vkCmdBindPipelineShaderGroupNV = cast[proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, pipeline: VkPipeline, groupIndex: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBindPipelineShaderGroupNV")) vkCreateIndirectCommandsLayoutNV = cast[proc(device: VkDevice, pCreateInfo: ptr VkIndirectCommandsLayoutCreateInfoNV, pAllocator: ptr VkAllocationCallbacks, pIndirectCommandsLayout: ptr VkIndirectCommandsLayoutNV): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateIndirectCommandsLayoutNV")) vkDestroyIndirectCommandsLayoutNV = cast[proc(device: VkDevice, indirectCommandsLayout: VkIndirectCommandsLayoutNV, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyIndirectCommandsLayoutNV")) proc loadVK_NV_viewport_array2*(instance: VkInstance) = discard proc loadVK_NVX_multiview_per_view_attributes*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_KHR_external_memory_fd var vkGetMemoryFdKHR*: proc(device: VkDevice, pGetFdInfo: ptr VkMemoryGetFdInfoKHR, pFd: ptr cint): VkResult {.stdcall.} vkGetMemoryFdPropertiesKHR*: proc(device: VkDevice, handleType: VkExternalMemoryHandleTypeFlagBits, fd: cint, pMemoryFdProperties: ptr VkMemoryFdPropertiesKHR): VkResult {.stdcall.} proc loadVK_KHR_external_memory_fd*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkGetMemoryFdKHR = cast[proc(device: VkDevice, pGetFdInfo: ptr VkMemoryGetFdInfoKHR, pFd: ptr cint): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetMemoryFdKHR")) vkGetMemoryFdPropertiesKHR = cast[proc(device: VkDevice, handleType: VkExternalMemoryHandleTypeFlagBits, fd: cint, pMemoryFdProperties: ptr VkMemoryFdPropertiesKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetMemoryFdPropertiesKHR")) proc loadVK_EXT_rgba10x6_formats*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_NV_dedicated_allocation_image_aliasing*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_VERSION_1_1(instance) # extension VK_NV_cooperative_matrix var vkGetPhysicalDeviceCooperativeMatrixPropertiesNV*: proc(physicalDevice: VkPhysicalDevice, pPropertyCount: ptr uint32, pProperties: ptr VkCooperativeMatrixPropertiesNV): VkResult {.stdcall.} proc loadVK_NV_cooperative_matrix*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = cast[proc(physicalDevice: VkPhysicalDevice, pPropertyCount: ptr uint32, pProperties: ptr VkCooperativeMatrixPropertiesNV): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV")) proc loadVK_EXT_depth_clamp_zero_one*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_NV_linear_color_attachment*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_shader_subgroup_ballot*(instance: VkInstance) = discard # extension VK_EXT_image_drm_format_modifier var vkGetImageDrmFormatModifierPropertiesEXT*: proc(device: VkDevice, image: VkImage, pProperties: ptr VkImageDrmFormatModifierPropertiesEXT): VkResult {.stdcall.} proc loadVK_EXT_image_drm_format_modifier*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_VERSION_1_1(instance) loadVK_VERSION_1_2(instance) loadVK_VERSION_1_1(instance) vkGetImageDrmFormatModifierPropertiesEXT = cast[proc(device: VkDevice, image: VkImage, pProperties: ptr VkImageDrmFormatModifierPropertiesEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetImageDrmFormatModifierPropertiesEXT")) # extension VK_EXT_mesh_shader var vkCmdDrawMeshTasksEXT*: proc(commandBuffer: VkCommandBuffer, groupCountX: uint32, groupCountY: uint32, groupCountZ: uint32): void {.stdcall.} vkCmdDrawMeshTasksIndirectEXT*: proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, drawCount: uint32, stride: uint32): void {.stdcall.} vkCmdDrawMeshTasksIndirectCountEXT*: proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, countBuffer: VkBuffer, countBufferOffset: VkDeviceSize, maxDrawCount: uint32, stride: uint32): void {.stdcall.} proc loadVK_EXT_mesh_shader*(instance: VkInstance) = loadVK_VERSION_1_2(instance) vkCmdDrawMeshTasksEXT = cast[proc(commandBuffer: VkCommandBuffer, groupCountX: uint32, groupCountY: uint32, groupCountZ: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawMeshTasksEXT")) vkCmdDrawMeshTasksIndirectEXT = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, drawCount: uint32, stride: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectEXT")) vkCmdDrawMeshTasksIndirectCountEXT = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, countBuffer: VkBuffer, countBufferOffset: VkDeviceSize, maxDrawCount: uint32, stride: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectCountEXT")) # extension VK_EXT_transform_feedback var 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.} proc loadVK_EXT_transform_feedback*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdBindTransformFeedbackBuffersEXT = cast[proc(commandBuffer: VkCommandBuffer, firstBinding: uint32, bindingCount: uint32, pBuffers: ptr VkBuffer, pOffsets: ptr VkDeviceSize, pSizes: ptr VkDeviceSize): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBindTransformFeedbackBuffersEXT")) vkCmdBeginTransformFeedbackEXT = cast[proc(commandBuffer: VkCommandBuffer, firstCounterBuffer: uint32, counterBufferCount: uint32, pCounterBuffers: ptr VkBuffer, pCounterBufferOffsets: ptr VkDeviceSize): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBeginTransformFeedbackEXT")) vkCmdEndTransformFeedbackEXT = cast[proc(commandBuffer: VkCommandBuffer, firstCounterBuffer: uint32, counterBufferCount: uint32, pCounterBuffers: ptr VkBuffer, pCounterBufferOffsets: ptr VkDeviceSize): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdEndTransformFeedbackEXT")) vkCmdBeginQueryIndexedEXT = cast[proc(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, query: uint32, flags: VkQueryControlFlags, index: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBeginQueryIndexedEXT")) vkCmdEndQueryIndexedEXT = cast[proc(commandBuffer: VkCommandBuffer, queryPool: VkQueryPool, query: uint32, index: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdEndQueryIndexedEXT")) vkCmdDrawIndirectByteCountEXT = cast[proc(commandBuffer: VkCommandBuffer, instanceCount: uint32, firstInstance: uint32, counterBuffer: VkBuffer, counterBufferOffset: VkDeviceSize, counterOffset: uint32, vertexStride: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawIndirectByteCountEXT")) proc loadVK_AMD_shader_early_and_late_fragment_tests*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_AMD_shader_core_properties2*(instance: VkInstance) = loadVK_AMD_shader_core_properties(instance) proc loadVK_GOOGLE_hlsl_functionality1*(instance: VkInstance) = discard proc loadVK_EXT_robustness2*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_image_view_min_lod*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_AMD_shader_trinary_minmax*(instance: VkInstance) = discard proc loadVK_EXT_custom_border_color*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_AMD_rasterization_order*(instance: VkInstance) = discard # extension VK_EXT_vertex_input_dynamic_state var vkCmdSetVertexInputEXT*: proc(commandBuffer: VkCommandBuffer, vertexBindingDescriptionCount: uint32, pVertexBindingDescriptions: ptr VkVertexInputBindingDescription2EXT, vertexAttributeDescriptionCount: uint32, pVertexAttributeDescriptions: ptr VkVertexInputAttributeDescription2EXT): void {.stdcall.} proc loadVK_EXT_vertex_input_dynamic_state*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdSetVertexInputEXT = cast[proc(commandBuffer: VkCommandBuffer, vertexBindingDescriptionCount: uint32, pVertexBindingDescriptions: ptr VkVertexInputBindingDescription2EXT, vertexAttributeDescriptionCount: uint32, pVertexAttributeDescriptions: ptr VkVertexInputAttributeDescription2EXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetVertexInputEXT")) # extension VK_KHR_fragment_shading_rate var vkGetPhysicalDeviceFragmentShadingRatesKHR*: proc(physicalDevice: VkPhysicalDevice, pFragmentShadingRateCount: ptr uint32, pFragmentShadingRates: ptr VkPhysicalDeviceFragmentShadingRateKHR): VkResult {.stdcall.} vkCmdSetFragmentShadingRateKHR*: proc(commandBuffer: VkCommandBuffer, pFragmentSize: ptr VkExtent2D, combinerOps: array[2, VkFragmentShadingRateCombinerOpKHR]): void {.stdcall.} proc loadVK_KHR_fragment_shading_rate*(instance: VkInstance) = loadVK_VERSION_1_2(instance) loadVK_VERSION_1_1(instance) vkGetPhysicalDeviceFragmentShadingRatesKHR = cast[proc(physicalDevice: VkPhysicalDevice, pFragmentShadingRateCount: ptr uint32, pFragmentShadingRates: ptr VkPhysicalDeviceFragmentShadingRateKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR")) vkCmdSetFragmentShadingRateKHR = cast[proc(commandBuffer: VkCommandBuffer, pFragmentSize: ptr VkExtent2D, combinerOps: array[2, VkFragmentShadingRateCombinerOpKHR]): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetFragmentShadingRateKHR")) proc loadVK_EXT_depth_clip_enable*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_subpass_merge_feedback*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_KHR_external_semaphore_fd var vkImportSemaphoreFdKHR*: proc(device: VkDevice, pImportSemaphoreFdInfo: ptr VkImportSemaphoreFdInfoKHR): VkResult {.stdcall.} vkGetSemaphoreFdKHR*: proc(device: VkDevice, pGetFdInfo: ptr VkSemaphoreGetFdInfoKHR, pFd: ptr cint): VkResult {.stdcall.} proc loadVK_KHR_external_semaphore_fd*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkImportSemaphoreFdKHR = cast[proc(device: VkDevice, pImportSemaphoreFdInfo: ptr VkImportSemaphoreFdInfoKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkImportSemaphoreFdKHR")) vkGetSemaphoreFdKHR = cast[proc(device: VkDevice, pGetFdInfo: ptr VkSemaphoreGetFdInfoKHR, pFd: ptr cint): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetSemaphoreFdKHR")) proc loadVK_KHR_fragment_shader_barycentric*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_memory_budget*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_AMD_device_coherent_memory*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_device_memory_report*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_AMD_memory_overallocation_behavior*(instance: VkInstance) = discard # extension VK_NV_mesh_shader var 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.} proc loadVK_NV_mesh_shader*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdDrawMeshTasksNV = cast[proc(commandBuffer: VkCommandBuffer, taskCount: uint32, firstTask: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawMeshTasksNV")) vkCmdDrawMeshTasksIndirectNV = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, drawCount: uint32, stride: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectNV")) vkCmdDrawMeshTasksIndirectCountNV = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize, countBuffer: VkBuffer, countBufferOffset: VkDeviceSize, maxDrawCount: uint32, stride: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawMeshTasksIndirectCountNV")) # extension VK_EXT_image_compression_control var vkGetImageSubresourceLayout2EXT*: proc(device: VkDevice, image: VkImage, pSubresource: ptr VkImageSubresource2EXT, pLayout: ptr VkSubresourceLayout2EXT): void {.stdcall.} proc loadVK_EXT_image_compression_control*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkGetImageSubresourceLayout2EXT = cast[proc(device: VkDevice, image: VkImage, pSubresource: ptr VkImageSubresource2EXT, pLayout: ptr VkSubresourceLayout2EXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetImageSubresourceLayout2EXT")) # extension VK_EXT_buffer_device_address var vkGetBufferDeviceAddressEXT*: proc(device: VkDevice, pInfo: ptr VkBufferDeviceAddressInfo): VkDeviceAddress {.stdcall.} proc loadVK_EXT_buffer_device_address*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkGetBufferDeviceAddressEXT = vkGetBufferDeviceAddress proc loadVK_QCOM_render_pass_shader_resolve*(instance: VkInstance) = discard proc loadVK_EXT_depth_range_unrestricted*(instance: VkInstance) = discard # extension VK_HUAWEI_subpass_shading var vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI*: proc(device: VkDevice, renderpass: VkRenderPass, pMaxWorkgroupSize: ptr VkExtent2D): VkResult {.stdcall.} vkCmdSubpassShadingHUAWEI*: proc(commandBuffer: VkCommandBuffer): void {.stdcall.} proc loadVK_HUAWEI_subpass_shading*(instance: VkInstance) = loadVK_VERSION_1_2(instance) loadVK_VERSION_1_3(instance) vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = cast[proc(device: VkDevice, renderpass: VkRenderPass, pMaxWorkgroupSize: ptr VkExtent2D): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI")) vkCmdSubpassShadingHUAWEI = cast[proc(commandBuffer: VkCommandBuffer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSubpassShadingHUAWEI")) # extension VK_VALVE_descriptor_set_host_mapping var vkGetDescriptorSetLayoutHostMappingInfoVALVE*: proc(device: VkDevice, pBindingReference: ptr VkDescriptorSetBindingReferenceVALVE, pHostMapping: ptr VkDescriptorSetLayoutHostMappingInfoVALVE): void {.stdcall.} vkGetDescriptorSetHostMappingVALVE*: proc(device: VkDevice, descriptorSet: VkDescriptorSet, ppData: ptr pointer): void {.stdcall.} proc loadVK_VALVE_descriptor_set_host_mapping*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkGetDescriptorSetLayoutHostMappingInfoVALVE = cast[proc(device: VkDevice, pBindingReference: ptr VkDescriptorSetBindingReferenceVALVE, pHostMapping: ptr VkDescriptorSetLayoutHostMappingInfoVALVE): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDescriptorSetLayoutHostMappingInfoVALVE")) vkGetDescriptorSetHostMappingVALVE = cast[proc(device: VkDevice, descriptorSet: VkDescriptorSet, ppData: ptr pointer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDescriptorSetHostMappingVALVE")) # extension VK_NV_external_memory_capabilities var vkGetPhysicalDeviceExternalImageFormatPropertiesNV*: proc(physicalDevice: VkPhysicalDevice, format: VkFormat, thetype: VkImageType, tiling: VkImageTiling, usage: VkImageUsageFlags, flags: VkImageCreateFlags, externalHandleType: VkExternalMemoryHandleTypeFlagsNV, pExternalImageFormatProperties: ptr VkExternalImageFormatPropertiesNV): VkResult {.stdcall.} proc loadVK_NV_external_memory_capabilities*(instance: VkInstance) = vkGetPhysicalDeviceExternalImageFormatPropertiesNV = cast[proc(physicalDevice: VkPhysicalDevice, format: VkFormat, thetype: VkImageType, tiling: VkImageTiling, usage: VkImageUsageFlags, flags: VkImageCreateFlags, externalHandleType: VkExternalMemoryHandleTypeFlagsNV, pExternalImageFormatProperties: ptr VkExternalImageFormatPropertiesNV): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV")) # extension VK_NV_optical_flow var vkGetPhysicalDeviceOpticalFlowImageFormatsNV*: proc(physicalDevice: VkPhysicalDevice, pOpticalFlowImageFormatInfo: ptr VkOpticalFlowImageFormatInfoNV, pFormatCount: ptr uint32, pImageFormatProperties: ptr VkOpticalFlowImageFormatPropertiesNV): VkResult {.stdcall.} vkCreateOpticalFlowSessionNV*: proc(device: VkDevice, pCreateInfo: ptr VkOpticalFlowSessionCreateInfoNV, pAllocator: ptr VkAllocationCallbacks, pSession: ptr VkOpticalFlowSessionNV): VkResult {.stdcall.} vkDestroyOpticalFlowSessionNV*: proc(device: VkDevice, session: VkOpticalFlowSessionNV, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.} vkBindOpticalFlowSessionImageNV*: proc(device: VkDevice, session: VkOpticalFlowSessionNV, bindingPoint: VkOpticalFlowSessionBindingPointNV, view: VkImageView, layout: VkImageLayout): VkResult {.stdcall.} vkCmdOpticalFlowExecuteNV*: proc(commandBuffer: VkCommandBuffer, session: VkOpticalFlowSessionNV, pExecuteInfo: ptr VkOpticalFlowExecuteInfoNV): void {.stdcall.} proc loadVK_NV_optical_flow*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_VERSION_1_3(instance) loadVK_VERSION_1_3(instance) vkGetPhysicalDeviceOpticalFlowImageFormatsNV = cast[proc(physicalDevice: VkPhysicalDevice, pOpticalFlowImageFormatInfo: ptr VkOpticalFlowImageFormatInfoNV, pFormatCount: ptr uint32, pImageFormatProperties: ptr VkOpticalFlowImageFormatPropertiesNV): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV")) vkCreateOpticalFlowSessionNV = cast[proc(device: VkDevice, pCreateInfo: ptr VkOpticalFlowSessionCreateInfoNV, pAllocator: ptr VkAllocationCallbacks, pSession: ptr VkOpticalFlowSessionNV): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateOpticalFlowSessionNV")) vkDestroyOpticalFlowSessionNV = cast[proc(device: VkDevice, session: VkOpticalFlowSessionNV, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyOpticalFlowSessionNV")) vkBindOpticalFlowSessionImageNV = cast[proc(device: VkDevice, session: VkOpticalFlowSessionNV, bindingPoint: VkOpticalFlowSessionBindingPointNV, view: VkImageView, layout: VkImageLayout): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkBindOpticalFlowSessionImageNV")) vkCmdOpticalFlowExecuteNV = cast[proc(commandBuffer: VkCommandBuffer, session: VkOpticalFlowSessionNV, pExecuteInfo: ptr VkOpticalFlowExecuteInfoNV): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdOpticalFlowExecuteNV")) proc loadVK_EXT_vertex_attribute_divisor*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_EXT_line_rasterization var vkCmdSetLineStippleEXT*: proc(commandBuffer: VkCommandBuffer, lineStippleFactor: uint32, lineStipplePattern: uint16): void {.stdcall.} proc loadVK_EXT_line_rasterization*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdSetLineStippleEXT = cast[proc(commandBuffer: VkCommandBuffer, lineStippleFactor: uint32, lineStipplePattern: uint16): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetLineStippleEXT")) proc loadVK_AMD_texture_gather_bias_lod*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_KHR_shader_subgroup_uniform_control_flow*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_external_memory_dma_buf*(instance: VkInstance) = loadVK_KHR_external_memory_fd(instance) proc loadVK_IMG_filter_cubic*(instance: VkInstance) = discard proc loadVK_AMD_shader_ballot*(instance: VkInstance) = discard # extension VK_AMD_buffer_marker var vkCmdWriteBufferMarkerAMD*: proc(commandBuffer: VkCommandBuffer, pipelineStage: VkPipelineStageFlagBits, dstBuffer: VkBuffer, dstOffset: VkDeviceSize, marker: uint32): void {.stdcall.} proc loadVK_AMD_buffer_marker*(instance: VkInstance) = vkCmdWriteBufferMarkerAMD = cast[proc(commandBuffer: VkCommandBuffer, pipelineStage: VkPipelineStageFlagBits, dstBuffer: VkBuffer, dstOffset: VkDeviceSize, marker: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdWriteBufferMarkerAMD")) proc loadVK_NV_corner_sampled_image*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_KHR_pipeline_library*(instance: VkInstance) = discard proc loadVK_EXT_blend_operation_advanced*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_NV_scissor_exclusive var vkCmdSetExclusiveScissorEnableNV*: proc(commandBuffer: VkCommandBuffer, firstExclusiveScissor: uint32, exclusiveScissorCount: uint32, pExclusiveScissorEnables: ptr VkBool32): void {.stdcall.} vkCmdSetExclusiveScissorNV*: proc(commandBuffer: VkCommandBuffer, firstExclusiveScissor: uint32, exclusiveScissorCount: uint32, pExclusiveScissors: ptr VkRect2D): void {.stdcall.} proc loadVK_NV_scissor_exclusive*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdSetExclusiveScissorEnableNV = cast[proc(commandBuffer: VkCommandBuffer, firstExclusiveScissor: uint32, exclusiveScissorCount: uint32, pExclusiveScissorEnables: ptr VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetExclusiveScissorEnableNV")) vkCmdSetExclusiveScissorNV = cast[proc(commandBuffer: VkCommandBuffer, firstExclusiveScissor: uint32, exclusiveScissorCount: uint32, pExclusiveScissors: ptr VkRect2D): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetExclusiveScissorNV")) proc loadVK_NV_framebuffer_mixed_samples*(instance: VkInstance) = discard proc loadVK_NV_sample_mask_override_coverage*(instance: VkInstance) = discard proc loadVK_EXT_filter_cubic*(instance: VkInstance) = discard # extension VK_KHR_pipeline_executable_properties var 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.} proc loadVK_KHR_pipeline_executable_properties*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkGetPipelineExecutablePropertiesKHR = cast[proc(device: VkDevice, pPipelineInfo: ptr VkPipelineInfoKHR, pExecutableCount: ptr uint32, pProperties: ptr VkPipelineExecutablePropertiesKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPipelineExecutablePropertiesKHR")) vkGetPipelineExecutableStatisticsKHR = cast[proc(device: VkDevice, pExecutableInfo: ptr VkPipelineExecutableInfoKHR, pStatisticCount: ptr uint32, pStatistics: ptr VkPipelineExecutableStatisticKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPipelineExecutableStatisticsKHR")) vkGetPipelineExecutableInternalRepresentationsKHR = cast[proc(device: VkDevice, pExecutableInfo: ptr VkPipelineExecutableInfoKHR, pInternalRepresentationCount: ptr uint32, pInternalRepresentations: ptr VkPipelineExecutableInternalRepresentationKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPipelineExecutableInternalRepresentationsKHR")) # extension VK_EXT_extended_dynamic_state3 var vkCmdSetTessellationDomainOriginEXT*: proc(commandBuffer: VkCommandBuffer, domainOrigin: VkTessellationDomainOrigin): void {.stdcall.} vkCmdSetDepthClampEnableEXT*: proc(commandBuffer: VkCommandBuffer, depthClampEnable: VkBool32): void {.stdcall.} vkCmdSetPolygonModeEXT*: proc(commandBuffer: VkCommandBuffer, polygonMode: VkPolygonMode): void {.stdcall.} vkCmdSetRasterizationSamplesEXT*: proc(commandBuffer: VkCommandBuffer, rasterizationSamples: VkSampleCountFlagBits): void {.stdcall.} vkCmdSetSampleMaskEXT*: proc(commandBuffer: VkCommandBuffer, samples: VkSampleCountFlagBits, pSampleMask: ptr VkSampleMask): void {.stdcall.} vkCmdSetAlphaToCoverageEnableEXT*: proc(commandBuffer: VkCommandBuffer, alphaToCoverageEnable: VkBool32): void {.stdcall.} vkCmdSetAlphaToOneEnableEXT*: proc(commandBuffer: VkCommandBuffer, alphaToOneEnable: VkBool32): void {.stdcall.} vkCmdSetLogicOpEnableEXT*: proc(commandBuffer: VkCommandBuffer, logicOpEnable: VkBool32): void {.stdcall.} vkCmdSetColorBlendEnableEXT*: proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendEnables: ptr VkBool32): void {.stdcall.} vkCmdSetColorBlendEquationEXT*: proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendEquations: ptr VkColorBlendEquationEXT): void {.stdcall.} vkCmdSetColorWriteMaskEXT*: proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorWriteMasks: ptr VkColorComponentFlags): void {.stdcall.} vkCmdSetRasterizationStreamEXT*: proc(commandBuffer: VkCommandBuffer, rasterizationStream: uint32): void {.stdcall.} vkCmdSetConservativeRasterizationModeEXT*: proc(commandBuffer: VkCommandBuffer, conservativeRasterizationMode: VkConservativeRasterizationModeEXT): void {.stdcall.} vkCmdSetExtraPrimitiveOverestimationSizeEXT*: proc(commandBuffer: VkCommandBuffer, extraPrimitiveOverestimationSize: float32): void {.stdcall.} vkCmdSetDepthClipEnableEXT*: proc(commandBuffer: VkCommandBuffer, depthClipEnable: VkBool32): void {.stdcall.} vkCmdSetSampleLocationsEnableEXT*: proc(commandBuffer: VkCommandBuffer, sampleLocationsEnable: VkBool32): void {.stdcall.} vkCmdSetColorBlendAdvancedEXT*: proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendAdvanced: ptr VkColorBlendAdvancedEXT): void {.stdcall.} vkCmdSetProvokingVertexModeEXT*: proc(commandBuffer: VkCommandBuffer, provokingVertexMode: VkProvokingVertexModeEXT): void {.stdcall.} vkCmdSetLineRasterizationModeEXT*: proc(commandBuffer: VkCommandBuffer, lineRasterizationMode: VkLineRasterizationModeEXT): void {.stdcall.} vkCmdSetLineStippleEnableEXT*: proc(commandBuffer: VkCommandBuffer, stippledLineEnable: VkBool32): void {.stdcall.} vkCmdSetDepthClipNegativeOneToOneEXT*: proc(commandBuffer: VkCommandBuffer, negativeOneToOne: VkBool32): void {.stdcall.} vkCmdSetViewportWScalingEnableNV*: proc(commandBuffer: VkCommandBuffer, viewportWScalingEnable: VkBool32): void {.stdcall.} vkCmdSetViewportSwizzleNV*: proc(commandBuffer: VkCommandBuffer, firstViewport: uint32, viewportCount: uint32, pViewportSwizzles: ptr VkViewportSwizzleNV): void {.stdcall.} vkCmdSetCoverageToColorEnableNV*: proc(commandBuffer: VkCommandBuffer, coverageToColorEnable: VkBool32): void {.stdcall.} vkCmdSetCoverageToColorLocationNV*: proc(commandBuffer: VkCommandBuffer, coverageToColorLocation: uint32): void {.stdcall.} vkCmdSetCoverageModulationModeNV*: proc(commandBuffer: VkCommandBuffer, coverageModulationMode: VkCoverageModulationModeNV): void {.stdcall.} vkCmdSetCoverageModulationTableEnableNV*: proc(commandBuffer: VkCommandBuffer, coverageModulationTableEnable: VkBool32): void {.stdcall.} vkCmdSetCoverageModulationTableNV*: proc(commandBuffer: VkCommandBuffer, coverageModulationTableCount: uint32, pCoverageModulationTable: ptr float32): void {.stdcall.} vkCmdSetShadingRateImageEnableNV*: proc(commandBuffer: VkCommandBuffer, shadingRateImageEnable: VkBool32): void {.stdcall.} vkCmdSetRepresentativeFragmentTestEnableNV*: proc(commandBuffer: VkCommandBuffer, representativeFragmentTestEnable: VkBool32): void {.stdcall.} vkCmdSetCoverageReductionModeNV*: proc(commandBuffer: VkCommandBuffer, coverageReductionMode: VkCoverageReductionModeNV): void {.stdcall.} proc loadVK_EXT_extended_dynamic_state3*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdSetTessellationDomainOriginEXT = cast[proc(commandBuffer: VkCommandBuffer, domainOrigin: VkTessellationDomainOrigin): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetTessellationDomainOriginEXT")) vkCmdSetDepthClampEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, depthClampEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDepthClampEnableEXT")) vkCmdSetPolygonModeEXT = cast[proc(commandBuffer: VkCommandBuffer, polygonMode: VkPolygonMode): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetPolygonModeEXT")) vkCmdSetRasterizationSamplesEXT = cast[proc(commandBuffer: VkCommandBuffer, rasterizationSamples: VkSampleCountFlagBits): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetRasterizationSamplesEXT")) vkCmdSetSampleMaskEXT = cast[proc(commandBuffer: VkCommandBuffer, samples: VkSampleCountFlagBits, pSampleMask: ptr VkSampleMask): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetSampleMaskEXT")) vkCmdSetAlphaToCoverageEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, alphaToCoverageEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetAlphaToCoverageEnableEXT")) vkCmdSetAlphaToOneEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, alphaToOneEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetAlphaToOneEnableEXT")) vkCmdSetLogicOpEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, logicOpEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetLogicOpEnableEXT")) vkCmdSetColorBlendEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendEnables: ptr VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetColorBlendEnableEXT")) vkCmdSetColorBlendEquationEXT = cast[proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendEquations: ptr VkColorBlendEquationEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetColorBlendEquationEXT")) vkCmdSetColorWriteMaskEXT = cast[proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorWriteMasks: ptr VkColorComponentFlags): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetColorWriteMaskEXT")) vkCmdSetRasterizationStreamEXT = cast[proc(commandBuffer: VkCommandBuffer, rasterizationStream: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetRasterizationStreamEXT")) vkCmdSetConservativeRasterizationModeEXT = cast[proc(commandBuffer: VkCommandBuffer, conservativeRasterizationMode: VkConservativeRasterizationModeEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetConservativeRasterizationModeEXT")) vkCmdSetExtraPrimitiveOverestimationSizeEXT = cast[proc(commandBuffer: VkCommandBuffer, extraPrimitiveOverestimationSize: float32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetExtraPrimitiveOverestimationSizeEXT")) vkCmdSetDepthClipEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, depthClipEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDepthClipEnableEXT")) vkCmdSetSampleLocationsEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, sampleLocationsEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetSampleLocationsEnableEXT")) vkCmdSetColorBlendAdvancedEXT = cast[proc(commandBuffer: VkCommandBuffer, firstAttachment: uint32, attachmentCount: uint32, pColorBlendAdvanced: ptr VkColorBlendAdvancedEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetColorBlendAdvancedEXT")) vkCmdSetProvokingVertexModeEXT = cast[proc(commandBuffer: VkCommandBuffer, provokingVertexMode: VkProvokingVertexModeEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetProvokingVertexModeEXT")) vkCmdSetLineRasterizationModeEXT = cast[proc(commandBuffer: VkCommandBuffer, lineRasterizationMode: VkLineRasterizationModeEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetLineRasterizationModeEXT")) vkCmdSetLineStippleEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, stippledLineEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetLineStippleEnableEXT")) vkCmdSetDepthClipNegativeOneToOneEXT = cast[proc(commandBuffer: VkCommandBuffer, negativeOneToOne: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDepthClipNegativeOneToOneEXT")) vkCmdSetViewportWScalingEnableNV = cast[proc(commandBuffer: VkCommandBuffer, viewportWScalingEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetViewportWScalingEnableNV")) vkCmdSetViewportSwizzleNV = cast[proc(commandBuffer: VkCommandBuffer, firstViewport: uint32, viewportCount: uint32, pViewportSwizzles: ptr VkViewportSwizzleNV): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetViewportSwizzleNV")) vkCmdSetCoverageToColorEnableNV = cast[proc(commandBuffer: VkCommandBuffer, coverageToColorEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetCoverageToColorEnableNV")) vkCmdSetCoverageToColorLocationNV = cast[proc(commandBuffer: VkCommandBuffer, coverageToColorLocation: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetCoverageToColorLocationNV")) vkCmdSetCoverageModulationModeNV = cast[proc(commandBuffer: VkCommandBuffer, coverageModulationMode: VkCoverageModulationModeNV): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetCoverageModulationModeNV")) vkCmdSetCoverageModulationTableEnableNV = cast[proc(commandBuffer: VkCommandBuffer, coverageModulationTableEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetCoverageModulationTableEnableNV")) vkCmdSetCoverageModulationTableNV = cast[proc(commandBuffer: VkCommandBuffer, coverageModulationTableCount: uint32, pCoverageModulationTable: ptr float32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetCoverageModulationTableNV")) vkCmdSetShadingRateImageEnableNV = cast[proc(commandBuffer: VkCommandBuffer, shadingRateImageEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetShadingRateImageEnableNV")) vkCmdSetRepresentativeFragmentTestEnableNV = cast[proc(commandBuffer: VkCommandBuffer, representativeFragmentTestEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetRepresentativeFragmentTestEnableNV")) vkCmdSetCoverageReductionModeNV = cast[proc(commandBuffer: VkCommandBuffer, coverageReductionMode: VkCoverageReductionModeNV): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetCoverageReductionModeNV")) proc loadVK_EXT_device_address_binding_report*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_EXT_debug_utils(instance) # extension VK_NV_clip_space_w_scaling var vkCmdSetViewportWScalingNV*: proc(commandBuffer: VkCommandBuffer, firstViewport: uint32, viewportCount: uint32, pViewportWScalings: ptr VkViewportWScalingNV): void {.stdcall.} proc loadVK_NV_clip_space_w_scaling*(instance: VkInstance) = vkCmdSetViewportWScalingNV = cast[proc(commandBuffer: VkCommandBuffer, firstViewport: uint32, viewportCount: uint32, pViewportWScalings: ptr VkViewportWScalingNV): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetViewportWScalingNV")) proc loadVK_NV_fill_rectangle*(instance: VkInstance) = discard proc loadVK_EXT_shader_image_atomic_int64*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_ycbcr_image_arrays*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_EXT_calibrated_timestamps var 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.} proc loadVK_EXT_calibrated_timestamps*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = cast[proc(physicalDevice: VkPhysicalDevice, pTimeDomainCount: ptr uint32, pTimeDomains: ptr VkTimeDomainEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT")) vkGetCalibratedTimestampsEXT = cast[proc(device: VkDevice, timestampCount: uint32, pTimestampInfos: ptr VkCalibratedTimestampInfoEXT, pTimestamps: ptr uint64, pMaxDeviation: ptr uint64): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetCalibratedTimestampsEXT")) proc loadVK_EXT_attachment_feedback_loop_layout*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_AMD_mixed_attachment_samples*(instance: VkInstance) = discard # extension VK_EXT_external_memory_host var vkGetMemoryHostPointerPropertiesEXT*: proc(device: VkDevice, handleType: VkExternalMemoryHandleTypeFlagBits, pHostPointer: pointer, pMemoryHostPointerProperties: ptr VkMemoryHostPointerPropertiesEXT): VkResult {.stdcall.} proc loadVK_EXT_external_memory_host*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkGetMemoryHostPointerPropertiesEXT = cast[proc(device: VkDevice, handleType: VkExternalMemoryHandleTypeFlagBits, pHostPointer: pointer, pMemoryHostPointerProperties: ptr VkMemoryHostPointerPropertiesEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetMemoryHostPointerPropertiesEXT")) proc loadVK_ARM_shader_core_properties*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_EXT_shader_module_identifier var vkGetShaderModuleIdentifierEXT*: proc(device: VkDevice, shaderModule: VkShaderModule, pIdentifier: ptr VkShaderModuleIdentifierEXT): void {.stdcall.} vkGetShaderModuleCreateInfoIdentifierEXT*: proc(device: VkDevice, pCreateInfo: ptr VkShaderModuleCreateInfo, pIdentifier: ptr VkShaderModuleIdentifierEXT): void {.stdcall.} proc loadVK_EXT_shader_module_identifier*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_VERSION_1_3(instance) vkGetShaderModuleIdentifierEXT = cast[proc(device: VkDevice, shaderModule: VkShaderModule, pIdentifier: ptr VkShaderModuleIdentifierEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetShaderModuleIdentifierEXT")) vkGetShaderModuleCreateInfoIdentifierEXT = cast[proc(device: VkDevice, pCreateInfo: ptr VkShaderModuleCreateInfo, pIdentifier: ptr VkShaderModuleIdentifierEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetShaderModuleCreateInfoIdentifierEXT")) proc loadVK_EXT_border_color_swizzle*(instance: VkInstance) = loadVK_EXT_custom_border_color(instance) # extension VK_NV_memory_decompression var vkCmdDecompressMemoryNV*: proc(commandBuffer: VkCommandBuffer, decompressRegionCount: uint32, pDecompressMemoryRegions: ptr VkDecompressMemoryRegionNV): void {.stdcall.} vkCmdDecompressMemoryIndirectCountNV*: proc(commandBuffer: VkCommandBuffer, indirectCommandsAddress: VkDeviceAddress, indirectCommandsCountAddress: VkDeviceAddress, stride: uint32): void {.stdcall.} proc loadVK_NV_memory_decompression*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_VERSION_1_2(instance) vkCmdDecompressMemoryNV = cast[proc(commandBuffer: VkCommandBuffer, decompressRegionCount: uint32, pDecompressMemoryRegions: ptr VkDecompressMemoryRegionNV): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDecompressMemoryNV")) vkCmdDecompressMemoryIndirectCountNV = cast[proc(commandBuffer: VkCommandBuffer, indirectCommandsAddress: VkDeviceAddress, indirectCommandsCountAddress: VkDeviceAddress, stride: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDecompressMemoryIndirectCountNV")) proc loadVK_EXT_fragment_shader_interlock*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_NV_coverage_reduction_mode var vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV*: proc(physicalDevice: VkPhysicalDevice, pCombinationCount: ptr uint32, pCombinations: ptr VkFramebufferMixedSamplesCombinationNV): VkResult {.stdcall.} proc loadVK_NV_coverage_reduction_mode*(instance: VkInstance) = loadVK_NV_framebuffer_mixed_samples(instance) loadVK_VERSION_1_1(instance) vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = cast[proc(physicalDevice: VkPhysicalDevice, pCombinationCount: ptr uint32, pCombinations: ptr VkFramebufferMixedSamplesCombinationNV): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV")) proc loadVK_NV_glsl_shader*(instance: VkInstance) = discard proc loadVK_KHR_shader_clock*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_QCOM_tile_properties var vkGetFramebufferTilePropertiesQCOM*: proc(device: VkDevice, framebuffer: VkFramebuffer, pPropertiesCount: ptr uint32, pProperties: ptr VkTilePropertiesQCOM): VkResult {.stdcall.} vkGetDynamicRenderingTilePropertiesQCOM*: proc(device: VkDevice, pRenderingInfo: ptr VkRenderingInfo, pProperties: ptr VkTilePropertiesQCOM): VkResult {.stdcall.} proc loadVK_QCOM_tile_properties*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkGetFramebufferTilePropertiesQCOM = cast[proc(device: VkDevice, framebuffer: VkFramebuffer, pPropertiesCount: ptr uint32, pProperties: ptr VkTilePropertiesQCOM): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetFramebufferTilePropertiesQCOM")) vkGetDynamicRenderingTilePropertiesQCOM = cast[proc(device: VkDevice, pRenderingInfo: ptr VkRenderingInfo, pProperties: ptr VkTilePropertiesQCOM): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDynamicRenderingTilePropertiesQCOM")) # extension VK_KHR_push_descriptor var vkCmdPushDescriptorSetKHR*: proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, layout: VkPipelineLayout, set: uint32, descriptorWriteCount: uint32, pDescriptorWrites: ptr VkWriteDescriptorSet): void {.stdcall.} vkCmdPushDescriptorSetWithTemplateKHR*: proc(commandBuffer: VkCommandBuffer, descriptorUpdateTemplate: VkDescriptorUpdateTemplate, layout: VkPipelineLayout, set: uint32, pData: pointer): void {.stdcall.} proc loadVK_KHR_push_descriptor*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdPushDescriptorSetKHR = cast[proc(commandBuffer: VkCommandBuffer, pipelineBindPoint: VkPipelineBindPoint, layout: VkPipelineLayout, set: uint32, descriptorWriteCount: uint32, pDescriptorWrites: ptr VkWriteDescriptorSet): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdPushDescriptorSetKHR")) vkCmdPushDescriptorSetWithTemplateKHR = cast[proc(commandBuffer: VkCommandBuffer, descriptorUpdateTemplate: VkDescriptorUpdateTemplate, layout: VkPipelineLayout, set: uint32, pData: pointer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdPushDescriptorSetWithTemplateKHR")) vkCmdPushDescriptorSetWithTemplateKHR = cast[proc(commandBuffer: VkCommandBuffer, descriptorUpdateTemplate: VkDescriptorUpdateTemplate, layout: VkPipelineLayout, set: uint32, pData: pointer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdPushDescriptorSetWithTemplateKHR")) proc loadVK_NV_viewport_swizzle*(instance: VkInstance) = discard proc loadVK_NV_external_memory*(instance: VkInstance) = loadVK_NV_external_memory_capabilities(instance) proc loadVK_EXT_depth_clip_control*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_validation_flags*(instance: VkInstance) = discard proc loadVK_EXT_conservative_rasterization*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_AMD_gcn_shader*(instance: VkInstance) = discard # extension VK_INTEL_performance_query var 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.} proc loadVK_INTEL_performance_query*(instance: VkInstance) = vkInitializePerformanceApiINTEL = cast[proc(device: VkDevice, pInitializeInfo: ptr VkInitializePerformanceApiInfoINTEL): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkInitializePerformanceApiINTEL")) vkUninitializePerformanceApiINTEL = cast[proc(device: VkDevice): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkUninitializePerformanceApiINTEL")) vkCmdSetPerformanceMarkerINTEL = cast[proc(commandBuffer: VkCommandBuffer, pMarkerInfo: ptr VkPerformanceMarkerInfoINTEL): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetPerformanceMarkerINTEL")) vkCmdSetPerformanceStreamMarkerINTEL = cast[proc(commandBuffer: VkCommandBuffer, pMarkerInfo: ptr VkPerformanceStreamMarkerInfoINTEL): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetPerformanceStreamMarkerINTEL")) vkCmdSetPerformanceOverrideINTEL = cast[proc(commandBuffer: VkCommandBuffer, pOverrideInfo: ptr VkPerformanceOverrideInfoINTEL): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetPerformanceOverrideINTEL")) vkAcquirePerformanceConfigurationINTEL = cast[proc(device: VkDevice, pAcquireInfo: ptr VkPerformanceConfigurationAcquireInfoINTEL, pConfiguration: ptr VkPerformanceConfigurationINTEL): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkAcquirePerformanceConfigurationINTEL")) vkReleasePerformanceConfigurationINTEL = cast[proc(device: VkDevice, configuration: VkPerformanceConfigurationINTEL): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkReleasePerformanceConfigurationINTEL")) vkQueueSetPerformanceConfigurationINTEL = cast[proc(queue: VkQueue, configuration: VkPerformanceConfigurationINTEL): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkQueueSetPerformanceConfigurationINTEL")) vkGetPerformanceParameterINTEL = cast[proc(device: VkDevice, parameter: VkPerformanceParameterTypeINTEL, pValue: ptr VkPerformanceValueINTEL): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPerformanceParameterINTEL")) proc loadVK_EXT_primitives_generated_query*(instance: VkInstance) = loadVK_EXT_transform_feedback(instance) proc loadVK_AMD_pipeline_compiler_control*(instance: VkInstance) = discard proc loadVK_EXT_post_depth_coverage*(instance: VkInstance) = discard # extension VK_EXT_conditional_rendering var vkCmdBeginConditionalRenderingEXT*: proc(commandBuffer: VkCommandBuffer, pConditionalRenderingBegin: ptr VkConditionalRenderingBeginInfoEXT): void {.stdcall.} vkCmdEndConditionalRenderingEXT*: proc(commandBuffer: VkCommandBuffer): void {.stdcall.} proc loadVK_EXT_conditional_rendering*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdBeginConditionalRenderingEXT = cast[proc(commandBuffer: VkCommandBuffer, pConditionalRenderingBegin: ptr VkConditionalRenderingBeginInfoEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBeginConditionalRenderingEXT")) vkCmdEndConditionalRenderingEXT = cast[proc(commandBuffer: VkCommandBuffer): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdEndConditionalRenderingEXT")) proc loadVK_QCOM_multiview_per_view_viewports*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_EXT_multi_draw var vkCmdDrawMultiEXT*: proc(commandBuffer: VkCommandBuffer, drawCount: uint32, pVertexInfo: ptr VkMultiDrawInfoEXT, instanceCount: uint32, firstInstance: uint32, stride: uint32): void {.stdcall.} vkCmdDrawMultiIndexedEXT*: proc(commandBuffer: VkCommandBuffer, drawCount: uint32, pIndexInfo: ptr VkMultiDrawIndexedInfoEXT, instanceCount: uint32, firstInstance: uint32, stride: uint32, pVertexOffset: ptr int32): void {.stdcall.} proc loadVK_EXT_multi_draw*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdDrawMultiEXT = cast[proc(commandBuffer: VkCommandBuffer, drawCount: uint32, pVertexInfo: ptr VkMultiDrawInfoEXT, instanceCount: uint32, firstInstance: uint32, stride: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawMultiEXT")) vkCmdDrawMultiIndexedEXT = cast[proc(commandBuffer: VkCommandBuffer, drawCount: uint32, pIndexInfo: ptr VkMultiDrawIndexedInfoEXT, instanceCount: uint32, firstInstance: uint32, stride: uint32, pVertexOffset: ptr int32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawMultiIndexedEXT")) proc loadVK_NV_fragment_coverage_to_color*(instance: VkInstance) = discard proc loadVK_EXT_load_store_op_none*(instance: VkInstance) = discard proc loadVK_EXT_validation_features*(instance: VkInstance) = discard proc loadVK_KHR_workgroup_memory_explicit_layout*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_index_type_uint8*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_GOOGLE_decorate_string*(instance: VkInstance) = discard proc loadVK_EXT_shader_atomic_float*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_EXT_pipeline_properties var vkGetPipelinePropertiesEXT*: proc(device: VkDevice, pPipelineInfo: ptr VkPipelineInfoEXT, pPipelineProperties: ptr VkBaseOutStructure): VkResult {.stdcall.} proc loadVK_EXT_pipeline_properties*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkGetPipelinePropertiesEXT = cast[proc(device: VkDevice, pPipelineInfo: ptr VkPipelineInfoEXT, pPipelineProperties: ptr VkBaseOutStructure): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPipelinePropertiesEXT")) proc loadVK_EXT_graphics_pipeline_library*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_KHR_pipeline_library(instance) # extension VK_KHR_surface var 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.} proc loadVK_KHR_surface*(instance: VkInstance) = vkDestroySurfaceKHR = cast[proc(instance: VkInstance, surface: VkSurfaceKHR, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR")) vkGetPhysicalDeviceSurfaceSupportKHR = cast[proc(physicalDevice: VkPhysicalDevice, queueFamilyIndex: uint32, surface: VkSurfaceKHR, pSupported: ptr VkBool32): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceSupportKHR")) vkGetPhysicalDeviceSurfaceCapabilitiesKHR = cast[proc(physicalDevice: VkPhysicalDevice, surface: VkSurfaceKHR, pSurfaceCapabilities: ptr VkSurfaceCapabilitiesKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR")) vkGetPhysicalDeviceSurfaceFormatsKHR = cast[proc(physicalDevice: VkPhysicalDevice, surface: VkSurfaceKHR, pSurfaceFormatCount: ptr uint32, pSurfaceFormats: ptr VkSurfaceFormatKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormatsKHR")) vkGetPhysicalDeviceSurfacePresentModesKHR = cast[proc(physicalDevice: VkPhysicalDevice, surface: VkSurfaceKHR, pPresentModeCount: ptr uint32, pPresentModes: ptr VkPresentModeKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfacePresentModesKHR")) proc loadVK_AMD_gpu_shader_half_float*(instance: VkInstance) = discard # extension VK_KHR_deferred_host_operations var 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.} proc loadVK_KHR_deferred_host_operations*(instance: VkInstance) = vkCreateDeferredOperationKHR = cast[proc(device: VkDevice, pAllocator: ptr VkAllocationCallbacks, pDeferredOperation: ptr VkDeferredOperationKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateDeferredOperationKHR")) vkDestroyDeferredOperationKHR = cast[proc(device: VkDevice, operation: VkDeferredOperationKHR, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyDeferredOperationKHR")) vkGetDeferredOperationMaxConcurrencyKHR = cast[proc(device: VkDevice, operation: VkDeferredOperationKHR): uint32 {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeferredOperationMaxConcurrencyKHR")) vkGetDeferredOperationResultKHR = cast[proc(device: VkDevice, operation: VkDeferredOperationKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeferredOperationResultKHR")) vkDeferredOperationJoinKHR = cast[proc(device: VkDevice, operation: VkDeferredOperationKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDeferredOperationJoinKHR")) proc loadVK_NV_dedicated_allocation*(instance: VkInstance) = discard # extension VK_NVX_image_view_handle var vkGetImageViewHandleNVX*: proc(device: VkDevice, pInfo: ptr VkImageViewHandleInfoNVX): uint32 {.stdcall.} vkGetImageViewAddressNVX*: proc(device: VkDevice, imageView: VkImageView, pProperties: ptr VkImageViewAddressPropertiesNVX): VkResult {.stdcall.} proc loadVK_NVX_image_view_handle*(instance: VkInstance) = vkGetImageViewHandleNVX = cast[proc(device: VkDevice, pInfo: ptr VkImageViewHandleInfoNVX): uint32 {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetImageViewHandleNVX")) vkGetImageViewAddressNVX = cast[proc(device: VkDevice, imageView: VkImageView, pProperties: ptr VkImageViewAddressPropertiesNVX): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetImageViewAddressNVX")) proc loadVK_EXT_non_seamless_cube_map*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_QCOM_render_pass_store_ops*(instance: VkInstance) = discard # extension VK_EXT_device_fault var vkGetDeviceFaultInfoEXT*: proc(device: VkDevice, pFaultCounts: ptr VkDeviceFaultCountsEXT, pFaultInfo: ptr VkDeviceFaultInfoEXT): VkResult {.stdcall.} proc loadVK_EXT_device_fault*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkGetDeviceFaultInfoEXT = cast[proc(device: VkDevice, pFaultCounts: ptr VkDeviceFaultCountsEXT, pFaultInfo: ptr VkDeviceFaultInfoEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceFaultInfoEXT")) proc loadVK_EXT_mutable_descriptor_type*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_EXT_color_write_enable var vkCmdSetColorWriteEnableEXT*: proc(commandBuffer: VkCommandBuffer, attachmentCount: uint32, pColorWriteEnables: ptr VkBool32): void {.stdcall.} proc loadVK_EXT_color_write_enable*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdSetColorWriteEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, attachmentCount: uint32, pColorWriteEnables: ptr VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetColorWriteEnableEXT")) proc loadVK_SEC_amigo_profiling*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_NVX_binary_import var vkCreateCuModuleNVX*: proc(device: VkDevice, pCreateInfo: ptr VkCuModuleCreateInfoNVX, pAllocator: ptr VkAllocationCallbacks, pModule: ptr VkCuModuleNVX): VkResult {.stdcall.} vkCreateCuFunctionNVX*: proc(device: VkDevice, pCreateInfo: ptr VkCuFunctionCreateInfoNVX, pAllocator: ptr VkAllocationCallbacks, pFunction: ptr VkCuFunctionNVX): VkResult {.stdcall.} vkDestroyCuModuleNVX*: proc(device: VkDevice, module: VkCuModuleNVX, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.} vkDestroyCuFunctionNVX*: proc(device: VkDevice, function: VkCuFunctionNVX, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.} vkCmdCuLaunchKernelNVX*: proc(commandBuffer: VkCommandBuffer, pLaunchInfo: ptr VkCuLaunchInfoNVX): void {.stdcall.} proc loadVK_NVX_binary_import*(instance: VkInstance) = vkCreateCuModuleNVX = cast[proc(device: VkDevice, pCreateInfo: ptr VkCuModuleCreateInfoNVX, pAllocator: ptr VkAllocationCallbacks, pModule: ptr VkCuModuleNVX): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateCuModuleNVX")) vkCreateCuFunctionNVX = cast[proc(device: VkDevice, pCreateInfo: ptr VkCuFunctionCreateInfoNVX, pAllocator: ptr VkAllocationCallbacks, pFunction: ptr VkCuFunctionNVX): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateCuFunctionNVX")) vkDestroyCuModuleNVX = cast[proc(device: VkDevice, module: VkCuModuleNVX, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyCuModuleNVX")) vkDestroyCuFunctionNVX = cast[proc(device: VkDevice, function: VkCuFunctionNVX, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyCuFunctionNVX")) vkCmdCuLaunchKernelNVX = cast[proc(commandBuffer: VkCommandBuffer, pLaunchInfo: ptr VkCuLaunchInfoNVX): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCuLaunchKernelNVX")) proc loadVK_NV_representative_fragment_test*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_EXT_validation_cache var 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.} vkMergeValidationCachesEXT*: proc(device: VkDevice, dstCache: VkValidationCacheEXT, srcCacheCount: uint32, pSrcCaches: ptr VkValidationCacheEXT): VkResult {.stdcall.} vkGetValidationCacheDataEXT*: proc(device: VkDevice, validationCache: VkValidationCacheEXT, pDataSize: ptr csize_t, pData: pointer): VkResult {.stdcall.} proc loadVK_EXT_validation_cache*(instance: VkInstance) = vkCreateValidationCacheEXT = cast[proc(device: VkDevice, pCreateInfo: ptr VkValidationCacheCreateInfoEXT, pAllocator: ptr VkAllocationCallbacks, pValidationCache: ptr VkValidationCacheEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateValidationCacheEXT")) vkDestroyValidationCacheEXT = cast[proc(device: VkDevice, validationCache: VkValidationCacheEXT, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyValidationCacheEXT")) vkMergeValidationCachesEXT = cast[proc(device: VkDevice, dstCache: VkValidationCacheEXT, srcCacheCount: uint32, pSrcCaches: ptr VkValidationCacheEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkMergeValidationCachesEXT")) vkGetValidationCacheDataEXT = cast[proc(device: VkDevice, validationCache: VkValidationCacheEXT, pDataSize: ptr csize_t, pData: pointer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetValidationCacheDataEXT")) proc loadVK_NV_inherited_viewport_scissor*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_legacy_dithering*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_physical_device_drm*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_pipeline_protected_access*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_EXT_discard_rectangles var vkCmdSetDiscardRectangleEXT*: proc(commandBuffer: VkCommandBuffer, firstDiscardRectangle: uint32, discardRectangleCount: uint32, pDiscardRectangles: ptr VkRect2D): void {.stdcall.} vkCmdSetDiscardRectangleEnableEXT*: proc(commandBuffer: VkCommandBuffer, discardRectangleEnable: VkBool32): void {.stdcall.} vkCmdSetDiscardRectangleModeEXT*: proc(commandBuffer: VkCommandBuffer, discardRectangleMode: VkDiscardRectangleModeEXT): void {.stdcall.} proc loadVK_EXT_discard_rectangles*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdSetDiscardRectangleEXT = cast[proc(commandBuffer: VkCommandBuffer, firstDiscardRectangle: uint32, discardRectangleCount: uint32, pDiscardRectangles: ptr VkRect2D): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDiscardRectangleEXT")) vkCmdSetDiscardRectangleEnableEXT = cast[proc(commandBuffer: VkCommandBuffer, discardRectangleEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDiscardRectangleEnableEXT")) vkCmdSetDiscardRectangleModeEXT = cast[proc(commandBuffer: VkCommandBuffer, discardRectangleMode: VkDiscardRectangleModeEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetDiscardRectangleModeEXT")) proc loadVK_EXT_shader_stencil_export*(instance: VkInstance) = discard # extension VK_NV_external_memory_rdma var vkGetMemoryRemoteAddressNV*: proc(device: VkDevice, pMemoryGetRemoteAddressInfo: ptr VkMemoryGetRemoteAddressInfoNV, pAddress: ptr VkRemoteAddressNV): VkResult {.stdcall.} proc loadVK_NV_external_memory_rdma*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkGetMemoryRemoteAddressNV = cast[proc(device: VkDevice, pMemoryGetRemoteAddressInfo: ptr VkMemoryGetRemoteAddressInfoNV, pAddress: ptr VkRemoteAddressNV): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetMemoryRemoteAddressNV")) proc loadVK_ARM_shader_core_builtins*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_QCOM_multiview_per_view_render_areas*(instance: VkInstance) = discard proc loadVK_LUNARG_direct_driver_loading*(instance: VkInstance) = discard proc loadVK_AMD_shader_explicit_vertex_parameter*(instance: VkInstance) = discard # extension VK_EXT_headless_surface var vkCreateHeadlessSurfaceEXT*: proc(instance: VkInstance, pCreateInfo: ptr VkHeadlessSurfaceCreateInfoEXT, pAllocator: ptr VkAllocationCallbacks, pSurface: ptr VkSurfaceKHR): VkResult {.stdcall.} proc loadVK_EXT_headless_surface*(instance: VkInstance) = loadVK_KHR_surface(instance) vkCreateHeadlessSurfaceEXT = cast[proc(instance: VkInstance, pCreateInfo: ptr VkHeadlessSurfaceCreateInfoEXT, pAllocator: ptr VkAllocationCallbacks, pSurface: ptr VkSurfaceKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateHeadlessSurfaceEXT")) proc loadVK_NV_shader_sm_builtins*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_EXT_shader_subgroup_vote*(instance: VkInstance) = discard # extension VK_NV_copy_memory_indirect var vkCmdCopyMemoryIndirectNV*: proc(commandBuffer: VkCommandBuffer, copyBufferAddress: VkDeviceAddress, copyCount: uint32, stride: uint32): void {.stdcall.} vkCmdCopyMemoryToImageIndirectNV*: proc(commandBuffer: VkCommandBuffer, copyBufferAddress: VkDeviceAddress, copyCount: uint32, stride: uint32, dstImage: VkImage, dstImageLayout: VkImageLayout, pImageSubresources: ptr VkImageSubresourceLayers): void {.stdcall.} proc loadVK_NV_copy_memory_indirect*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_VERSION_1_2(instance) vkCmdCopyMemoryIndirectNV = cast[proc(commandBuffer: VkCommandBuffer, copyBufferAddress: VkDeviceAddress, copyCount: uint32, stride: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyMemoryIndirectNV")) vkCmdCopyMemoryToImageIndirectNV = cast[proc(commandBuffer: VkCommandBuffer, copyBufferAddress: VkDeviceAddress, copyCount: uint32, stride: uint32, dstImage: VkImage, dstImageLayout: VkImageLayout, pImageSubresources: ptr VkImageSubresourceLayers): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyMemoryToImageIndirectNV")) proc loadVK_EXT_astc_decode_mode*(instance: VkInstance) = loadVK_VERSION_1_1(instance) # extension VK_KHR_get_surface_capabilities2 var 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.} proc loadVK_KHR_get_surface_capabilities2*(instance: VkInstance) = loadVK_KHR_surface(instance) vkGetPhysicalDeviceSurfaceCapabilities2KHR = cast[proc(physicalDevice: VkPhysicalDevice, pSurfaceInfo: ptr VkPhysicalDeviceSurfaceInfo2KHR, pSurfaceCapabilities: ptr VkSurfaceCapabilities2KHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR")) vkGetPhysicalDeviceSurfaceFormats2KHR = cast[proc(physicalDevice: VkPhysicalDevice, pSurfaceInfo: ptr VkPhysicalDeviceSurfaceInfo2KHR, pSurfaceFormatCount: ptr uint32, pSurfaceFormats: ptr VkSurfaceFormat2KHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceFormats2KHR")) # extension VK_HUAWEI_cluster_culling_shader var vkCmdDrawClusterHUAWEI*: proc(commandBuffer: VkCommandBuffer, groupCountX: uint32, groupCountY: uint32, groupCountZ: uint32): void {.stdcall.} vkCmdDrawClusterIndirectHUAWEI*: proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize): void {.stdcall.} proc loadVK_HUAWEI_cluster_culling_shader*(instance: VkInstance) = loadVK_VERSION_1_1(instance) vkCmdDrawClusterHUAWEI = cast[proc(commandBuffer: VkCommandBuffer, groupCountX: uint32, groupCountY: uint32, groupCountZ: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawClusterHUAWEI")) vkCmdDrawClusterIndirectHUAWEI = cast[proc(commandBuffer: VkCommandBuffer, buffer: VkBuffer, offset: VkDeviceSize): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdDrawClusterIndirectHUAWEI")) proc loadVK_KHR_surface_protected_capabilities*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_KHR_get_surface_capabilities2(instance) proc loadVK_NV_shader_image_footprint*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_NV_compute_shader_derivatives*(instance: VkInstance) = loadVK_VERSION_1_1(instance) proc loadVK_QCOM_fragment_density_map_offset*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_EXT_fragment_density_map(instance) proc loadVK_EXT_shader_atomic_float2*(instance: VkInstance) = loadVK_EXT_shader_atomic_float(instance) # extension VK_EXT_pageable_device_local_memory var vkSetDeviceMemoryPriorityEXT*: proc(device: VkDevice, memory: VkDeviceMemory, priority: float32): void {.stdcall.} proc loadVK_EXT_pageable_device_local_memory*(instance: VkInstance) = loadVK_EXT_memory_priority(instance) vkSetDeviceMemoryPriorityEXT = cast[proc(device: VkDevice, memory: VkDeviceMemory, priority: float32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkSetDeviceMemoryPriorityEXT")) # extension VK_KHR_swapchain var 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.} vkGetDeviceGroupPresentCapabilitiesKHR*: proc(device: VkDevice, pDeviceGroupPresentCapabilities: ptr VkDeviceGroupPresentCapabilitiesKHR): VkResult {.stdcall.} vkGetDeviceGroupSurfacePresentModesKHR*: proc(device: VkDevice, surface: VkSurfaceKHR, pModes: ptr VkDeviceGroupPresentModeFlagsKHR): VkResult {.stdcall.} vkGetPhysicalDevicePresentRectanglesKHR*: proc(physicalDevice: VkPhysicalDevice, surface: VkSurfaceKHR, pRectCount: ptr uint32, pRects: ptr VkRect2D): VkResult {.stdcall.} vkAcquireNextImage2KHR*: proc(device: VkDevice, pAcquireInfo: ptr VkAcquireNextImageInfoKHR, pImageIndex: ptr uint32): VkResult {.stdcall.} proc loadVK_KHR_swapchain*(instance: VkInstance) = loadVK_KHR_surface(instance) vkCreateSwapchainKHR = cast[proc(device: VkDevice, pCreateInfo: ptr VkSwapchainCreateInfoKHR, pAllocator: ptr VkAllocationCallbacks, pSwapchain: ptr VkSwapchainKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateSwapchainKHR")) vkDestroySwapchainKHR = cast[proc(device: VkDevice, swapchain: VkSwapchainKHR, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroySwapchainKHR")) vkGetSwapchainImagesKHR = cast[proc(device: VkDevice, swapchain: VkSwapchainKHR, pSwapchainImageCount: ptr uint32, pSwapchainImages: ptr VkImage): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetSwapchainImagesKHR")) vkAcquireNextImageKHR = cast[proc(device: VkDevice, swapchain: VkSwapchainKHR, timeout: uint64, semaphore: VkSemaphore, fence: VkFence, pImageIndex: ptr uint32): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkAcquireNextImageKHR")) vkQueuePresentKHR = cast[proc(queue: VkQueue, pPresentInfo: ptr VkPresentInfoKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkQueuePresentKHR")) vkGetDeviceGroupPresentCapabilitiesKHR = cast[proc(device: VkDevice, pDeviceGroupPresentCapabilities: ptr VkDeviceGroupPresentCapabilitiesKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceGroupPresentCapabilitiesKHR")) vkGetDeviceGroupSurfacePresentModesKHR = cast[proc(device: VkDevice, surface: VkSurfaceKHR, pModes: ptr VkDeviceGroupPresentModeFlagsKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceGroupSurfacePresentModesKHR")) vkGetPhysicalDevicePresentRectanglesKHR = cast[proc(physicalDevice: VkPhysicalDevice, surface: VkSurfaceKHR, pRectCount: ptr uint32, pRects: ptr VkRect2D): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDevicePresentRectanglesKHR")) vkAcquireNextImage2KHR = cast[proc(device: VkDevice, pAcquireInfo: ptr VkAcquireNextImageInfoKHR, pImageIndex: ptr uint32): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkAcquireNextImage2KHR")) proc loadVK_EXT_fragment_density_map2*(instance: VkInstance) = loadVK_EXT_fragment_density_map(instance) # extension VK_NV_fragment_shading_rate_enums var vkCmdSetFragmentShadingRateEnumNV*: proc(commandBuffer: VkCommandBuffer, shadingRate: VkFragmentShadingRateNV, combinerOps: array[2, VkFragmentShadingRateCombinerOpKHR]): void {.stdcall.} proc loadVK_NV_fragment_shading_rate_enums*(instance: VkInstance) = loadVK_KHR_fragment_shading_rate(instance) vkCmdSetFragmentShadingRateEnumNV = cast[proc(commandBuffer: VkCommandBuffer, shadingRate: VkFragmentShadingRateNV, combinerOps: array[2, VkFragmentShadingRateCombinerOpKHR]): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetFragmentShadingRateEnumNV")) # extension VK_AMD_display_native_hdr var vkSetLocalDimmingAMD*: proc(device: VkDevice, swapChain: VkSwapchainKHR, localDimmingEnable: VkBool32): void {.stdcall.} proc loadVK_AMD_display_native_hdr*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_KHR_get_surface_capabilities2(instance) loadVK_KHR_swapchain(instance) vkSetLocalDimmingAMD = cast[proc(device: VkDevice, swapChain: VkSwapchainKHR, localDimmingEnable: VkBool32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkSetLocalDimmingAMD")) proc loadVK_NV_present_barrier*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_KHR_surface(instance) loadVK_KHR_get_surface_capabilities2(instance) loadVK_KHR_swapchain(instance) proc loadVK_QCOM_rotated_copy_commands*(instance: VkInstance) = loadVK_KHR_swapchain(instance) loadVK_VERSION_1_3(instance) proc loadVK_EXT_surface_maintenance1*(instance: VkInstance) = loadVK_KHR_surface(instance) loadVK_KHR_get_surface_capabilities2(instance) # extension VK_KHR_acceleration_structure var vkCreateAccelerationStructureKHR*: proc(device: VkDevice, pCreateInfo: ptr VkAccelerationStructureCreateInfoKHR, pAllocator: ptr VkAllocationCallbacks, pAccelerationStructure: ptr VkAccelerationStructureKHR): VkResult {.stdcall.} vkDestroyAccelerationStructureKHR*: proc(device: VkDevice, accelerationStructure: VkAccelerationStructureKHR, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.} vkCmdBuildAccelerationStructuresKHR*: proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR, ppBuildRangeInfos: ptr ptr VkAccelerationStructureBuildRangeInfoKHR): void {.stdcall.} vkCmdBuildAccelerationStructuresIndirectKHR*: proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR, pIndirectDeviceAddresses: ptr VkDeviceAddress, pIndirectStrides: ptr uint32, ppMaxPrimitiveCounts: ptr ptr uint32): void {.stdcall.} vkBuildAccelerationStructuresKHR*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR, ppBuildRangeInfos: ptr ptr VkAccelerationStructureBuildRangeInfoKHR): VkResult {.stdcall.} vkCopyAccelerationStructureKHR*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyAccelerationStructureInfoKHR): VkResult {.stdcall.} vkCopyAccelerationStructureToMemoryKHR*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyAccelerationStructureToMemoryInfoKHR): VkResult {.stdcall.} vkCopyMemoryToAccelerationStructureKHR*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMemoryToAccelerationStructureInfoKHR): VkResult {.stdcall.} vkWriteAccelerationStructuresPropertiesKHR*: proc(device: VkDevice, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureKHR, queryType: VkQueryType, dataSize: csize_t, pData: pointer, stride: csize_t): VkResult {.stdcall.} vkCmdCopyAccelerationStructureKHR*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyAccelerationStructureInfoKHR): void {.stdcall.} vkCmdCopyAccelerationStructureToMemoryKHR*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyAccelerationStructureToMemoryInfoKHR): void {.stdcall.} vkCmdCopyMemoryToAccelerationStructureKHR*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMemoryToAccelerationStructureInfoKHR): void {.stdcall.} vkGetAccelerationStructureDeviceAddressKHR*: proc(device: VkDevice, pInfo: ptr VkAccelerationStructureDeviceAddressInfoKHR): VkDeviceAddress {.stdcall.} vkCmdWriteAccelerationStructuresPropertiesKHR*: proc(commandBuffer: VkCommandBuffer, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureKHR, queryType: VkQueryType, queryPool: VkQueryPool, firstQuery: uint32): void {.stdcall.} vkGetDeviceAccelerationStructureCompatibilityKHR*: proc(device: VkDevice, pVersionInfo: ptr VkAccelerationStructureVersionInfoKHR, pCompatibility: ptr VkAccelerationStructureCompatibilityKHR): void {.stdcall.} vkGetAccelerationStructureBuildSizesKHR*: proc(device: VkDevice, buildType: VkAccelerationStructureBuildTypeKHR, pBuildInfo: ptr VkAccelerationStructureBuildGeometryInfoKHR, pMaxPrimitiveCounts: ptr uint32, pSizeInfo: ptr VkAccelerationStructureBuildSizesInfoKHR): void {.stdcall.} proc loadVK_KHR_acceleration_structure*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_VERSION_1_2(instance) loadVK_VERSION_1_2(instance) loadVK_KHR_deferred_host_operations(instance) vkCreateAccelerationStructureKHR = cast[proc(device: VkDevice, pCreateInfo: ptr VkAccelerationStructureCreateInfoKHR, pAllocator: ptr VkAllocationCallbacks, pAccelerationStructure: ptr VkAccelerationStructureKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateAccelerationStructureKHR")) vkDestroyAccelerationStructureKHR = cast[proc(device: VkDevice, accelerationStructure: VkAccelerationStructureKHR, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyAccelerationStructureKHR")) vkCmdBuildAccelerationStructuresKHR = cast[proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR, ppBuildRangeInfos: ptr ptr VkAccelerationStructureBuildRangeInfoKHR): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructuresKHR")) vkCmdBuildAccelerationStructuresIndirectKHR = cast[proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR, pIndirectDeviceAddresses: ptr VkDeviceAddress, pIndirectStrides: ptr uint32, ppMaxPrimitiveCounts: ptr ptr uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructuresIndirectKHR")) vkBuildAccelerationStructuresKHR = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, infoCount: uint32, pInfos: ptr VkAccelerationStructureBuildGeometryInfoKHR, ppBuildRangeInfos: ptr ptr VkAccelerationStructureBuildRangeInfoKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkBuildAccelerationStructuresKHR")) vkCopyAccelerationStructureKHR = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyAccelerationStructureInfoKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCopyAccelerationStructureKHR")) vkCopyAccelerationStructureToMemoryKHR = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyAccelerationStructureToMemoryInfoKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCopyAccelerationStructureToMemoryKHR")) vkCopyMemoryToAccelerationStructureKHR = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMemoryToAccelerationStructureInfoKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCopyMemoryToAccelerationStructureKHR")) vkWriteAccelerationStructuresPropertiesKHR = cast[proc(device: VkDevice, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureKHR, queryType: VkQueryType, dataSize: csize_t, pData: pointer, stride: csize_t): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkWriteAccelerationStructuresPropertiesKHR")) vkCmdCopyAccelerationStructureKHR = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyAccelerationStructureInfoKHR): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureKHR")) vkCmdCopyAccelerationStructureToMemoryKHR = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyAccelerationStructureToMemoryInfoKHR): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureToMemoryKHR")) vkCmdCopyMemoryToAccelerationStructureKHR = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMemoryToAccelerationStructureInfoKHR): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyMemoryToAccelerationStructureKHR")) vkGetAccelerationStructureDeviceAddressKHR = cast[proc(device: VkDevice, pInfo: ptr VkAccelerationStructureDeviceAddressInfoKHR): VkDeviceAddress {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetAccelerationStructureDeviceAddressKHR")) vkCmdWriteAccelerationStructuresPropertiesKHR = cast[proc(commandBuffer: VkCommandBuffer, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureKHR, queryType: VkQueryType, queryPool: VkQueryPool, firstQuery: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdWriteAccelerationStructuresPropertiesKHR")) vkGetDeviceAccelerationStructureCompatibilityKHR = cast[proc(device: VkDevice, pVersionInfo: ptr VkAccelerationStructureVersionInfoKHR, pCompatibility: ptr VkAccelerationStructureCompatibilityKHR): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceAccelerationStructureCompatibilityKHR")) vkGetAccelerationStructureBuildSizesKHR = cast[proc(device: VkDevice, buildType: VkAccelerationStructureBuildTypeKHR, pBuildInfo: ptr VkAccelerationStructureBuildGeometryInfoKHR, pMaxPrimitiveCounts: ptr uint32, pSizeInfo: ptr VkAccelerationStructureBuildSizesInfoKHR): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetAccelerationStructureBuildSizesKHR")) # extension VK_GOOGLE_display_timing var 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.} proc loadVK_GOOGLE_display_timing*(instance: VkInstance) = loadVK_KHR_swapchain(instance) vkGetRefreshCycleDurationGOOGLE = cast[proc(device: VkDevice, swapchain: VkSwapchainKHR, pDisplayTimingProperties: ptr VkRefreshCycleDurationGOOGLE): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetRefreshCycleDurationGOOGLE")) vkGetPastPresentationTimingGOOGLE = cast[proc(device: VkDevice, swapchain: VkSwapchainKHR, pPresentationTimingCount: ptr uint32, pPresentationTimings: ptr VkPastPresentationTimingGOOGLE): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPastPresentationTimingGOOGLE")) proc loadVK_QCOM_render_pass_transform*(instance: VkInstance) = loadVK_KHR_swapchain(instance) loadVK_KHR_surface(instance) proc loadVK_GOOGLE_surfaceless_query*(instance: VkInstance) = loadVK_KHR_surface(instance) proc loadVK_EXT_image_compression_control_swapchain*(instance: VkInstance) = loadVK_EXT_image_compression_control(instance) # extension VK_KHR_display var 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.} proc loadVK_KHR_display*(instance: VkInstance) = loadVK_KHR_surface(instance) vkGetPhysicalDeviceDisplayPropertiesKHR = cast[proc(physicalDevice: VkPhysicalDevice, pPropertyCount: ptr uint32, pProperties: ptr VkDisplayPropertiesKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPropertiesKHR")) vkGetPhysicalDeviceDisplayPlanePropertiesKHR = cast[proc(physicalDevice: VkPhysicalDevice, pPropertyCount: ptr uint32, pProperties: ptr VkDisplayPlanePropertiesKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR")) vkGetDisplayPlaneSupportedDisplaysKHR = cast[proc(physicalDevice: VkPhysicalDevice, planeIndex: uint32, pDisplayCount: ptr uint32, pDisplays: ptr VkDisplayKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDisplayPlaneSupportedDisplaysKHR")) vkGetDisplayModePropertiesKHR = cast[proc(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR, pPropertyCount: ptr uint32, pProperties: ptr VkDisplayModePropertiesKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDisplayModePropertiesKHR")) vkCreateDisplayModeKHR = cast[proc(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR, pCreateInfo: ptr VkDisplayModeCreateInfoKHR, pAllocator: ptr VkAllocationCallbacks, pMode: ptr VkDisplayModeKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateDisplayModeKHR")) vkGetDisplayPlaneCapabilitiesKHR = cast[proc(physicalDevice: VkPhysicalDevice, mode: VkDisplayModeKHR, planeIndex: uint32, pCapabilities: ptr VkDisplayPlaneCapabilitiesKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilitiesKHR")) vkCreateDisplayPlaneSurfaceKHR = cast[proc(instance: VkInstance, pCreateInfo: ptr VkDisplaySurfaceCreateInfoKHR, pAllocator: ptr VkAllocationCallbacks, pSurface: ptr VkSurfaceKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateDisplayPlaneSurfaceKHR")) # extension VK_EXT_swapchain_maintenance1 var vkReleaseSwapchainImagesEXT*: proc(device: VkDevice, pReleaseInfo: ptr VkReleaseSwapchainImagesInfoEXT): VkResult {.stdcall.} proc loadVK_EXT_swapchain_maintenance1*(instance: VkInstance) = loadVK_KHR_swapchain(instance) loadVK_EXT_surface_maintenance1(instance) loadVK_VERSION_1_1(instance) vkReleaseSwapchainImagesEXT = cast[proc(device: VkDevice, pReleaseInfo: ptr VkReleaseSwapchainImagesInfoEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkReleaseSwapchainImagesEXT")) # extension VK_EXT_direct_mode_display var vkReleaseDisplayEXT*: proc(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR): VkResult {.stdcall.} proc loadVK_EXT_direct_mode_display*(instance: VkInstance) = loadVK_KHR_display(instance) vkReleaseDisplayEXT = cast[proc(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkReleaseDisplayEXT")) proc loadVK_KHR_swapchain_mutable_format*(instance: VkInstance) = loadVK_KHR_swapchain(instance) loadVK_VERSION_1_1(instance) loadVK_VERSION_1_2(instance) proc loadVK_EXT_swapchain_colorspace*(instance: VkInstance) = loadVK_KHR_surface(instance) # extension VK_EXT_opacity_micromap var vkCreateMicromapEXT*: proc(device: VkDevice, pCreateInfo: ptr VkMicromapCreateInfoEXT, pAllocator: ptr VkAllocationCallbacks, pMicromap: ptr VkMicromapEXT): VkResult {.stdcall.} vkDestroyMicromapEXT*: proc(device: VkDevice, micromap: VkMicromapEXT, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.} vkCmdBuildMicromapsEXT*: proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkMicromapBuildInfoEXT): void {.stdcall.} vkBuildMicromapsEXT*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, infoCount: uint32, pInfos: ptr VkMicromapBuildInfoEXT): VkResult {.stdcall.} vkCopyMicromapEXT*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMicromapInfoEXT): VkResult {.stdcall.} vkCopyMicromapToMemoryEXT*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMicromapToMemoryInfoEXT): VkResult {.stdcall.} vkCopyMemoryToMicromapEXT*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMemoryToMicromapInfoEXT): VkResult {.stdcall.} vkWriteMicromapsPropertiesEXT*: proc(device: VkDevice, micromapCount: uint32, pMicromaps: ptr VkMicromapEXT, queryType: VkQueryType, dataSize: csize_t, pData: pointer, stride: csize_t): VkResult {.stdcall.} vkCmdCopyMicromapEXT*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMicromapInfoEXT): void {.stdcall.} vkCmdCopyMicromapToMemoryEXT*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMicromapToMemoryInfoEXT): void {.stdcall.} vkCmdCopyMemoryToMicromapEXT*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMemoryToMicromapInfoEXT): void {.stdcall.} vkCmdWriteMicromapsPropertiesEXT*: proc(commandBuffer: VkCommandBuffer, micromapCount: uint32, pMicromaps: ptr VkMicromapEXT, queryType: VkQueryType, queryPool: VkQueryPool, firstQuery: uint32): void {.stdcall.} vkGetDeviceMicromapCompatibilityEXT*: proc(device: VkDevice, pVersionInfo: ptr VkMicromapVersionInfoEXT, pCompatibility: ptr VkAccelerationStructureCompatibilityKHR): void {.stdcall.} vkGetMicromapBuildSizesEXT*: proc(device: VkDevice, buildType: VkAccelerationStructureBuildTypeKHR, pBuildInfo: ptr VkMicromapBuildInfoEXT, pSizeInfo: ptr VkMicromapBuildSizesInfoEXT): void {.stdcall.} proc loadVK_EXT_opacity_micromap*(instance: VkInstance) = loadVK_KHR_acceleration_structure(instance) loadVK_VERSION_1_3(instance) vkCreateMicromapEXT = cast[proc(device: VkDevice, pCreateInfo: ptr VkMicromapCreateInfoEXT, pAllocator: ptr VkAllocationCallbacks, pMicromap: ptr VkMicromapEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateMicromapEXT")) vkDestroyMicromapEXT = cast[proc(device: VkDevice, micromap: VkMicromapEXT, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyMicromapEXT")) vkCmdBuildMicromapsEXT = cast[proc(commandBuffer: VkCommandBuffer, infoCount: uint32, pInfos: ptr VkMicromapBuildInfoEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBuildMicromapsEXT")) vkBuildMicromapsEXT = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, infoCount: uint32, pInfos: ptr VkMicromapBuildInfoEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkBuildMicromapsEXT")) vkCopyMicromapEXT = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMicromapInfoEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCopyMicromapEXT")) vkCopyMicromapToMemoryEXT = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMicromapToMemoryInfoEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCopyMicromapToMemoryEXT")) vkCopyMemoryToMicromapEXT = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pInfo: ptr VkCopyMemoryToMicromapInfoEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCopyMemoryToMicromapEXT")) vkWriteMicromapsPropertiesEXT = cast[proc(device: VkDevice, micromapCount: uint32, pMicromaps: ptr VkMicromapEXT, queryType: VkQueryType, dataSize: csize_t, pData: pointer, stride: csize_t): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkWriteMicromapsPropertiesEXT")) vkCmdCopyMicromapEXT = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMicromapInfoEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyMicromapEXT")) vkCmdCopyMicromapToMemoryEXT = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMicromapToMemoryInfoEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyMicromapToMemoryEXT")) vkCmdCopyMemoryToMicromapEXT = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkCopyMemoryToMicromapInfoEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyMemoryToMicromapEXT")) vkCmdWriteMicromapsPropertiesEXT = cast[proc(commandBuffer: VkCommandBuffer, micromapCount: uint32, pMicromaps: ptr VkMicromapEXT, queryType: VkQueryType, queryPool: VkQueryPool, firstQuery: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdWriteMicromapsPropertiesEXT")) vkGetDeviceMicromapCompatibilityEXT = cast[proc(device: VkDevice, pVersionInfo: ptr VkMicromapVersionInfoEXT, pCompatibility: ptr VkAccelerationStructureCompatibilityKHR): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDeviceMicromapCompatibilityEXT")) vkGetMicromapBuildSizesEXT = cast[proc(device: VkDevice, buildType: VkAccelerationStructureBuildTypeKHR, pBuildInfo: ptr VkMicromapBuildInfoEXT, pSizeInfo: ptr VkMicromapBuildSizesInfoEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetMicromapBuildSizesEXT")) proc loadVK_KHR_incremental_present*(instance: VkInstance) = loadVK_KHR_swapchain(instance) # extension VK_KHR_shared_presentable_image var vkGetSwapchainStatusKHR*: proc(device: VkDevice, swapchain: VkSwapchainKHR): VkResult {.stdcall.} proc loadVK_KHR_shared_presentable_image*(instance: VkInstance) = loadVK_KHR_swapchain(instance) loadVK_VERSION_1_1(instance) loadVK_KHR_get_surface_capabilities2(instance) vkGetSwapchainStatusKHR = cast[proc(device: VkDevice, swapchain: VkSwapchainKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetSwapchainStatusKHR")) # extension VK_EXT_hdr_metadata var vkSetHdrMetadataEXT*: proc(device: VkDevice, swapchainCount: uint32, pSwapchains: ptr VkSwapchainKHR, pMetadata: ptr VkHdrMetadataEXT): void {.stdcall.} proc loadVK_EXT_hdr_metadata*(instance: VkInstance) = loadVK_KHR_swapchain(instance) vkSetHdrMetadataEXT = cast[proc(device: VkDevice, swapchainCount: uint32, pSwapchains: ptr VkSwapchainKHR, pMetadata: ptr VkHdrMetadataEXT): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkSetHdrMetadataEXT")) proc loadVK_KHR_present_id*(instance: VkInstance) = loadVK_KHR_swapchain(instance) loadVK_VERSION_1_1(instance) # extension VK_KHR_ray_tracing_maintenance1 var vkCmdTraceRaysIndirect2KHR*: proc(commandBuffer: VkCommandBuffer, indirectDeviceAddress: VkDeviceAddress): void {.stdcall.} proc loadVK_KHR_ray_tracing_maintenance1*(instance: VkInstance) = loadVK_KHR_acceleration_structure(instance) vkCmdTraceRaysIndirect2KHR = cast[proc(commandBuffer: VkCommandBuffer, indirectDeviceAddress: VkDeviceAddress): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdTraceRaysIndirect2KHR")) # extension VK_KHR_ray_tracing_pipeline var vkCmdTraceRaysKHR*: proc(commandBuffer: VkCommandBuffer, pRaygenShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, pMissShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, pHitShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, pCallableShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, width: uint32, height: uint32, depth: uint32): void {.stdcall.} vkCreateRayTracingPipelinesKHR*: proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoKHR, pAllocator: ptr VkAllocationCallbacks, pPipelines: ptr VkPipeline): VkResult {.stdcall.} vkGetRayTracingShaderGroupHandlesKHR*: proc(device: VkDevice, pipeline: VkPipeline, firstGroup: uint32, groupCount: uint32, dataSize: csize_t, pData: pointer): VkResult {.stdcall.} vkGetRayTracingCaptureReplayShaderGroupHandlesKHR*: proc(device: VkDevice, pipeline: VkPipeline, firstGroup: uint32, groupCount: uint32, dataSize: csize_t, pData: pointer): VkResult {.stdcall.} vkCmdTraceRaysIndirectKHR*: proc(commandBuffer: VkCommandBuffer, pRaygenShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, pMissShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, pHitShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, pCallableShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, indirectDeviceAddress: VkDeviceAddress): void {.stdcall.} vkGetRayTracingShaderGroupStackSizeKHR*: proc(device: VkDevice, pipeline: VkPipeline, group: uint32, groupShader: VkShaderGroupShaderKHR): VkDeviceSize {.stdcall.} vkCmdSetRayTracingPipelineStackSizeKHR*: proc(commandBuffer: VkCommandBuffer, pipelineStackSize: uint32): void {.stdcall.} proc loadVK_KHR_ray_tracing_pipeline*(instance: VkInstance) = loadVK_VERSION_1_2(instance) loadVK_KHR_acceleration_structure(instance) vkCmdTraceRaysKHR = cast[proc(commandBuffer: VkCommandBuffer, pRaygenShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, pMissShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, pHitShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, pCallableShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, width: uint32, height: uint32, depth: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdTraceRaysKHR")) vkCreateRayTracingPipelinesKHR = cast[proc(device: VkDevice, deferredOperation: VkDeferredOperationKHR, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoKHR, pAllocator: ptr VkAllocationCallbacks, pPipelines: ptr VkPipeline): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateRayTracingPipelinesKHR")) vkGetRayTracingShaderGroupHandlesKHR = cast[proc(device: VkDevice, pipeline: VkPipeline, firstGroup: uint32, groupCount: uint32, dataSize: csize_t, pData: pointer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupHandlesKHR")) vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = cast[proc(device: VkDevice, pipeline: VkPipeline, firstGroup: uint32, groupCount: uint32, dataSize: csize_t, pData: pointer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR")) vkCmdTraceRaysIndirectKHR = cast[proc(commandBuffer: VkCommandBuffer, pRaygenShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, pMissShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, pHitShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, pCallableShaderBindingTable: ptr VkStridedDeviceAddressRegionKHR, indirectDeviceAddress: VkDeviceAddress): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdTraceRaysIndirectKHR")) vkGetRayTracingShaderGroupStackSizeKHR = cast[proc(device: VkDevice, pipeline: VkPipeline, group: uint32, groupShader: VkShaderGroupShaderKHR): VkDeviceSize {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetRayTracingShaderGroupStackSizeKHR")) vkCmdSetRayTracingPipelineStackSizeKHR = cast[proc(commandBuffer: VkCommandBuffer, pipelineStackSize: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdSetRayTracingPipelineStackSizeKHR")) # extension VK_HUAWEI_invocation_mask var vkCmdBindInvocationMaskHUAWEI*: proc(commandBuffer: VkCommandBuffer, imageView: VkImageView, imageLayout: VkImageLayout): void {.stdcall.} proc loadVK_HUAWEI_invocation_mask*(instance: VkInstance) = loadVK_KHR_ray_tracing_pipeline(instance) loadVK_VERSION_1_3(instance) vkCmdBindInvocationMaskHUAWEI = cast[proc(commandBuffer: VkCommandBuffer, imageView: VkImageView, imageLayout: VkImageLayout): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBindInvocationMaskHUAWEI")) # extension VK_EXT_display_surface_counter var vkGetPhysicalDeviceSurfaceCapabilities2EXT*: proc(physicalDevice: VkPhysicalDevice, surface: VkSurfaceKHR, pSurfaceCapabilities: ptr VkSurfaceCapabilities2EXT): VkResult {.stdcall.} proc loadVK_EXT_display_surface_counter*(instance: VkInstance) = loadVK_KHR_display(instance) vkGetPhysicalDeviceSurfaceCapabilities2EXT = cast[proc(physicalDevice: VkPhysicalDevice, surface: VkSurfaceKHR, pSurfaceCapabilities: ptr VkSurfaceCapabilities2EXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT")) # extension VK_KHR_get_display_properties2 var 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.} proc loadVK_KHR_get_display_properties2*(instance: VkInstance) = loadVK_KHR_display(instance) vkGetPhysicalDeviceDisplayProperties2KHR = cast[proc(physicalDevice: VkPhysicalDevice, pPropertyCount: ptr uint32, pProperties: ptr VkDisplayProperties2KHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayProperties2KHR")) vkGetPhysicalDeviceDisplayPlaneProperties2KHR = cast[proc(physicalDevice: VkPhysicalDevice, pPropertyCount: ptr uint32, pProperties: ptr VkDisplayPlaneProperties2KHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")) vkGetDisplayModeProperties2KHR = cast[proc(physicalDevice: VkPhysicalDevice, display: VkDisplayKHR, pPropertyCount: ptr uint32, pProperties: ptr VkDisplayModeProperties2KHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDisplayModeProperties2KHR")) vkGetDisplayPlaneCapabilities2KHR = cast[proc(physicalDevice: VkPhysicalDevice, pDisplayPlaneInfo: ptr VkDisplayPlaneInfo2KHR, pCapabilities: ptr VkDisplayPlaneCapabilities2KHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDisplayPlaneCapabilities2KHR")) proc loadVK_KHR_ray_query*(instance: VkInstance) = loadVK_VERSION_1_2(instance) loadVK_KHR_acceleration_structure(instance) # extension VK_KHR_display_swapchain var vkCreateSharedSwapchainsKHR*: proc(device: VkDevice, swapchainCount: uint32, pCreateInfos: ptr VkSwapchainCreateInfoKHR, pAllocator: ptr VkAllocationCallbacks, pSwapchains: ptr VkSwapchainKHR): VkResult {.stdcall.} proc loadVK_KHR_display_swapchain*(instance: VkInstance) = loadVK_KHR_swapchain(instance) loadVK_KHR_display(instance) vkCreateSharedSwapchainsKHR = cast[proc(device: VkDevice, swapchainCount: uint32, pCreateInfos: ptr VkSwapchainCreateInfoKHR, pAllocator: ptr VkAllocationCallbacks, pSwapchains: ptr VkSwapchainKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateSharedSwapchainsKHR")) # extension VK_EXT_acquire_drm_display var vkAcquireDrmDisplayEXT*: proc(physicalDevice: VkPhysicalDevice, drmFd: int32, display: VkDisplayKHR): VkResult {.stdcall.} vkGetDrmDisplayEXT*: proc(physicalDevice: VkPhysicalDevice, drmFd: int32, connectorId: uint32, display: ptr VkDisplayKHR): VkResult {.stdcall.} proc loadVK_EXT_acquire_drm_display*(instance: VkInstance) = loadVK_EXT_direct_mode_display(instance) vkAcquireDrmDisplayEXT = cast[proc(physicalDevice: VkPhysicalDevice, drmFd: int32, display: VkDisplayKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkAcquireDrmDisplayEXT")) vkGetDrmDisplayEXT = cast[proc(physicalDevice: VkPhysicalDevice, drmFd: int32, connectorId: uint32, display: ptr VkDisplayKHR): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetDrmDisplayEXT")) # extension VK_EXT_display_control var 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.} proc loadVK_EXT_display_control*(instance: VkInstance) = loadVK_EXT_display_surface_counter(instance) loadVK_KHR_swapchain(instance) vkDisplayPowerControlEXT = cast[proc(device: VkDevice, display: VkDisplayKHR, pDisplayPowerInfo: ptr VkDisplayPowerInfoEXT): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDisplayPowerControlEXT")) vkRegisterDeviceEventEXT = cast[proc(device: VkDevice, pDeviceEventInfo: ptr VkDeviceEventInfoEXT, pAllocator: ptr VkAllocationCallbacks, pFence: ptr VkFence): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkRegisterDeviceEventEXT")) vkRegisterDisplayEventEXT = cast[proc(device: VkDevice, display: VkDisplayKHR, pDisplayEventInfo: ptr VkDisplayEventInfoEXT, pAllocator: ptr VkAllocationCallbacks, pFence: ptr VkFence): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkRegisterDisplayEventEXT")) vkGetSwapchainCounterEXT = cast[proc(device: VkDevice, swapchain: VkSwapchainKHR, counter: VkSurfaceCounterFlagBitsEXT, pCounterValue: ptr uint64): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetSwapchainCounterEXT")) proc loadVK_NV_ray_tracing_motion_blur*(instance: VkInstance) = loadVK_KHR_ray_tracing_pipeline(instance) proc loadVK_EXT_pipeline_library_group_handles*(instance: VkInstance) = loadVK_KHR_ray_tracing_pipeline(instance) loadVK_KHR_pipeline_library(instance) # extension VK_NV_ray_tracing var vkCreateAccelerationStructureNV*: proc(device: VkDevice, pCreateInfo: ptr VkAccelerationStructureCreateInfoNV, pAllocator: ptr VkAllocationCallbacks, pAccelerationStructure: ptr VkAccelerationStructureNV): VkResult {.stdcall.} vkDestroyAccelerationStructureNV*: proc(device: VkDevice, accelerationStructure: VkAccelerationStructureNV, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.} vkGetAccelerationStructureMemoryRequirementsNV*: proc(device: VkDevice, pInfo: ptr VkAccelerationStructureMemoryRequirementsInfoNV, pMemoryRequirements: ptr VkMemoryRequirements2KHR): void {.stdcall.} vkBindAccelerationStructureMemoryNV*: proc(device: VkDevice, bindInfoCount: uint32, pBindInfos: ptr VkBindAccelerationStructureMemoryInfoNV): VkResult {.stdcall.} vkCmdBuildAccelerationStructureNV*: proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkAccelerationStructureInfoNV, instanceData: VkBuffer, instanceOffset: VkDeviceSize, update: VkBool32, dst: VkAccelerationStructureNV, src: VkAccelerationStructureNV, scratch: VkBuffer, scratchOffset: VkDeviceSize): void {.stdcall.} vkCmdCopyAccelerationStructureNV*: proc(commandBuffer: VkCommandBuffer, dst: VkAccelerationStructureNV, src: VkAccelerationStructureNV, mode: VkCopyAccelerationStructureModeKHR): 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.} vkCreateRayTracingPipelinesNV*: proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoNV, pAllocator: ptr VkAllocationCallbacks, pPipelines: ptr VkPipeline): VkResult {.stdcall.} vkGetRayTracingShaderGroupHandlesNV*: proc(device: VkDevice, pipeline: VkPipeline, firstGroup: uint32, groupCount: uint32, dataSize: csize_t, pData: pointer): VkResult {.stdcall.} vkGetAccelerationStructureHandleNV*: proc(device: VkDevice, accelerationStructure: VkAccelerationStructureNV, dataSize: csize_t, pData: pointer): VkResult {.stdcall.} vkCmdWriteAccelerationStructuresPropertiesNV*: proc(commandBuffer: VkCommandBuffer, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureNV, queryType: VkQueryType, queryPool: VkQueryPool, firstQuery: uint32): void {.stdcall.} vkCompileDeferredNV*: proc(device: VkDevice, pipeline: VkPipeline, shader: uint32): VkResult {.stdcall.} proc loadVK_NV_ray_tracing*(instance: VkInstance) = loadVK_VERSION_1_1(instance) loadVK_VERSION_1_1(instance) vkCreateAccelerationStructureNV = cast[proc(device: VkDevice, pCreateInfo: ptr VkAccelerationStructureCreateInfoNV, pAllocator: ptr VkAllocationCallbacks, pAccelerationStructure: ptr VkAccelerationStructureNV): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateAccelerationStructureNV")) vkDestroyAccelerationStructureNV = cast[proc(device: VkDevice, accelerationStructure: VkAccelerationStructureNV, pAllocator: ptr VkAllocationCallbacks): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkDestroyAccelerationStructureNV")) vkGetAccelerationStructureMemoryRequirementsNV = cast[proc(device: VkDevice, pInfo: ptr VkAccelerationStructureMemoryRequirementsInfoNV, pMemoryRequirements: ptr VkMemoryRequirements2KHR): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetAccelerationStructureMemoryRequirementsNV")) vkBindAccelerationStructureMemoryNV = cast[proc(device: VkDevice, bindInfoCount: uint32, pBindInfos: ptr VkBindAccelerationStructureMemoryInfoNV): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkBindAccelerationStructureMemoryNV")) vkCmdBuildAccelerationStructureNV = cast[proc(commandBuffer: VkCommandBuffer, pInfo: ptr VkAccelerationStructureInfoNV, instanceData: VkBuffer, instanceOffset: VkDeviceSize, update: VkBool32, dst: VkAccelerationStructureNV, src: VkAccelerationStructureNV, scratch: VkBuffer, scratchOffset: VkDeviceSize): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdBuildAccelerationStructureNV")) vkCmdCopyAccelerationStructureNV = cast[proc(commandBuffer: VkCommandBuffer, dst: VkAccelerationStructureNV, src: VkAccelerationStructureNV, mode: VkCopyAccelerationStructureModeKHR): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdCopyAccelerationStructureNV")) vkCmdTraceRaysNV = cast[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.}](vkGetInstanceProcAddr(instance, "vkCmdTraceRaysNV")) vkCreateRayTracingPipelinesNV = cast[proc(device: VkDevice, pipelineCache: VkPipelineCache, createInfoCount: uint32, pCreateInfos: ptr VkRayTracingPipelineCreateInfoNV, pAllocator: ptr VkAllocationCallbacks, pPipelines: ptr VkPipeline): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateRayTracingPipelinesNV")) vkGetRayTracingShaderGroupHandlesNV = vkGetRayTracingShaderGroupHandlesKHR vkGetAccelerationStructureHandleNV = cast[proc(device: VkDevice, accelerationStructure: VkAccelerationStructureNV, dataSize: csize_t, pData: pointer): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkGetAccelerationStructureHandleNV")) vkCmdWriteAccelerationStructuresPropertiesNV = cast[proc(commandBuffer: VkCommandBuffer, accelerationStructureCount: uint32, pAccelerationStructures: ptr VkAccelerationStructureNV, queryType: VkQueryType, queryPool: VkQueryPool, firstQuery: uint32): void {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCmdWriteAccelerationStructuresPropertiesNV")) vkCompileDeferredNV = cast[proc(device: VkDevice, pipeline: VkPipeline, shader: uint32): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCompileDeferredNV")) # extension VK_KHR_present_wait var vkWaitForPresentKHR*: proc(device: VkDevice, swapchain: VkSwapchainKHR, presentId: uint64, timeout: uint64): VkResult {.stdcall.} proc loadVK_KHR_present_wait*(instance: VkInstance) = loadVK_KHR_swapchain(instance) loadVK_KHR_present_id(instance) vkWaitForPresentKHR = cast[proc(device: VkDevice, swapchain: VkSwapchainKHR, presentId: uint64, timeout: uint64): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkWaitForPresentKHR")) proc loadVK_NV_ray_tracing_invocation_reorder*(instance: VkInstance) = loadVK_KHR_ray_tracing_pipeline(instance) var EXTENSION_LOADERS = { "VK_NV_optical_flow": loadVK_NV_optical_flow, "VK_EXT_vertex_attribute_divisor": loadVK_EXT_vertex_attribute_divisor, "VK_EXT_pipeline_library_group_handles": loadVK_EXT_pipeline_library_group_handles, "VK_NV_geometry_shader_passthrough": loadVK_NV_geometry_shader_passthrough, "VK_EXT_line_rasterization": loadVK_EXT_line_rasterization, "VK_EXT_rasterization_order_attachment_access": loadVK_EXT_rasterization_order_attachment_access, "VK_EXT_shader_atomic_float2": loadVK_EXT_shader_atomic_float2, "VK_IMG_format_pvrtc": loadVK_IMG_format_pvrtc, "VK_AMD_texture_gather_bias_lod": loadVK_AMD_texture_gather_bias_lod, "VK_KHR_shader_subgroup_uniform_control_flow": loadVK_KHR_shader_subgroup_uniform_control_flow, "VK_AMD_shader_fragment_mask": loadVK_AMD_shader_fragment_mask, "VK_EXT_external_memory_dma_buf": loadVK_EXT_external_memory_dma_buf, "VK_IMG_filter_cubic": loadVK_IMG_filter_cubic, "VK_EXT_pageable_device_local_memory": loadVK_EXT_pageable_device_local_memory, "VK_EXT_primitive_topology_list_restart": loadVK_EXT_primitive_topology_list_restart, "VK_KHR_global_priority": loadVK_KHR_global_priority, "VK_AMD_shader_ballot": loadVK_AMD_shader_ballot, "VK_AMD_buffer_marker": loadVK_AMD_buffer_marker, "VK_NV_corner_sampled_image": loadVK_NV_corner_sampled_image, "VK_NV_ray_tracing_invocation_reorder": loadVK_NV_ray_tracing_invocation_reorder, "VK_QCOM_image_processing": loadVK_QCOM_image_processing, "VK_AMD_shader_info": loadVK_AMD_shader_info, "VK_KHR_pipeline_library": loadVK_KHR_pipeline_library, "VK_EXT_blend_operation_advanced": loadVK_EXT_blend_operation_advanced, "VK_AMD_gpu_shader_int16": loadVK_AMD_gpu_shader_int16, "VK_EXT_pipeline_robustness": loadVK_EXT_pipeline_robustness, "VK_NV_scissor_exclusive": loadVK_NV_scissor_exclusive, "VK_EXT_sample_locations": loadVK_EXT_sample_locations, "VK_NV_framebuffer_mixed_samples": loadVK_NV_framebuffer_mixed_samples, "VK_NV_sample_mask_override_coverage": loadVK_NV_sample_mask_override_coverage, "VK_KHR_present_id": loadVK_KHR_present_id, "VK_EXT_descriptor_buffer": loadVK_EXT_descriptor_buffer, "VK_EXT_filter_cubic": loadVK_EXT_filter_cubic, "VK_KHR_pipeline_executable_properties": loadVK_KHR_pipeline_executable_properties, "VK_EXT_extended_dynamic_state3": loadVK_EXT_extended_dynamic_state3, "VK_KHR_performance_query": loadVK_KHR_performance_query, "VK_GOOGLE_user_type": loadVK_GOOGLE_user_type, "VK_KHR_ray_tracing_maintenance1": loadVK_KHR_ray_tracing_maintenance1, "VK_EXT_debug_report": loadVK_EXT_debug_report, "VK_EXT_multisampled_render_to_single_sampled": loadVK_EXT_multisampled_render_to_single_sampled, "VK_EXT_device_address_binding_report": loadVK_EXT_device_address_binding_report, "VK_NV_clip_space_w_scaling": loadVK_NV_clip_space_w_scaling, "VK_NV_fill_rectangle": loadVK_NV_fill_rectangle, "VK_EXT_shader_image_atomic_int64": loadVK_EXT_shader_image_atomic_int64, "VK_KHR_swapchain": loadVK_KHR_swapchain, "VK_NV_ray_tracing": loadVK_NV_ray_tracing, "VK_EXT_swapchain_maintenance1": loadVK_EXT_swapchain_maintenance1, "VK_KHR_ray_tracing_pipeline": loadVK_KHR_ray_tracing_pipeline, "VK_EXT_ycbcr_image_arrays": loadVK_EXT_ycbcr_image_arrays, "VK_AMD_negative_viewport_height": loadVK_AMD_negative_viewport_height, "VK_EXT_provoking_vertex": loadVK_EXT_provoking_vertex, "VK_EXT_calibrated_timestamps": loadVK_EXT_calibrated_timestamps, "VK_EXT_attachment_feedback_loop_layout": loadVK_EXT_attachment_feedback_loop_layout, "VK_AMD_mixed_attachment_samples": loadVK_AMD_mixed_attachment_samples, "VK_HUAWEI_invocation_mask": loadVK_HUAWEI_invocation_mask, "VK_EXT_external_memory_host": loadVK_EXT_external_memory_host, "VK_NV_device_diagnostics_config": loadVK_NV_device_diagnostics_config, "VK_EXT_fragment_density_map2": loadVK_EXT_fragment_density_map2, "VK_NV_shader_subgroup_partitioned": loadVK_NV_shader_subgroup_partitioned, "VK_EXT_image_sliced_view_of_3d": loadVK_EXT_image_sliced_view_of_3d, "VK_NV_fragment_shading_rate_enums": loadVK_NV_fragment_shading_rate_enums, "VK_EXT_display_surface_counter": loadVK_EXT_display_surface_counter, "VK_ARM_shader_core_properties": loadVK_ARM_shader_core_properties, "VK_EXT_shader_module_identifier": loadVK_EXT_shader_module_identifier, "VK_EXT_border_color_swizzle": loadVK_EXT_border_color_swizzle, "VK_AMD_shader_image_load_store_lod": loadVK_AMD_shader_image_load_store_lod, "VK_AMD_display_native_hdr": loadVK_AMD_display_native_hdr, "VK_NV_memory_decompression": loadVK_NV_memory_decompression, "VK_EXT_direct_mode_display": loadVK_EXT_direct_mode_display, "VK_EXT_fragment_shader_interlock": loadVK_EXT_fragment_shader_interlock, "VK_NV_coverage_reduction_mode": loadVK_NV_coverage_reduction_mode, "VK_KHR_get_display_properties2": loadVK_KHR_get_display_properties2, "VK_INTEL_shader_integer_functions2": loadVK_INTEL_shader_integer_functions2, "VK_NV_glsl_shader": loadVK_NV_glsl_shader, "VK_KHR_shader_clock": loadVK_KHR_shader_clock, "VK_EXT_image_2d_view_of_3d": loadVK_EXT_image_2d_view_of_3d, "VK_QCOM_tile_properties": loadVK_QCOM_tile_properties, "VK_KHR_push_descriptor": loadVK_KHR_push_descriptor, "VK_NV_viewport_swizzle": loadVK_NV_viewport_swizzle, "VK_KHR_ray_query": loadVK_KHR_ray_query, "VK_KHR_present_wait": loadVK_KHR_present_wait, "VK_NV_shading_rate_image": loadVK_NV_shading_rate_image, "VK_EXT_fragment_density_map": loadVK_EXT_fragment_density_map, "VK_NV_device_diagnostic_checkpoints": loadVK_NV_device_diagnostic_checkpoints, "VK_EXT_pci_bus_info": loadVK_EXT_pci_bus_info, "VK_NV_external_memory": loadVK_NV_external_memory, "VK_EXT_queue_family_foreign": loadVK_EXT_queue_family_foreign, "VK_KHR_swapchain_mutable_format": loadVK_KHR_swapchain_mutable_format, "VK_EXT_depth_clip_control": loadVK_EXT_depth_clip_control, "VK_EXT_debug_utils": loadVK_EXT_debug_utils, "VK_KHR_portability_enumeration": loadVK_KHR_portability_enumeration, "VK_EXT_memory_priority": loadVK_EXT_memory_priority, "VK_EXT_validation_flags": loadVK_EXT_validation_flags, "VK_AMD_shader_core_properties": loadVK_AMD_shader_core_properties, "VK_EXT_conservative_rasterization": loadVK_EXT_conservative_rasterization, "VK_KHR_external_fence_fd": loadVK_KHR_external_fence_fd, "VK_NV_device_generated_commands": loadVK_NV_device_generated_commands, "VK_NV_present_barrier": loadVK_NV_present_barrier, "VK_AMD_gcn_shader": loadVK_AMD_gcn_shader, "VK_NV_viewport_array2": loadVK_NV_viewport_array2, "VK_INTEL_performance_query": loadVK_INTEL_performance_query, "VK_NVX_multiview_per_view_attributes": loadVK_NVX_multiview_per_view_attributes, "VK_EXT_primitives_generated_query": loadVK_EXT_primitives_generated_query, "VK_AMD_pipeline_compiler_control": loadVK_AMD_pipeline_compiler_control, "VK_EXT_post_depth_coverage": loadVK_EXT_post_depth_coverage, "VK_EXT_rgba10x6_formats": loadVK_EXT_rgba10x6_formats, "VK_KHR_external_memory_fd": loadVK_KHR_external_memory_fd, "VK_NV_dedicated_allocation_image_aliasing": loadVK_NV_dedicated_allocation_image_aliasing, "VK_NV_cooperative_matrix": loadVK_NV_cooperative_matrix, "VK_EXT_depth_clamp_zero_one": loadVK_EXT_depth_clamp_zero_one, "VK_EXT_conditional_rendering": loadVK_EXT_conditional_rendering, "VK_QCOM_multiview_per_view_viewports": loadVK_QCOM_multiview_per_view_viewports, "VK_NV_linear_color_attachment": loadVK_NV_linear_color_attachment, "VK_EXT_shader_subgroup_ballot": loadVK_EXT_shader_subgroup_ballot, "VK_EXT_multi_draw": loadVK_EXT_multi_draw, "VK_NV_fragment_coverage_to_color": loadVK_NV_fragment_coverage_to_color, "VK_EXT_load_store_op_none": loadVK_EXT_load_store_op_none, "VK_QCOM_rotated_copy_commands": loadVK_QCOM_rotated_copy_commands, "VK_EXT_surface_maintenance1": loadVK_EXT_surface_maintenance1, "VK_EXT_swapchain_colorspace": loadVK_EXT_swapchain_colorspace, "VK_EXT_image_drm_format_modifier": loadVK_EXT_image_drm_format_modifier, "VK_EXT_validation_features": loadVK_EXT_validation_features, "VK_KHR_workgroup_memory_explicit_layout": loadVK_KHR_workgroup_memory_explicit_layout, "VK_EXT_index_type_uint8": loadVK_EXT_index_type_uint8, "VK_EXT_mesh_shader": loadVK_EXT_mesh_shader, "VK_AMD_shader_early_and_late_fragment_tests": loadVK_AMD_shader_early_and_late_fragment_tests, "VK_KHR_display_swapchain": loadVK_KHR_display_swapchain, "VK_EXT_transform_feedback": loadVK_EXT_transform_feedback, "VK_GOOGLE_decorate_string": loadVK_GOOGLE_decorate_string, "VK_EXT_shader_atomic_float": loadVK_EXT_shader_atomic_float, "VK_EXT_acquire_drm_display": loadVK_EXT_acquire_drm_display, "VK_EXT_pipeline_properties": loadVK_EXT_pipeline_properties, "VK_EXT_graphics_pipeline_library": loadVK_EXT_graphics_pipeline_library, "VK_KHR_acceleration_structure": loadVK_KHR_acceleration_structure, "VK_AMD_shader_core_properties2": loadVK_AMD_shader_core_properties2, "VK_KHR_surface": loadVK_KHR_surface, "VK_AMD_gpu_shader_half_float": loadVK_AMD_gpu_shader_half_float, "VK_KHR_deferred_host_operations": loadVK_KHR_deferred_host_operations, "VK_NV_dedicated_allocation": loadVK_NV_dedicated_allocation, "VK_GOOGLE_hlsl_functionality1": loadVK_GOOGLE_hlsl_functionality1, "VK_EXT_robustness2": loadVK_EXT_robustness2, "VK_NVX_image_view_handle": loadVK_NVX_image_view_handle, "VK_EXT_non_seamless_cube_map": loadVK_EXT_non_seamless_cube_map, "VK_EXT_opacity_micromap": loadVK_EXT_opacity_micromap, "VK_EXT_image_view_min_lod": loadVK_EXT_image_view_min_lod, "VK_AMD_shader_trinary_minmax": loadVK_AMD_shader_trinary_minmax, "VK_QCOM_render_pass_store_ops": loadVK_QCOM_render_pass_store_ops, "VK_EXT_device_fault": loadVK_EXT_device_fault, "VK_EXT_custom_border_color": loadVK_EXT_custom_border_color, "VK_EXT_mutable_descriptor_type": loadVK_EXT_mutable_descriptor_type, "VK_AMD_rasterization_order": loadVK_AMD_rasterization_order, "VK_EXT_vertex_input_dynamic_state": loadVK_EXT_vertex_input_dynamic_state, "VK_KHR_incremental_present": loadVK_KHR_incremental_present, "VK_KHR_fragment_shading_rate": loadVK_KHR_fragment_shading_rate, "VK_EXT_color_write_enable": loadVK_EXT_color_write_enable, "VK_SEC_amigo_profiling": loadVK_SEC_amigo_profiling, "VK_GOOGLE_display_timing": loadVK_GOOGLE_display_timing, "VK_NVX_binary_import": loadVK_NVX_binary_import, "VK_EXT_depth_clip_enable": loadVK_EXT_depth_clip_enable, "VK_EXT_subpass_merge_feedback": loadVK_EXT_subpass_merge_feedback, "VK_NV_representative_fragment_test": loadVK_NV_representative_fragment_test, "VK_EXT_validation_cache": loadVK_EXT_validation_cache, "VK_EXT_display_control": loadVK_EXT_display_control, "VK_KHR_external_semaphore_fd": loadVK_KHR_external_semaphore_fd, "VK_KHR_fragment_shader_barycentric": loadVK_KHR_fragment_shader_barycentric, "VK_NV_inherited_viewport_scissor": loadVK_NV_inherited_viewport_scissor, "VK_EXT_legacy_dithering": loadVK_EXT_legacy_dithering, "VK_NV_ray_tracing_motion_blur": loadVK_NV_ray_tracing_motion_blur, "VK_EXT_physical_device_drm": loadVK_EXT_physical_device_drm, "VK_EXT_pipeline_protected_access": loadVK_EXT_pipeline_protected_access, "VK_QCOM_render_pass_transform": loadVK_QCOM_render_pass_transform, "VK_GOOGLE_surfaceless_query": loadVK_GOOGLE_surfaceless_query, "VK_EXT_memory_budget": loadVK_EXT_memory_budget, "VK_EXT_discard_rectangles": loadVK_EXT_discard_rectangles, "VK_EXT_shader_stencil_export": loadVK_EXT_shader_stencil_export, "VK_KHR_shared_presentable_image": loadVK_KHR_shared_presentable_image, "VK_NV_external_memory_rdma": loadVK_NV_external_memory_rdma, "VK_EXT_image_compression_control_swapchain": loadVK_EXT_image_compression_control_swapchain, "VK_EXT_hdr_metadata": loadVK_EXT_hdr_metadata, "VK_AMD_device_coherent_memory": loadVK_AMD_device_coherent_memory, "VK_EXT_device_memory_report": loadVK_EXT_device_memory_report, "VK_ARM_shader_core_builtins": loadVK_ARM_shader_core_builtins, "VK_QCOM_multiview_per_view_render_areas": loadVK_QCOM_multiview_per_view_render_areas, "VK_LUNARG_direct_driver_loading": loadVK_LUNARG_direct_driver_loading, "VK_AMD_memory_overallocation_behavior": loadVK_AMD_memory_overallocation_behavior, "VK_NV_mesh_shader": loadVK_NV_mesh_shader, "VK_AMD_shader_explicit_vertex_parameter": loadVK_AMD_shader_explicit_vertex_parameter, "VK_EXT_headless_surface": loadVK_EXT_headless_surface, "VK_NV_shader_sm_builtins": loadVK_NV_shader_sm_builtins, "VK_EXT_shader_subgroup_vote": loadVK_EXT_shader_subgroup_vote, "VK_NV_copy_memory_indirect": loadVK_NV_copy_memory_indirect, "VK_EXT_image_compression_control": loadVK_EXT_image_compression_control, "VK_EXT_astc_decode_mode": loadVK_EXT_astc_decode_mode, "VK_EXT_buffer_device_address": loadVK_EXT_buffer_device_address, "VK_KHR_get_surface_capabilities2": loadVK_KHR_get_surface_capabilities2, "VK_KHR_display": loadVK_KHR_display, "VK_QCOM_render_pass_shader_resolve": loadVK_QCOM_render_pass_shader_resolve, "VK_EXT_depth_range_unrestricted": loadVK_EXT_depth_range_unrestricted, "VK_HUAWEI_subpass_shading": loadVK_HUAWEI_subpass_shading, "VK_VALVE_descriptor_set_host_mapping": loadVK_VALVE_descriptor_set_host_mapping, "VK_HUAWEI_cluster_culling_shader": loadVK_HUAWEI_cluster_culling_shader, "VK_KHR_surface_protected_capabilities": loadVK_KHR_surface_protected_capabilities, "VK_NV_shader_image_footprint": loadVK_NV_shader_image_footprint, "VK_NV_external_memory_capabilities": loadVK_NV_external_memory_capabilities, "VK_NV_compute_shader_derivatives": loadVK_NV_compute_shader_derivatives, "VK_QCOM_fragment_density_map_offset": loadVK_QCOM_fragment_density_map_offset, }.toTable when defined(VK_USE_PLATFORM_XLIB_KHR): include ./platform/xlib EXTENSION_LOADERS["VK_KHR_xlib_surface"] = loadVK_KHR_xlib_surface when defined(VK_USE_PLATFORM_WIN32_KHR): include ./platform/win32 EXTENSION_LOADERS["VK_KHR_external_semaphore_win32"] = loadVK_KHR_external_semaphore_win32 EXTENSION_LOADERS["VK_EXT_full_screen_exclusive"] = loadVK_EXT_full_screen_exclusive EXTENSION_LOADERS["VK_NV_external_memory_win32"] = loadVK_NV_external_memory_win32 EXTENSION_LOADERS["VK_KHR_external_memory_win32"] = loadVK_KHR_external_memory_win32 EXTENSION_LOADERS["VK_NV_acquire_winrt_display"] = loadVK_NV_acquire_winrt_display EXTENSION_LOADERS["VK_KHR_win32_surface"] = loadVK_KHR_win32_surface EXTENSION_LOADERS["VK_KHR_external_fence_win32"] = loadVK_KHR_external_fence_win32 EXTENSION_LOADERS["VK_KHR_win32_keyed_mutex"] = loadVK_KHR_win32_keyed_mutex proc loadExtension*(instance: VkInstance, extension: string) = if extension in EXTENSION_LOADERS: EXTENSION_LOADERS[extension](instance) # load global functions immediately block globalFunctions: let instance = VkInstance(0) vkEnumerateInstanceVersion = cast[proc(pApiVersion: ptr uint32): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkEnumerateInstanceVersion")) vkEnumerateInstanceExtensionProperties = cast[proc(pLayerName: cstring, pPropertyCount: ptr uint32, pProperties: ptr VkExtensionProperties): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkEnumerateInstanceExtensionProperties")) vkEnumerateInstanceLayerProperties = cast[proc(pPropertyCount: ptr uint32, pProperties: ptr VkLayerProperties): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkEnumerateInstanceLayerProperties")) vkCreateInstance = cast[proc(pCreateInfo: ptr VkInstanceCreateInfo, pAllocator: ptr VkAllocationCallbacks, pInstance: ptr VkInstance): VkResult {.stdcall.}](vkGetInstanceProcAddr(instance, "vkCreateInstance")) converter NimBool2VkBool*(a: bool): VkBool32 = VkBool32(a)