90#if RHI_USE_SYNC_POINT_DEBUG_NAME
109 checkf(GraphEvent,
TEXT(
"This sync point was not created with a CPU event. Cannot check completion on the CPU."));
117 checkf(GraphEvent,
TEXT(
"This sync point was not created with a CPU event."));
123 return GraphEvent !=
nullptr
128 void*
operator new(
size_t Size)
140 void operator delete(
void* Pointer)
142 MemoryPool.
Push(Pointer);
147#if RHI_USE_SYNC_POINT_DEBUG_NAME
150 return TEXT(
"SyncPointBusyWait");
156#if RHI_USE_SYNC_POINT_DEBUG_NAME
157 const TCHAR* DebugName =
nullptr;
261#if WITH_RHI_BREADCRUMBS
266#if RHI_NEW_GPU_PROFILER
298 #if RHI_NEW_GPU_PROFILER
308#include COMPILED_PLATFORM_HEADER(D3D12Submission.h)
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define check(expr)
Definition AssertionMacros.h:314
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ED3D12QueueType
Definition D3D12Queue.h:11
ED3D12SyncPointType
Definition D3D12Submission.h:30
#define LLM_SCOPE_BYNAME(...)
Definition LowLevelMemTracker.h:1098
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Size
Definition VulkanMemory.cpp:4034
Definition TaskGraphInterfaces.h:471
static FGraphEventRef CreateGraphEvent()
Definition TaskGraphInterfaces.h:743
bool IsComplete() const
Definition TaskGraphInterfaces.h:529
Definition D3D12Resources.h:1017
Definition D3D12CommandList.h:36
Definition D3D12CommandList.h:63
Definition D3D12RHIPrivate.h:160
Definition D3D12Query.h:49
Definition D3D12Device.h:104
Definition D3D12Resources.h:181
Definition D3D12Submission.h:76
static FD3D12SyncPointRef Create(ED3D12SyncPointType Type, const TCHAR *InDebugName)
Definition D3D12Submission.h:101
ED3D12SyncPointType GetType() const
Definition D3D12Submission.h:121
bool IsComplete() const
Definition D3D12Submission.h:107
void Wait() const
Definition D3D12Submission.cpp:976
FGraphEvent * GetGraphEvent() const
Definition D3D12Submission.h:115
const TCHAR * GetDebugName() const
Definition D3D12Submission.h:145
Definition D3D12Device.h:70
Definition RefCounting.h:283
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition AndroidPlatformMisc.h:14
void Push(T *NewItem)
Definition LockFreeList.h:849
T * Pop()
Definition LockFreeList.h:858
Definition LockFreeList.h:904
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition GPUProfiler.h:310
U16 Index
Definition radfft.cpp:71
Definition D3D12Submission.h:169
TArray< FD3D12QueryLocation > OcclusionQueries
Definition D3D12Submission.h:171
bool IsEmpty() const
Definition D3D12Submission.h:175
TArray< FD3D12QueryLocation > PipelineStatsQueries
Definition D3D12Submission.h:172
TArray< FD3D12QueryLocation > TimestampQueries
Definition D3D12Submission.h:170
TMap< TRefCountPtr< FD3D12QueryHeap >, TArray< FD3D12QueryRange > > QueryRanges
Definition D3D12Submission.h:173
Definition D3D12Submission.h:163
FD3D12Resource * Resource
Definition D3D12Submission.h:164
uint64 CommitSizeInBytes
Definition D3D12Submission.h:165
Definition D3D12Submission.h:42
TRefCountPtr< ID3D12Fence > D3DFence
Definition D3D12Submission.h:44
bool bInterruptAwaited
Definition D3D12Submission.h:47
FD3D12Fence(FD3D12Queue *OwnerQueue)
Definition D3D12Submission.h:49
uint64 NextCompletionValue
Definition D3D12Submission.h:45
FD3D12Queue *const OwnerQueue
Definition D3D12Submission.h:43
std::atomic< uint64 > LastSignaledValue
Definition D3D12Submission.h:46
Definition D3D12Submission.h:188
virtual ~FD3D12PayloadBaseFixLayout()=default
Definition D3D12Submission.h:197
uint64 Value
Definition D3D12Submission.h:202
FManualFence(TRefCountPtr< ID3D12Fence > &&Fence, uint64 Value)
Definition D3D12Submission.h:205
TRefCountPtr< ID3D12Fence > Fence
Definition D3D12Submission.h:199
Definition D3D12Submission.h:224
FD3D12Fence & Fence
Definition D3D12Submission.h:225
uint64 Value
Definition D3D12Submission.h:226
Definition D3D12Submission.h:194
TArray< FD3D12SyncPointRef > SyncPointsToSignal
Definition D3D12Submission.h:248
virtual bool HasUpdateReservedResourcesWork() const
Definition D3D12Submission.h:290
FGraphEventRef SubmissionEvent
Definition D3D12Submission.h:251
TArray< FManualFence > ManualFencesToWait
Definition D3D12Submission.h:229
TArray< FQueueFence, TInlineAllocator< GD3D12MaxNumQueues > > QueueFencesToWait
Definition D3D12Submission.h:228
TArray< FD3D12CommandList * > CommandListsToExecute
Definition D3D12Submission.h:244
virtual bool HasPreExecuteWork() const
Definition D3D12Submission.h:275
TOptional< uint64 > SubmissionTime
Definition D3D12Submission.h:252
std::atomic< bool > bSubmitted
Definition D3D12Submission.h:238
TArray< FD3D12CommandAllocator * > AllocatorsToRelease
Definition D3D12Submission.h:257
virtual bool HasWaitWork() const
Definition D3D12Submission.h:285
virtual bool RequiresQueueFenceSignal() const
Definition D3D12Submission.h:280
virtual bool HasSignalWork() const
Definition D3D12Submission.h:295
TOptional< FD3D12Timing * > Timing
Definition D3D12Submission.h:254
bool bAlwaysSignal
Definition D3D12Submission.h:237
virtual void PreExecute()
Definition D3D12Submission.cpp:1347
void AddQueueFenceWait(FD3D12Fence &Fence, uint64 Value)
Definition D3D12Submission.cpp:958
virtual ~FD3D12PayloadBase()
Definition D3D12Submission.cpp:1339
TArray< FManualFence > ManualFencesToSignal
Definition D3D12Submission.h:247
FD3D12Queue & Queue
Definition D3D12Submission.h:212
TFunction< void(ID3D12CommandQueue *)> PreExecuteCallback
Definition D3D12Submission.h:241
FD3D12BatchedPayloadObjects BatchedObjects
Definition D3D12Submission.h:259
TArray< FD3D12CommitReservedResourceDesc > ReservedResourcesToCommit
Definition D3D12Submission.h:234
uint64 CompletionFenceValue
Definition D3D12Submission.h:249
Definition D3D12Submission.h:56
FD3D12Fence & Fence
Definition D3D12Submission.h:57
uint64 Value
Definition D3D12Submission.h:58
FD3D12ResolvedFence(FD3D12Fence &Fence, uint64 Value)
Definition D3D12Submission.h:60
Definition Optional.h:131