struct
AppInstanceAn object that manages the represented application process state within the GPU.
Contents
Other Name: Application State Container
Vulkan has no global state reference: Every application must keep track of their state using an instance object.
Application Instance Specification
Derived classes
- struct VV::V2::AppInstance
- An object that manages the represented application process state within the GPU.
Public types
- struct AppInfo
- A structure that specifies to the Vulkan driver information about an application that will run an instance.
- struct CreateInfo
- Structure specifying parameters of a newly created instance.
- struct ValidationFeatures
- Used when creating a Vulkan app instance and want to enable specific validation features. (Added to the Next chain).
- struct ValidationFlags
- Used when creating a Vulkan app instance and want to disable validation checks.
-
using Memory = V0::
Memory - using Handle = VkInstance
- Opaque handle to an instance object.
- using CreateFlags = Bitfield<EUndefined, VkInstanceCreateFlags>
- Reserved for future use...
Public static functions
-
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.
- static auto GetVersion(ui32& _versionContainer) -> EResult
- Query the version of application instance-level functionality supported by the implementation.
- static auto QueryAvailableLayers(ui32& _numContainer, LayerProperties* _propertiesContainer) -> EResult
- Query the available layers.
- static auto QueryAvailableAppExtensions(RoCStr _layerName, ui32& _numProperties, ExtensionProperties* _propertiesContainer) -> EResult
- Query the available instance extensions.
-
static auto QueryPhysicalDeviceListing(Handle _handle,
ui32* _numDevices,
PhysicalDevice::
Handle* _deviceListing) -> EResult - Retrieve a list of physical device objects representing the physical devices installed in the system, or get the number of them.
-
static auto QueryPhysicalDeviceGroups(Handle _handle,
ui32* _numGroups,
PhysicalDevice::
Group* _groupProperties) -> EResult - Retrieve a list of physical device groups.
-
template<typename ReturnType>static auto GetProcedureAddress(Handle& _handle, RoCStr _procedureName) -> std::enable_if<std::bool_constant<std::is_pointer<ReturnType>::value && std::is_function<typename std::remove_pointer<ReturnType>::type>::value>::value, ReturnType>::type
- Function pointers for all Vulkan commands can be obtained with this command.