Procs
proc bestMemory(mappable: bool; filter: seq[uint32] = @[]): uint32 {. ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc currentFiF(): int {....raises: [], tags: [], forbids: [].}
proc getBestPhysicalDevice(instance: VkInstance): VkPhysicalDevice {. ...raises: [Exception], tags: [RootEffect], forbids: [].}
func getBindingNumber[T](field: static string): uint32 {.compileTime.}
func getDescriptorCount[T](): uint32 {.compileTIme.}
func getDescriptorType[T](): VkDescriptorType {.compileTIme.}
proc getQueueFamily(pDevice: VkPhysicalDevice; surface: VkSurfaceKHR; qType: VkQueueFlagBits): uint32 {....raises: [Exception], tags: [RootEffect], forbids: [].}
proc hasValidationLayer(): bool {....raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkAllocateMemory(size: uint64; typeIndex: uint32): VkDeviceMemory {. ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkCmdBindDescriptorSet(commandBuffer: VkCommandBuffer; descriptorSet: VkDescriptorSet; index: DescriptorSetIndex; layout: VkPipelineLayout) {. ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkCmdBindDescriptorSets(commandBuffer: VkCommandBuffer; descriptorSets: openArray[VkDescriptorSet]; layout: VkPipelineLayout) {....raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkCreate2DImage(width, height: uint32; format: VkFormat; usage: openArray[VkImageUsageFlagBits]; samples = VK_SAMPLE_COUNT_1_BIT; nLayers = 1'u32): VkImage {. ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkCreate2DImageView(image: VkImage; format: VkFormat; aspect = VK_IMAGE_ASPECT_COLOR_BIT; nLayers = 1'u32; isArray = false): VkImageView {....raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkCreateBuffer(size: uint64; usage: openArray[VkBufferUsageFlagBits]): VkBuffer {. ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkCreateFence(signaled = false): VkFence {....raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkCreateFramebuffer(renderpass: VkRenderPass; width, height: uint32; attachments: openArray[VkImageView]): VkFramebuffer {. ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkCreateRenderPass(attachments: openArray[VkAttachmentDescription]; colorAttachments: openArray[VkAttachmentReference]; depthAttachments: openArray[VkAttachmentReference]; resolveAttachments: openArray[VkAttachmentReference]; dependencies: openArray[VkSubpassDependency]): VkRenderPass {. ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkCreateSemaphore(): VkSemaphore {....raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkGetBufferMemoryRequirements(buffer: VkBuffer): tuple[size: uint64, alignment: uint64, memoryTypes: seq[uint32]] {....raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkGetDeviceQueue(device: VkDevice; queueFamilyIndex: uint32; qType: VkQueueFlagBits): VkQueue {....raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkGetImageMemoryRequirements(image: VkImage): tuple[size: uint64, alignment: uint64, memoryTypes: seq[uint32]] {....raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkGetPhysicalDeviceProperties(): VkPhysicalDeviceProperties {. ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkGetPhysicalDeviceSurfacePresentModesKHR(): seq[VkPresentModeKHR] {. ...raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkGetPhysicalDeviceSurfaceSupportKHR(pDevice: VkPhysicalDevice; surface: VkSurfaceKHR; queueFamily: uint32): bool {....raises: [Exception], tags: [RootEffect], forbids: [].}
proc svkResetFences(fence: VkFence) {....raises: [Exception], tags: [RootEffect], forbids: [].}
Templates
template withSingleUseCommandBuffer(cmd, body: untyped): untyped
template withStagingBuffer[T: (VkBuffer, uint64) | (VkImage, uint32, uint32, uint32)](target: T; bufferSize: uint64; dataPointer, body: untyped): untyped