tp::DeviceSetup struct

Used as configuration for creating a new tp::Device object.

Constructors, destructors, conversion operators

DeviceSetup(const PhysicalDevice* physicalDevice, ArrayView<const DeviceQueue> queues, ArrayView<const char*const> extensions = {}, const VkFeatureMap* vkFeatureMap = nullptr, MemoryAllocatorSetup memoryAllocatorSetup = {}, void* vkCreateInfoExtPtr = nullptr)

Function documentation

tp::DeviceSetup::DeviceSetup(const PhysicalDevice* physicalDevice, ArrayView<const DeviceQueue> queues, ArrayView<const char*const> extensions = {}, const VkFeatureMap* vkFeatureMap = nullptr, MemoryAllocatorSetup memoryAllocatorSetup = {}, void* vkCreateInfoExtPtr = nullptr)

Parameters
physicalDevice The physical device used by the Device. It needs to be one of the pointers returned by tp::Application::getPhysicalDevices.
queues An array of queues that will be available for use with the Device. At least one queue is required. A Graphics queue is not guaranteed to be supported and should be checked with tp::PhysicalDevice::getQueueTypeInfo.
extensions The set of device extensions to enable. The extensions must be supported by the device, as can be checked with tp::PhysicalDevice::isExtensionAvailable. See tp::DeviceExtension.
vkFeatureMap If not nullptr, points to a map of Vulkan structures that describe which features are to be enabled on the device. The features must be supported by the device, as can be checked with tp::PhysicalDevice::vkQueryFeatures. Any features that depend on extensions must have their extensions enabled as well.
memoryAllocatorSetup The configuration of the device-wide Vulkan Memory Allocator.
vkCreateInfoExtPtr The pointer to additional Vulkan setup structure to be passed in pNext of VkDeviceCreateInfo.