CopperSpice API
1.9.1
|
Provides cross platform access to the instance level core Vulkan API. More...
Public Methods | |
VkResult | vkCreateDevice (VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice) |
VkResult | vkEnumerateDeviceExtensionProperties (VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties) |
VkResult | vkEnumerateDeviceLayerProperties (VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkLayerProperties *pProperties) |
VkResult | vkEnumerateInstanceExtensionProperties (const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties) |
VkResult | vkEnumerateInstanceLayerProperties (uint32_t *pPropertyCount, VkLayerProperties *pProperties) |
VkResult | vkEnumeratePhysicalDevices (VkInstance instance, uint32_t *pPhysicalDeviceCount, VkPhysicalDevice *pPhysicalDevices) |
PFN_vkVoidFunction | vkGetDeviceProcAddr (VkDevice device, const char *pName) |
void | vkGetPhysicalDeviceFeatures (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures *pFeatures) |
void | vkGetPhysicalDeviceFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties *pFormatProperties) |
VkResult | vkGetPhysicalDeviceImageFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties *pImageFormatProperties) |
void | vkGetPhysicalDeviceMemoryProperties (VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties *pMemoryProperties) |
void | vkGetPhysicalDeviceProperties (VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties *pProperties) |
void | vkGetPhysicalDeviceQueueFamilyProperties (VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount, VkQueueFamilyProperties *pQueueFamilyProperties) |
void | vkGetPhysicalDeviceSparseImageFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t *pPropertyCount, VkSparseImageFormatProperties *pProperties) |
Friends | |
class | QVulkanInstance |
The CsVulkan library links with the Vulkan API. Applications which link with CsVulkan do not need to link to the Vulkan libraries. Many of the Vulkan functions are resolved dynamically at run time. The methods in the classes QVulkanFunctions and QVulkanDeviceFunctions provide access to the full Vulkan API, excluding any extensions.
Every QVulkanInstance provides one QVulkanFunctions object which is retrievable by calling the QVulkanInstance::functions() method.
The following shows how a user application can access a method in this class.
There are two approaches to access additional Vulkan API functions which are not included in this class.
This first technique is to call either QVulkanInstance::getInstanceProcAddr() or QVulkanFunctions::vkGetDeviceProcAddr() in your application. The return value will be a valid function pointer if the Vulkan API function exists in the Vulkan libraries. If the function pointer is a nullptr, the function your application is calling is not available in the current Vulkan implementation. Linking with the Vulkan API is not required.
The other approach is to link your application with the Vulkan API and call the given Vulkan function directly. If the function your application is calling is not available in the current Vulkan implementation, your program will link however it will not run.
For more information about a specific function refer to the following documentation. Vulkan 1.3
VkResult QVulkanFunctions::vkCreateDevice | ( | VkPhysicalDevice | physicalDevice, |
const VkDeviceCreateInfo * | pCreateInfo, | ||
const VkAllocationCallbacks * | pAllocator, | ||
VkDevice * | pDevice | ||
) |
Calls vkCreateDevice() in the Vulkan API.
VkResult QVulkanFunctions::vkEnumerateDeviceExtensionProperties | ( | VkPhysicalDevice | physicalDevice, |
const char * | pLayerName, | ||
uint32_t * | pPropertyCount, | ||
VkExtensionProperties * | pProperties | ||
) |
Calls vkEnumerateDeviceExtensionProperties() in the Vulkan API.
VkResult QVulkanFunctions::vkEnumerateDeviceLayerProperties | ( | VkPhysicalDevice | physicalDevice, |
uint32_t * | pPropertyCount, | ||
VkLayerProperties * | pProperties | ||
) |
Calls vkEnumerateDeviceLayerProperties() in the Vulkan API.
VkResult QVulkanFunctions::vkEnumerateInstanceExtensionProperties | ( | const char * | pLayerName, |
uint32_t * | pPropertyCount, | ||
VkExtensionProperties * | pProperties | ||
) |
Calls vkEnumerateInstanceExtensionProperties() in the Vulkan API.
VkResult QVulkanFunctions::vkEnumerateInstanceLayerProperties | ( | uint32_t * | pPropertyCount, |
VkLayerProperties * | pProperties | ||
) |
Calls vkEnumerateInstanceLayerProperties() in the Vulkan API.
VkResult QVulkanFunctions::vkEnumeratePhysicalDevices | ( | VkInstance | instance, |
uint32_t * | pPhysicalDeviceCount, | ||
VkPhysicalDevice * | pPhysicalDevices | ||
) |
Calls vkEnumeratePhysicalDevices() in the Vulkan API.
PFN_vkVoidFunction QVulkanFunctions::vkGetDeviceProcAddr | ( | VkDevice | device, |
const char * | pName | ||
) |
Calls vkGetDeviceProcAddr() in the Vulkan API.
void QVulkanFunctions::vkGetPhysicalDeviceFeatures | ( | VkPhysicalDevice | physicalDevice, |
VkPhysicalDeviceFeatures * | pFeatures | ||
) |
Calls vkGetPhysicalDeviceFeatures() in the Vulkan API.
void QVulkanFunctions::vkGetPhysicalDeviceFormatProperties | ( | VkPhysicalDevice | physicalDevice, |
VkFormat | format, | ||
VkFormatProperties * | pFormatProperties | ||
) |
Calls vkGetPhysicalDeviceFormatProperties() in the Vulkan API.
VkResult QVulkanFunctions::vkGetPhysicalDeviceImageFormatProperties | ( | VkPhysicalDevice | physicalDevice, |
VkFormat | format, | ||
VkImageType | type, | ||
VkImageTiling | tiling, | ||
VkImageUsageFlags | usage, | ||
VkImageCreateFlags | flags, | ||
VkImageFormatProperties * | pImageFormatProperties | ||
) |
Calls vkGetPhysicalDeviceImageFormatProperties() in the Vulkan API.
void QVulkanFunctions::vkGetPhysicalDeviceMemoryProperties | ( | VkPhysicalDevice | physicalDevice, |
VkPhysicalDeviceMemoryProperties * | pMemoryProperties | ||
) |
Calls vkGetPhysicalDeviceMemoryProperties() in the Vulkan API.
void QVulkanFunctions::vkGetPhysicalDeviceProperties | ( | VkPhysicalDevice | physicalDevice, |
VkPhysicalDeviceProperties * | pProperties | ||
) |
Calls vkGetPhysicalDeviceProperties() in the Vulkan API.
void QVulkanFunctions::vkGetPhysicalDeviceQueueFamilyProperties | ( | VkPhysicalDevice | physicalDevice, |
uint32_t * | pQueueFamilyPropertyCount, | ||
VkQueueFamilyProperties * | pQueueFamilyProperties | ||
) |
Calls vkGetPhysicalDeviceQueueFamilyProperties() in the Vulkan API.
void QVulkanFunctions::vkGetPhysicalDeviceSparseImageFormatProperties | ( | VkPhysicalDevice | physicalDevice, |
VkFormat | format, | ||
VkImageType | type, | ||
VkSampleCountFlagBits | samples, | ||
VkImageUsageFlags | usage, | ||
VkImageTiling | tiling, | ||
uint32_t * | pPropertyCount, | ||
VkSparseImageFormatProperties * | pProperties | ||
) |
Calls vkGetPhysicalDeviceSparseImageFormatProperties() in the Vulkan API.