UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FD3D12ContextCommon Class Reference

#include <D3D12CommandContext.h>

+ Inheritance diagram for FD3D12ContextCommon:

Public Types

enum class  EClearStateMode { TransientOnly , All }
 

Public Member Functions

virtual ~FD3D12ContextCommon ()=default
 
virtual void ClearState (EClearStateMode ClearStateMode=EClearStateMode::All)
 
virtual void ConditionalClearShaderResource (FD3D12ResourceLocation *Resource, EShaderParameterTypeMask ShaderParameterTypeMask)
 
void SignalSyncPoint (FD3D12SyncPoint *SyncPoint)
 
void WaitSyncPoint (FD3D12SyncPoint *SyncPoint)
 
void SignalManualFence (ID3D12Fence *Fence, uint64 Value)
 
void WaitManualFence (ID3D12Fence *Fence, uint64 Value)
 
FD3D12QueryLocation InsertTimestamp (ED3D12Units Units, uint64 *Target)
 
FD3D12QueryLocation AllocateQuery (ED3D12QueryType Type, void *Target)
 
void SetReservedBufferCommitSize (FD3D12Buffer *Buffer, uint64 CommitSizeInBytes)
 
virtual void Finalize (TArray< FD3D12Payload * > &OutPayloads)
 
bool IsAsyncComputeContext () const
 
ERHIPipeline GetRHIPipeline () const
 
bool IsDefaultContext () const
 
bool IsOpen () const
 
bool IsPendingCommands () const
 
FD3D12SyncPointGetContextSyncPoint ()
 
void BindDiagnosticBuffer (FD3D12RootSignature const *RootSignature, ED3D12PipelineType PipelineType)
 
FD3D12QueryAllocatorGetTimestampQueries ()
 
void BeginRecursiveCommand ()
 
FD3D12CommandListGetCommandList ()
 
void OpenIfNotAlready ()
 
void FlushCommands (ED3D12FlushFlags FlushFlags=ED3D12FlushFlags::None)
 
void ConditionalSplitCommandList ()
 
auto BaseCommandList ()
 
auto CopyCommandList ()
 
auto GraphicsCommandList ()
 
void BeginQuery (FD3D12QueryLocation const &Location)
 
void EndQuery (FD3D12QueryLocation const &Location)
 
void UpdateResidency (const FD3D12Resource *Resource)
 
void AddGlobalBarrier (ED3D12Access InD3D12AccessBefore, ED3D12Access InD3D12AccessAfter)
 
void AddBarrier (const FD3D12Resource *pResource, ED3D12Access InD3D12AccessBefore, ED3D12Access InD3D12AccessAfter, uint32 Subresource)
 
void FlushResourceBarriers ()
 

Public Attributes

FD3D12Device *const Device
 
ED3D12QueueType const QueueType
 
bool const bIsDefaultContext
 
struct { 
 
   TArray< FD3D12SyncPointRef >   ToWait 
 
   TArray< FD3D12SyncPointRef >   ToSignal 
 
BatchedSyncPoints 
 

Protected Types

enum class  EMarkerType { In , Out }
 
enum class  EPhase { Wait , UpdateReservedResources , Execute , Signal }
 

Protected Member Functions

 FD3D12ContextCommon (FD3D12Device *Device, ED3D12QueueType QueueType, bool bIsDefaultContext)
 
virtual void OpenCommandList ()
 
virtual void CloseCommandList ()
 
void WriteMarker (D3D12_GPU_VIRTUAL_ADDRESS Address, uint32 Value, EMarkerType Type)
 
FD3D12PayloadGetPayload (EPhase Phase)
 
void NewPayload ()
 

Protected Attributes

enum FD3D12ContextCommon::EPhase CurrentPhase = EPhase::Wait
 
uint32 ActiveQueries = 0
 
const TUniquePtr< FD3D12BarriersFactory::BarriersForContextTypeBarriers
 

Friends

class FScopedResourceBarrier
 

Member Enumeration Documentation

◆ EClearStateMode

Enumerator
TransientOnly 
All 

◆ EMarkerType

enum class FD3D12ContextCommon::EMarkerType
strongprotected
Enumerator
In 
Out 

◆ EPhase

enum class FD3D12ContextCommon::EPhase
strongprotected
Enumerator
Wait 
UpdateReservedResources 
Execute 
Signal 

Constructor & Destructor Documentation

◆ FD3D12ContextCommon()

FD3D12ContextCommon::FD3D12ContextCommon ( FD3D12Device Device,
ED3D12QueueType  QueueType,
bool  bIsDefaultContext 
)
protected

◆ ~FD3D12ContextCommon()

virtual FD3D12ContextCommon::~FD3D12ContextCommon ( )
virtualdefault

Member Function Documentation

◆ AddBarrier()

void FD3D12ContextCommon::AddBarrier ( const FD3D12Resource pResource,
ED3D12Access  InD3D12AccessBefore,
ED3D12Access  InD3D12AccessAfter,
uint32  Subresource 
)

◆ AddGlobalBarrier()

void FD3D12ContextCommon::AddGlobalBarrier ( ED3D12Access  InD3D12AccessBefore,
ED3D12Access  InD3D12AccessAfter 
)

◆ AllocateQuery()

FD3D12QueryLocation FD3D12ContextCommon::AllocateQuery ( ED3D12QueryType  Type,
void Target 
)

◆ BaseCommandList()

auto FD3D12ContextCommon::BaseCommandList ( )
inline

◆ BeginQuery()

void FD3D12ContextCommon::BeginQuery ( FD3D12QueryLocation const &  Location)
inline

◆ BeginRecursiveCommand()

void FD3D12ContextCommon::BeginRecursiveCommand ( )
inline

◆ BindDiagnosticBuffer()

void FD3D12ContextCommon::BindDiagnosticBuffer ( FD3D12RootSignature const *  RootSignature,
ED3D12PipelineType  PipelineType 
)

◆ ClearState()

virtual void FD3D12ContextCommon::ClearState ( EClearStateMode  ClearStateMode = EClearStateMode::All)
inlinevirtual

Reimplemented in FD3D12CommandContext.

◆ CloseCommandList()

void FD3D12ContextCommon::CloseCommandList ( )
protectedvirtual

Reimplemented in FD3D12CommandContext.

◆ ConditionalClearShaderResource()

virtual void FD3D12ContextCommon::ConditionalClearShaderResource ( FD3D12ResourceLocation Resource,
EShaderParameterTypeMask  ShaderParameterTypeMask 
)
inlinevirtual

Reimplemented in FD3D12CommandContext.

◆ ConditionalSplitCommandList()

void FD3D12ContextCommon::ConditionalSplitCommandList ( )

◆ CopyCommandList()

auto FD3D12ContextCommon::CopyCommandList ( )
inline

◆ EndQuery()

void FD3D12ContextCommon::EndQuery ( FD3D12QueryLocation const &  Location)
inline

◆ Finalize()

void FD3D12ContextCommon::Finalize ( TArray< FD3D12Payload * > &  OutPayloads)
virtual

Reimplemented in FD3D12CommandContext.

◆ FlushCommands()

void FD3D12ContextCommon::FlushCommands ( ED3D12FlushFlags  FlushFlags = ED3D12FlushFlags::None)

◆ FlushResourceBarriers()

void FD3D12ContextCommon::FlushResourceBarriers ( )

◆ GetCommandList()

FD3D12CommandList & FD3D12ContextCommon::GetCommandList ( )
inline

◆ GetContextSyncPoint()

FD3D12SyncPoint * FD3D12ContextCommon::GetContextSyncPoint ( )
inline

◆ GetPayload()

FD3D12Payload * FD3D12ContextCommon::GetPayload ( EPhase  Phase)
inlineprotected

◆ GetRHIPipeline()

ERHIPipeline FD3D12ContextCommon::GetRHIPipeline ( ) const

◆ GetTimestampQueries()

FD3D12QueryAllocator & FD3D12ContextCommon::GetTimestampQueries ( )
inline

◆ GraphicsCommandList()

auto FD3D12ContextCommon::GraphicsCommandList ( )
inline

◆ InsertTimestamp()

FD3D12QueryLocation FD3D12ContextCommon::InsertTimestamp ( ED3D12Units  Units,
uint64 Target 
)

◆ IsAsyncComputeContext()

bool FD3D12ContextCommon::IsAsyncComputeContext ( ) const
inline

◆ IsDefaultContext()

bool FD3D12ContextCommon::IsDefaultContext ( ) const
inline

◆ IsOpen()

bool FD3D12ContextCommon::IsOpen ( ) const
inline

◆ IsPendingCommands()

bool FD3D12ContextCommon::IsPendingCommands ( ) const
inline

◆ NewPayload()

void FD3D12ContextCommon::NewPayload ( )
protected

◆ OpenCommandList()

void FD3D12ContextCommon::OpenCommandList ( )
protectedvirtual

Reimplemented in FD3D12CommandContext.

◆ OpenIfNotAlready()

void FD3D12ContextCommon::OpenIfNotAlready ( )
inline

◆ SetReservedBufferCommitSize()

void FD3D12ContextCommon::SetReservedBufferCommitSize ( FD3D12Buffer Buffer,
uint64  CommitSizeInBytes 
)

◆ SignalManualFence()

void FD3D12ContextCommon::SignalManualFence ( ID3D12Fence Fence,
uint64  Value 
)

◆ SignalSyncPoint()

void FD3D12ContextCommon::SignalSyncPoint ( FD3D12SyncPoint SyncPoint)

◆ UpdateResidency()

void FD3D12ContextCommon::UpdateResidency ( const FD3D12Resource Resource)
inline

◆ WaitManualFence()

void FD3D12ContextCommon::WaitManualFence ( ID3D12Fence Fence,
uint64  Value 
)

◆ WaitSyncPoint()

void FD3D12ContextCommon::WaitSyncPoint ( FD3D12SyncPoint SyncPoint)

◆ WriteMarker()

void FD3D12ContextCommon::WriteMarker ( D3D12_GPU_VIRTUAL_ADDRESS  Address,
uint32  Value,
EMarkerType  Type 
)
protected

Friends And Related Symbol Documentation

◆ FScopedResourceBarrier

Member Data Documentation

◆ ActiveQueries

uint32 FD3D12ContextCommon::ActiveQueries = 0
protected

◆ Barriers

const TUniquePtr<FD3D12BarriersFactory::BarriersForContextType> FD3D12ContextCommon::Barriers
protected

◆ [struct]

struct { ... } FD3D12ContextCommon::BatchedSyncPoints

◆ bIsDefaultContext

bool const FD3D12ContextCommon::bIsDefaultContext

◆ CurrentPhase

enum FD3D12ContextCommon::EPhase FD3D12ContextCommon::CurrentPhase = EPhase::Wait
protected

◆ Device

FD3D12Device* const FD3D12ContextCommon::Device

◆ QueueType

ED3D12QueueType const FD3D12ContextCommon::QueueType

◆ ToSignal

TArray<FD3D12SyncPointRef> FD3D12ContextCommon::ToSignal

◆ ToWait

TArray<FD3D12SyncPointRef> FD3D12ContextCommon::ToWait

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