API Documentation
Loading...
Searching...
No Matches
XRVulkanPipeline Class Reference

A GraphicsPipeline that renders a single Viewport for Vulkan and OpenXR. See VulkanRenderPipeline. More...

#include <XRVulkanPipeline.h>

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

Public Member Functions

virtual void cleanupKHR () override
 
virtual void createSwapChainKHR (GraphicsUpdateArguments &args) override
 
XrEnvironmentBlendMode environmentBlendMode ()
 
virtual bool executeDrawCycle (GraphicsUpdateArguments &args) override
 
void getKHRImages (uint04 multisample_count)
 
virtual XrStructureType GetSwapchainImageType () const
 
const XrBaseInStructure * graphicsBinding () const
 
void init ()
 
virtual void lockAllImagesCommand () override
 
bool needsRecreateSwapchain (GraphicsUpdateArguments &) override
 
virtual void recreateSwapChainResources (GraphicsUpdateArguments &args) override
 
void setCurrentBlendMode (XrEnvironmentBlendMode blend_mode)
 
void setImageFormat ()
 
virtual void submitQueue (GraphicsUpdateArguments &args) override
 
XrInstance xrInstance () const
 
XrSession xrSession () const
 
XrSwapchain xrSwapChain ()
 
XrSystemId xrSystemID () const
 
 XRVulkanPipeline (VulkanSession *vsession, const DynamicPointer< VulkanXRDevice > &device, XrSession session, const XrViewConfigurationView &config_view)
 
- Public Member Functions inherited from VulkanRenderPipeline
void cleanResources () override
 
void cleanup () override
 
bool createPipeline (GraphicsUpdateArguments &args) override
 
virtual const ConstPointer< GraphicsDevice > & device () const override
 
const DynamicPointer< GraphicsDevice > & device () override
 
virtual void drawFrame (GraphicsUpdateArguments &args) override
 
void ensureLastRenderComplete () override
 
void getGrabImage (GraphicsUpdateArguments &args)
 
void getKHRImage (GraphicsUpdateArguments &args)
 
DynamicPointer< VulkanRenderDefinition > & getRenderDefinition ()
 
void imageWait ()
 
void init (GraphicsUpdateArguments &args) override
 
void invalidateImages ()
 
void presentKHR (GraphicsUpdateArguments &args)
 
void requestRedraw ()
 
bool runCommand (GraphicsUpdateArguments &args) override
 
void setClearColor (const RGBColor &color)
 
void setDevice (const DynamicPointer< VulkanDevice > &instance)
 
void setGrabImage (Image *image)
 
void setSwapChainImageFormat (VkFormat format)
 
void setupSwapChainImages (Buffer< VkImage > &images, uint04 multisample_count)
 
void setWindowInstance (WindowInstance *instance) override
 
 VulkanRenderPipeline (const VulkanRenderPipeline &pipeline)=delete
 
 VulkanRenderPipeline (VulkanRenderPipeline &&pipeline)
 
 VulkanRenderPipeline (VulkanSession *session)
 
virtual ~VulkanRenderPipeline ()
 
- Public Member Functions inherited from GraphicsPipeline
virtual ~GraphicsPipeline ()
 

Protected Attributes

XrViewConfigurationView m_config_view
 
XrEnvironmentBlendMode m_current_blend_mode
 
DynamicPointer< VulkanXRDevicem_device
 
Buffer< VulkanImageResourcesm_khr_images
 
XrSession m_session { XR_NULL_HANDLE }
 
Buffer< XrSwapchainImageVulkan2KHR > m_swapchain_images
 
std::vector< XrView > m_views
 
- Protected Attributes inherited from VulkanRenderPipeline
RGBColor m_clear_color
 
DynamicPointer< VulkanImageDatam_depth_image
 
DynamicPointer< VulkanImageViewm_depth_view
 
DynamicPointer< VulkanDevicem_device
 
Vector< 2, uint04m_draw_size
 
DynamicPointer< VulkanImageDatam_frame_grab_image
 
Buffer< FrameResourcesm_frames
 
Imagem_grab_image
 
Buffer< VulkanImageResourcesm_grab_images
 
bool m_is_init
 
uint08 m_khr_format
 
Buffer< VulkanImageResourcesm_khr_images
 
VkSwapchainKHR m_khr_swap_chain
 
VulkanImageResourcesm_last_image
 
Time m_last_render_time
 
DynamicPointer< VulkanImageDatam_multisample_image_color
 
DynamicPointer< VulkanImageViewm_multisample_view_color
 
bool m_needs_cleanup
 
bool m_needs_grab_image
 
bool m_needs_pipeline_recreation
 
bool m_needs_screen_draw
 
uint04 m_number_of_grab_images
 
DynamicPointer< VulkanRenderDefinitionm_render_definition
 
VulkanSessionm_session
 
DynamicPointer< VulkanImageDatam_shadow_image
 
DynamicPointer< VulkanImageViewm_shadow_view
 
bool m_suboptimal_khr
 
VkSurfaceKHR m_surface
 
Time m_surface_update_time
 
ConstPointer< SwapChainSupportDetailsm_swap_chain_support_details
 
WindowInstance * m_window_instance
 

Additional Inherited Members

- Protected Member Functions inherited from VulkanRenderPipeline
void addReadback (GraphicsUpdateArguments &args)
 
Vector< 2, uint04chooseSwapExtent (const VkSurfaceCapabilitiesKHR &capabilities, const Vector< 2, uint04 > &requested_size)
 
VkSurfaceFormatKHR chooseSwapSurfaceFormat (const Buffer< VkSurfaceFormatKHR, uint04, ObjectAllocator< true > > &availableFormats)
 
virtual void cleanupSwapChainResources (bool clean_khr)
 
Buffer< VkClearValue, uint04, ObjectAllocator< true > > clearValues () const
 
virtual void commit (GraphicsUpdateArguments &) override
 
void createCommandBuffers ()
 
void createFrames ()
 
VkResult finishBlockingReadback (GraphicsUpdateArguments &args)
 
void getGrabImages (uint04 multisample_count)
 
virtual bool hasCommand () const override
 
void lockImageCommand (VulkanImageResources &image) const
 
bool neadsSurfaceUpdate () const
 
bool needsCleanup () const
 
SwapChainSupportDetails queryKHRSupport (VkPhysicalDevice_T *device)
 
void setMultisampleImages (GraphicsUpdateArguments &args)
 
void setShadowImages (GraphicsUpdateArguments &args)
 
void setupSurface ()
 
void setViewportImages (GraphicsUpdateArguments &args)
 
void updateFrameSize (GraphicsUpdateArguments &args)
 
virtual void updateUniformBuffer (GraphicsUpdateArguments &) override
 
- Static Protected Member Functions inherited from VulkanRenderPipeline
static fltp08 ScreenSizeAllocationFactor ()
 

Detailed Description

A GraphicsPipeline that renders a single Viewport for Vulkan and OpenXR. See VulkanRenderPipeline.


Constructor & Destructor Documentation

◆ XRVulkanPipeline()

XRVulkanPipeline ( VulkanSession * vsession,
const DynamicPointer< VulkanXRDevice > & device,
XrSession session,
const XrViewConfigurationView & config_view )

Member Function Documentation

◆ cleanupKHR()

virtual void cleanupKHR ( )
inlineoverridevirtual

Reimplemented from VulkanRenderPipeline.

◆ createSwapChainKHR()

virtual void createSwapChainKHR ( GraphicsUpdateArguments & args)
overridevirtual

Reimplemented from VulkanRenderPipeline.

◆ environmentBlendMode()

XrEnvironmentBlendMode environmentBlendMode ( )
inline

◆ executeDrawCycle()

virtual bool executeDrawCycle ( GraphicsUpdateArguments & args)
overridevirtual

Reimplemented from VulkanRenderPipeline.

◆ getKHRImages()

void getKHRImages ( uint04 multisample_count)
virtual

Reimplemented from VulkanRenderPipeline.

◆ GetSwapchainImageType()

virtual XrStructureType GetSwapchainImageType ( ) const
inlinevirtual

◆ graphicsBinding()

const XrBaseInStructure * graphicsBinding ( ) const
inline

◆ init()

void init ( )

◆ lockAllImagesCommand()

virtual void lockAllImagesCommand ( )
inlineoverridevirtual

Reimplemented from VulkanRenderPipeline.

◆ needsRecreateSwapchain()

bool needsRecreateSwapchain ( GraphicsUpdateArguments & )
inlineoverridevirtual

Reimplemented from VulkanRenderPipeline.

◆ recreateSwapChainResources()

virtual void recreateSwapChainResources ( GraphicsUpdateArguments & args)
overridevirtual

Reimplemented from VulkanRenderPipeline.

◆ setCurrentBlendMode()

void setCurrentBlendMode ( XrEnvironmentBlendMode blend_mode)
inline

◆ setImageFormat()

void setImageFormat ( )

◆ submitQueue()

virtual void submitQueue ( GraphicsUpdateArguments & args)
overridevirtual

Reimplemented from VulkanRenderPipeline.

◆ xrInstance()

XrInstance xrInstance ( ) const
inline

◆ xrSession()

XrSession xrSession ( ) const
inline

◆ xrSwapChain()

XrSwapchain xrSwapChain ( )
inline

◆ xrSystemID()

XrSystemId xrSystemID ( ) const
inline

Member Data Documentation

◆ m_config_view

XrViewConfigurationView m_config_view
protected

◆ m_current_blend_mode

XrEnvironmentBlendMode m_current_blend_mode
protected

◆ m_device

DynamicPointer<VulkanXRDevice> m_device
protected

◆ m_khr_images

Buffer<VulkanImageResources> m_khr_images
protected

◆ m_session

XrSession m_session { XR_NULL_HANDLE }
protected

◆ m_swapchain_images

Buffer<XrSwapchainImageVulkan2KHR> m_swapchain_images
protected

◆ m_views

std::vector<XrView> m_views
protected

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