|
|
Donner SVG 0.8.0-pre
SVG editor and embeddable C++20 engine.
|
Vulkan entry points this backend calls, resolved at runtime. More...
#include "donner/gpu/vulkan/VulkanLoader.h"
Public Attributes | |
Loader entry point | |
| PFN_vkGetInstanceProcAddr | vkGetInstanceProcAddr = nullptr |
| Resolves every other function. | |
Global entry points, resolved with a null instance | |
| PFN_vkEnumerateInstanceVersion | vkEnumerateInstanceVersion = nullptr |
| PFN_vkEnumerateInstanceLayerProperties | vkEnumerateInstanceLayerProperties = nullptr |
| PFN_vkEnumerateInstanceExtensionProperties | vkEnumerateInstanceExtensionProperties = nullptr |
| PFN_vkCreateInstance | vkCreateInstance = nullptr |
Instance-level entry points | |
| PFN_vkDestroyInstance | vkDestroyInstance = nullptr |
| PFN_vkEnumeratePhysicalDevices | vkEnumeratePhysicalDevices = nullptr |
| PFN_vkGetPhysicalDeviceProperties | vkGetPhysicalDeviceProperties = nullptr |
| PFN_vkGetPhysicalDeviceFeatures | vkGetPhysicalDeviceFeatures = nullptr |
| PFN_vkGetPhysicalDeviceMemoryProperties | vkGetPhysicalDeviceMemoryProperties = nullptr |
| PFN_vkGetPhysicalDeviceQueueFamilyProperties | vkGetPhysicalDeviceQueueFamilyProperties = nullptr |
| PFN_vkCreateDevice | vkCreateDevice = nullptr |
| PFN_vkGetDeviceProcAddr | vkGetDeviceProcAddr = nullptr |
| PFN_vkCreateDebugUtilsMessengerEXT | vkCreateDebugUtilsMessengerEXT = nullptr |
| Optional: present only when the debug-utils extension is enabled. Null otherwise. | |
| PFN_vkDestroyDebugUtilsMessengerEXT | vkDestroyDebugUtilsMessengerEXT = nullptr |
| Optional, paired with vkCreateDebugUtilsMessengerEXT. | |
Device-level entry points | |
| PFN_vkDestroyDevice | vkDestroyDevice = nullptr |
| PFN_vkDeviceWaitIdle | vkDeviceWaitIdle = nullptr |
| PFN_vkGetDeviceQueue | vkGetDeviceQueue = nullptr |
| PFN_vkQueueSubmit | vkQueueSubmit = nullptr |
| PFN_vkAllocateMemory | vkAllocateMemory = nullptr |
| PFN_vkFreeMemory | vkFreeMemory = nullptr |
| PFN_vkMapMemory | vkMapMemory = nullptr |
| PFN_vkCreateBuffer | vkCreateBuffer = nullptr |
| PFN_vkDestroyBuffer | vkDestroyBuffer = nullptr |
| PFN_vkGetBufferMemoryRequirements | vkGetBufferMemoryRequirements = nullptr |
| PFN_vkBindBufferMemory | vkBindBufferMemory = nullptr |
| PFN_vkCreateImage | vkCreateImage = nullptr |
| PFN_vkDestroyImage | vkDestroyImage = nullptr |
| PFN_vkGetImageMemoryRequirements | vkGetImageMemoryRequirements = nullptr |
| PFN_vkBindImageMemory | vkBindImageMemory = nullptr |
| PFN_vkCreateImageView | vkCreateImageView = nullptr |
| PFN_vkDestroyImageView | vkDestroyImageView = nullptr |
| PFN_vkCreateSampler | vkCreateSampler = nullptr |
| PFN_vkDestroySampler | vkDestroySampler = nullptr |
| PFN_vkCreateDescriptorSetLayout | vkCreateDescriptorSetLayout = nullptr |
| PFN_vkDestroyDescriptorSetLayout | vkDestroyDescriptorSetLayout = nullptr |
| PFN_vkCreateDescriptorPool | vkCreateDescriptorPool = nullptr |
| PFN_vkDestroyDescriptorPool | vkDestroyDescriptorPool = nullptr |
| PFN_vkAllocateDescriptorSets | vkAllocateDescriptorSets = nullptr |
| PFN_vkUpdateDescriptorSets | vkUpdateDescriptorSets = nullptr |
| PFN_vkCreatePipelineLayout | vkCreatePipelineLayout = nullptr |
| PFN_vkDestroyPipelineLayout | vkDestroyPipelineLayout = nullptr |
| PFN_vkCreateShaderModule | vkCreateShaderModule = nullptr |
| PFN_vkDestroyShaderModule | vkDestroyShaderModule = nullptr |
| PFN_vkCreateRenderPass | vkCreateRenderPass = nullptr |
| PFN_vkDestroyRenderPass | vkDestroyRenderPass = nullptr |
| PFN_vkCreateFramebuffer | vkCreateFramebuffer = nullptr |
| PFN_vkDestroyFramebuffer | vkDestroyFramebuffer = nullptr |
| PFN_vkCreateGraphicsPipelines | vkCreateGraphicsPipelines = nullptr |
| PFN_vkCreateComputePipelines | vkCreateComputePipelines = nullptr |
| PFN_vkDestroyPipeline | vkDestroyPipeline = nullptr |
| PFN_vkCreateCommandPool | vkCreateCommandPool = nullptr |
| PFN_vkDestroyCommandPool | vkDestroyCommandPool = nullptr |
| PFN_vkAllocateCommandBuffers | vkAllocateCommandBuffers = nullptr |
| PFN_vkFreeCommandBuffers | vkFreeCommandBuffers = nullptr |
| PFN_vkBeginCommandBuffer | vkBeginCommandBuffer = nullptr |
| PFN_vkEndCommandBuffer | vkEndCommandBuffer = nullptr |
| PFN_vkCreateFence | vkCreateFence = nullptr |
| PFN_vkDestroyFence | vkDestroyFence = nullptr |
| PFN_vkGetFenceStatus | vkGetFenceStatus = nullptr |
| PFN_vkWaitForFences | vkWaitForFences = nullptr |
| PFN_vkCmdBeginRenderPass | vkCmdBeginRenderPass = nullptr |
| PFN_vkCmdEndRenderPass | vkCmdEndRenderPass = nullptr |
| PFN_vkCmdBindPipeline | vkCmdBindPipeline = nullptr |
| PFN_vkCmdBindDescriptorSets | vkCmdBindDescriptorSets = nullptr |
| PFN_vkCmdBindVertexBuffers | vkCmdBindVertexBuffers = nullptr |
| PFN_vkCmdSetViewport | vkCmdSetViewport = nullptr |
| PFN_vkCmdSetScissor | vkCmdSetScissor = nullptr |
| PFN_vkCmdDraw | vkCmdDraw = nullptr |
| PFN_vkCmdDispatch | vkCmdDispatch = nullptr |
| PFN_vkCmdPipelineBarrier | vkCmdPipelineBarrier = nullptr |
| PFN_vkCmdCopyBufferToImage | vkCmdCopyBufferToImage = nullptr |
| PFN_vkCmdCopyImageToBuffer | vkCmdCopyImageToBuffer = nullptr |
| PFN_vkCmdCopyImage | vkCmdCopyImage = nullptr |
Vulkan entry points this backend calls, resolved at runtime.
Every member is null until the tier that provides it has been loaded, and each tier is resolved through the mechanism the Vulkan specification defines for it. Nothing here is a link-time symbol: the backend calls Vulkan exclusively through this table, so a build links without any Vulkan library present and a run without a loader installed fails closed at device creation instead of failing to start.
Resolving each entry point at the narrowest tier that can provide it also lets the loader hand back the implementation's own function for a specific device rather than a dispatch thunk that has to re-resolve the device on every call, which is why the draw-time entry points are device-level.
| PFN_vkAllocateCommandBuffers donner::gpu::vulkan::VulkanApi::vkAllocateCommandBuffers = nullptr |
| PFN_vkAllocateDescriptorSets donner::gpu::vulkan::VulkanApi::vkAllocateDescriptorSets = nullptr |
| PFN_vkAllocateMemory donner::gpu::vulkan::VulkanApi::vkAllocateMemory = nullptr |
| PFN_vkBeginCommandBuffer donner::gpu::vulkan::VulkanApi::vkBeginCommandBuffer = nullptr |
| PFN_vkBindBufferMemory donner::gpu::vulkan::VulkanApi::vkBindBufferMemory = nullptr |
| PFN_vkBindImageMemory donner::gpu::vulkan::VulkanApi::vkBindImageMemory = nullptr |
| PFN_vkCmdBeginRenderPass donner::gpu::vulkan::VulkanApi::vkCmdBeginRenderPass = nullptr |
| PFN_vkCmdBindDescriptorSets donner::gpu::vulkan::VulkanApi::vkCmdBindDescriptorSets = nullptr |
| PFN_vkCmdBindPipeline donner::gpu::vulkan::VulkanApi::vkCmdBindPipeline = nullptr |
| PFN_vkCmdBindVertexBuffers donner::gpu::vulkan::VulkanApi::vkCmdBindVertexBuffers = nullptr |
| PFN_vkCmdCopyBufferToImage donner::gpu::vulkan::VulkanApi::vkCmdCopyBufferToImage = nullptr |
| PFN_vkCmdCopyImage donner::gpu::vulkan::VulkanApi::vkCmdCopyImage = nullptr |
| PFN_vkCmdCopyImageToBuffer donner::gpu::vulkan::VulkanApi::vkCmdCopyImageToBuffer = nullptr |
| PFN_vkCmdDispatch donner::gpu::vulkan::VulkanApi::vkCmdDispatch = nullptr |
| PFN_vkCmdDraw donner::gpu::vulkan::VulkanApi::vkCmdDraw = nullptr |
| PFN_vkCmdEndRenderPass donner::gpu::vulkan::VulkanApi::vkCmdEndRenderPass = nullptr |
| PFN_vkCmdPipelineBarrier donner::gpu::vulkan::VulkanApi::vkCmdPipelineBarrier = nullptr |
| PFN_vkCmdSetScissor donner::gpu::vulkan::VulkanApi::vkCmdSetScissor = nullptr |
| PFN_vkCmdSetViewport donner::gpu::vulkan::VulkanApi::vkCmdSetViewport = nullptr |
| PFN_vkCreateBuffer donner::gpu::vulkan::VulkanApi::vkCreateBuffer = nullptr |
| PFN_vkCreateCommandPool donner::gpu::vulkan::VulkanApi::vkCreateCommandPool = nullptr |
| PFN_vkCreateComputePipelines donner::gpu::vulkan::VulkanApi::vkCreateComputePipelines = nullptr |
| PFN_vkCreateDebugUtilsMessengerEXT donner::gpu::vulkan::VulkanApi::vkCreateDebugUtilsMessengerEXT = nullptr |
Optional: present only when the debug-utils extension is enabled. Null otherwise.
| PFN_vkCreateDescriptorPool donner::gpu::vulkan::VulkanApi::vkCreateDescriptorPool = nullptr |
| PFN_vkCreateDescriptorSetLayout donner::gpu::vulkan::VulkanApi::vkCreateDescriptorSetLayout = nullptr |
| PFN_vkCreateDevice donner::gpu::vulkan::VulkanApi::vkCreateDevice = nullptr |
| PFN_vkCreateFence donner::gpu::vulkan::VulkanApi::vkCreateFence = nullptr |
| PFN_vkCreateFramebuffer donner::gpu::vulkan::VulkanApi::vkCreateFramebuffer = nullptr |
| PFN_vkCreateGraphicsPipelines donner::gpu::vulkan::VulkanApi::vkCreateGraphicsPipelines = nullptr |
| PFN_vkCreateImage donner::gpu::vulkan::VulkanApi::vkCreateImage = nullptr |
| PFN_vkCreateImageView donner::gpu::vulkan::VulkanApi::vkCreateImageView = nullptr |
| PFN_vkCreateInstance donner::gpu::vulkan::VulkanApi::vkCreateInstance = nullptr |
| PFN_vkCreatePipelineLayout donner::gpu::vulkan::VulkanApi::vkCreatePipelineLayout = nullptr |
| PFN_vkCreateRenderPass donner::gpu::vulkan::VulkanApi::vkCreateRenderPass = nullptr |
| PFN_vkCreateSampler donner::gpu::vulkan::VulkanApi::vkCreateSampler = nullptr |
| PFN_vkCreateShaderModule donner::gpu::vulkan::VulkanApi::vkCreateShaderModule = nullptr |
| PFN_vkDestroyBuffer donner::gpu::vulkan::VulkanApi::vkDestroyBuffer = nullptr |
| PFN_vkDestroyCommandPool donner::gpu::vulkan::VulkanApi::vkDestroyCommandPool = nullptr |
| PFN_vkDestroyDebugUtilsMessengerEXT donner::gpu::vulkan::VulkanApi::vkDestroyDebugUtilsMessengerEXT = nullptr |
Optional, paired with vkCreateDebugUtilsMessengerEXT.
| PFN_vkDestroyDescriptorPool donner::gpu::vulkan::VulkanApi::vkDestroyDescriptorPool = nullptr |
| PFN_vkDestroyDescriptorSetLayout donner::gpu::vulkan::VulkanApi::vkDestroyDescriptorSetLayout = nullptr |
| PFN_vkDestroyDevice donner::gpu::vulkan::VulkanApi::vkDestroyDevice = nullptr |
| PFN_vkDestroyFence donner::gpu::vulkan::VulkanApi::vkDestroyFence = nullptr |
| PFN_vkDestroyFramebuffer donner::gpu::vulkan::VulkanApi::vkDestroyFramebuffer = nullptr |
| PFN_vkDestroyImage donner::gpu::vulkan::VulkanApi::vkDestroyImage = nullptr |
| PFN_vkDestroyImageView donner::gpu::vulkan::VulkanApi::vkDestroyImageView = nullptr |
| PFN_vkDestroyInstance donner::gpu::vulkan::VulkanApi::vkDestroyInstance = nullptr |
| PFN_vkDestroyPipeline donner::gpu::vulkan::VulkanApi::vkDestroyPipeline = nullptr |
| PFN_vkDestroyPipelineLayout donner::gpu::vulkan::VulkanApi::vkDestroyPipelineLayout = nullptr |
| PFN_vkDestroyRenderPass donner::gpu::vulkan::VulkanApi::vkDestroyRenderPass = nullptr |
| PFN_vkDestroySampler donner::gpu::vulkan::VulkanApi::vkDestroySampler = nullptr |
| PFN_vkDestroyShaderModule donner::gpu::vulkan::VulkanApi::vkDestroyShaderModule = nullptr |
| PFN_vkDeviceWaitIdle donner::gpu::vulkan::VulkanApi::vkDeviceWaitIdle = nullptr |
| PFN_vkEndCommandBuffer donner::gpu::vulkan::VulkanApi::vkEndCommandBuffer = nullptr |
| PFN_vkEnumerateInstanceExtensionProperties donner::gpu::vulkan::VulkanApi::vkEnumerateInstanceExtensionProperties = nullptr |
| PFN_vkEnumerateInstanceLayerProperties donner::gpu::vulkan::VulkanApi::vkEnumerateInstanceLayerProperties = nullptr |
| PFN_vkEnumerateInstanceVersion donner::gpu::vulkan::VulkanApi::vkEnumerateInstanceVersion = nullptr |
| PFN_vkEnumeratePhysicalDevices donner::gpu::vulkan::VulkanApi::vkEnumeratePhysicalDevices = nullptr |
| PFN_vkFreeCommandBuffers donner::gpu::vulkan::VulkanApi::vkFreeCommandBuffers = nullptr |
| PFN_vkFreeMemory donner::gpu::vulkan::VulkanApi::vkFreeMemory = nullptr |
| PFN_vkGetBufferMemoryRequirements donner::gpu::vulkan::VulkanApi::vkGetBufferMemoryRequirements = nullptr |
| PFN_vkGetDeviceProcAddr donner::gpu::vulkan::VulkanApi::vkGetDeviceProcAddr = nullptr |
| PFN_vkGetDeviceQueue donner::gpu::vulkan::VulkanApi::vkGetDeviceQueue = nullptr |
| PFN_vkGetFenceStatus donner::gpu::vulkan::VulkanApi::vkGetFenceStatus = nullptr |
| PFN_vkGetImageMemoryRequirements donner::gpu::vulkan::VulkanApi::vkGetImageMemoryRequirements = nullptr |
| PFN_vkGetInstanceProcAddr donner::gpu::vulkan::VulkanApi::vkGetInstanceProcAddr = nullptr |
Resolves every other function.
| PFN_vkGetPhysicalDeviceFeatures donner::gpu::vulkan::VulkanApi::vkGetPhysicalDeviceFeatures = nullptr |
| PFN_vkGetPhysicalDeviceMemoryProperties donner::gpu::vulkan::VulkanApi::vkGetPhysicalDeviceMemoryProperties = nullptr |
| PFN_vkGetPhysicalDeviceProperties donner::gpu::vulkan::VulkanApi::vkGetPhysicalDeviceProperties = nullptr |
| PFN_vkGetPhysicalDeviceQueueFamilyProperties donner::gpu::vulkan::VulkanApi::vkGetPhysicalDeviceQueueFamilyProperties = nullptr |
| PFN_vkMapMemory donner::gpu::vulkan::VulkanApi::vkMapMemory = nullptr |
| PFN_vkQueueSubmit donner::gpu::vulkan::VulkanApi::vkQueueSubmit = nullptr |
| PFN_vkUpdateDescriptorSets donner::gpu::vulkan::VulkanApi::vkUpdateDescriptorSets = nullptr |
| PFN_vkWaitForFences donner::gpu::vulkan::VulkanApi::vkWaitForFences = nullptr |