RavEngine
Loading...
Searching...
No Matches
RGL::SwapchainD3D12 Struct Reference
Inheritance diagram for RGL::SwapchainD3D12:
[legend]
Collaboration diagram for RGL::SwapchainD3D12:
[legend]

Public Member Functions

 SwapchainD3D12 (decltype(owningDevice), std::shared_ptr< SurfaceD3D12 >, int width, int height, std::shared_ptr< CommandQueueD3D12 > presentQueue)
 
void UpdateRenderTargetViews (Microsoft::WRL::ComPtr< ID3D12Device2 > device, Microsoft::WRL::ComPtr< IDXGISwapChain4 > swapChain, D3D12DynamicDescriptorHeap< 2048 > &descriptorHeap)
 
void Resize (uint32_t width, uint32_t height) final
 
void GetNextImage (uint32_t *index) final
 
ITexture * ImageAtIndex (uint32_t index) final
 
void Present (const SwapchainPresentConfig &) final
 
void SetVsyncMode (bool mode) final
 

Public Attributes

Microsoft::WRL::ComPtr< IDXGISwapChain4 > swapchain
 
const std::shared_ptr< DeviceD3D12 > owningDevice
 
Microsoft::WRL::ComPtr< ID3D12Resource > backbuffers [g_NumFrames]
 
std::vector< TextureD3D12 > backbufferTextures
 
D3D12DynamicDescriptorHeap< 0 >::index_t rtvIndices [g_NumFrames]
 
bool tearingSupported = false
 
bool initialized = false
 

Static Public Attributes

static constexpr uint8_t g_NumFrames = 3
 

Member Function Documentation

◆ GetNextImage()

void RGL::SwapchainD3D12::GetNextImage ( uint32_t *  index)
finalvirtual

Implements RGL::ISwapchain.

◆ ImageAtIndex()

ITexture * RGL::SwapchainD3D12::ImageAtIndex ( uint32_t  index)
finalvirtual

Implements RGL::ISwapchain.

◆ Present()

void RGL::SwapchainD3D12::Present ( const SwapchainPresentConfig &  )
finalvirtual

Implements RGL::ISwapchain.

◆ Resize()

void RGL::SwapchainD3D12::Resize ( uint32_t  width,
uint32_t  height 
)
finalvirtual

Implements RGL::ISwapchain.

◆ SetVsyncMode()

void RGL::SwapchainD3D12::SetVsyncMode ( bool  mode)
finalvirtual

Implements RGL::ISwapchain.


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