Monado OpenXR Runtime
client_d3d12_swapchain_data Struct Reference

Split out from client_d3d12_swapchain to ensure that it is standard layout, std::vector for instance is not standard layout. More...

Collaboration diagram for client_d3d12_swapchain_data:

Public Member Functions

 client_d3d12_swapchain_data (enum u_logging_level log_level)
 

Data Fields

std::vector< wil::unique_handle > handles
 The shared handles for all our images. More...
 
std::vector< wil::com_ptr< ID3D12Resource > > images
 Images. More...
 
std::vector< wil::com_ptr< ID3D12Resource > > app_images
 Images used by the application. More...
 
std::vector< wil::com_ptr< ID3D12CommandList > > commandsToApp
 Command list per-image to put the resource in a state for acquire (appResourceState) from compositorResourceState. More...
 
std::vector< wil::com_ptr< ID3D12CommandList > > commandsToCompositor
 Command list per-image to put the resource in a state for composition (compositorResourceState) from appResourceState. More...
 
D3D12_RESOURCE_STATES appResourceState = D3D12_RESOURCE_STATE_RENDER_TARGET
 State we hand over the image in, and expect it back in. More...
 
D3D12_RESOURCE_STATES compositorResourceState = D3D12_RESOURCE_STATE_COMMON
 State the compositor wants the image in before use. More...
 
std::vector< D3D12_RESOURCE_STATES > state
 
std::vector< wil::unique_handle > comp_handles
 Optional app to compositor copy mechanism, used as a workaround for d3d12 -> Vulkan interop issues. More...
 
std::vector< wil::com_ptr< ID3D12Resource > > comp_images
 Images used by the compositor. More...
 
std::vector< wil::com_ptr< ID3D12CommandList > > comp_copy_commands
 Command list per-image to copy from app image to compositor image. More...
 

Detailed Description

Split out from client_d3d12_swapchain to ensure that it is standard layout, std::vector for instance is not standard layout.

Field Documentation

◆ app_images

std::vector<wil::com_ptr<ID3D12Resource> > client_d3d12_swapchain_data::app_images

Images used by the application.

◆ appResourceState

D3D12_RESOURCE_STATES client_d3d12_swapchain_data::appResourceState = D3D12_RESOURCE_STATE_RENDER_TARGET

State we hand over the image in, and expect it back in.

◆ commandsToApp

std::vector<wil::com_ptr<ID3D12CommandList> > client_d3d12_swapchain_data::commandsToApp

Command list per-image to put the resource in a state for acquire (appResourceState) from compositorResourceState.

◆ commandsToCompositor

std::vector<wil::com_ptr<ID3D12CommandList> > client_d3d12_swapchain_data::commandsToCompositor

Command list per-image to put the resource in a state for composition (compositorResourceState) from appResourceState.

◆ comp_copy_commands

std::vector<wil::com_ptr<ID3D12CommandList> > client_d3d12_swapchain_data::comp_copy_commands

Command list per-image to copy from app image to compositor image.

◆ comp_handles

std::vector<wil::unique_handle> client_d3d12_swapchain_data::comp_handles

Optional app to compositor copy mechanism, used as a workaround for d3d12 -> Vulkan interop issues.

Shared handles for compositor images

◆ comp_images

std::vector<wil::com_ptr<ID3D12Resource> > client_d3d12_swapchain_data::comp_images

Images used by the compositor.

◆ compositorResourceState

D3D12_RESOURCE_STATES client_d3d12_swapchain_data::compositorResourceState = D3D12_RESOURCE_STATE_COMMON

State the compositor wants the image in before use.

◆ handles

std::vector<wil::unique_handle> client_d3d12_swapchain_data::handles

The shared handles for all our images.

◆ images

std::vector<wil::com_ptr<ID3D12Resource> > client_d3d12_swapchain_data::images

Images.


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