VV::V2::AppInstance struct

An object that manages the represented application process state within the GPU.

Other Name: Application State Container

Vulkan has no global state reference: Every application must keep track of their state using an instance object.

Base classes

struct VV::V1::AppInstance
An object that manages the represented application process state within the GPU.

Derived classes

class VV::V3::AppInstance
An object that manages the represented application process state within the GPU.

Public types

using Parent = V1::AppInstance

Public static functions

static auto Create(const CreateInfo& _info, Handle& _handle) -> EResult
Create a new Vulkan application instance. (Use default allocator)
static void Destroy(Handle _handle)
Destroy an application instance of Vulkan. (Use Default allocator)
static auto GetAvailableLayers(DynamicArray<LayerProperties>& _container) -> EResult
Get available layers into a dynamic array.
static auto GetAvailableLayerExtensions(RoCStr _layerName, DynamicArray<ExtensionProperties>& _propertiesContainer) -> EResult
Get available layer extensions into a dynamic array with the specified layer name.
static auto GetAvailableLayersAndExtensions(DynamicArray<LayerAndExtensionProperties>& _layersAndExtensions) -> EResult
static auto GetAvailablePhysicalDevices(Handle _handle, DynamicArray<PhysicalDevice::Handle>& _deviceListing) -> EResult
Provides the handles of all available physical devices.
static auto GetAvailablePhysicalDeviceGroups(Handle _handle, DynamicArray<PhysicalDevice::Group>& _groupListing) -> EResult
Provides a list of the device groups present in the system.
static auto Create(const CreateInfo& _info, const Memory::AllocationCallbacks* _allocator, Handle& _handle) -> EResult
Create a new Vulkan application instance.
static void Destroy(Handle _handle, const Memory::AllocationCallbacks* _allocator)
Destroy an application instance of Vulkan.

Function documentation

static EResult VV::V2::AppInstance::GetAvailableLayersAndExtensions(DynamicArray<LayerAndExtensionProperties>& _layersAndExtensions)

Get the layers and their extensions in a dynamic array of the layer and extensions properties struct.

static EResult VV::V2::AppInstance::GetAvailablePhysicalDevices(Handle _handle, DynamicArray<PhysicalDevice::Handle>& _deviceListing)

Provides the handles of all available physical devices.

static EResult VV::V2::AppInstance::GetAvailablePhysicalDeviceGroups(Handle _handle, DynamicArray<PhysicalDevice::Group>& _groupListing)

Provides a list of the device groups present in the system.

Parameters
_handle
_groupListing

static EResult VV::V2::AppInstance::Create(const CreateInfo& _info, const Memory::AllocationCallbacks* _allocator, Handle& _handle)

Create a new Vulkan application instance.

Parameters
_info The creation specification structure to use.
_allocator Allocator desired (Memory::DefaultAllocator if default desired).
_handle Reference to object that will have the created object's handle written to (if successful).
Returns Returns EResult code (Indicating how the creation went).

Create Instance Specification

static void VV::V2::AppInstance::Destroy(Handle _handle, const Memory::AllocationCallbacks* _allocator)

Destroy an application instance of Vulkan.

Parameters
_handle Handle of the AppInstance.
_allocator Optional: Allocator to use (Memory::DefaultAllocator if default desired).

Destroy Instance Specification