UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMetalPayload Struct Reference

#include <MetalSubmission.h>

+ Inheritance diagram for FMetalPayload:

Classes

struct  FQueueFence
 

Public Member Functions

void AddQueueFenceWait (FMetalSignalEvent &Fence, uint64 Value)
 
virtual ~FMetalPayload ()
 
virtual void PreExecute ()
 
virtual bool HasPreExecuteWork () const
 
virtual bool RequiresQueueFenceSignal () const
 
virtual bool HasWaitWork () const
 
virtual bool HasSignalWork () const
 
- Public Member Functions inherited from FMetalPayloadBaseFixLayout
virtual ~FMetalPayloadBaseFixLayout ()=default
 

Public Attributes

friend FMetalDynamicRHI
 
friend FMetalCommandQueue
 
friend FMetalRHICommandContext
 
FMetalCommandQueueQueue
 
int32 Index = 0
 
 SyncPointsToWait
 
TArray< FQueueFence, TInlineAllocator< GMetalMaxNumQueues > > QueueFencesToWait
 
bool bAlwaysSignal = false
 
std::atomic< boolbSubmitted { false }
 
TFunction< void(MTL::CommandQueue *)> PreExecuteCallback
 
TArray< FMetalCommandBuffer * > CommandBuffersToExecute
 
FMetalCommandBufferSignalCommandBuffer = nullptr
 
TArray< FMetalSyncPointRefSyncPointsToSignal
 
uint64 CompletionFenceValue = 0
 
FGraphEventRef SubmissionEvent
 
TOptional< uint64SubmissionTime
 
FMetalBatchedPayloadObjects BatchedObjects
 
TMap< FMetalEventNode *, TArray< FMetalCounterSamplePtr > > EventSampleCounters
 

Protected Member Functions

 FMetalPayload (FMetalCommandQueue &)
 

Constructor & Destructor Documentation

◆ ~FMetalPayload()

FMetalPayload::~FMetalPayload ( )
virtual

◆ FMetalPayload()

FMetalPayload::FMetalPayload ( FMetalCommandQueue Queue)
protected

Member Function Documentation

◆ AddQueueFenceWait()

void FMetalPayload::AddQueueFenceWait ( FMetalSignalEvent Fence,
uint64  Value 
)

◆ HasPreExecuteWork()

virtual bool FMetalPayload::HasPreExecuteWork ( ) const
inlinevirtual

◆ HasSignalWork()

virtual bool FMetalPayload::HasSignalWork ( ) const
inlinevirtual

◆ HasWaitWork()

virtual bool FMetalPayload::HasWaitWork ( ) const
inlinevirtual

◆ PreExecute()

void FMetalPayload::PreExecute ( )
virtual

◆ RequiresQueueFenceSignal()

virtual bool FMetalPayload::RequiresQueueFenceSignal ( ) const
inlinevirtual

Member Data Documentation

◆ bAlwaysSignal

bool FMetalPayload::bAlwaysSignal = false

◆ BatchedObjects

FMetalBatchedPayloadObjects FMetalPayload::BatchedObjects

◆ bSubmitted

std::atomic<bool> FMetalPayload::bSubmitted { false }

◆ CommandBuffersToExecute

TArray<FMetalCommandBuffer*> FMetalPayload::CommandBuffersToExecute

◆ CompletionFenceValue

uint64 FMetalPayload::CompletionFenceValue = 0

◆ EventSampleCounters

TMap<FMetalEventNode*, TArray<FMetalCounterSamplePtr> > FMetalPayload::EventSampleCounters

◆ FMetalCommandQueue

friend FMetalPayload::FMetalCommandQueue

◆ FMetalDynamicRHI

friend FMetalPayload::FMetalDynamicRHI

◆ FMetalRHICommandContext

friend FMetalPayload::FMetalRHICommandContext

◆ Index

int32 FMetalPayload::Index = 0

◆ PreExecuteCallback

TFunction<void(MTL::CommandQueue*)> FMetalPayload::PreExecuteCallback

◆ Queue

FMetalCommandQueue& FMetalPayload::Queue

◆ QueueFencesToWait

TArray<FQueueFence, TInlineAllocator<GMetalMaxNumQueues> > FMetalPayload::QueueFencesToWait

◆ SignalCommandBuffer

FMetalCommandBuffer* FMetalPayload::SignalCommandBuffer = nullptr

◆ SubmissionEvent

FGraphEventRef FMetalPayload::SubmissionEvent

◆ SubmissionTime

TOptional<uint64> FMetalPayload::SubmissionTime

◆ SyncPointsToSignal

TArray<FMetalSyncPointRef> FMetalPayload::SyncPointsToSignal

◆ SyncPointsToWait

FMetalPayload::SyncPointsToWait

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