Foundation
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
Foundation::RenderCore::ImmediateContext Class Reference

Single persistent command list for immediate submissions. More...

#include <ImmediateContext.hpp>

Public Member Functions

 ImmediateContext (RHIDeviceQueueType type, RHIDevice *device)
 
RHICommandListGet () const
 
RHICommandListoperator-> ()
 
void Submit (RHIDeviceFence *completionFence=nullptr)
 
void WaitIdle ()
 

Private Attributes

RHIDevice *const mDevice
 
RHIDeviceQueuemQueue
 
RHIDeviceScopedHandle< RHICommandPoolmCommandPool
 
RHICommandPoolScopedHandle< RHICommandListmCommandList
 

Detailed Description

Single persistent command list for immediate submissions.

Note
This is primarily intended for quick one-shot commands, e.g. resource transitions, copies, etc. Avoid using this in hot path, or at all, if you could - which is usually the case. This has only been sparingly used in Examples so far.

Constructor & Destructor Documentation

◆ ImmediateContext()

Foundation::RenderCore::ImmediateContext::ImmediateContext ( RHIDeviceQueueType  type,
RHIDevice device 
)

Member Function Documentation

◆ Get()

RHICommandList * Foundation::RenderCore::ImmediateContext::Get ( ) const
inline

◆ operator->()

RHICommandList * Foundation::RenderCore::ImmediateContext::operator-> ( )
inline

◆ Submit()

void Foundation::RenderCore::ImmediateContext::Submit ( RHIDeviceFence completionFence = nullptr)

◆ WaitIdle()

void Foundation::RenderCore::ImmediateContext::WaitIdle ( )

Member Data Documentation

◆ mCommandList

RHICommandPoolScopedHandle<RHICommandList> Foundation::RenderCore::ImmediateContext::mCommandList
private

◆ mCommandPool

RHIDeviceScopedHandle<RHICommandPool> Foundation::RenderCore::ImmediateContext::mCommandPool
private

◆ mDevice

RHIDevice* const Foundation::RenderCore::ImmediateContext::mDevice
private

◆ mQueue

RHIDeviceQueue* Foundation::RenderCore::ImmediateContext::mQueue
private

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