class
#include <VaultedVulkan/VV_Surface.hpp>
Surface Surfaces hook onto a window to use as a rendering target.
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::Surface
- Surfaces hook onto a window to use as a rendering target.
Public types
-
using Parent = V2::
Surface
Constructors, destructors, conversion operators
- Surface()
- Default constructor.
- Surface(const AppInstance& _app)
- Specifies the app instance.
-
Surface(const AppInstance& _app,
const Memory::
AllocationCallbacks& _allocator) - Specifies the app instance, and allocator.
- Surface(const AppInstance& _app, const PhysicalDevice& _physicalDevice)
- Specifies the app instance and physical device.
-
Surface(const AppInstance& _app,
const PhysicalDevice& _physicalDevice,
const Memory::
AllocationCallbacks& _allocator) - Specifies the app instance, physical device, allocator.
- Surface(Surface&& _other) noexcept
- Performs a move operation to transfer ownership of the device object to this host object.
- ~Surface()
- Destroys the surface if handle is not null.
- 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
- void AssignPhysicalDevice(const PhysicalDevice& _physicalDevice)
- Assign the physical device.
- auto Create(OS_WindowHandle _window) -> EResult
- Create a surface with the provided window handle.
- auto Create(const CreateInfo& _info) -> EResult
- Create a surface with the specified create info.
- auto Create(const AppInstance& _app, OS_WindowHandle _window) -> EResult
- Create a surface with the specified app instance and widow handle.
- auto Create(const AppInstance& _appHandle, const CreateInfo& _info) -> EResult
- Create a surface with the specified app instance and create info.
-
auto Create(const AppInstance& _appHandle,
const CreateInfo& _info,
const Memory::
AllocationCallbacks& _allocator) -> EResult - Create a surface with the specified app handle, create info, and allocator.
- auto CheckPhysicalDeviceSupport(ui32 _queueFamilyIndex, Bool& _checkResult) -> EResult
- Query if presentation is supported.
- void Destroy()
- Destroy the surface.
- auto GetAvailableFormats(DynamicArray<Format>& _formatsContainer) const -> EResult
- Provides the available surface formats.
- auto GetPhysicalDeviceCapabilities(Capabilities& _result) const -> EResult
- Query surface capabilities.
- auto GetSupportedPresentationModes(DynamicArray<EPresentationMode>& _presentationModesContainer) const -> EResult
- Provides the supported presentation modes.
- auto operator==(const Surface& _other) const -> bool
- Checks to see if its the same object by checking to see if its the same handle.
- auto operator=(Surface&& _other) -> Surface& noexcept
- Performs a move assignment operation to transfer ownership of the device object to this host object.
Protected variables
- Handle handle
-
const Memory::
AllocationCallbacks* allocator - const AppInstance* app
- const PhysicalDevice* physicalDevice