evan 2026.1.4
Evan
Loading...
Searching...
No Matches
evan::LinuxXrPlatform Class Reference

The LinuxXrPlatform class provides platform-specific implementations for OpenXR on Linux devices. More...

#include <headers/evan/openxr/platform/LinuxXrPlatform.hpp>

Inheritance diagram for evan::LinuxXrPlatform:
Collaboration diagram for evan::LinuxXrPlatform:

Public Member Functions

 LinuxXrPlatform ()
 Constructs a LinuxXrPlatform instance.
 
 ~LinuxXrPlatform ()=default
 Destructor for the LinuxXrPlatform class.
 
std::vector< std::string > getRequiredInstanceExtensions () const override
 Retrieves the required instance extensions for the Linux OpenXR platform.
 
const XrBaseInStructure * getInstanceCreateInfo () const override
 Retrieves the instance creation information for the Linux OpenXR platform.
 
- Public Member Functions inherited from evan::IXrPlatform
virtual ~IXrPlatform ()=default
 Virtual destructor.
 
bool shouldClose () const override
 Check if the OpenXR platform should close.
 
virtual std::vector< std::shared_ptr< utility::event::Event > > pollEvents (ADeviceBackend &deviceBackend) override
 Poll for OpenXR events and handle them accordingly.
 
std::shared_ptr< ADeviceBackend > createDeviceBackend () const override
 Create a device context for the OpenXR platform.
 
std::shared_ptr< ASwapchainContext > createSwapchainContext (const DeviceContext &deviceContext) const override
 Create a swapchain context for the OpenXR platform.
 
const OpenXrOptions & getOpenXrOptions () const
 Retrieves the user-configurable OpenXR options (read-only).
 
OpenXrOptions & getOpenXrOptions ()
 Retrieves the user-configurable OpenXR options (mutable).
 
- Public Member Functions inherited from evan::IPlatform
virtual ~IPlatform ()=default
 Virtual destructor.
 
virtual VkInstanceCreateFlags getInstanceCreateFlags () const
 Get platform-specific Vulkan instance creation flags.
 
virtual std::vector< std::string > getRequiredDeviceExtensions () const
 Get platform-specific required Vulkan device extensions.
 
virtual std::filesystem::path getPipelineCachePath () const
 Get the path where the Vulkan pipeline cache is persisted.
 
Error getLastError () const
 Get the last error recorded by the platform.
 

Protected Member Functions

std::filesystem::path getDefaultCacheRoot () const override
 Get the Linux cache root directory.
 
- Protected Member Functions inherited from evan::IXrPlatform
void processSessionStateChangedEvent (const XrEventDataSessionStateChanged &eventData, XrDeviceBackend &xrDeviceBackend)
 Process an OpenXR session state change event.
 

Additional Inherited Members

- Protected Attributes inherited from evan::IXrPlatform
bool _shouldClose = false
 
OpenXrOptions _options
 
- Protected Attributes inherited from evan::IPlatform
Error _lastError = Error::Ok
 Sticky error recorded by the platform while polling events.
 

Detailed Description

The LinuxXrPlatform class provides platform-specific implementations for OpenXR on Linux devices.

This class implements the IXrPlatform interface to provide the necessary configurations and extensions required for creating an OpenXR instance on Linux. It handles the retrieval of required instance extensions and provides the appropriate instance creation information for Linux platforms.

Definition at line 27 of file LinuxXrPlatform.hpp.

Constructor & Destructor Documentation

◆ LinuxXrPlatform()

evan::LinuxXrPlatform::LinuxXrPlatform ( )

Constructs a LinuxXrPlatform instance.

Initializes the LinuxXrPlatform with default settings. This constructor does not take any parameters and sets up the platform for use on Linux.

Definition at line 12 of file LinuxXrPlatform.cpp.

◆ ~LinuxXrPlatform()

evan::LinuxXrPlatform::~LinuxXrPlatform ( )
default

Destructor for the LinuxXrPlatform class.

This destructor is responsible for cleaning up any resources allocated by the LinuxXrPlatform instance. It ensures that any platform-specific resources are properly released when the instance is destroyed.

Member Function Documentation

◆ getDefaultCacheRoot()

std::filesystem::path evan::LinuxXrPlatform::getDefaultCacheRoot ( ) const
overrideprotectedvirtual

Get the Linux cache root directory.

Returns
XDG_CACHE_HOME when set, ~/.cache otherwise, or an empty path when neither is available.

Implements evan::IPlatform.

Definition at line 36 of file LinuxXrPlatform.cpp.

◆ getInstanceCreateInfo()

const XrBaseInStructure * evan::LinuxXrPlatform::getInstanceCreateInfo ( ) const
overridevirtual

Retrieves the instance creation information for the Linux OpenXR platform.

This function returns a pointer to the instance creation information specific to the Linux OpenXR platform. This information is typically used when creating an OpenXR instance on Linux.

Returns
A pointer to the instance creation information for the Linux OpenXR platform as an XrBaseInStructure.

Implements evan::IXrPlatform.

Definition at line 27 of file LinuxXrPlatform.cpp.

◆ getRequiredInstanceExtensions()

std::vector< std::string > evan::LinuxXrPlatform::getRequiredInstanceExtensions ( ) const
overridevirtual

Retrieves the required instance extensions for the Linux OpenXR platform.

This function returns a vector of strings representing the required instance extensions for the Linux OpenXR platform. These extensions are necessary for proper functionality and compatibility with the OpenXR runtime on Linux.

Returns
A vector of strings containing the required instance extensions for the Linux OpenXR platform.

Implements evan::IXrPlatform.

Definition at line 22 of file LinuxXrPlatform.cpp.


The documentation for this class was generated from the following files: