NDEVR
API Documentation
VulkanXRDevice

A GraphicsDevice for managing OpenXR and Vulkan limitations and actions. More...

Inheritance diagram for VulkanXRDevice:
[legend]
Collaboration diagram for VulkanXRDevice:
[legend]

Additional Inherited Members

Public Member Functions inherited from VulkanDevice
 VulkanDevice (const DynamicPointer< VulkanInstance > &instance)
 Constructs a Vulkan device that will auto-choose the best physical device.
 VulkanDevice (VkPhysicalDevice physical_device, const DynamicPointer< VulkanInstance > &instance)
 Constructs a Vulkan device for a specific physical device.
 VulkanDevice (VulkanDevice &&instance) noexcept
 Move constructor.
virtual ~VulkanDevice ()
 Destructor.
UUID id () const override
 Returns the unique identifier for this device.
void init () override
 Initializes the graphics device.
const void * initLockPtr () const override
 Returns a pointer used for synchronizing device initialization.
bool isInitialized () const override
 Checks whether the device has been initialized.
bool isValid () const override
 Checks whether this device is valid and usable.
uint04 maxSupportedSamples () const override
 Returns the maximum number of multisample samples supported.
void setDeviceLost ()
 Handles a device-lost event by cleaning up resources.
virtual bool supportsMultiThreading () const override
 Checks whether the device supports multi-threaded rendering.
Public Member Functions inherited from GraphicsDevice
 GraphicsDevice ()
 Default constructor.
virtual ~GraphicsDevice ()
 Destructor.
virtual bool isReady () const
 Checks whether the device is ready for rendering.
virtual bool updateFromLookup () const
 Checks whether the device should update from the design lookup.
Static Public Member Functions inherited from VulkanDevice
static DynamicPointer< VulkanDevice > & DefaultVulkanDevice ()
 Returns a reference to the global default Vulkan device.
Public Attributes inherited from GraphicsDevice
Resource< bool > can_service_capture_requests
 Whether the device can service image capture requests.
Static Public Attributes inherited from GraphicsDevice
static DynamicPointer< GraphicsDevices_default_graphics_device
 The application-wide default graphics device.
Protected Attributes inherited from VulkanDevice
Buffer< uint04m_checkouts
 Available checkout IDs.
Dictionary< uint04, VkCommandPool > m_command_pools
 Command pools keyed by thread ID.
Time m_creation_time
 The time this device was created.
VkDevice m_device = nullptr
 The logical Vulkan device handle.
Buffer< Stringm_device_extensions
 Enabled device extensions.
Buffer< Stringm_device_layers
 Enabled device layers.
VkPhysicalDeviceFeatures * m_enabled_features = nullptr
 Features enabled on the logical device.
uint04 m_graphics_family_index = Constant<uint04>::Invalid
 The queue family index for graphics operations.
Dictionary< uint04, VkQueue > m_graphics_queue
 Graphics queues keyed by checkout ID.
Dictionary< uint04, uint04m_graphics_queue_index
 Queue family indices keyed by checkout ID.
UUID m_id
 Unique identifier for this device.
DynamicPointer< VulkanInstancem_instance
 The Vulkan instance this device belongs to.
bool m_is_init = false
 Whether the device has been initialized.
bool m_is_software_rendered = false
 Whether this is a software-rendered device.
LogPtr m_log = nullptr
 Log for device messages.
VkPhysicalDevice m_physical_device = nullptr
 The physical device handle.
VkPhysicalDeviceFeatures * m_physical_features = nullptr
 Cached physical device features.
VkPhysicalDeviceProperties * m_physical_properties = nullptr
 Cached physical device properties.
uint04 m_present_family_index = Constant<uint04>::Invalid
 The queue family index for presentation.
Dictionary< void *, VkQueue > m_present_queue
 Present queues keyed by window handle.
Buffer< VkQueueFamilyProperties > m_queue_families
 Available queue families on the physical device.
VulkanStagingRingm_staging_ring = nullptr
 Staging ring for CPU-to-GPU transfers.
Buffer< VkSurfaceKHR > m_surfaces
 Surfaces registered with this device.
Dictionary< uint04, uint04m_thread_checkouts
 Thread-to-checkout-ID mapping.

Detailed Description

A GraphicsDevice for managing OpenXR and Vulkan limitations and actions.


See VulkanDevice

Definition at line 38 of file XRInstance.h.


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