LiteFX 0.4.1.2025
Computer Graphics Engine
Loading...
Searching...
No Matches
LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl Class Reference

Public Types

using RenderPassContext = Tuple<Array<D3D12_RENDER_PASS_RENDER_TARGET_DESC>, Optional<D3D12_RENDER_PASS_DEPTH_STENCIL_DESC>>
 

Public Member Functions

 DirectX12RenderPassImpl (const DirectX12Device &device, const DirectX12Queue &queue, Span< RenderTarget > renderTargets, Span< RenderPassDependency > inputAttachments, Optional< DescriptorBindingPoint > inputAttachmentSamplerBinding, UInt32 secondaryCommandBuffers)
 
 DirectX12RenderPassImpl (const DirectX12Device &device)
 
 DirectX12RenderPassImpl (DirectX12RenderPassImpl &&) noexcept=default
 
 DirectX12RenderPassImpl (const DirectX12RenderPassImpl &)=default
 
DirectX12RenderPassImploperator= (DirectX12RenderPassImpl &&) noexcept=default
 
DirectX12RenderPassImploperator= (const DirectX12RenderPassImpl &)=default
 
 ~DirectX12RenderPassImpl () noexcept
 
void mapRenderTargets (Span< RenderTarget > renderTargets)
 
void mapInputAttachments (Span< RenderPassDependency > inputAttachments)
 
void registerFrameBuffer (const DirectX12RenderPass &renderPass, const DirectX12Queue &queue, const DirectX12FrameBuffer &frameBuffer)
 
void onFrameBufferRelease (const void *sender, const IFrameBuffer::ReleasedEventArgs &)
 
RenderPassContextrenderTargetContext (const DirectX12FrameBuffer &frameBuffer)
 
SharedPtr< DirectX12CommandBuffergetBeginCommandBuffer (const DirectX12FrameBuffer &frameBuffer)
 
SharedPtr< DirectX12CommandBuffergetEndCommandBuffer (const DirectX12FrameBuffer &frameBuffer)
 
Array< SharedPtr< DirectX12CommandBuffer > > & getSecondaryCommandBuffers (const DirectX12FrameBuffer &frameBuffer)
 

Friends

class DirectX12RenderPassBuilder
 
class DirectX12RenderPass
 

Member Typedef Documentation

◆ RenderPassContext

using LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::RenderPassContext = Tuple<Array<D3D12_RENDER_PASS_RENDER_TARGET_DESC>, Optional<D3D12_RENDER_PASS_DEPTH_STENCIL_DESC>>

Constructor & Destructor Documentation

◆ DirectX12RenderPassImpl() [1/4]

LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::DirectX12RenderPassImpl ( const DirectX12Device & device,
const DirectX12Queue & queue,
Span< RenderTarget > renderTargets,
Span< RenderPassDependency > inputAttachments,
Optional< DescriptorBindingPoint > inputAttachmentSamplerBinding,
UInt32 secondaryCommandBuffers )
inline

◆ DirectX12RenderPassImpl() [2/4]

LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::DirectX12RenderPassImpl ( const DirectX12Device & device)
inline

◆ DirectX12RenderPassImpl() [3/4]

LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::DirectX12RenderPassImpl ( DirectX12RenderPassImpl && )
defaultnoexcept

◆ DirectX12RenderPassImpl() [4/4]

LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::DirectX12RenderPassImpl ( const DirectX12RenderPassImpl & )
default

◆ ~DirectX12RenderPassImpl()

LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::~DirectX12RenderPassImpl ( )
inlinenoexcept

Member Function Documentation

◆ getBeginCommandBuffer()

SharedPtr< DirectX12CommandBuffer > LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::getBeginCommandBuffer ( const DirectX12FrameBuffer & frameBuffer)
inline

◆ getEndCommandBuffer()

SharedPtr< DirectX12CommandBuffer > LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::getEndCommandBuffer ( const DirectX12FrameBuffer & frameBuffer)
inline

◆ getSecondaryCommandBuffers()

Array< SharedPtr< DirectX12CommandBuffer > > & LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::getSecondaryCommandBuffers ( const DirectX12FrameBuffer & frameBuffer)
inline

◆ mapInputAttachments()

void LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::mapInputAttachments ( Span< RenderPassDependency > inputAttachments)
inline

◆ mapRenderTargets()

void LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::mapRenderTargets ( Span< RenderTarget > renderTargets)
inline

◆ onFrameBufferRelease()

void LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::onFrameBufferRelease ( const void * sender,
const IFrameBuffer::ReleasedEventArgs &  )
inline

◆ operator=() [1/2]

DirectX12RenderPassImpl & LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::operator= ( const DirectX12RenderPassImpl & )
default

◆ operator=() [2/2]

DirectX12RenderPassImpl & LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::operator= ( DirectX12RenderPassImpl && )
defaultnoexcept

◆ registerFrameBuffer()

void LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::registerFrameBuffer ( const DirectX12RenderPass & renderPass,
const DirectX12Queue & queue,
const DirectX12FrameBuffer & frameBuffer )
inline

◆ renderTargetContext()

RenderPassContext & LiteFX::Rendering::Backends::DirectX12RenderPass::DirectX12RenderPassImpl::renderTargetContext ( const DirectX12FrameBuffer & frameBuffer)
inline

Friends And Related Symbol Documentation

◆ DirectX12RenderPass

friend class DirectX12RenderPass
friend

◆ DirectX12RenderPassBuilder

friend class DirectX12RenderPassBuilder
friend