class
AppInstanceAn object that manages the represented application process state within the GPU.
Contents
This object represents a device created object on the host. As such ownership is tied to this host object. Due to this design, the object has no copy-construction allowed. Instead, default move constructor and assignment has been defined.
Base classes
- struct VV::V2::AppInstance
- An object that manages the represented application process state within the GPU.
Derived classes
- class VV::V4::AppInstance
Public types
-
using Parent = V2::
AppInstance
Constructors, destructors, conversion operators
- AppInstance()
- Will construct an AppInstance host object with a null handle and allocator set to default.
- AppInstance(const Memory::AllocationCallbacks& _allocator)
- Will construct an AppInstance host object with a null handle a the allocator set to the specified allocator.
- AppInstance(AppInstance&& _other) noexcept
- Performs a move operation to transfer ownership of the device object to this host object.
- ~AppInstance()
- If the handle is found to not be null, this device will attempt to destroy the device object that corresponds to it.
- operator Handle&()
- Implicit conversion to give a reference to its handle.
- operator const Handle&() const
- Implicit conversion to give a readonly reference to its handle.
- operator const Handle*() const
- Implicit conversion to give a pointer to its handle.
Public functions
-
auto Create(const AppInstance::
CreateInfo& _createinfo) -> EResult - Create an application instance.
-
auto Create(const AppInstance::
CreateInfo& _createInfo, const Memory::AllocationCallbacks& _allocator) -> EResult - Create an application instance.
- void Destroy()
- Destroy an application instance.
- auto GetAvailablePhysicalDevices(DynamicArray<PhysicalDevice>& _deviceListing) const -> EResult
- Provides the handles of all available physical devices.
-
auto GetAvailablePhysicalDeviceGroups(DynamicArray<PhysicalDevice::
Group>& _groupListing) const -> EResult - Provides a list of the device groups present in the system.
-
template<typename ReturnType>auto GetProcedureAddress(RoCStr _procedureName) const -> std::enable_if<std::bool_constant<std::is_pointer<ReturnType>::value && std::is_function<typename std::remove_pointer<ReturnType>::type>::value>::value, ReturnType>::type
-
auto QueryPhysicalDeviceListing(ui32* _numDevices,
PhysicalDevice::
Handle* _deviceListing) const -> EResult - Retrieve a list of physical device objects representing the physical devices installed in the system, or get the number of them.
-
auto QueryPhysicalDeviceGroups(ui32* _numGroups,
PhysicalDevice::
Group* _groupProperties) const -> EResult - Retrieve a list of physical device groups.
- auto operator==(const AppInstance& _other) const -> bool
- Checks to see if its the same object by checking to see if its the same handle.
- auto operator=(AppInstance&& _other) -> AppInstance& noexcept
- Performs a move assignment operation to transfer ownership of the device object to this host object.
Protected variables
Function documentation
EResult VV:: V3:: AppInstance:: Create(const AppInstance:: CreateInfo& _createInfo,
const Memory::AllocationCallbacks& _allocator)
Create an application instance.
Parameters | |
---|---|
_createInfo | |
_allocator |
EResult VV:: V3:: AppInstance:: GetAvailablePhysicalDeviceGroups(DynamicArray<PhysicalDevice:: Group>& _groupListing) const
Provides a list of the device groups present in the system.
Parameters | |
---|---|
_groupListing |
template<typename ReturnType>
std::enable_if<std::bool_constant<std::is_pointer<ReturnType>::value && std::is_function<typename std::remove_pointer<ReturnType>::type>::value>::value, ReturnType>::type VV:: V3:: AppInstance:: GetProcedureAddress(RoCStr _procedureName) const
Function pointers for all Vulkan commands can be obtained with this command.
vkGetInstanceProcAddr itself is obtained in a platform- and loader- specific manner. Typically, the loader library will export this command as a function symbol, so applications can link against the loader library, or load it dynamically and look up the symbol using platform-specific APIs.
Note: ReturnType is restricted to only function pointing types.
https:/
EResult VV:: V3:: AppInstance:: QueryPhysicalDeviceListing(ui32* _numDevices,
PhysicalDevice:: Handle* _deviceListing) const
Retrieve a list of physical device objects representing the physical devices installed in the system, or get the number of them.
If pPhysicalDevices is NULL, then the number of physical devices available is returned in pPhysicalDeviceCount. Otherwise, pPhysicalDeviceCount must point to a variable set by the user to the number of elements in the pPhysicalDevices array, and on return the variable is overwritten with the number of handles actually written to pPhysicalDevices.