VV::V2::LogicalDevice struct

Represent logical connections to physical devices.

Base classes

struct VV::V1::LogicalDevice
Represent logical connections to physical devices.

Derived classes

class VV::V3::LogicalDevice
Represent logical connections to physical devices.

Public types

using Parent = V1::LogicalDevice

Public static functions

static auto Create(PhysicalDevice::Handle _physicalDevice, const CreateInfo& _createSpec, Handle& _device) -> EResult
A logical device is created as a connection to a physical device. (Uses default allocator)
static void Destroy(Handle _device)
Destroy a logical device. (Uses default allocator)
static auto Create(PhysicalDevice::Handle _physicalDevice, const CreateInfo& _info, const Memory::AllocationCallbacks* _allocator, Handle& _device) -> EResult
A logical device is created as a connection to a physical device.
static void Destroy(Handle _device, const Memory::AllocationCallbacks* _allocator)
Destroy a logical device.

Function documentation

static EResult VV::V2::LogicalDevice::Create(PhysicalDevice::Handle _physicalDevice, const CreateInfo& _createSpec, Handle& _device)

A logical device is created as a connection to a physical device. (Uses default allocator)

Parameters
_physicalDevice
_createSpec
_device

static EResult VV::V2::LogicalDevice::Create(PhysicalDevice::Handle _physicalDevice, const CreateInfo& _info, const Memory::AllocationCallbacks* _allocator, Handle& _device)

A logical device is created as a connection to a physical device.

Parameters
_physicalDevice
_info
_allocator
_device

Specification

static void VV::V2::LogicalDevice::Destroy(Handle _device, const Memory::AllocationCallbacks* _allocator)

Destroy a logical device.

Parameters
_device
_allocator

To ensure that no work is active on the device, vkDeviceWaitIdle can be used to gate the destruction of the device. Prior to destroying a device, an application is responsible for destroying/freeing any Vulkan objects that were created using that device as the first parameter of the corresponding vkCreate* or vkAllocate* command.

Specification