API Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
VulkanXRDevice Class Reference

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

#include <XRInstance.h>

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

Public Member Functions

void autoChoosePhysicalDevice () override
 
virtual VkResult createLogicalDevice (const VkDeviceCreateInfo &create_info)
 
const XrGraphicsBindingVulkanKHR & graphicsBinding () const
 
int64_t selectColorSwapchainFormat (const std::vector< int64_t > &runtimeFormats) const
 
 VulkanXRDevice (const DynamicPointer< VulkanXRInstance > &instance)
 
VulkanXRInstancevulkanXRInstance () const
 
XrInstance xrInstance () const
 
XrSystemId xrSystemID () const
 
- Public Member Functions inherited from VulkanDevice
void addSurface (VkSurfaceKHR surface)
 
VkCommandBuffer beginSingleTimeCommands (uint04 id=Constant< uint04 >::Invalid) const
 
virtual bool canServiceCaptureRequests () const final override
 
uint04 checkoutID () const
 
void checkoutID (uint04 id) const
 
VkPresentModeKHR chooseSwapPresentMode (const Buffer< VkPresentModeKHR > &availablePresentModes)
 
void cleanup ()
 
void destroyCommandPool (uint04 id)
 
void destroyImageView (VkImageView image_view)
 
VkDevice device () const
 
const VkPhysicalDeviceFeatures & enabledFeatures () const
 
void endSingleTimeCommands (VkCommandBuffer commandBuffer, bool wait_for_completion, uint04 id=Constant< uint04 >::Invalid) const
 
VkFormat findDepthFormat () const
 
uint04 findMemoryType (uint04 typeFilter, uint04 properties) const
 
VkCommandPool getCommandPool (uint04 id=Constant< uint04 >::Invalid) const
 
virtual uint04 getThreadedID () const
 
VkQueue graphicsQueue (uint04 id=Constant< uint04 >::Invalid) const
 
UUID id () const override
 
void init () override
 
const void * initLockPtr () const override
 
DynamicPointer< VulkanInstanceinstance () const
 
bool isInitialized () const override
 
bool isSoftwareRendered () const
 
bool isValid () const override
 
ProgressInfolog ()
 
void logPhysicalDevice ()
 
uint04 maxSupportedSamples () const override
 
const VkPhysicalDevicephysicalDevice () const
 
const VkPhysicalDeviceFeatures & physicalFeatures () const
 
const VkPhysicalDeviceProperties & physicalProperties () const
 
VkQueue presentQueue (uint04 id=Constant< uint04 >::Invalid) const
 
void removeSurface (VkSurfaceKHR surface)
 
void returnID (uint04 id=Constant< uint04 >::Invalid) const
 
void setDeviceLost ()
 
void setLog (ProgressInfo *log)
 
virtual bool supportsMultiThreading () const override
 
bool supportsTriangleFan () const
 
VkInstance vkInstance () const
 
 VulkanDevice (const DynamicPointer< VulkanInstance > &instance)
 
 VulkanDevice (VkPhysicalDevice physical_device, const DynamicPointer< VulkanInstance > &instance)
 
 VulkanDevice (VulkanDevice &&instance) noexcept
 
virtual void waitForGraphicsQueue (uint04 id=Constant< uint04 >::Invalid) const
 
virtual ~VulkanDevice ()
 
- Public Member Functions inherited from GraphicsDevice
virtual bool isReady () const
 
virtual bool updateFromLookup () const
 
virtual ~GraphicsDevice ()
 

Protected Attributes

XrGraphicsBindingVulkanKHR m_graphicsBinding { XR_TYPE_GRAPHICS_BINDING_VULKAN2_KHR }
 
- Protected Attributes inherited from VulkanDevice
Buffer< uint04m_checkouts
 
Dictionary< uint04, VkCommandPoolm_command_pools
 
Time m_creation_time
 
VkDevice m_device
 
Buffer< Stringm_device_extensions
 
Buffer< Stringm_device_layers
 
VkPhysicalDeviceFeatures * m_enabled_features
 
uint04 m_graphics_family_index
 
Dictionary< uint04, VkQueuem_graphics_queue
 
Dictionary< uint04, uint04m_graphics_queue_index
 
UUID m_id
 
DynamicPointer< VulkanInstancem_instance
 
bool m_is_init
 
bool m_is_software_rendered
 
ProgressInfom_log
 
VkPhysicalDevice m_physical_device
 
VkPhysicalDeviceFeatures * m_physical_features
 
VkPhysicalDeviceProperties * m_physical_properties
 
uint04 m_present_family_index
 
Dictionary< uint04, VkQueuem_present_queue
 
Buffer< VkQueueFamilyProperties, uint04, ObjectAllocator< true > > m_queue_families
 
Buffer< VkSurfaceKHRm_surfaces
 
Dictionary< uint04, uint04m_thread_checkouts
 

Additional Inherited Members

- Static Public Member Functions inherited from VulkanDevice
static DynamicPointer< VulkanDevice > & DefaultVulkanDevice ()
 
- Static Public Member Functions inherited from GraphicsDevice
static const DynamicPointer< GraphicsDevice > & DefaultGraphicsDevice ()
 
static void SetDefaultGraphicsDevice (const DynamicPointer< GraphicsDevice > &device)
 
- Static Public Attributes inherited from GraphicsDevice
static DynamicPointer< GraphicsDevices_default_graphics_device
 
- Protected Member Functions inherited from VulkanDevice
bool checkDeviceExtensionSupport (VkPhysicalDevice device)
 
void createCommandPool (uint04 thread) const
 
void setQueueFamilies ()
 
void setupLogicalDevice ()
 

Detailed Description

A GraphicsDevice for managing OpenXR and Vulkan limitations and actions. See VulkanDevice.


Constructor & Destructor Documentation

◆ VulkanXRDevice()

Member Function Documentation

◆ autoChoosePhysicalDevice()

void autoChoosePhysicalDevice ( )
overridevirtual

Reimplemented from VulkanDevice.

◆ createLogicalDevice()

virtual VkResult createLogicalDevice ( const VkDeviceCreateInfo & create_info)
virtual

Reimplemented from VulkanDevice.

◆ graphicsBinding()

const XrGraphicsBindingVulkanKHR & graphicsBinding ( ) const
inline

◆ selectColorSwapchainFormat()

int64_t selectColorSwapchainFormat ( const std::vector< int64_t > & runtimeFormats) const

◆ vulkanXRInstance()

VulkanXRInstance * vulkanXRInstance ( ) const
inline

◆ xrInstance()

XrInstance xrInstance ( ) const
inline

◆ xrSystemID()

XrSystemId xrSystemID ( ) const
inline

Member Data Documentation

◆ m_graphicsBinding

XrGraphicsBindingVulkanKHR m_graphicsBinding { XR_TYPE_GRAPHICS_BINDING_VULKAN2_KHR }
protected

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