Go to the source code of this file.
|
VE_API VE_Result< VkDevice > | VEcreateVulkanDevice (VkPhysicalDevice, VkDeviceCreateInfo) |
|
VE_API VE_Result< VkDevice > | VEcreateVulkanDevice (VkPhysicalDevice, const VE_PhysicalDeviceFeatures &enabled_features, uint32_t enabled_extension_count, const char *const *enabled_extensions, const uint32_t queue_family_count, const uint32_t queue_family_indices[], const uint32_t queue_counts[]) |
| This call assigns equal priorities to all queues. More...
|
|
VE_API VE_Result< VkDevice > | VEcreateVulkanDevice (VkPhysicalDevice, const VE_PhysicalDeviceFeatures &enabled_features, uint32_t enabled_extension_count, const char *const *enabled_extensions, uint32_t queue_family_index, uint32_t queue_count) |
| Create a device with access to only one family of queues. More...
|
|
VE_API VE_Result< VkDevice > | VEcreateVulkanDevice (const VE_PhysicalDevice &, const VE_PhysicalDeviceFeatures &enabled_features, uint32_t enabled_extension_count, const char *const *enabled_extensions, VkQueueFlags queue_flags) |
| Create a device with a single queue statisfying the given queue_flags. More...
|
|
VE_API void | VEdestroyVulkanDevice (VkDevice) |
| Clean up a VkDevice. This likely will simply call vkDestroyDevice. More...
|
|
VE_API VE_Result< SYS_Handle > | VEcreateExternalMemoryHandle (void *pfn, VkDevice device, VkDeviceMemory memory) |
|
Enumerator |
---|
VE_QUEUE_GRAPHICS_BIT |
|
VE_QUEUE_COMPUTE_BIT |
|
VE_QUEUE_TRANSFER_BIT |
|
Definition at line 23 of file VE_Device.h.
Will create the system specific external memory handle for the memory passed in. pfn should be a function pointer with signature matching either PFN_vkGetMemoryFdKHR or PFN_vkGetMemoryWin32HandleKHR, depending on the platrom. memory must have been created with the
NOTE: These are low-level calls and it is recommended to use a higher-level interface to Vulkan if possible.
Create a Vulkan logical device object. It grants access to a specific device, which in many cases will be a dedicated GPU. Some high-level uses of the device are listed below.
• Creation of command queues. • Creation and tracking of various synchronization constructs. • Allocating, freeing, and managing memory. • Creation and destruction of command buffers and command buffer pools. • Creation, destruction, and management of graphics state.
It is the caller's responsibily to pass the returned VkDevice to ve_destroyVulkanDevice once it is no longer needed.
VE_API VE_Result<VkDevice> VEcreateVulkanDevice |
( |
VkPhysicalDevice |
, |
|
|
const VE_PhysicalDeviceFeatures & |
enabled_features, |
|
|
uint32_t |
enabled_extension_count, |
|
|
const char *const * |
enabled_extensions, |
|
|
const uint32_t |
queue_family_count, |
|
|
const uint32_t |
queue_family_indices[], |
|
|
const uint32_t |
queue_counts[] |
|
) |
| |
This call assigns equal priorities to all queues.
VE_API VE_Result<VkDevice> VEcreateVulkanDevice |
( |
VkPhysicalDevice |
, |
|
|
const VE_PhysicalDeviceFeatures & |
enabled_features, |
|
|
uint32_t |
enabled_extension_count, |
|
|
const char *const * |
enabled_extensions, |
|
|
uint32_t |
queue_family_index, |
|
|
uint32_t |
queue_count |
|
) |
| |
Create a device with access to only one family of queues.
Create a device with a single queue statisfying the given queue_flags.
Clean up a VkDevice. This likely will simply call vkDestroyDevice.