Skip to content

io7m-com/jcoronado

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jcoronado

Maven Central Maven Central (snapshot) Codecov Java Version

com.io7m.jcoronado

JVM Platform Status
OpenJDK (Temurin) Current Linux Build (OpenJDK (Temurin) Current, Linux)
OpenJDK (Temurin) LTS Linux Build (OpenJDK (Temurin) LTS, Linux)
OpenJDK (Temurin) Current Windows Build (OpenJDK (Temurin) Current, Windows)
OpenJDK (Temurin) LTS Windows Build (OpenJDK (Temurin) LTS, Windows)

Background

The jcoronado package provides a very thin layer over the Vulkan API that intends to provide some degree of memory and type safety. The intention of the package is to make Vulkan feel like a Java API, without sacrificing performance. Internally, the package uses the excellent LWJGL3 Vulkan bindings, and adds a thin layer of immutable types and interfaces.

Features

  • Type-safe Vulkan frontend
  • Strong separation of API and implementation to allow for switching to different bindings at compile-time
  • Extensive use of try-with-resources to prevent resource leaks
  • Strongly-typed interfaces with a heavy emphasis on immutable value types
  • Type-safe extension mechanism
  • Fully documented (JavaDoc)
  • Example code included
  • OSGi ready.
  • JPMS ready.
  • ISC license

Building

Install a Vulkan SDK. On Linux, there will be almost certainly be distribution packages available with names such as vulkan-validationlayers, vulkan-tools, etc. On Windows, install the LunarG SDK. On Windows, ensure that you have the right vendor drivers installed for your graphics card; if you don't do this, the library (and the test suite) will raise exceptions with messages such as "Missing vulkan-1.dll".

Then run:

$ mvn clean package

If this step fails, it's a bug. Please report it!

Current Test Platforms

The package regularly passes tests on all of the following platforms:

Node OS Arch GPU Vendor GPU Model Driver ID Driver Version Driver Info Vulkan API
banana Windows 10 amd64 NVIDIA GeForce GTX 1660 Ti NVIDIA 456.284.0 456.71 1.2.142
github Linux amd64 Unknown llvmpipe (LLVM 12.0.0, 256 bits) llvmpipe 0.0.1 Mesa 21.0.3 (LLVM 12.0.0) 1.0.2
prune Linux amd64 INTEL Intel(R) HD Graphics 620 (KBL GT2) Intel open-source Mesa driver 21.3.2 Mesa 21.3.2 1.2.195
starfruit Linux amd64 Unknown llvmpipe (LLVM 11.0.1, 256 bits) llvmpipe 0.0.1 Mesa 20.3.5 (LLVM 11.0.1) 1.0.2
sunflower Linux amd64 AMD AMD RADV NAVI10 radv 21.3.1 Mesa 21.3.1 1.2.195
walnut Windows 10 amd64 AMD AMD Radeon(TM) Graphics AMD proprietary driver 2.0.198 21.10.2 1.2.188

The node field is an informal name given to each testing node so that we can track test results over time.

Structs

jcoronado Vulkan
VulkanApplicationInfoType VkApplicationInfo
VulkanAttachmentDescriptionType VkAttachmentDescription
VulkanAttachmentReferenceType VkAttachmentReference
VulkanBlendConstantsType VkPipelineColorBlendAttachmentState
VulkanBufferCopyType VkBufferCopy
VulkanBufferCreateInfoType VkBufferCreateInfo
VulkanBufferImageCopyType VkBufferImageCopy
VulkanBufferMemoryBarrierType VkBufferMemoryBarrier
VulkanBufferViewCreateInfoType VkBufferViewCreateInfo
VulkanClearAttachmentType VkClearAttachment
VulkanClearRectangleType VkClearRect
VulkanClearValueType VkClearValue
VulkanClearValueColorFloatingPointType VkClearValue
VulkanClearValueColorIntegerSignedType VkClearValue
VulkanClearValueColorIntegerUnsignedType VkClearValue
VulkanClearValueColorType VkClearValue
VulkanClearValueDepthStencilType VkClearValue
VulkanCommandBufferBeginInfoType VkCommandBufferBeginInfo
VulkanCommandBufferCreateInfoType VkCommandBufferAllocateInfo
VulkanCommandPoolCreateInfoType VkCommandPoolCreateInfo
VulkanComponentMappingType VkComponentMapping
VulkanComputePipelineCreateInfoType VkComputePipelineCreateInfo
VulkanComputeWorkGroupCountType VkPhysicalDeviceLimits
VulkanComputeWorkGroupSizeType VkPhysicalDeviceLimits
VulkanCopyDescriptorSetType VkCopyDescriptorSet
VulkanDescriptorBufferInfoType VkDescriptorBufferInfo
VulkanDescriptorImageInfoType VkDescriptorImageInfo
VulkanDescriptorPoolCreateInfoType VkDescriptorPoolCreateInfo
VulkanDescriptorPoolSizeType VkDescriptorPoolSize
VulkanDescriptorSetAllocateInfoType VkDescriptorSetAllocateInfo
VulkanDescriptorSetLayoutBindingType VkDescriptorSetLayoutBinding
VulkanDescriptorSetLayoutCreateInfoType VkDescriptorSetLayoutCreateInfo
VulkanEventCreateInfoType VkEventCreateInfo
VulkanExtensionPropertiesType VkExtensionProperties
VulkanExtent2DType VkExtent2D
VulkanExtent3DType VkExtent3D
VulkanFenceCreateInfoType VkFenceCreateInfo
VulkanFormatPropertiesType VkFormatProperties
VulkanFramebufferCreateInfoType VkFramebufferCreateInfo
VulkanGraphicsPipelineCreateInfoType VkGraphicsPipelineCreateInfo
VulkanHostAllocatorCallbacksType VkAllocationCallbacks
VulkanImageBlitType VkImageBlit
VulkanImageCopyType VkImageCopy
VulkanImageCreateInfoType VkImageCreateInfo
VulkanImageFormatPropertiesType VkImageFormatProperties
VulkanImageMemoryBarrierType VkImageMemoryBarrier
VulkanImageSubresourceLayersType VkImageSubresourceLayers
VulkanImageSubresourceRangeType VkImageSubresourceRange
VulkanImageSubresourceType VkImageSubresource
VulkanImageViewCreateInfoType VkImageViewCreateInfo
VulkanInstanceCreateInfoType VkInstanceCreateInfo
VulkanLayerPropertiesType VkLayerProperties
VulkanLogicalDeviceCreateInfoType VkDeviceCreateInfo
VulkanLogicalDeviceQueueCreateInfoType VkDeviceQueueCreateInfo
VulkanMappedMemoryRangeType VkMappedMemoryRange
VulkanMemoryAllocateInfoType VkMemoryAllocateInfo
VulkanMemoryBarrierType VkMemoryBarrier
VulkanMemoryHeapType VkMemoryHeap
VulkanMemoryRequirementsType VkMemoryRequirements
VulkanOffset2DType VkOffset2D
VulkanOffset3DType VkOffset3D
VulkanPhysicalDeviceFeatures10Type VkPhysicalDeviceFeatures
VulkanPhysicalDeviceFeatures11Type VkPhysicalDeviceVulkan11Features
VulkanPhysicalDeviceFeatures12Type VkPhysicalDeviceVulkan12Features
VulkanPhysicalDeviceFeaturesType VkPhysicalDeviceFeatures
VulkanPhysicalDeviceLimitsType VkPhysicalDeviceLimits
VulkanPhysicalDeviceMemoryPropertiesType VkPhysicalDeviceMemoryProperties
VulkanPhysicalDevicePropertiesType VkPhysicalDeviceProperties
VulkanPipelineCacheCreateInfoType VkPipelineCacheCreateInfo
VulkanPipelineColorBlendAttachmentStateType VkPipelineColorBlendAttachmentState
VulkanPipelineColorBlendStateCreateInfoType VkPipelineColorBlendStateCreateInfo
VulkanPipelineDepthStencilStateCreateInfoType VkPipelineDepthStencilStateCreateInfo
VulkanPipelineDynamicStateCreateInfoType VkPipelineDynamicStateCreateInfo
VulkanPipelineInputAssemblyStateCreateInfoType VkPipelineInputAssemblyStateCreateInfo
VulkanPipelineLayoutCreateInfoType VkPipelineLayoutCreateInfo
VulkanPipelineMultisampleStateCreateInfoType VkPipelineMultisampleStateCreateInfo
VulkanPipelineRasterizationStateCreateInfoType VkPipelineRasterizationStateCreateInfo
VulkanPipelineShaderStageCreateInfoType VkPipelineShaderStageCreateInfo
VulkanPipelineTessellationStateCreateInfoType VkPipelineTessellationStateCreateInfo
VulkanPipelineVertexInputStateCreateInfoType VkPipelineVertexInputStateCreateInfo
VulkanPipelineViewportStateCreateInfoType VkPipelineViewportStateCreateInfo
VulkanPushConstantRangeType VkPushConstantRange
VulkanQueryPoolCreateInfoType VkQueryPoolCreateInfo
VulkanQueueFamilyPropertiesType VkQueueFamilyProperties
VulkanRectangle2DType VkRect2D
VulkanRenderPassBeginInfoType VkRenderPassBeginInfo
VulkanRenderPassCreateInfoType VkRenderPassCreateInfo
VulkanSamplerCreateInfoType VkSamplerCreateInfo
VulkanSemaphoreCreateInfoType VkSemaphoreCreateInfo
VulkanShaderModuleCreateInfoType VkShaderModuleCreateInfo
VulkanSpecializationMapEntryType VkSpecializationMapEntry
VulkanSpecializationMapType VkSpecializationMap
VulkanStencilOpStateType VkStencilOpState
VulkanSubmitInfoType VkSubmitInfo
VulkanSubpassDependencyType VkSubpassDependency
VulkanSubpassDescriptionType VkSubpassDescription
VulkanSubresourceLayoutType VkSubresourceLayout
VulkanVertexInputAttributeDescriptionType VkVertexInputAttributeDescription
VulkanVertexInputBindingDescriptionType VkVertexInputBindingDescription
VulkanViewportType VkViewport
VulkanWriteDescriptorSetType VkWriteDescriptorSet
VulkanDebugUtilsLabelEXTType VkDebugUtilsLabelEXT
VulkanDebugUtilsMessengerCallbackDataEXTType VkDebugUtilsMessengerCallbackDataEXT
VulkanDebugUtilsMessengerCreateInfoEXTType VkDebugUtilsMessengerCreateInfoEXT
VulkanDebugUtilsObjectNameInfoEXTType VkDebugUtilsObjectNameInfoEXT
VulkanSurfaceCapabilitiesKHRType VkSurfaceCapabilitiesKHR
VulkanSurfaceFormatKHRType VkSurfaceFormatKHR
VulkanPresentInfoKHRType VkPresentInfoKHR
VulkanSwapChainCreateInfoType VkSwapchainCreateInfoKHR

Enums

jcoronado Vulkan
VulkanAccessFlag VkAccessFlagBits
VulkanAttachmentDescriptionFlag VkAttachmentDescriptionFlags
VulkanAttachmentLoadOp VkAttachmentLoadOp
VulkanAttachmentStoreOp VkAttachmentStoreOp
VulkanBlendFactor VkBlendFactor
VulkanBlendOp VkBlendOp
VulkanBorderColor VkBorderColor
VulkanBufferCreateFlag VkBufferCreateFlagBits
VulkanBufferUsageFlag VkBufferUsageFlagBits
VulkanBufferViewCreateFlag VkBufferViewCreateFlags
VulkanColorComponentFlag VkColorComponentFlags
VulkanCommandBufferLevel VkCommandBufferLevel
VulkanCommandBufferResetFlag VkCommandBufferResetFlagBits
VulkanCommandBufferUsageFlag VkCommandBufferUsageFlags
VulkanCommandPoolCreateFlag VkCommandPoolCreateFlags
VulkanCommandPoolResetFlag VkCommandPoolResetFlagBits
VulkanCommandPoolTrimFlag VkCommandPoolTrimFlags
VulkanCompareOp VkCompareOp
VulkanComponentSwizzle VkComponentSwizzle
VulkanCullModeFlag VkCullModeFlagBits
VulkanDependencyFlag VkDependencyFlagBits
VulkanDescriptorPoolCreateFlag VkDescriptorPoolCreateFlagBits
VulkanDescriptorPoolResetFlag VkDescriptorPoolResetFlagBits
VulkanDescriptorSetLayoutCreateFlag VkDescriptorSetLayoutCreateFlagBits
VulkanDescriptorType VkDescriptorType
VulkanDeviceQueueCreationFlag VkDeviceQueueCreateFlagBits
VulkanDriverKnownId VkDriverId
VulkanDynamicState VkDynamicState
VulkanEventCreateFlag VkEventCreateFlagBits
VulkanFenceCreateFlag VkFenceCreateFlagBits
VulkanFilter VkFilter
VulkanFormat VkFormat
VulkanFormatFeatureFlag VkFormatFeatureFlagBits
VulkanFramebufferCreateFlag VkFramebufferCreateFlags
VulkanFrontFace VkFrontFace
VulkanImageAspectFlag VkImageAspectFlagBits
VulkanImageCreateFlag VkImageCreateFlagBits
VulkanImageKind VkImageType
VulkanImageLayout VkImageLayout
VulkanImageTiling VkImageTiling
VulkanImageUsageFlag VkImageUsageFlags
VulkanImageViewCreateFlag VkImageViewCreateFlags
VulkanImageViewKind VkImageViewType
VulkanInternalAllocation VkInternalAllocationType
VulkanLogicOp VkLogicOp
VulkanLogicalDeviceCreateFlag VkDeviceCreateFlags
VulkanMemoryHeapFlag VkMemoryHeapFlagBits
VulkanMemoryMapFlag VkMemoryMapFlags
VulkanMemoryPropertyFlag VkMemoryPropertyFlagBits
VulkanPipelineBindPoint VkPipelineBindPoint
VulkanPipelineCacheCreateFlag VkPipelineCacheCreateFlags
VulkanPipelineColorBlendStateCreateFlag VkPipelineColorBlendStateCreateFlags
VulkanPipelineCreateFlag VkPipelineCreateFlagBits
VulkanPipelineDepthStencilStateCreateFlag VkPipelineDepthStencilStateCreateFlags
VulkanPipelineDynamicStateCreateFlag VkPipelineDynamicStateCreateFlags
VulkanPipelineInputAssemblyStateCreateFlag VkPipelineInputAssemblyStateCreateFlags
VulkanPipelineLayoutCreateFlag VkPipelineLayoutCreateFlags
VulkanPipelineMultisampleStateCreateFlag VkPipelineMultisampleStateCreateFlags
VulkanPipelineRasterizationStateCreateFlag VulkanPipelineRasterizationStateCreateFlag
VulkanPipelineShaderStageCreateFlag VkPipelineShaderStageCreateFlags
VulkanPipelineStageFlag VkPipelineStageFlagBits
VulkanPipelineTessellationStageCreateFlag VkPipelineTessellationStateCreateFlags
VulkanPipelineVertexInputStateCreateFlag VkPipelineVertexInputStateCreate
VulkanPipelineViewportStateCreateFlag VkPipelineViewportStateCreateFlags
VulkanPolygonMode VkPolygonMode
VulkanPrimitiveTopology VkPrimitiveTopology
VulkanQueryControlFlag VkQueryControlFlagBits
VulkanQueryKind VkQueryType
VulkanQueryPipelineStatisticFlag VkQueryPipelineStatisticFlagBits
VulkanQueryPoolCreateFlag VkQueryPoolCreateFlagBits
VulkanQueueFamilyPropertyFlag VkQueueFlagBits
VulkanRenderPassCreateFlag VkRenderPassCreateFlags
VulkanSampleCountFlag VkSampleCountFlagBits
VulkanSamplerAddressMode VkSamplerAddressMode
VulkanSamplerCreateFlag VkSamplerCreateFlags
VulkanSamplerMipmapMode VkSamplerMipmapMode
VulkanSemaphoreCreateFlag VkSemaphoreCreateFlags
VulkanShaderModuleCreateFlag VkShaderModuleCreateFlag
VulkanShaderStageFlag VkShaderStageFlagBits
VulkanSharingMode VkSharingMode
VulkanStencilFaceFlag VkStencilFaceFlags
VulkanStencilOp VkStencilOp
VulkanSubpassContents VkSubpassContents
VulkanSubpassDescriptionFlag VkSubpassDescriptionFlagBits
VulkanSystemAllocationScope VkSystemAllocationScope
VulkanVertexInputRate VkVertexInputRate
VulkanDebugUtilsMessageSeverityFlag VkDebugUtilsMessengerCreateFlagsEXT
VulkanDebugUtilsMessageTypeFlag VkDebugUtilsMessageTypeFlagBitsEXT
VulkanDebugUtilsMessengerCallbackDataFlag VkDebugUtilsMessengerCallbackDataFlagsEXT
VulkanDebugUtilsMessengerCreateFlag VkDebugUtilsMessengerCreateFlagsEXT
VulkanSurfaceTransformFlagKHR VkSurfaceTransformFlagBitsKHR
VulkanColorSpaceKHR VkColorSpaceKHR
VulkanCompositeAlphaFlagKHR VkCompositeAlphaFlagBitsKHR
VulkanPresentModeKHR VkPresentModeKHR

Functions

jcoronado Vulkan
VulkanBufferType.close() vkDestroyBuffer
VulkanBufferType.close() vmaDestroyBuffer
VulkanBufferViewType.close() vkDestroyBufferView
VulkanCommandBufferType.beginCommandBuffer() vkBeginCommandBuffer
VulkanCommandBufferType.beginQuery() vkCmdBeginQuery
VulkanCommandBufferType.beginRenderPass() vkCmdBeginRenderPass
VulkanCommandBufferType.bindDescriptorSets() vkCmdBindDescriptorSets
VulkanCommandBufferType.bindIndexBuffer() vkCmdBindIndexBuffer
VulkanCommandBufferType.bindPipeline() vkCmdBindPipeline
VulkanCommandBufferType.bindVertexBuffers() vkCmdBindVertexBuffers
VulkanCommandBufferType.blitImage() vkCmdBlitImage
VulkanCommandBufferType.clearAttachments() vkCmdClearAttachments
VulkanCommandBufferType.clearColorImage() vkCmdClearColorImage
VulkanCommandBufferType.clearDepthStencilImage() vkCmdClearDepthStencilImage
VulkanCommandBufferType.copyBuffer() vkCmdCopyBuffer
VulkanCommandBufferType.copyBufferToImage() vkCmdCopyBufferToImage
VulkanCommandBufferType.copyImage() vkCmdCopyImage
VulkanCommandBufferType.copyImageToBuffer() vkCmdCopyImageToBuffer
VulkanCommandBufferType.dispatch() vkCmdDispatch
VulkanCommandBufferType.draw() vkCmdDraw
VulkanCommandBufferType.drawIndexed() vkCmdDrawIndexed
VulkanCommandBufferType.drawIndexedIndirect() vkCmdDrawIndexedIndirect
VulkanCommandBufferType.drawIndirect() vkCmdDrawIndirect
VulkanCommandBufferType.endCommandBuffer() vkEndCommandBuffer
VulkanCommandBufferType.endQuery() vkCmdEndQuery
VulkanCommandBufferType.endRenderPass() vkCmdEndRenderPass
VulkanCommandBufferType.executeCommands() vkCmdExecuteCommands
VulkanCommandBufferType.fillBuffer() vkCmdFillBuffer
VulkanCommandBufferType.nextSubpass() vkCmdNextSubpass
VulkanCommandBufferType.pipelineBarrier() vkCmdPipelineBarrier
VulkanCommandBufferType.reset() vkResetCommandBuffer
VulkanCommandBufferType.resetEvent() vkCmdResetEvent
VulkanCommandBufferType.resetQueryPool() vkCmdResetQueryPool
VulkanCommandBufferType.setBlendConstants() vkCmdSetBlendConstants
VulkanCommandBufferType.setDepthBias() vkCmdSetDepthBias
VulkanCommandBufferType.setDepthBounds() vkCmdSetDepthBounds
VulkanCommandBufferType.setEvent() vkCmdSetEvent
VulkanCommandBufferType.setLineWidth() vkCmdSetLineWidth
VulkanCommandBufferType.setScissor() vkCmdSetScissor
VulkanCommandBufferType.setStencilCompareMask() vkCmdSetStencilCompareMask
VulkanCommandBufferType.setStencilReference() vkCmdSetStencilReference
VulkanCommandBufferType.setStencilWriteMask() vkCmdSetStencilWriteMask
VulkanCommandBufferType.setViewport() vkCmdSetViewport
VulkanCommandBufferType.waitEvents() vkCmdWaitEvents
VulkanCommandBufferType.writeTimestamp() vkCmdWriteTimestamp
VulkanCommandPoolType.close() vkDestroyCommandPool
VulkanDescriptorPoolType.close() vkDestroyDescriptorPool
VulkanDescriptorSetLayoutType.close() vkDestroyDescriptorSetLayout
VulkanDeviceMemoryType.close() vkFreeMemory
VulkanEventType.close() vkDestroyEvent
VulkanFenceType.close() vkDestroyFence
VulkanFramebufferType.close() vkDestroyFramebuffer
VulkanImageType.close() vkDestroyImage
VulkanImageType.close() vmaDestroyImage
VulkanImageViewType.close() vkDestroyImageView
VulkanInstanceProviderType.createInstance() vkCreateInstance
VulkanInstanceProviderType.extensions() vkEnumerateInstanceExtensionProperties
VulkanInstanceProviderType.findSupportedInstanceVersion() vkEnumerateInstanceVersion
VulkanInstanceProviderType.layers() vkEnumerateInstanceLayerProperties
VulkanInstanceType.close() vkDestroyInstance
VulkanInstanceType.enumeratePhysicalDevices() vkEnumeratePhysicalDevices
VulkanInstanceType.physicalDevices() vkEnumeratePhysicalDevices
VulkanLogicalDeviceType.allocateDescriptorSets() vkAllocateDescriptorSets
VulkanLogicalDeviceType.allocateMemory() vkAllocateMemory
VulkanLogicalDeviceType.bindBufferMemory() vkBindBufferMemory
VulkanLogicalDeviceType.bindImageMemory() vkBindImageMemory
VulkanLogicalDeviceType.close() vkDestroyDevice
VulkanLogicalDeviceType.createBuffer() vkCreateBuffer
VulkanLogicalDeviceType.createBufferView() vkCreateBufferView
VulkanLogicalDeviceType.createCommandBuffer() vkAllocateCommandBuffers
VulkanLogicalDeviceType.createCommandBuffers() vkAllocateCommandBuffers
VulkanLogicalDeviceType.createCommandPool() vkCreateCommandPool
VulkanLogicalDeviceType.createComputePipeline() vkCreateComputePipelines
VulkanLogicalDeviceType.createComputePipelines() vkCreateComputePipelines
VulkanLogicalDeviceType.createDescriptorPool() vkCreateDescriptorPool
VulkanLogicalDeviceType.createDescriptorSetLayout() vkCreateDescriptorSetLayout
VulkanLogicalDeviceType.createEvent() vkCreateEvent
VulkanLogicalDeviceType.createFence() vkCreateFence
VulkanLogicalDeviceType.createFramebuffer() vkCreateFramebuffer
VulkanLogicalDeviceType.createGraphicsPipeline() vkCreateGraphicsPipelines
VulkanLogicalDeviceType.createGraphicsPipelines() vkCreateGraphicsPipelines
VulkanLogicalDeviceType.createImage() vkCreateImage
VulkanLogicalDeviceType.createImageView() vkCreateImageView
VulkanLogicalDeviceType.createPipelineCache() vkCreatePipelineCache
VulkanLogicalDeviceType.createPipelineLayout() vkCreatePipelineLayout
VulkanLogicalDeviceType.createQueryPool() vkCreateQueryPool
VulkanLogicalDeviceType.createRenderPass() vkCreateRenderPass
VulkanLogicalDeviceType.createSampler() vkCreateSampler
VulkanLogicalDeviceType.createSemaphore() vkCreateSemaphore
VulkanLogicalDeviceType.createShaderModule() vkCreateShaderModule
VulkanLogicalDeviceType.flushMappedMemoryRange() vkFlushMappedMemoryRanges
VulkanLogicalDeviceType.flushMappedMemoryRanges() vkFlushMappedMemoryRanges
VulkanLogicalDeviceType.getBufferMemoryRequirements() vkGetBufferMemoryRequirements
VulkanLogicalDeviceType.getEventStatus() vkGetEventStatus
VulkanLogicalDeviceType.getFenceStatus() vkGetFenceStatus
VulkanLogicalDeviceType.getImageMemoryRequirements() vkGetImageMemoryRequirements
VulkanLogicalDeviceType.getImageSubresourceLayout() vkGetImageSubresourceLayout
VulkanLogicalDeviceType.getPipelineCacheData() vkGetPipelineCacheData
VulkanLogicalDeviceType.getPipelineCacheDataSize() vkGetPipelineCacheData
VulkanLogicalDeviceType.mapMemory() vkMapMemory
VulkanLogicalDeviceType.mergePipelineCaches() vkMergePipelineCaches
VulkanLogicalDeviceType.queue() vkGetDeviceQueue
VulkanLogicalDeviceType.queues() vkGetDeviceQueue
VulkanLogicalDeviceType.resetCommandPool() vkResetCommandPool
VulkanLogicalDeviceType.resetDescriptorPool() vkResetDescriptorPool
VulkanLogicalDeviceType.resetEvent() vkResetEvent
VulkanLogicalDeviceType.resetFences() vkResetFences
VulkanLogicalDeviceType.setEvent() vkSetEvent
VulkanLogicalDeviceType.updateDescriptorSets() vkUpdateDescriptorSets
VulkanLogicalDeviceType.waitForFence() vkWaitForFences
VulkanLogicalDeviceType.waitForFences() vkWaitForFences
VulkanLogicalDeviceType.waitIdle() vkDeviceWaitIdle
VulkanMappedMemoryType.close() vkUnmapMemory
VulkanMappedMemoryType.close() vmaUnmapMemory
VulkanMappedMemoryType.flush() vkFlushMappedMemoryRanges
VulkanMappedMemoryType.flushRange() vkFlushMappedMemoryRanges
VulkanPhysicalDeviceType.createLogicalDevice() vkCreateDevice
VulkanPhysicalDeviceType.createLogicalDevice() vkGetDeviceQueue
VulkanPhysicalDeviceType.extensions() vkEnumerateDeviceExtensionProperties
VulkanPhysicalDeviceType.features() vkGetPhysicalDeviceFeatures2
VulkanPhysicalDeviceType.features() vkGetPhysicalDeviceFeatures
VulkanPhysicalDeviceType.formatProperties() vkGetPhysicalDeviceFormatProperties
VulkanPhysicalDeviceType.imageFormatProperties() vkGetPhysicalDeviceImageFormatProperties
VulkanPhysicalDeviceType.layers() vkEnumerateDeviceLayerProperties
VulkanPhysicalDeviceType.limits() vkGetPhysicalDeviceProperties
VulkanPhysicalDeviceType.limits() vkGetPhysicalDeviceProperties2
VulkanPhysicalDeviceType.memory() vkGetPhysicalDeviceMemoryProperties
VulkanPhysicalDeviceType.properties() vkGetPhysicalDeviceProperties
VulkanPhysicalDeviceType.queueFamilies() vkGetPhysicalDeviceQueueFamilyProperties
VulkanPipelineCacheType.close() vkDestroyPipelineCache
VulkanPipelineLayoutType.close() vkDestroyPipelineLayout
VulkanPipelineType.close() vkDestroyPipeline
VulkanQueryPoolType.close() vkDestroyQueryPool
VulkanQueueType.submit() vkQueueSubmit
VulkanQueueType.waitIdle() vkQueueWaitIdle
VulkanRenderPassType.close() vkDestroyRenderPass
VulkanSamplerType.close() vkDestroySampler
VulkanSemaphoreType.close() vkDestroySemaphore
VulkanShaderModuleType.close() vkDestroyShaderModule
VulkanDebugUtilsMessengerEXTType.close() vkDestroyDebugUtilsMessengerEXT

Missing Functions

  • vkAcquirePerformanceConfigurationINTEL
  • vkBindBufferMemory2
  • vkBindImageMemory2
  • vkCmdBeginRenderPass2
  • vkCmdBindInvocationMaskHUAWEI
  • vkCmdCopyQueryPoolResults
  • vkCmdDispatchBase
  • vkCmdDispatchIndirect
  • vkCmdDrawIndexedIndirectCount
  • vkCmdDrawIndirectCount
  • vkCmdEndRenderPass2
  • vkCmdNextSubpass2
  • vkCmdPushConstants
  • vkCmdResolveImage
  • vkCmdSetDeviceMask
  • vkCmdSetPerformanceMarkerINTEL
  • vkCmdSetPerformanceOverrideINTEL
  • vkCmdSetPerformanceStreamMarkerINTEL
  • vkCmdSubpassShadingHUAWEI
  • vkCmdUpdateBuffer
  • vkCreateDescriptorUpdateTemplate
  • vkCreateRenderPass2
  • vkCreateSamplerYcbcrConversion
  • vkCreateScreenSurfaceQNX
  • vkCreateStreamDescriptorSurfaceGGP
  • vkDestroyDescriptorUpdateTemplate
  • vkDestroySamplerYcbcrConversion
  • vkEnumeratePhysicalDeviceGroups
  • vkFreeCommandBuffers
  • vkFreeDescriptorSets
  • vkGetBufferDeviceAddress
  • vkGetBufferMemoryRequirements2
  • vkGetBufferOpaqueCaptureAddress
  • vkGetDescriptorSetLayoutSupport
  • vkGetDeviceGroupPeerMemoryFeatures
  • vkGetDeviceMemoryCommitment
  • vkGetDeviceMemoryOpaqueCaptureAddress
  • vkGetDeviceProcAddr
  • vkGetDeviceQueue2
  • vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
  • vkGetImageMemoryRequirements2
  • vkGetImageSparseMemoryRequirements
  • vkGetImageSparseMemoryRequirements2
  • vkGetInstanceProcAddr
  • vkGetPerformanceParameterINTEL
  • vkGetPhysicalDeviceExternalBufferProperties
  • vkGetPhysicalDeviceExternalFenceProperties
  • vkGetPhysicalDeviceExternalSemaphoreProperties
  • vkGetPhysicalDeviceFormatProperties2
  • vkGetPhysicalDeviceImageFormatProperties2
  • vkGetPhysicalDeviceMemoryProperties2
  • vkGetPhysicalDeviceQueueFamilyProperties2
  • vkGetPhysicalDeviceScreenPresentationSupportQNX
  • vkGetPhysicalDeviceSparseImageFormatProperties
  • vkGetPhysicalDeviceSparseImageFormatProperties2
  • vkGetQueryPoolResults
  • vkGetRenderAreaGranularity
  • vkGetSemaphoreCounterValue
  • vkInitializePerformanceApiINTEL
  • vkInvalidateMappedMemoryRanges
  • vkQueueBindSparse
  • vkQueueSetPerformanceConfigurationINTEL
  • vkReleasePerformanceConfigurationINTEL
  • vkResetQueryPool
  • vkSignalSemaphore
  • vkTrimCommandPool
  • vkUninitializePerformanceApiINTEL
  • vkUpdateDescriptorSetWithTemplate
  • vkWaitSemaphores

128 of 193 functions implemented

Coverage: 66.32%