Vulkan is currently WIP. Many samples, and applications do work correctly, but not all.
Mid-Execution capture is currently in progress. Currently there is no way exposed to start a capture at any frame other than 0, but this will be exposed once the functionality is at parity with non mid-execution capture.
The current status of support for the Vulkan API on a method by method basis are as follows.
Command Name | Capture | Mid-Execution |
---|---|---|
vkAllocateCommandBuffers | ✅ | ✅ |
vkCreateDevice | ✅ | ✅ |
vkCreateInstance | ✅ | ✅ |
vkDestroyDevice | ✅ | ✅ |
vkDestroyInstance | ✅ | ✅ |
vkEnumerateDeviceExtensionProperties | ✅ | ➖ |
vkEnumerateDeviceLayerProperties | ✅ | ➖ |
vkEnumerateInstanceExtensionProperties | ✅ | ➖ |
vkEnumerateInstanceLayerProperties | ✅ | ➖ |
vkEnumeratePhysicalDevices | ✅ | ➖ |
vkFreeCommandBuffers | ✅ | ✅ |
vkGetDeviceProcAddr | ✅ | ➖ |
vkGetDeviceQueue | ✅ | ✅ |
vkGetInstanceProcAddr | ✅ | ➖ |
vkGetPhysicalDeviceSparseImageFormatProperties | ✅ | ➖ |
vkGetPhysicalDeviceFeatures | ✅ | ➖ |
vkGetPhysicalDeviceFormatProperties | ✅ | ➖ |
vkGetPhysicalDeviceImageFormatProperties | ✅ | ➖ |
vkGetPhysicalDeviceMemoryProperties | ✅ | ➖ |
vkGetPhysicalDeviceProperties | ✅ | ➖ |
vkGetPhysicalDeviceQueueFamilyProperties | ✅ | ➖ |
vkAcquireNextImageKHR | ✅ | ➖ |
vkAllocateDescriptorSets | ✅ | ✅ |
vkAllocateMemory | ✅ | ✅ |
vkBeginCommandBuffer | ✅ | ✅ |
vkBindBufferMemory | ✅ | ✅ |
vkBindImageMemory | ✅ | ✅ |
vkCmdBeginQuery | ✅ | ✅ |
vkCmdBeginRenderPass | ✅ | ✅ |
vkCmdBindDescriptorSets | ✅ | ✅ |
vkCmdBindIndexBuffer | ✅ | ✅ |
vkCmdBindPipeline | ✅ | ✅ |
vkCmdBindVertexBuffers | ✅ | ✅ |
vkCmdBlitImage | ✅ | ✅ |
vkCmdClearAttachments | ✅ | ✅ |
vkCmdClearColorImage | ✅ | ✅ |
vkCmdClearDepthStencilImage | ✅ | ✅ |
vkCmdCopyBuffer | ✅ | ✅ |
vkCmdCopyBufferToImage | ✅ | ✅ |
vkCmdCopyImage | ✅ | ✅ |
vkCmdCopyImageToBuffer | ✅ | ✅ |
vkCmdCopyQueryPoolResults | ✅ | ✅ |
vkCmdDispatch | ✅ | ✅ |
vkCmdDispatchIndirect | ✅ | ✅ |
vkCmdDraw | ✅ | ✅ |
vkCmdDrawIndexed | ✅ | ✅ |
vkCmdDrawIndexedIndirect | ✅ | ✅ |
vkCmdDrawIndirect | ✅ | ✅ |
vkCmdEndQuery | ✅ | ✅ |
vkCmdEndRenderPass | ✅ | ✅ |
vkCmdExecuteCommands | ✅ | ✅ |
vkCmdFillBuffer | ✅ | ✅ |
vkCmdNextSubpass | ◻️ | ◻️ |
vkCmdPipelineBarrier | ✅ | ✅ |
vkCmdPushConstants | ✅ | ✅ |
vkCmdResetEvent | ◻️ | ◻️ |
vkCmdResetQueryPool | ✅ | ✅ |
vkCmdResolveImage | ✅ | ✅ |
vkCmdSetBlendConstants | ✅ | ✅ |
vkCmdSetDepthBias | ✅ | ✅ |
vkCmdSetDepthBounds | ◻️ | ◻️ |
vkCmdSetEvent | ◻️ | ◻️ |
vkCmdSetLineWidth | ✅ | ✅ |
vkCmdSetScissor | ✅ | ✅ |
vkCmdSetStencilCompareMask | ◻️ | ◻️ |
vkCmdSetStencilReference | ◻️ | ◻️ |
vkCmdSetStencilWriteMask | ◻️ | ◻️ |
vkCmdSetViewport | ✅ | ✅ |
vkCmdUpdateBuffer | ✅ | ✅ |
vkCmdWaitEvents | ◻️ | ◻️ |
vkCmdWriteTimestamp | ◻️ | ◻️ |
vkCreateAndroidSurfaceKHR | ✅ | ✅ |
vkCreateBuffer | ✅ | ✅ |
vkCreateBufferView | ✅ | ✅ |
vkCreateCommandPool | ✅ | ✅ |
vkCreateComputePipelines | ✅ | ✅ |
vkCreateDescriptorPool | ✅ | ✅ |
vkCreateDescriptorSetLayout | ✅ | ✅ |
vkCreateDisplayModeKHR | ◻️ | ◻️ |
vkCreateDisplayPlaneSurfaceKHR | ◻️ | ◻️ |
vkCreateEvent | ◻️ | ◻️ |
vkCreateFramebuffer | ✅ | ✅ |
vkCreateGraphicsPipelines | ✅ | ✅ |
vkCreateImage | ✅ | ✅ |
vkCreateImageView | ✅ | ✅ |
vkCreateMirSurfaceKHR | ◻️ | ◻️ |
vkCreatePipelineCache | ✅ | ✅ |
vkCreatePipelineLayout | ✅ | ✅ |
vkCreateQueryPool | ✅ | ✅ |
vkCreateRenderPass | ✅ | ✅ |
vkCreateSampler | ✅ | ✅ |
vkCreateSemaphore | ✅ | ✅ |
vkCreateShaderModule | ✅ | ✅ |
vkCreateSharedSwapchainsKHR | ◻️ | ◻️ |
vkCreateSwapchainKHR | ✅ | ✅ |
vkCreateWaylandSurfaceKHR | ◻️ | ◻️ |
vkCreateWin32SurfaceKHR | ✅ | ◻️ |
vkCreateXcbSurfaceKHR | ✅ | ✅ |
vkCreateXlibSurfaceKHR | ◻️ | ◻️ |
vkDestroyBuffer | ✅ | ✅ |
vkDestroyBufferView | ✅ | ✅ |
vkDestroyCommandPool | ✅ | ✅ |
vkDestroyDescriptorPool | ✅ | ✅ |
vkDestroyDescriptorSetLayout | ✅ | ✅ |
vkDestroyEvent | ◻️ | ◻️ |
vkDestroyFramebuffer | ✅ | ✅ |
vkDestroyImage | ✅ | ✅ |
vkDestroyImageView | ✅ | ✅ |
vkDestroyPipeline | ✅ | ✅ |
vkDestroyPipelineCache | ✅ | ✅ |
vkDestroyPipelineLayout | ✅ | ✅ |
vkDestroyQueryPool | ✅ | ✅ |
vkDestroyRenderPass | ✅ | ✅ |
vkDestroySampler | ✅ | ✅ |
vkDestroySemaphore | ✅ | ✅ |
vkDestroyShaderModule | ✅ | ✅ |
vkDestroySwapchainKHR | ✅ | ✅ |
vkDeviceWaitIdle | ✅ | ✅ |
vkEndCommandBuffer | ✅ | ✅ |
vkFlushMappedMemoryRanges | ✅ | ➖ |
vkFreeDescriptorSets | ✅ | ✅ |
vkFreeMemory | ✅ | ✅ |
vkGetBufferMemoryRequirements | ✅ | ➖ |
vkGetDeviceMemoryCommitment | ◻️ | ➖ |
vkGetDisplayModePropertiesKHR | ◻️ | ➖ |
vkGetDisplayPlaneCapabilitiesKHR | ◻️ | ➖ |
vkGetDisplayPlaneSupportedDisplaysKHR | ◻️ | ➖ |
vkGetEventStatus | ◻️ | ➖ |
vkGetFenceStatus | ✅ | ➖ |
vkGetImageMemoryRequirements | ✅ | ➖ |
vkGetImageSparseMemoryRequirements | ◻️ | ➖ |
vkGetImageSubresourceLayout | ◻️ | ➖ |
vkGetPhysicalDeviceDisplayPlanePropertiesKHR | ◻️ | ➖ |
vkGetPhysicalDeviceDisplayPropertiesKHR | ◻️ | ➖ |
vkGetPhysicalDeviceMirPresentationSupportKHR | ◻️ | ➖ |
vkGetPhysicalDeviceSurfaceCapabilitiesKHR | ✅ | ➖ |
vkGetPhysicalDeviceSurfaceFormatsKHR | ✅ | ➖ |
vkGetPhysicalDeviceSurfacePresentModesKHR | ✅ | ➖ |
vkGetPhysicalDeviceSurfaceSupportKHR | ✅ | ➖ |
vkGetPhysicalDeviceWaylandPresentationSupportKHR | ◻️ | ➖ |
vkGetPhysicalDeviceWin32PresentationSupportKHR | ◻️ | ➖ |
vkGetPhysicalDeviceXcbPresentationSupportKHR | ◻️ | ➖ |
vkGetPhysicalDeviceXlibPresentationSupportKHR | ◻️ | ➖ |
vkGetPipelineCacheData | ✅ | ➖ |
vkGetQueryPoolResults | ✅ | ➖ |
vkGetRenderAreaGranularity | ◻️ | ➖ |
vkGetSwapchainImagesKHR | ✅ | ➖ |
vkInvalidateMappedMemoryRanges | ✅ | ➖ |
vkMapMemory | ✅ | ✅ |
vkMergePipelineCaches | ◻️ | ➖ |
vkQueueBindSparse | ◻️ | ◻️ |
vkQueuePresentKHR | ✅ | ➖ |
vkQueueSubmit | ✅ | ✅ |
vkQueueWaitIdle | ✅ | ➖ |
vkResetCommandBuffer | ✅ | ✅ |
vkResetCommandPool | ◻️ | ◻️ |
vkResetDescriptorPool | ✅ | ◻️ |
vkResetEvent | ◻️ | ◻️ |
vkResetFences | ✅ | ✅ |
vkSetEvent | ◻️ | ➖ |
vkUnmapMemory | ✅ | ✅ |
vkUpdateDescriptorSets | ✅ | ✅ |
vkWaitForFences | ✅ | ➖ |
vkCreateFence | ✅ | ✅ |
vkDestroyFence | ✅ | ✅ |
vkDestroySurfaceKHR | ✅ | ✅ |