55#define RHICOMMAND_CALLSTACK 0
56#if RHICOMMAND_CALLSTACK
57#include "HAL/PlatformStackwalk.h"
90#define RHISTAT(Method) DECLARE_SCOPE_CYCLE_COUNTER(TEXT(#Method), STAT_RHI##Method, STATGROUP_RHI_COMMANDS)
92#define RHISTAT(Method)
95#if !defined(RHI_EXECUTE_API)
96#define RHI_EXECUTE_API RHI_API
320 check(Parms.RHIBuffer != RHIBuffer);
337 check(!
"Mismatched RHI buffer locks.");
342#ifdef CONTINUABLE_PSO_VERIFY
343#define PSO_VERIFY ensure
345#define PSO_VERIFY check
354template <
typename RHICmdListType,
typename LAMBDA>
358#if CPUPROFILERTRACE_ENABLED
377template <
typename RHICmdListType,
typename LAMBDA>
393template <
typename RHICmdListType,
typename LAMBDA>
397#if CPUPROFILERTRACE_ENABLED
414#define ALLOC_COMMAND(...) new ( AllocCommand(sizeof(__VA_ARGS__), alignof(__VA_ARGS__)) ) __VA_ARGS__
415#define ALLOC_COMMAND_CL(RHICmdList, ...) new ( (RHICmdList).AllocCommand(sizeof(__VA_ARGS__), alignof(__VA_ARGS__)) ) __VA_ARGS__
418#define CAN_TOGGLE_COMMAND_LIST_BYPASS (!UE_BUILD_SHIPPING && !UE_BUILD_TEST)
427 bool bFenceRequested =
false;
437 bool bPipelineSet =
false;
447 bool bAllowExtraTransitions =
false;
529 void* NewData =
Alloc(AllocSize, Alignment);
534 template <
typename T>
537 return (T*)
Alloc(
sizeof(T),
alignof(T));
540 template <
typename T>
546 template <
typename T>
578 template <
typename TCmd>
584 template <
typename LAMBDA>
597 template <
typename LAMBDA>
609 template <
typename LAMBDA>
689 checkf(
GraphicsContext,
TEXT(
"There is no active graphics context on this command list. There may be a missing call to SwitchPipeline()."));
696 checkf(
ComputeContext,
TEXT(
"There is no active compute context on this command list. There may be a missing call to SwitchPipeline()."));
709 inline bool Bypass()
const;
749 checkf(
IsTopOfPipe() ||
Bypass(),
TEXT(
"Buffers may only be locked while recording RHI command lists, not during RHI command list execution."));
757 checkf(
IsTopOfPipe() ||
Bypass(),
TEXT(
"Buffers may only be unlocked while recording RHI command lists, not during RHI command list execution."));
763#if ENABLE_LOW_LEVEL_MEM_TRACKER || UE_MEMORY_TRACE_ENABLED
779 checkf(
IsTopOfPipe() ||
Bypass(),
TEXT(
"Buffers may only be locked while recording RHI command lists, not during RHI command list execution."));
786 checkf(
IsTopOfPipe() ||
Bypass(),
TEXT(
"Buffers may only be unlocked while recording RHI command lists, not during RHI command list execution."));
802 if (CreateDesc.
Size == 0 && !CreateDesc.
IsNull())
804 InvalidBufferFatalError(CreateDesc);
815 UE_DEPRECATED(5.6,
"CreateBuffer without FRHIBufferCreateDesc is deprecated")
828 UE_DEPRECATED(5.6,
"CreateBuffer without FRHIBufferCreateDesc is deprecated")
831 if (CreateInfo.bWithoutNativeResource)
843 if (CreateInfo.ResourceArray)
851 UE_DEPRECATED(5.6,
"CreateBuffer without FRHIBufferCreateDesc is deprecated")
857 UE_DEPRECATED(5.6,
"CreateBuffer without FRHIBufferCreateDesc is deprecated")
864 UE_DEPRECATED(5.6,
"CreateBuffer without FRHIBufferCreateDesc is deprecated")
870 UE_DEPRECATED(5.6,
"CreateBuffer without FRHIBufferCreateDesc is deprecated")
877 UE_DEPRECATED(5.6,
"CreateBuffer without FRHIBufferCreateDesc is deprecated")
883 UE_DEPRECATED(5.6,
"CreateBuffer without FRHIBufferCreateDesc is deprecated")
984 checkf(
Texture->GetTextureReference() ==
nullptr,
TEXT(
"Creating a shader resource view of an FRHITextureReference is not supported."));
998 checkf(
Texture->GetTextureReference() ==
nullptr,
TEXT(
"Creating an unordered access view of an FRHITextureReference is not supported."));
1008 UE_DEPRECATED(5.6,
"Use the CreateUnorderedAccessView function that takes an FRHIViewDesc.")
1012 .SetTypeFromBuffer(
Buffer)
1014 .SetAppendBuffer(bAppendBuffer)
1018 UE_DEPRECATED(5.6,
"Use the CreateUnorderedAccessView function that takes an FRHIViewDesc.")
1037 UE_DEPRECATED(5.6,
"Use the CreateUnorderedAccessView function that takes an FRHIViewDesc.")
1040 check(MipLevel < 256);
1043 .SetDimensionFromTexture(
Texture)
1044 .SetMipLevel(
uint8(MipLevel))
1045 .SetArrayRange(FirstArraySlice, NumArraySlices)
1049 UE_DEPRECATED(5.6,
"Use the CreateUnorderedAccessView function that takes an FRHIViewDesc.")
1052 check(MipLevel < 256);
1055 .SetDimensionFromTexture(
Texture)
1056 .SetMipLevel(
uint8(MipLevel))
1058 .SetArrayRange(FirstArraySlice, NumArraySlices)
1062 UE_DEPRECATED(5.6,
"Use the CreateShaderResourceView function that takes an FRHIViewDesc.")
1066 .SetTypeFromBuffer(
Buffer));
1068 TEXT(
"Typed buffer should be created using CreateShaderResourceView where Format is specified."));
1072 UE_DEPRECATED(5.6,
"Use the CreateShaderResourceView function that takes an FRHIViewDesc.")
1094 UE_DEPRECATED(5.6,
"Use the CreateShaderResourceView function that takes an FRHIViewDesc.")
1098 .SetDimensionFromTexture(
Texture)
1099 .SetFormat (CreateInfo.Format)
1100 .
SetMipRange (CreateInfo.MipLevel, CreateInfo.NumMipLevels)
1102 .
SetArrayRange (CreateInfo.FirstArraySlice, CreateInfo.NumArraySlices)
1107 UE_DEPRECATED(5.6,
"Use the CreateShaderResourceView function that takes an FRHIViewDesc.")
1111 .SetDimensionFromTexture(
Texture)
1112 .SetMipRange(MipLevel, 1)
1116 UE_DEPRECATED(5.6,
"Use the CreateShaderResourceView function that takes an FRHIViewDesc.")
1120 .SetDimensionFromTexture(
Texture)
1121 .SetMipRange(MipLevel, NumMipLevels)
1126 UE_DEPRECATED(5.6,
"Use the CreateShaderResourceView function that takes an FRHIViewDesc.")
1130 .SetDimensionFromTexture(Texture2DRHI)
1135 UE_DEPRECATED(5.6,
"Use the CreateShaderResourceView function that takes an FRHIViewDesc.")
1139 .SetDimensionFromTexture(Texture2DRHI)
1194 if (!ScratchShaderParameters)
1201 ScratchShaderParameters->
Reset();
1204 return *ScratchShaderParameters;
1269#if RHI_VALIDATE_BATCHED_SHADER_PARAMETERS
1276#if RHI_VALIDATE_BATCHED_SHADER_PARAMETERS
1279 if (Dispatch.IsValid())
1393 RHS.AllocatorsRoot =
nullptr;
1394 RHS.ScratchShaderParameters =
nullptr;
1407 Node->~FRHIBatchedShaderParametersAllocator();
1416#if WITH_RHI_BREADCRUMBS
1483#if WITH_RHI_BREADCRUMBS
1514#if WITH_RHI_BREADCRUMBS
1574 template <
typename RHICmdListType,
typename LAMBDA>
1577#if WITH_RHI_BREADCRUMBS
1578 friend bool IRHIComputeContext::ShouldEmitBreadcrumbs()
const;
1582#if WITH_RHI_BREADCRUMBS
1587inline bool IRHIComputeContext::ShouldEmitBreadcrumbs()
const
1589#if WITH_RHI_BREADCRUMBS_FULL
1602template<
typename TCmd,
typename NameType = FUnnamedRhiCommand>
1605#if RHICOMMAND_CALLSTACK
1625#define FRHICOMMAND_UNNAMED(CommandName) \
1626 struct CommandName final : public FRHICommand<CommandName, FUnnamedRhiCommand>
1628#define FRHICOMMAND_UNNAMED_TPL(TemplateType, CommandName) \
1629 template<typename TemplateType> \
1630 struct CommandName final : public FRHICommand<CommandName<TemplateType>, FUnnamedRhiCommand>
1632#define FRHICOMMAND_MACRO(CommandName) \
1633 struct PREPROCESSOR_JOIN(CommandName##String, __LINE__) \
1635 static const TCHAR* TStr() { return TEXT(#CommandName); } \
1637 struct CommandName final : public FRHICommand<CommandName, PREPROCESSOR_JOIN(CommandName##String, __LINE__)>
1639#define FRHICOMMAND_MACRO_TPL(TemplateType, CommandName) \
1640 struct PREPROCESSOR_JOIN(CommandName##String, __LINE__) \
1642 static const TCHAR* TStr() { return TEXT(#CommandName); } \
1644 template<typename TemplateType> \
1645 struct CommandName final : public FRHICommand<CommandName<TemplateType>, PREPROCESSOR_JOIN(CommandName##String, __LINE__)>
1844 int32 BaseVertexIndex;
2009#if PLATFORM_USE_FALLBACK_PSO
2027 uint32 ThreadGroupCountX;
2028 uint32 ThreadGroupCountY;
2029 uint32 ThreadGroupCountZ;
2223 uint32 ThreadGroupCountX;
2224 uint32 ThreadGroupCountY;
2225 uint32 ThreadGroupCountZ;
2496#if (RHI_NEW_GPU_PROFILER == 0)
2641 , ArgumentBuffer(
nullptr)
2653 , ArgumentBuffer(
nullptr)
2760 template <
typename LAMBDA>
2774 template <
typename LAMBDA>
2787 template <
typename LAMBDA>
2969#if WITH_PROFILEGPU && (RHI_NEW_GPU_PROFILER == 0)
2975#if WITH_PROFILEGPU && (RHI_NEW_GPU_PROFILER == 0)
2998#if WITH_PROFILEGPU && (RHI_NEW_GPU_PROFILER == 0)
3066 ensureMsgf(
Info.IsWholeResource(),
TEXT(
"The Transition method only supports whole resource transitions."));
3239#if WITH_RHI_BREADCRUMBS
3265 if (
Breadcrumb->GetParent() == FRHIBreadcrumbNode::Sentinel)
3279 ExecutingCmdList.CPUBreadcrumbState.Current =
Breadcrumb;
3310 ExecutingCmdList.CPUBreadcrumbState.Current =
Breadcrumb->GetParent();
3311 check(ExecutingCmdList.CPUBreadcrumbState.Current != FRHIBreadcrumbNode::Sentinel);
3335 auto&
State = ExecutingCmdList.GPUBreadcrumbState[
Pipeline];
3364 auto&
State = ExecutingCmdList.GPUBreadcrumbState[
Pipeline];
3367 check(
State.Current != FRHIBreadcrumbNode::Sentinel);
3370 check(
State.Latest != FRHIBreadcrumbNode::Sentinel);
3735 for (
int32 i=0; i<Params.Num(); ++i)
3768 if (Params[
Index].ReferencedGeometries.Num())
3773 if (Params[
Index].PerInstanceGeometries.Num())
3852 template <
typename LAMBDA>
3865 template <
typename LAMBDA>
3999 Command.Execute(RHICmdList);
4015 inline void SetViewport(
float MinX,
float MinY,
float MinZ,
float MaxX,
float MaxY,
float MaxZ)
4113#if PLATFORM_USE_FALLBACK_PSO
4203#if PLATFORM_SUPPORTS_VARIABLE_RATE_SHADING
4247#if (RHI_NEW_GPU_PROFILER == 0)
4284 if (
InInfo.NumOcclusionQueries)
4477 uint32 LooseParameterDataSize,
const void* LooseParameterData,
4492 if (NumUniformBuffers)
4501 if (LooseParameterDataSize)
4532 if (NumUniformBuffers)
4556 if (NumUniformBuffers)
4611#if CAN_TOGGLE_COMMAND_LIST_BYPASS
4617#if WITH_RHI_BREADCRUMBS
4635#if WITH_RHI_BREADCRUMBS
4658 UE_DEPRECATED(5.7,
"FRHICommandListImmediate::BeginDrawingViewport is deprecated. Calls to this function are unnecessary and can be removed. There is no replacement.")
4708 template <
typename LAMBDA>
4721 template <
typename LAMBDA>
4750 UE_DEPRECATED(5.6,
"FinalizeAsyncReallocateTexture2D is no longer implemented.")
4757 UE_DEPRECATED(5.6,
"CancelAsyncReallocateTexture2D is no longer implemented.")
4918 UE_DEPRECATED(5.6,
"GetGPUFrameCycles is deprecated. Use the global scope RHIGetGPUFrameCycles() function.")
4964#if !UE_BUILD_SHIPPING
5082 : RHICmdList(RHICmdList)
5083 , PreviousPipeline(RHICmdList.SwitchPipeline(
Pipeline))
5115 #define SCOPED_GPU_MASK(RHICmdList, GPUMask) FRHIScopedGPUMask PREPROCESSOR_JOIN(ScopedGPUMask, __LINE__){ RHICmdList, GPUMask }
5117 #define SCOPED_GPU_MASK(RHICmdList, GPUMask)
5125#if VALIDATE_UNIFORM_BUFFER_STATIC_BINDINGS
5132 template <
typename...
TArgs>
5141#if VALIDATE_UNIFORM_BUFFER_STATIC_BINDINGS
5149#if VALIDATE_UNIFORM_BUFFER_STATIC_BINDINGS
5150 RHI_API static void OnScopeEnter();
5151 RHI_API static void OnScopeExit();
5155#define SCOPED_UNIFORM_BUFFER_STATIC_BINDINGS(RHICmdList, UniformBuffers) FScopedUniformBufferStaticBindings PREPROCESSOR_JOIN(UniformBuffers, __LINE__){ RHICmdList, UniformBuffers }
5168template <
typename ContextType>
5171 template <
typename LAMBDA>
5184 Context.BeginRecursiveCommand();
5196 template <
typename LAMBDA>
5203 Context.BeginRecursiveCommand();
5225template <
typename ContextType>
5228 template <
typename LAMBDA>
5241 Context.BeginRecursiveCommand();
5253 template <
typename LAMBDA>
5260 Context.BeginRecursiveCommand();
5277 RenderPassInfo->Validate();
5311#if CAN_TOGGLE_COMMAND_LIST_BYPASS
5312 return bLatchedBypass;
5320#if CAN_TOGGLE_COMMAND_LIST_BYPASS
5321 return bLatchedUseParallelAlgorithms;
5349 return CompletionEvent;
5355 bool bLatchedBypass =
false;
5356 bool bLatchedUseParallelAlgorithms =
false;
5357#if WITH_RHI_BREADCRUMBS
5387 void CleanupGraphEvents()
5389 LastEvent =
nullptr;
5393 FTaskPipe DispatchPipe;
5394 FTaskPipe RHIThreadPipe;
5397 struct FTranslateState
5401#if WITH_RHI_BREADCRUMBS
5411#if WITH_RHI_BREADCRUMBS
5415 FTaskPipe TranslatePipe;
5417 bool bParallel =
false;
5418 bool bUsingSubCmdLists =
false;
5419 bool bShouldFinalize =
true;
5437 FTranslateState* CurrentTranslateJob =
nullptr;
5439 int32 MaxCommandsPerTranslate = 0;
5440 bool bAllowSingleParallelCombine =
false;
5441 bool bAllowParallelTranslate =
true;
5443#if WITH_RHI_BREADCRUMBS
5451 bool bIncludeExtendedLifetimeResources =
false;
5463 #if WITH_RHI_BREADCRUMBS
5472 } *SubmitState =
nullptr;
5482#if WITH_RHI_BREADCRUMBS
5506 bool AllowParallel()
const;
5535UE_DEPRECATED(5.7,
"RHICreateTextureReference with an implied immediate command list is deprecated")
5541UE_DEPRECATED(5.7,
"RHIUpdateTextureReference with an implied immediate command list is deprecated")
5570UE_DEPRECATED(5.6,
"RHIFinalizeAsyncReallocateTexture2D is no longer implemented.")
5576UE_DEPRECATED(5.6,
"RHICancelAsyncReallocateTexture2D is no longer implemented.")
5728UE_DEPRECATED(5.7,
"BindDebugLabelName with an implied immediate command list is deprecated")
5734UE_DEPRECATED(5.7,
"BindDebugLabelName with an implied immediate command list is deprecated")
5740UE_DEPRECATED(5.7,
"BindDebugLabelName with an implied immediate command list is deprecated")
5770#undef RHICOMMAND_CALLSTACK
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
constexpr auto MakeArrayView(OtherRangeType &&Other)
Definition ArrayView.h:873
constexpr auto MakeConstArrayView(OtherRangeType &&Other)
Definition ArrayView.h:904
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define checkfSlow(expr, format,...)
Definition AssertionMacros.h:333
#define check(expr)
Definition AssertionMacros.h:314
#define ensureMsgf( InExpression, InFormat,...)
Definition AssertionMacros.h:465
#define checkNoEntry()
Definition AssertionMacros.h:316
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define FORCEINLINE_DEBUGGABLE
Definition CoreMiscDefines.h:74
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
@ InPlace
Definition CoreMiscDefines.h:162
#define QUICK_SCOPE_CYCLE_COUNTER(Stat)
Definition Stats.h:652
#define DECLARE_STATS_GROUP(GroupDesc, GroupId, GroupCat)
Definition Stats.h:689
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define TRACE_CPUPROFILER_EVENT_SCOPE_TEXT_ON_CHANNEL(Name, Channel)
Definition CpuProfilerTrace.h:534
#define CPUPROFILERTRACE_ENABLED
Definition CpuProfilerTrace.h:19
#define TRACE_CPUPROFILER_EVENT_SCOPE_ON_CHANNEL_STR(NameStr, Channel)
Definition CpuProfilerTrace.h:525
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
#define CSV_DECLARE_CATEGORY_MODULE_EXTERN(Module_API, CategoryName)
Definition CsvProfiler.h:80
D3D12_DESCRIPTOR_HEAP_TYPE Translate(ERHIDescriptorHeapType InHeapType)
Definition D3D12Descriptors.h:19
FDynamicRHI * GDynamicRHI
Definition DynamicRHI.cpp:35
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
constexpr bool EnumHasAllFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:28
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
UE::EnumFlags::Private::TRange< EnumType > MakeFlagsRange(EnumType Flags)
Definition EnumRange.h:285
return true
Definition ExternalRpcRegistry.cpp:601
RHI_API uint32 RHIGetGPUFrameCycles(uint32 GPUIndex)
Definition GPUProfiler.cpp:2722
FORCEINLINE uint32 ToIndex(FHairStrandsTiles::ETileType Type)
Definition HairStrandsData.h:93
#define LLM_SCOPE_BYNAME(...)
Definition LowLevelMemTracker.h:1098
#define LLM_SCOPE(...)
Definition LowLevelMemTracker.h:1095
UE::Math::TIntRect< int32 > FIntRect
Definition MathFwd.h:133
ERHIAccess
Definition RHIAccess.h:11
#define RHI_BREADCRUMB_EVENT_CONDITIONAL( ...)
Definition RHIBreadcrumbs.h:1429
#define RHI_BREADCRUMB_CHECK_SHIPPING(RHICmdList_Or_RHIContext, Condition)
Definition RHIBreadcrumbs.h:1463
FTextureReferenceRHIRef RHICreateTextureReference(FRHITexture *InReferencedTexture=nullptr)
Definition RHICommandList.h:5536
FRayTracingGeometryRHIRef RHICreateRayTracingGeometry(const FRayTracingGeometryInitializer &Initializer)
Definition RHICommandList.h:5708
void * RHIGetNativeCommandBuffer()
Definition RHICommandList.h:5683
RHI_API FRHICommandListExecutor GRHICommandList
Definition RHICommandList.cpp:119
FRHIShaderLibraryRef RHICreateShaderLibrary(EShaderPlatform Platform, FString const &FilePath, FString const &Name)
Definition RHICommandList.h:5688
void RHI_API RHIResourceLifetimeReleaseRef(FRHICommandListImmediate &RHICmdList, int32 NumRefs=1)
Definition RHIResources.cpp:89
RHI_API uint32 GetRHIRayTracingPipelineStateMaxLocalBindingDataSize(FRayTracingPipelineState *)
Definition PipelineStateCache.cpp:1378
ERayTracingBindingType
Definition RHICommandList.h:281
void * RHILockTextureCubeFace(FRHITexture *Texture, uint32 FaceIndex, uint32 ArrayIndex, uint32 MipIndex, EResourceLockMode LockMode, uint32 &DestStride, bool bLockWithinMiptail)
Definition RHICommandList.h:5607
ETextureReallocationStatus RHICancelAsyncReallocateTexture2D(FRHITexture *Texture2D, bool bBlockUntilCompleted)
Definition RHICommandList.h:5577
void * RHILockStagingBuffer(FRHIStagingBuffer *StagingBuffer, uint32 Offset, uint32 Size)
Definition RHICommandList.h:5693
#define FRHICOMMAND_MACRO_TPL(TemplateType, CommandName)
Definition RHICommandList.h:1639
#define FRHICOMMAND_MACRO(CommandName)
Definition RHICommandList.h:1632
RHI_API FGraphicsPipelineState * GetGraphicsPipelineState(FRHICommandList &RHICmdList, const FGraphicsPipelineStateInitializer &Initializer, bool bVerifyUse=true)
Definition PipelineStateCache.cpp:1473
RHI_API TAutoConsoleVariable< int32 > CVarRHICmdWidth
#define ALLOC_COMMAND_CL(RHICmdList,...)
Definition RHICommandList.h:415
FTextureRHIRef RHIAsyncCreateTexture2D(uint32 SizeX, uint32 SizeY, uint8 Format, uint32 NumMips, ETextureCreateFlags Flags, ERHIAccess InResourceState, void **InitialMipData, uint32 NumInitialMips, const TCHAR *DebugName, FGraphEventRef &OutCompletionEvent)
Definition RHICommandList.h:5558
#define ALLOC_COMMAND(...)
Definition RHICommandList.h:414
bool IsRunningRHIInTaskThread()
Definition RHICommandList.h:175
RHI_API FRHIComputePipelineState * GetRHIComputePipelineState(FComputePipelineState *)
Definition PipelineStateCache.cpp:1271
bool IsRunningRHIInDedicatedThread()
Definition RHICommandList.h:167
void RHIUpdateTextureReference(FRHITextureReference *TextureRef, FRHITexture *NewTexture)
Definition RHICommandList.h:5542
RHI_API FAutoConsoleTaskPriority CPrio_SceneRenderingTask
ERHISubmitFlags
Definition RHICommandList.h:4594
void * RHIGetNativeInstance()
Definition RHICommandList.h:5678
RHI_API FRHIRayTracingPipelineState * GetRHIRayTracingPipelineState(FRayTracingPipelineState *)
Definition PipelineStateCache.cpp:1367
RHI_API FGraphicsPipelineState * FindGraphicsPipelineState(const FGraphicsPipelineStateInitializer &Initializer, bool bVerifyUse=true)
Definition PipelineStateCache.cpp:1453
void RHIVirtualTextureSetFirstMipInMemory(FRHITexture *Texture, uint32 FirstMip)
Definition RHICommandList.h:5648
void RHI_API RHIResourceLifetimeAddRef(int32 NumRefs=1)
Definition RHIResources.cpp:83
void RHIClearTextureReference(FRHITextureReference *TextureRef)
Definition RHICommandList.h:5548
FTextureRHIRef RHIAsyncReallocateTexture2D(FRHITexture *Texture2D, int32 NewMipCount, int32 NewSizeX, int32 NewSizeY, FThreadSafeCounter *RequestStatus)
Definition RHICommandList.h:5565
void RHIUnlockStagingBuffer(FRHIStagingBuffer *StagingBuffer)
Definition RHICommandList.h:5703
void * RHILockTexture2D(FRHITexture *Texture, uint32 MipIndex, EResourceLockMode LockMode, uint32 &DestStride, bool bLockWithinMiptail, bool bFlushRHIThread=true, uint64 *OutLockedByteCount=nullptr)
Definition RHICommandList.h:5583
FTextureRHIRef RHICreateTexture(const FRHITextureCreateDesc &CreateDesc)
Definition RHICommandList.h:5553
void RHIUnlockTextureCubeFace(FRHITexture *Texture, uint32 FaceIndex, uint32 ArrayIndex, uint32 MipIndex, bool bLockWithinMiptail)
Definition RHICommandList.h:5613
RHI_API FRHIWorkGraphPipelineState * GetRHIWorkGraphPipelineState(FWorkGraphPipelineState *)
Definition PipelineStateCache.cpp:1277
RHI_API ERHIAccess RHIGetDefaultResourceState(ETextureCreateFlags InUsage, bool bInHasInitialData)
Definition RHIUtilities.cpp:639
RHI_API FRHIGraphicsPipelineState * ExecuteSetGraphicsPipelineState(class FGraphicsPipelineState *GraphicsPipelineState)
Definition PipelineStateCache.cpp:4625
RHI_API FComputePipelineState * GetComputePipelineState(FRHIComputeCommandList &RHICmdList, FRHIComputeShader *ComputeShader, bool bVerifyUse=true)
Definition PipelineStateCache.cpp:1437
void RHIUnlockTexture2D(FRHITexture *Texture, uint32 MipIndex, bool bLockWithinMiptail, bool bFlushRHIThread=true)
Definition RHICommandList.h:5589
void * RHIGetNativeComputeQueue()
Definition RHICommandList.h:5673
RHI_API uint32 GRenderThreadIdle[ERenderThreadIdleTypes::Num]
Definition RHICommandList.cpp:114
ERHIThreadMode
Definition RHICommandList.h:100
void RHIUpdateTexture3D(FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion, uint32 SourceRowPitch, uint32 SourceDepthPitch, const uint8 *SourceData)
Definition RHICommandList.h:5638
RHI_API FComputePipelineState * FindComputePipelineState(FRHIComputeShader *ComputeShader, bool bVerifyUse=true)
Definition PipelineStateCache.cpp:1432
void * RHILockTexture2DArray(FRHITexture *Texture, uint32 TextureIndex, uint32 MipIndex, EResourceLockMode LockMode, uint32 &DestStride, bool bLockWithinMiptail)
Definition RHICommandList.h:5595
RHI_API FRHIComputePipelineState * ExecuteSetComputePipelineState(FComputePipelineState *ComputePipelineState)
Definition PipelineStateCache.cpp:4135
void * RHIGetNativeDevice()
Definition RHICommandList.h:5658
#define FRHICOMMAND_UNNAMED(CommandName)
Definition RHICommandList.h:1625
void RHIUpdateTexture2D(FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, const uint8 *SourceData)
Definition RHICommandList.h:5618
void RHIFlushResources()
Definition RHICommandList.h:5643
void RHIUnlockTexture2DArray(FRHITexture *Texture, uint32 TextureIndex, uint32 MipIndex, bool bLockWithinMiptail)
Definition RHICommandList.h:5601
RHI_API TOptional< ERHIThreadMode > GPendingRHIThreadMode
Definition RHICommandList.cpp:111
void * RHIGetNativePhysicalDevice()
Definition RHICommandList.h:5663
void RHIBindDebugLabelName(FRHITexture *Texture, const TCHAR *Name)
Definition RHICommandList.h:5729
#define RHI_EXECUTE_API
Definition RHICommandList.h:96
FRayTracingAccelerationStructureSize RHICalcRayTracingGeometrySize(const FRayTracingGeometryInitializer &Initializer)
Definition RHICommandList.h:5713
void RHIEndMultiUpdateTexture3D(TArray< FUpdateTexture3DData > &UpdateDataArray)
Definition RHICommandList.h:5633
RHI_API uint64 GInputLatencyTime
Definition RHICommandList.cpp:117
void RHIEndUpdateTexture3D(FUpdateTexture3DData &UpdateData)
Definition RHICommandList.h:5628
void * RHIGetNativeGraphicsQueue()
Definition RHICommandList.h:5668
FRayTracingAccelerationStructureOfflineMetadata RHIGetRayTracingGeometryOfflineMetadata(const FRayTracingGeometryOfflineDataHeader &OfflineDataHeader)
Definition RHICommandList.h:5723
void RHIVirtualTextureSetFirstMipVisible(FRHITexture *Texture, uint32 FirstMip)
Definition RHICommandList.h:5653
FORCEINLINE FRayTracingClusterOperationSize RHICalcRayTracingClusterOperationSize(const FRayTracingClusterOperationInitializer &Initializer)
Definition RHICommandList.h:5718
FUpdateTexture3DData RHIBeginUpdateTexture3D(FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion)
Definition RHICommandList.h:5623
ERayTracingLocalShaderBindingType
Definition RHICommandList.h:259
ETextureReallocationStatus RHIFinalizeAsyncReallocateTexture2D(FRHITexture *Texture2D, bool bBlockUntilCompleted)
Definition RHICommandList.h:5571
bool IsRunningRHIInSeparateThread()
Definition RHICommandList.h:159
#define TexCreate_DepthStencilTargetable
Definition RHIDefinitions.h:1194
@ SF_Amplification
Definition RHIDefinitions.h:205
@ SF_Vertex
Definition RHIDefinitions.h:203
@ SF_Mesh
Definition RHIDefinitions.h:204
@ SF_Geometry
Definition RHIDefinitions.h:207
@ SF_Pixel
Definition RHIDefinitions.h:206
#define TexCreate_RenderTargetable
Definition RHIDefinitions.h:1192
EBufferUsageFlags
Definition RHIDefinitions.h:892
ERHITransitionCreateFlags
Definition RHIDefinitions.h:1495
ECubeFace
Definition RHIDefinitions.h:525
EResourceLockMode
Definition RHIDefinitions.h:785
@ RLM_WriteOnly
Definition RHIDefinitions.h:787
@ RLM_Num
Definition RHIDefinitions.h:789
uint8 FUniformBufferStaticSlot
Definition RHIDefinitions.h:722
ESyncComputeBudget
Definition RHIDefinitions.h:1331
EVRSRateCombiner
Definition RHIDefinitions.h:873
#define BUF_ByteAddressBuffer
Definition RHIDefinitions.h:984
EAsyncComputeBudget
Definition RHIDefinitions.h:1317
ETextureReallocationStatus
Definition RHIDefinitions.h:1243
@ TexRealloc_Succeeded
Definition RHIDefinitions.h:1244
ETextureCreateFlags
Definition RHIDefinitions.h:1091
ERenderQueryType
Definition RHIDefinitions.h:258
@ RQT_AbsoluteTime
Definition RHIDefinitions.h:264
@ RQT_Occlusion
Definition RHIDefinitions.h:262
EPrimitiveType
Definition RHIDefinitions.h:822
EVRSShadingRate
Definition RHIDefinitions.h:860
FRHIGlobals GRHIGlobals
Definition RHIGlobals.cpp:6
#define GRHISupportsShaderBundleParallel
Definition RHIGlobals.h:905
#define GSupportsParallelRenderingTasksWithSeparateRHIThread
Definition RHIGlobals.h:794
constexpr bool IsSingleRHIPipeline(ERHIPipeline Pipelines)
Definition RHIPipeline.h:23
ERHIPipeline
Definition RHIPipeline.h:13
ESubpassHint
Definition RHIResources.h:4526
@ SRGBO_ForceDisable
Definition RHIResources.h:5565
ERHIBatchedShaderParameterAllocatorPageSize
Definition RHIShaderParameters.h:90
FRHIViewableResource * GetViewableResource(const FRHITransitionInfo &Info)
Definition RHITransition.cpp:9
#define ON_SCOPE_EXIT
Definition ScopeExit.h:73
CORE_API bool GIsRunningRHIInTaskThread_InternalUseOnly
Definition ThreadingBase.cpp:332
CORE_API bool GIsRunningRHIInDedicatedThread_InternalUseOnly
Definition ThreadingBase.cpp:331
CORE_API bool IsInRHIThread()
Definition ThreadingBase.cpp:339
CORE_API bool GIsRunningRHIInSeparateThread_InternalUseOnly
Definition ThreadingBase.cpp:330
CORE_API bool IsInRenderingThread()
Definition ThreadingBase.cpp:273
#define UE_TRACE_CHANNEL_EXTERN(ChannelName,...)
Definition Trace.h:448
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
FRWLock Lock
Definition UnversionedPropertySerialization.cpp:921
uint32 Offset
Definition VulkanMemory.cpp:4033
uint32 Size
Definition VulkanMemory.cpp:4034
if(Failed) console_printf("Failed.\n")
static CORE_API bool ShouldUseThreadingForPerformance()
Definition App.cpp:300
Definition TaskGraphInterfaces.h:213
ENamedThreads::Type Get(ENamedThreads::Type Thread=ENamedThreads::AnyThread)
Definition TaskGraphInterfaces.h:228
Definition PipelineStateCache.cpp:1124
virtual void RHIEndRenderQueryBatch_TopOfPipe(FRHICommandListBase &RHICmdList, ERenderQueryType QueryType)
Definition DynamicRHI.h:650
virtual void RHIUpdateResourceCollection(FRHICommandListBase &RHICmdList, FRHIResourceCollection *InResourceCollection, uint32 InStartIndex, TConstArrayView< FRHIResourceCollectionMember > InMemberUpdates)
Definition DynamicRHI.h:534
virtual FShaderResourceViewRHIRef RHICreateShaderResourceView(class FRHICommandListBase &RHICmdList, FRHIViewableResource *Resource, FRHIViewDesc const &ViewDesc)=0
virtual void * RHIGetNativeDevice()=0
virtual RHI_API void RHIVirtualTextureSetFirstMipInMemory(class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, uint32 FirstMip)
Definition DynamicRHI.cpp:569
virtual FShaderBindingTableRHIRef RHICreateShaderBindingTable(FRHICommandListBase &RHICmdList, const FRayTracingShaderBindingTableInitializer &Initializer)
Definition DynamicRHI.h:1034
virtual RHI_API void RHIBindDebugLabelName(FRHICommandListBase &RHICmdList, FRHITexture *Texture, const TCHAR *Name)
Definition DynamicRHI.cpp:900
virtual RHI_API void RHIUnlockBuffer(FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer)
Definition RHICommandList.cpp:2099
virtual void RHIBeginRenderQueryBatch_TopOfPipe(FRHICommandListBase &RHICmdList, ERenderQueryType QueryType)
Definition DynamicRHI.h:649
virtual FTextureRHIRef RHIAsyncCreateTexture2D(uint32 SizeX, uint32 SizeY, uint8 Format, uint32 NumMips, ETextureCreateFlags Flags, ERHIAccess InResourceState, void **InitialMipData, uint32 NumInitialMips, const TCHAR *DebugName, FGraphEventRef &OutCompletionEvent)=0
virtual RHI_API void RHIWriteGPUFence_TopOfPipe(FRHICommandListBase &RHICmdList, FRHIGPUFence *FenceRHI)
Definition RHICommandList.cpp:2140
virtual void RHIReadSurfaceData(FRHITexture *Texture, FIntRect Rect, TArray< FColor > &OutData, FReadSurfaceDataFlags InFlags)=0
virtual RHI_API void RHIEndUpdateTexture3D(FRHICommandListBase &RHICmdList, FUpdateTexture3DData &UpdateData)
Definition RHICommandList.cpp:2242
virtual FRHIBufferInitializer RHICreateBufferInitializer(FRHICommandListBase &RHICmdList, const FRHIBufferCreateDesc &CreateDesc)=0
virtual RHI_API void RHIVirtualTextureSetFirstMipVisible(class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, uint32 FirstMip)
Definition DynamicRHI.cpp:574
virtual void * RHIGetNativeCommandBuffer()
Definition DynamicRHI.h:849
virtual bool RHIIsRenderingSuspended()
Definition DynamicRHI.h:767
virtual void RHIReplaceResources(FRHICommandListBase &RHICmdList, TArray< FRHIResourceReplaceInfo > &&ReplaceInfos)=0
virtual FRayTracingClusterOperationSize RHICalcRayTracingClusterOperationSize(const FRayTracingClusterOperationInitializer &Initializer)
Definition DynamicRHI.h:998
virtual FRHIResourceCollectionRef RHICreateResourceCollection(FRHICommandListBase &RHICmdList, TConstArrayView< FRHIResourceCollectionMember > InMembers)
Definition DynamicRHI.h:529
virtual RHI_API void * RHILockBuffer(FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 Offset, uint32 Size, EResourceLockMode LockMode)
Definition RHICommandList.cpp:2064
virtual RHI_API FTextureReferenceRHIRef RHICreateTextureReference(FRHICommandListBase &RHICmdList, FRHITexture *InReferencedTexture)
Definition DynamicRHI.cpp:547
virtual RHI_API void RHIMapStagingSurface_RenderThread(class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, uint32 GPUIndex, FRHIGPUFence *Fence, void *&OutData, int32 &OutWidth, int32 &OutHeight)
Definition RHICommandList.cpp:2265
virtual RHI_API void UnlockStagingBuffer_RenderThread(class FRHICommandListImmediate &RHICmdList, FRHIStagingBuffer *StagingBuffer)
Definition RHICommandList.cpp:2205
virtual IRHIUploadContext * RHIGetUploadContext()
Definition DynamicRHI.h:882
virtual RHI_API void * RHILockBufferMGPU(FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 GPUIndex, uint32 Offset, uint32 Size, EResourceLockMode LockMode)
Definition DynamicRHI.cpp:823
virtual FRayTracingGeometryRHIRef RHICreateRayTracingGeometry(FRHICommandListBase &RHICmdList, const FRayTracingGeometryInitializer &Initializer)
Definition DynamicRHI.h:1010
virtual RHI_API void * LockStagingBuffer_RenderThread(class FRHICommandListImmediate &RHICmdList, FRHIStagingBuffer *StagingBuffer, FRHIGPUFence *Fence, uint32 Offset, uint32 SizeRHI)
Definition RHICommandList.cpp:2183
virtual void RHIBlockUntilGPUIdle()=0
virtual FRayTracingAccelerationStructureSize RHICalcRayTracingGeometrySize(const FRayTracingGeometryInitializer &Initializer)
Definition DynamicRHI.h:992
virtual FRHITextureInitializer RHICreateTextureInitializer(FRHICommandListBase &RHICmdList, const FRHITextureCreateDesc &CreateDesc)=0
virtual bool RHIGetTextureMemoryVisualizeData(FColor *TextureData, int32 SizeX, int32 SizeY, int32 Pitch, int32 PixelSize)=0
virtual RHI_API void RHIBeginRenderQuery_TopOfPipe(FRHICommandListBase &RHICmdList, FRHIRenderQuery *RenderQuery)
Definition RHICommandList.cpp:2150
virtual void RHIUpdateFromBufferTexture2D(FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, FRHIBuffer *Buffer, uint32 BufferOffset)
Definition DynamicRHI.h:587
virtual RHI_API void RHIReadSurfaceFloatData_RenderThread(class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, ECubeFace CubeFace, int32 ArrayIndex, int32 MipIndex)
Definition RHICommandList.cpp:2299
virtual FRHIShaderLibraryRef RHICreateShaderLibrary(EShaderPlatform Platform, FString const &FilePath, FString const &Name)
Definition DynamicRHI.h:307
virtual RHI_API FUpdateTexture3DData RHIBeginUpdateTexture3D(FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion)
Definition RHICommandList.cpp:2228
virtual RHI_API void RHIEndMultiUpdateTexture3D(FRHICommandListBase &RHICmdList, TArray< FUpdateTexture3DData > &UpdateDataArray)
Definition RHICommandList.cpp:2251
virtual void RHIRead3DSurfaceFloatData(FRHITexture *Texture, FIntRect Rect, FIntPoint ZMinMax, TArray< FFloat16Color > &OutData)=0
virtual FUnorderedAccessViewRHIRef RHICreateUnorderedAccessView(class FRHICommandListBase &RHICmdList, FRHIViewableResource *Resource, FRHIViewDesc const &ViewDesc)=0
virtual RHI_API void RHIUnmapStagingSurface_RenderThread(class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, uint32 GPUIndex)
Definition RHICommandList.cpp:2286
virtual void * RHIGetNativeInstance()=0
virtual void RHIUpdateTexture3D(FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion, uint32 SourceRowPitch, uint32 SourceDepthPitch, const uint8 *SourceData)=0
virtual FRHILockTextureResult RHILockTexture(FRHICommandListImmediate &RHICmdList, const FRHILockTextureArgs &Arguments)=0
virtual FRayTracingAccelerationStructureOfflineMetadata RHIGetRayTracingGeometryOfflineMetadata(const FRayTracingGeometryOfflineDataHeader &OfflineDataHeader)
Definition DynamicRHI.h:1004
virtual void RHISerializeAccelerationStructure(FRHICommandListImmediate &RHICmdList, FRHIRayTracingScene *Scene, const TCHAR *Path)
Definition DynamicRHI.h:1041
virtual void RHIUpdateTexture2D(FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, const uint8 *SourceData)=0
virtual void RHIUpdateUniformBuffer(FRHICommandListBase &RHICmdList, FRHIUniformBuffer *UniformBufferRHI, const void *Contents)=0
virtual RHI_API FTextureRHIRef AsyncReallocateTexture2D_RenderThread(class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture2D, int32 NewMipCount, int32 NewSizeX, int32 NewSizeY, FThreadSafeCounter *RequestStatus)
Definition RHICommandList.cpp:2220
virtual RHI_API void RHIEndRenderQuery_TopOfPipe(FRHICommandListBase &RHICmdList, FRHIRenderQuery *RenderQuery)
Definition RHICommandList.cpp:2160
virtual void RHIFlushResources()=0
virtual void * RHIGetNativeGraphicsQueue()
Definition DynamicRHI.h:825
virtual void RHIUnlockTexture(FRHICommandListImmediate &RHICmdList, const FRHILockTextureArgs &Arguments)=0
virtual void * RHIGetNativeComputeQueue()
Definition DynamicRHI.h:834
virtual RHI_API void RHIUnlockBufferMGPU(FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 GPUIndex)
Definition DynamicRHI.cpp:830
virtual void * RHIGetNativePhysicalDevice()
Definition DynamicRHI.h:815
Definition RHIResources.h:4572
ERenderTargetStoreAction DepthTargetStoreAction
Definition RHIResources.h:4767
EPixelFormat DepthStencilTargetFormat
Definition RHIResources.h:4764
uint32 RenderTargetsEnabled
Definition RHIResources.h:4761
ETextureCreateFlags DepthStencilTargetFlag
Definition RHIResources.h:4765
uint8 MultiViewCount
Definition RHIResources.h:4776
bool bHasFragmentDensityAttachment
Definition RHIResources.h:4777
ERenderTargetLoadAction StencilTargetLoadAction
Definition RHIResources.h:4768
uint8 SubpassIndex
Definition RHIResources.h:4773
ERenderTargetLoadAction DepthTargetLoadAction
Definition RHIResources.h:4766
ESubpassHint SubpassHint
Definition RHIResources.h:4772
TRenderTargetFormats RenderTargetFormats
Definition RHIResources.h:4762
FExclusiveDepthStencil DepthStencilAccess
Definition RHIResources.h:4770
TRenderTargetFlags RenderTargetFlags
Definition RHIResources.h:4763
ERenderTargetStoreAction StencilTargetStoreAction
Definition RHIResources.h:4769
uint16 NumSamples
Definition RHIResources.h:4771
Definition PipelineStateCache.cpp:1230
Definition RHIResources.h:1666
UE_FORCEINLINE_HINT bool IsEmpty() const
Definition MemStack.h:166
void * Alloc(size_t AllocSize, size_t Alignment)
Definition MemStack.h:132
Definition RHIResources.h:966
Definition RHIShaderParameters.h:96
FRHICommandListBase & RHICmdList
Definition RHIShaderParameters.h:99
FRHIBatchedShaderParametersAllocator * Next
Definition RHIShaderParameters.h:98
Definition RHIResources.h:1581
Definition RHICommandList.h:455
bool bExecuting
Definition RHICommandList.h:1354
void BindDebugLabelName(FRHITexture *Texture, const TCHAR *Name)
Definition RHICommandList.h:1175
void * LockBuffer(FRHIBuffer *Buffer, uint32 Offset, uint32 SizeRHI, EResourceLockMode LockMode)
Definition RHICommandList.h:747
TArray< FRHITexture * > PendingTextureUploads
Definition RHICommandList.h:1511
void AddPendingBufferUpload(FRHIBuffer *InBuffer)
Definition RHICommandList.h:1314
void ValidateBoundShader(FRHIComputeShader *ShaderRHI)
Definition RHICommandList.h:1247
bool bAllowExtraTransitions
Definition RHICommandList.h:1359
void BindDebugLabelName(FRHIUnorderedAccessView *UnorderedAccessViewRHI, const TCHAR *Name)
Definition RHICommandList.h:1185
bool NeedsExtraTransitions() const
Definition RHICommandList.h:1223
void ValidateBoundShader(FRHIGraphicsShader *ShaderRHI)
Definition RHICommandList.h:1252
PRAGMA_DISABLE_DEPRECATION_WARNINGS FBufferRHIRef CreateNullBuffer(ERHIAccess ResourceState, FRHIResourceCreateInfo &CreateInfo)
Definition RHICommandList.h:816
IRHIComputeContext & GetComputeContext()
Definition RHICommandList.h:693
IRHIUploadContext * UploadContext
Definition RHICommandList.h:1347
bool IsGraphics() const
Definition RHICommandList.h:663
void * AllocCopy(const void *InSourceData, int64 AllocSize, int64 Alignment)
Definition RHICommandList.h:527
FBufferRHIRef CreateBuffer(const FRHIBufferCreateDesc &CreateDesc)
Definition RHICommandList.h:800
RHI_API void TransitionInternal(TConstArrayView< FRHITransitionInfo > Infos, ERHITransitionCreateFlags CreateFlags=ERHITransitionCreateFlags::None)
Definition RHICommandList.cpp:2348
void ValidateBoundShader(FRHIPixelShader *ShaderRHI)
Definition RHICommandList.h:1245
bool SetAllowExtraTransitions(bool NewState)
Definition RHICommandList.h:1229
void UpdateTexture3D(FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion, uint32 SourceRowPitch, uint32 SourceDepthPitch, const uint8 *SourceData)
Definition RHICommandList.h:957
void * LockBufferMGPU(FRHIBuffer *Buffer, uint32 GPUIndex, uint32 Offset, uint32 SizeRHI, EResourceLockMode LockMode)
Definition RHICommandList.h:777
FRHIGPUMask GetGPUMask() const
Definition RHICommandList.h:734
bool AllowParallelTranslate() const
Definition RHICommandList.h:472
struct FRHICommandListBase::FPersistentState PersistentState
void EnqueueLambda(LAMBDA &&Lambda)
Definition RHICommandList.h:598
bool HasCommands() const
Definition RHICommandList.h:642
void UpdateFromBufferTexture2D(FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, FRHIBuffer *Buffer, uint32 BufferOffset)
Definition RHICommandList.h:947
ERHIPipeline GetPipeline() const
Definition RHICommandList.h:675
void ValidateBoundShader(FRHIVertexShader *ShaderRHI)
Definition RHICommandList.h:1244
bool IsRecursive() const
Definition RHICommandList.h:736
IRHICommandContext * GraphicsContext
Definition RHICommandList.h:1341
FShaderResourceViewRHIRef CreateShaderResourceViewFMask(FRHITexture *Texture2DRHI)
Definition RHICommandList.h:1136
void UnlockBuffer(FRHIBuffer *Buffer)
Definition RHICommandList.h:755
void * Alloc(int64 AllocSize, int64 Alignment)
Definition RHICommandList.h:522
struct FRHICommandRHIThreadFence * LastLockFenceCommand
Definition RHICommandList.h:1370
bool IsInsideRenderPass() const
Definition RHICommandList.h:738
FShaderParameterState ShaderParameterState
Definition RHICommandList.h:1413
FUnorderedAccessViewRHIRef CreateUnorderedAccessView(FRHIBuffer *Buffer, FRHIViewDesc::FBufferUAV::FInitializer const &ViewDesc)
Definition RHICommandList.h:989
void ValidateBoundShader(FRHIAmplificationShader *ShaderRHI)
Definition RHICommandList.h:1250
void RemovePendingBufferUpload(FRHIBuffer *InBuffer)
Definition RHICommandList.h:1319
FTextureRHIRef CreateTexture(const FRHITextureCreateDesc &CreateDesc)
Definition RHICommandList.h:941
bool IsBottomOfPipe() const
Definition RHICommandList.h:653
FTextureReferenceRHIRef CreateTextureReference(FRHITexture *InReferencedTexture=nullptr)
Definition RHICommandList.h:968
bool IsInsideComputePass() const
Definition RHICommandList.h:739
bool IsOutsideRenderPass() const
Definition RHICommandList.h:737
bool bUsesSetTrackedAccess
Definition RHICommandList.h:1356
FRHIBufferInitializer CreateBufferInitializer(const FRHIBufferCreateDesc &CreateDesc)
Definition RHICommandList.h:792
FRHICommandListBase(FRHICommandListBase const &)=delete
TStaticArray< void *, MAX_NUM_GPUS > & GetQueryBatchData(ERenderQueryType QueryType)
Definition RHICommandList.h:1544
void EnqueueLambdaMultiPipe(ERHIPipeline Pipelines, EThreadFence ThreadFence, const TCHAR *LambdaName, LAMBDA &&Lambda)
Definition RHICommandList.h:610
TSharedPtr< FRHIParallelRenderPassInfo > ParallelRenderPassBegin
Definition RHICommandList.h:1375
uint32 NumCommands
Definition RHICommandList.h:1353
bool bUsesShaderBundles
Definition RHICommandList.h:1357
EThreadFence
Definition RHICommandList.h:604
IRHIUploadContext & GetUploadContext()
Definition RHICommandList.h:700
RHI_API ~FRHICommandListBase()
Definition RHICommandList.cpp:153
FShaderResourceViewRHIRef CreateShaderResourceView(FRHIBuffer *Buffer, FRHIViewDesc::FBufferSRV::FInitializer const &ViewDesc)
Definition RHICommandList.h:975
FShaderResourceViewRHIRef CreateShaderResourceViewWriteMask(FRHITexture *Texture2DRHI)
Definition RHICommandList.h:1127
void EnqueueLambda(const TCHAR *LambdaName, LAMBDA &&Lambda)
Definition RHICommandList.h:585
void TransitionInternal(const FRHITransitionInfo &Info, ERHITransitionCreateFlags CreateFlags=ERHITransitionCreateFlags::None)
Definition RHICommandList.h:727
RHI_API FGraphEventRef RHIThreadFence(bool bSetLockFence=false)
Definition RHICommandList.cpp:1610
FRHICommandListImmediate & GetAsImmediate()
Definition RHICommandList.inl:21
FRHICommandListBase(FRHICommandListBase &&Other)=default
void UpdateTexture2D(FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, const uint8 *SourceData)
Definition RHICommandList.h:914
TArray< FRHIBuffer * > PendingBufferUploads
Definition RHICommandList.h:1510
bool IsExecuting() const
Definition RHICommandList.h:648
RHI_API void FinishRecording()
Definition RHICommandList.cpp:245
T * Alloc()
Definition RHICommandList.h:535
void ValidateShaderParameters(const FRHIBatchedShaderParameters &ShaderParameters)
Definition RHICommandList.h:1267
FMemStackBase & GetAllocator()
Definition RHICommandList.h:1242
void ResetSubpass(ESubpassHint SubpassHint)
Definition RHICommandList.h:1308
void * AllocCommand(int32 AllocSize, int32 Alignment)
Definition RHICommandList.h:567
TArray< FRHICommandListBase * > AttachedCmdLists
Definition RHICommandList.h:1372
void IncrementSubpass()
Definition RHICommandList.h:1303
ERHIPipeline GetPipelines() const
Definition RHICommandList.h:681
bool bAllowParallelTranslate
Definition RHICommandList.h:1355
FBufferRHIRef CreateStructuredBuffer(uint32 Stride, uint32 Size, EBufferUsageFlags Usage, ERHIAccess ResourceState, FRHIResourceCreateInfo &CreateInfo)
Definition RHICommandList.h:865
RHI_API void InsertParallelRenderPass_Base(TSharedPtr< FRHIParallelRenderPassInfo > const &InInfo, TArray< FRHISubCommandList * > &&SubCommandLists)
Definition RHICommandList.cpp:170
FRHITextureInitializer CreateTextureInitializer(const FRHITextureCreateDesc &CreateDesc)
Definition RHICommandList.h:925
RHI_API void AddDispatchPrerequisite(const FGraphEventRef &Prereq)
Definition RHICommandList.cpp:227
void CacheActiveRenderTargets(const FRHIRenderPassInfo &Info)
Definition RHICommandList.h:1287
FRHIBatchedShaderParameters & GetScratchShaderParameters()
Definition RHICommandList.h:1190
void Stats_AddDraw()
Definition RHICommandList.h:1526
void UpdateStreamSourceSlot(FRHIStreamSourceSlot *StreamSourceSlotRHI, FRHIBuffer *BufferRHI)
Definition RHICommandList.h:897
RHI_API void UpdateTextureReference(FRHITextureReference *TextureRef, FRHITexture *NewTexture)
Definition RHICommandList.cpp:2315
friend struct FRHICommandSetGPUMask
Definition RHICommandList.h:1570
FRHIContextArray Contexts
Definition RHICommandList.h:1351
bool NeedsShaderUnbinds() const
Definition RHICommandList.h:1217
bool IsSubCommandList() const
Definition RHICommandList.h:711
FRayTracingGeometryRHIRef CreateRayTracingGeometry(const FRayTracingGeometryInitializer &Initializer)
Definition RHICommandList.h:1155
bool Bypass() const
Definition RHICommandList.inl:27
void ValidateShaderBundleComputeDispatch(TConstArrayView< FRHIShaderBundleComputeDispatch > Dispatches)
Definition RHICommandList.h:1274
TSharedPtr< FRHIParallelRenderPassInfo > SubRenderPassInfo
Definition RHICommandList.h:1374
IRHICommandContext & GetContext()
Definition RHICommandList.h:686
FRHIResourceCollectionRef CreateResourceCollection(TConstArrayView< FRHIResourceCollectionMember > InMembers)
Definition RHICommandList.h:1144
FRHICommandBase * Root
Definition RHICommandList.h:1337
void ValidateBoundShader(FRHIGeometryShader *ShaderRHI)
Definition RHICommandList.h:1246
ERHIPipeline ActivePipelines
Definition RHICommandList.h:1363
FMemStackBase MemManager
Definition RHICommandList.h:457
void UpdateResourceCollection(FRHIResourceCollection *InResourceCollection, uint32 InStartIndex, TConstArrayView< FRHIResourceCollectionMember > InMemberUpdates)
Definition RHICommandList.h:1150
bool IsTopOfPipe() const
Definition RHICommandList.h:658
const TArrayView< T > AllocArray(TConstArrayView< T > InArray)
Definition RHICommandList.h:547
friend class FRHIScopedResourceBarrier
Definition RHICommandList.h:1560
const TArrayView< T > AllocArrayUninitialized(uint32 Num)
Definition RHICommandList.h:541
void Stats_AddDrawAndPrimitives(EPrimitiveType PrimitiveType, uint32 NumPrimitives)
Definition RHICommandList.h:1535
FBufferRHIRef CreateVertexBuffer(uint32 Size, EBufferUsageFlags Usage, ERHIAccess ResourceState, FRHIResourceCreateInfo &CreateInfo)
Definition RHICommandList.h:852
const int32 GetUsedMemory() const
Definition RHICommandList.cpp:222
IRHIComputeContext * ComputeContext
Definition RHICommandList.h:1344
FRHIBatchedShaderParametersAllocator * CreateBatchedShaderParameterAllocator(ERHIBatchedShaderParameterAllocatorPageSize PageSize)
Definition RHICommandList.h:1236
FRHICommandBase ** CommandLink
Definition RHICommandList.h:1338
FShaderResourceViewRHIRef CreateShaderResourceView(const FShaderResourceViewInitializer &Initializer)
Definition RHICommandList.h:1003
FUnorderedAccessViewRHIRef CreateUnorderedAccessView(FRHITexture *Texture, FRHIViewDesc::FTextureUAV::FInitializer const &ViewDesc)
Definition RHICommandList.h:995
FShaderBindingTableRHIRef CreateRayTracingShaderBindingTable(const FRayTracingShaderBindingTableInitializer &Initializer)
Definition RHICommandList.h:1160
void ReplaceResources(TArray< FRHIResourceReplaceInfo > &&ReplaceInfos)
Definition RHICommandList.h:1165
FShaderResourceViewRHIRef CreateShaderResourceView(FRHITexture *Texture, FRHIViewDesc::FTextureSRV::FInitializer const &ViewDesc)
Definition RHICommandList.h:981
void UnlockBufferMGPU(FRHIBuffer *Buffer, uint32 GPUIndex)
Definition RHICommandList.h:784
void ValidateBoundShader(FRHIWorkGraphShader *ShaderRHI)
Definition RHICommandList.h:1248
TCHAR * AllocString(const TCHAR *Name)
Definition RHICommandList.h:559
TSharedPtr< FRHIParallelRenderPassInfo > ParallelRenderPassEnd
Definition RHICommandList.h:1376
bool IsImmediate() const
Definition RHICommandList.inl:16
FRHIBatchedShaderUnbinds & GetScratchShaderUnbinds()
Definition RHICommandList.h:1207
FRHIBatchedShaderUnbinds ScratchShaderUnbinds
Definition RHICommandList.h:1414
PRAGMA_ENABLE_DEPRECATION_WARNINGS void UpdateUniformBuffer(FRHIUniformBuffer *UniformBufferRHI, const void *Contents)
Definition RHICommandList.h:891
FRHIDrawStats DrawStats
Definition RHICommandList.h:1508
void * AllocCommand()
Definition RHICommandList.h:579
bool IsAsyncCompute() const
Definition RHICommandList.h:669
FBufferRHIRef CreateIndexBuffer(uint32 Stride, uint32 Size, EBufferUsageFlags Usage, ERHIAccess ResourceState, FRHIResourceCreateInfo &CreateInfo)
Definition RHICommandList.h:878
FGraphEventRef DispatchEvent
Definition RHICommandList.h:1380
RHI_API ERHIPipeline SwitchPipeline(ERHIPipeline Pipeline)
Definition RHICommandList.cpp:510
bool bUsesLockFence
Definition RHICommandList.h:1358
void ValidateBoundShader(FRHIMeshShader *ShaderRHI)
Definition RHICommandList.h:1249
RHI_API void ActivatePipelines(ERHIPipeline Pipelines)
Definition RHICommandList.cpp:344
void BindDebugLabelName(FRHIBuffer *Buffer, const TCHAR *Name)
Definition RHICommandList.h:1180
void AddPendingTextureUpload(FRHITexture *InTexture)
Definition RHICommandList.h:1325
void RemovePendingTextureUpload(FRHITexture *InTexture)
Definition RHICommandList.h:1330
Definition RHICommandList.h:5284
void WaitForTasks()
Definition RHICommandList.h:5296
static RHI_API bool AreRHITasksActive()
Definition RHICommandList.cpp:1791
RHI_API void AddNextDispatchPrerequisite(FGraphEventRef Prereq)
Definition RHICommandList.cpp:765
FGraphEventArray WaitOutstandingTasks
Definition RHICommandList.h:5352
void CleanupGraphEvents()
Definition RHICommandList.cpp:2325
static FRHICommandListImmediate & GetImmediateCommandList()
Definition RHICommandList.h:5528
const FGraphEventRef & GetCompletionEvent() const
Definition RHICommandList.h:5347
static RHI_API void WaitOnRHIThreadFence(FGraphEventRef &Fence)
Definition RHICommandList.cpp:1797
RHI_API FGraphEventRef Submit(TConstArrayView< FRHICommandListBase * > AdditionalCommandLists, ERHISubmitFlags SubmitFlags)
Definition RHICommandList.cpp:1302
bool UseParallelAlgorithms() const
Definition RHICommandList.h:5318
RHI_API void LatchBypass()
Definition RHICommandList.cpp:1736
bool Bypass() const
Definition RHICommandList.h:5309
Definition RHICommandList.inl:73
Definition RHICommandList.h:445
~FRHICommandListScopedAllowExtraTransitions()
Definition RHICommandList.inl:156
Definition RHICommandList.h:5053
FRHICommandListScopedExtendResourceLifetime(FRHICommandListImmediate &InRHICmdList)
Definition RHICommandList.h:5055
~FRHICommandListScopedExtendResourceLifetime()
Definition RHICommandList.h:5061
Definition RHICommandList.h:423
~FRHICommandListScopedFence()
Definition RHICommandList.inl:121
Definition RHICommandList.h:5029
FRHICommandListScopedFlushAndExecute(FRHICommandListImmediate &InRHICmdList)
Definition RHICommandList.h:5033
~FRHICommandListScopedFlushAndExecute()
Definition RHICommandList.h:5040
Definition RHICommandList.h:435
~FRHICommandListScopedPipelineGuard()
Definition RHICommandList.inl:142
Definition RHICommandList.h:5076
FRHICommandListScopedPipeline(FRHICommandListBase &RHICmdList, ERHIPipeline Pipeline)
Definition RHICommandList.h:5081
~FRHICommandListScopedPipeline()
Definition RHICommandList.h:5087
Definition RHICommandList.h:5160
RHI_API ~FRHICommandList_RecursiveHazardous()
Definition RHICommandList.cpp:1696
Definition RHICommandList.h:3819
FRHIMeshShader * GetBoundMeshShader() const
Definition RHICommandList.h:3847
void OnBoundShaderChanged(const FBoundShaderStateInput &InBoundShaderStateInput)
Definition RHICommandList.h:3823
void SetRayTracingMissShaders(FRHIShaderBindingTable *SBT, FRayTracingPipelineState *Pipeline, uint32 NumBindings, const FRayTracingLocalShaderBindings *Bindings, bool bCopyDataToInlineStorage=true)
Definition RHICommandList.h:4465
void SetBindingsOnShaderBindingTable(FRHIShaderBindingTable *SBT, FRayTracingPipelineState *Pipeline, uint32 NumBindings, const FRayTracingLocalShaderBindings *Bindings, ERayTracingBindingType BindingType, bool bCopyDataToInlineStorage=true)
Definition RHICommandList.h:4393
void SetShadingRate(EVRSShadingRate ShadingRate, EVRSRateCombiner Combiner)
Definition RHICommandList.h:4201
FRHICommandList(FRHICommandListBase &&Other)
Definition RHICommandList.h:3842
FRHIGeometryShader * GetBoundGeometryShader() const
Definition RHICommandList.h:3850
void BeginRenderPass(const FRHIRenderPassInfo &InInfo, const TCHAR *Name)
Definition RHICommandList.h:4259
void InsertParallelRenderPass(TSharedPtr< FRHIParallelRenderPassInfo > const &InInfo, TArray< FRHISubCommandList * > &&SubCommandLists)
Definition RHICommandList.h:4315
void EnqueueLambda(LAMBDA &&Lambda)
Definition RHICommandList.h:3866
void SetStreamSource(uint32 StreamIndex, FRHIBuffer *VertexBuffer, uint32 Offset)
Definition RHICommandList.h:3984
void DrawPrimitiveIndirect(FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
Definition RHICommandList.h:4127
void DispatchIndirectMeshShader(FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
Definition RHICommandList.h:4170
FRHIPixelShader * GetBoundPixelShader() const
Definition RHICommandList.h:3849
void SetRayTracingMissShader(FRHIShaderBindingTable *SBT, uint32 RecordIndex, FRayTracingPipelineState *Pipeline, uint32 ShaderIndexInPipeline, uint32 NumUniformBuffers, FRHIUniformBuffer *const *UniformBuffers, uint32 UserData)
Definition RHICommandList.h:4544
void SetBatchedShaderParameters(FRHIGraphicsShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters)
Definition RHICommandList.h:3900
void SetRayTracingHitGroup(FRHIShaderBindingTable *SBT, uint32 RecordIndex, FRHIRayTracingGeometry *Geometry, uint32 GeometrySegmentIndex, FRayTracingPipelineState *Pipeline, uint32 HitGroupIndex, uint32 NumUniformBuffers, FRHIUniformBuffer *const *UniformBuffers, uint32 LooseParameterDataSize, const void *LooseParameterData, uint32 UserData)
Definition RHICommandList.h:4473
void CopyTexture(FRHITexture *SourceTextureRHI, FRHITexture *DestTextureRHI, const FRHICopyTextureInfo &CopyInfo)
Definition RHICommandList.h:4213
void SetRayTracingHitGroups(FRHIShaderBindingTable *SBT, FRayTracingPipelineState *Pipeline, uint32 NumBindings, const FRayTracingLocalShaderBindings *Bindings, bool bCopyDataToInlineStorage=true)
Definition RHICommandList.h:4449
void CopyBufferRegion(FRHIBuffer *DestBuffer, uint64 DstOffset, FRHIBuffer *SourceBuffer, uint64 SrcOffset, uint64 NumBytes)
Definition RHICommandList.h:4334
void EndRenderQuery(FRHIRenderQuery *RenderQuery)
Definition RHICommandList.h:4242
FRHICommandList(FRHIGPUMask GPUMask, bool bImmediate)
Definition RHICommandList.h:3828
void SetBatchedShaderUnbinds(FRHIGraphicsShader *InShader, FRHIBatchedShaderUnbinds &InBatchedUnbinds)
Definition RHICommandList.h:3941
void DispatchMeshShader(uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ)
Definition RHICommandList.h:4160
void SetShaderParameters(FRHIGraphicsShader *InShader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters)
Definition RHICommandList.h:3873
void CommitShaderBindingTable(FRHIShaderBindingTable *SBT, FRHIBuffer *InlineBindingDataBuffer)
Definition RHICommandList.h:4361
FRHICommandList(FRHIGPUMask GPUMask=FRHIGPUMask::All())
Definition RHICommandList.h:3838
void SetGraphicsPipelineState(class FGraphicsPipelineState *GraphicsPipelineState, const FBoundShaderStateInput &ShaderInput, uint32 StencilRef, bool bApplyAdditionalState)
Definition RHICommandList.h:4100
void MultiDrawIndexedPrimitiveIndirect(FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentsBuffer, uint32 ArgumentOffset, FRHIBuffer *CountBuffer, uint32 CountBufferOffset, uint32 MaxDrawArguments)
Definition RHICommandList.h:4149
void CommitShaderBindingTable(FRHIShaderBindingTable *SBT)
Definition RHICommandList.h:4355
void SetViewport(float MinX, float MinY, float MinZ, float MaxX, float MaxY, float MaxZ)
Definition RHICommandList.h:4015
void ClearShaderBindingTable(FRHIShaderBindingTable *SBT)
Definition RHICommandList.h:4377
void DrawPrimitive(uint32 BaseVertexIndex, uint32 NumPrimitives, uint32 NumInstances)
Definition RHICommandList.h:3962
void SetStereoViewport(float LeftMinX, float RightMinX, float LeftMinY, float RightMinY, float MinZ, float LeftMaxX, float RightMaxX, float LeftMaxY, float RightMaxY, float MaxZ)
Definition RHICommandList.h:4026
void SetDefaultRayTracingHitGroup(FRHIShaderBindingTable *SBT, FRayTracingPipelineState *Pipeline, uint32 HitGroupIndex)
Definition RHICommandList.h:4510
void ApplyCachedRenderTargets(FGraphicsPipelineStateInitializer &GraphicsPSOInit)
Definition RHICommandList.h:4048
void EnqueueLambda(const TCHAR *LambdaName, LAMBDA &&Lambda)
Definition RHICommandList.h:3853
void GpuHangCommandListCorruption()
Definition RHICommandList.h:4191
FRHIVertexShader * GetBoundVertexShader() const
Definition RHICommandList.h:3846
void SetStencilRef(uint32 StencilRef)
Definition RHICommandList.h:4003
void EndRenderPass()
Definition RHICommandList.h:4291
void SetDepthBounds(float MinDepth, float MaxDepth)
Definition RHICommandList.h:4180
void NextSubpass()
Definition RHICommandList.h:4320
void SetBlendFactor(const FLinearColor &BlendFactor=FLinearColor::White)
Definition RHICommandList.h:3951
void ResummarizeHTile(FRHITexture *DepthTexture)
Definition RHICommandList.h:4227
void SetRayTracingCallableShader(FRHIShaderBindingTable *SBT, uint32 RecordIndex, FRayTracingPipelineState *Pipeline, uint32 ShaderIndexInPipeline, uint32 NumUniformBuffers, FRHIUniformBuffer *const *UniformBuffers, uint32 UserData)
Definition RHICommandList.h:4520
FRHIAmplificationShader * GetBoundAmplificationShader() const
Definition RHICommandList.h:3848
void SetStreamSourceSlot(uint32 StreamIndex, FRHIStreamSourceSlot *StreamSourceSlot, uint32 Offset)
Definition RHICommandList.h:3994
void SetRayTracingCallableShaders(FRHIShaderBindingTable *SBT, FRayTracingPipelineState *Pipeline, uint32 NumBindings, const FRayTracingLocalShaderBindings *Bindings, bool bCopyDataToInlineStorage=true)
Definition RHICommandList.h:4457
void DrawIndexedPrimitive(FRHIBuffer *IndexBuffer, int32 BaseVertexIndex, uint32 FirstInstance, uint32 NumVertices, uint32 StartIndex, uint32 NumPrimitives, uint32 NumInstances)
Definition RHICommandList.h:3973
static FRHICommandList & Get(FRHICommandListBase &RHICmdList)
Definition RHICommandList.h:3833
void SetShaderUnbinds(FRHIGraphicsShader *InShader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds)
Definition RHICommandList.h:3923
void SetScissorRect(bool bEnable, uint32 MinX, uint32 MinY, uint32 MaxX, uint32 MaxY)
Definition RHICommandList.h:4037
void DrawIndexedPrimitiveIndirect(FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentsBuffer, uint32 ArgumentOffset)
Definition RHICommandList.h:4138
void BeginRenderQuery(FRHIRenderQuery *RenderQuery)
Definition RHICommandList.h:4237
Definition RHICommandList.h:5217
RHI_API ~FRHIComputeCommandList_RecursiveHazardous()
Definition RHICommandList.cpp:1725
Definition RHICommandList.h:2735
void BeginUAVOverlap(FRHIUnorderedAccessView *UAV)
Definition RHICommandList.h:3199
void RayTraceDispatchIndirect(FRayTracingPipelineState *Pipeline, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, const FRayTracingShaderBindings &GlobalResourceBindings, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
Definition RHICommandList.h:3687
void DispatchGraphicsShaderBundle(TFunction< void(FRHICommandDispatchGraphicsShaderBundle &)> &&RecordCallback)
Definition RHICommandList.h:3159
void WriteGPUFence(FRHIGPUFence *Fence)
Definition RHICommandList.h:3390
void BeginTransitions(TArrayView< const FRHITransition * > Transitions)
Definition RHICommandList.h:2973
void SetUniformBufferDynamicOffset(FUniformBufferStaticSlot Slot, uint32 Offset)
Definition RHICommandList.h:2815
void EndUAVOverlap(TArrayView< FRHIUnorderedAccessView *const > UAVs)
Definition RHICommandList.h:3225
void EnqueueLambda_NoMarker(LAMBDA &&Lambda)
Definition RHICommandList.h:2775
void SetStaticUniformBuffers(const FUniformBufferStaticBindings &UniformBuffers)
Definition RHICommandList.h:2795
void BuildAccelerationStructure(const FRayTracingSceneBuildParams &SceneBuildParams)
Definition RHICommandList.h:3748
RHI_API void BuildAccelerationStructures(TConstArrayView< FRayTracingGeometryBuildParams > Params)
Definition RHICommandList.cpp:2006
void SetShaderUnbinds(FRHIComputeShader *InShader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds)
Definition RHICommandList.h:2871
void SubmitCommandsHint()
Definition RHICommandList.inl:63
void SetComputePipelineState(FComputePipelineState *ComputePipelineState, FRHIComputeShader *ComputeShader)
Definition RHICommandList.h:2897
void DispatchComputeShaderBundle(TFunction< void(FRHICommandDispatchComputeShaderBundle &)> &&RecordCallback)
Definition RHICommandList.h:3119
void ClearUAVUint(FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FUintVector4 &Values)
Definition RHICommandList.h:2959
void BeginUAVOverlap()
Definition RHICommandList.h:3179
void DispatchComputeShaderBundle(FRHIShaderBundle *ShaderBundle, FRHIBuffer *RecordArgBuffer, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleComputeDispatch > Dispatches, bool bEmulated)
Definition RHICommandList.h:3100
void EnqueueLambda(const TCHAR *LambdaName, LAMBDA &&Lambda)
Definition RHICommandList.h:2761
FRHIComputeCommandList(FRHICommandListBase &&Other)
Definition RHICommandList.h:2756
static FRHIComputeCommandList & Get(FRHICommandListBase &RHICmdList)
Definition RHICommandList.h:2747
void TransferResources(TConstArrayView< FTransferResourceParams > Params)
Definition RHICommandList.h:3421
void SetTrackedAccess(TArrayView< const FRHITrackedAccessInfo > Infos)
Definition RHICommandList.h:3043
void RayTraceDispatch(FRayTracingPipelineState *Pipeline, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, const FRayTracingShaderBindings &GlobalResourceBindings, uint32 Width, uint32 Height)
Definition RHICommandList.h:3668
void CopyToStagingBuffer(FRHIBuffer *SourceBuffer, FRHIStagingBuffer *DestinationStagingBuffer, uint32 Offset, uint32 NumBytes)
Definition RHICommandList.h:3380
void SetAsyncComputeBudget(EAsyncComputeBudget Budget)
Definition RHICommandList.h:2909
void EndTransitions(TArrayView< const FRHITransition * > Transitions)
Definition RHICommandList.h:2996
void BindAccelerationStructureMemory(FRHIRayTracingScene *Scene, FRHIBuffer *Buffer, uint32 BufferOffset)
Definition RHICommandList.h:3788
void BeginUAVOverlap(TArrayView< FRHIUnorderedAccessView *const > UAVs)
Definition RHICommandList.h:3211
void OnBoundShaderChanged(FRHIComputeShader *InBoundComputeShaderRHI)
Definition RHICommandList.h:2737
void BeginTransition(const FRHITransition *Transition)
Definition RHICommandList.h:3022
void DispatchGraphicsShaderBundle(FRHIShaderBundle *ShaderBundle, FRHIBuffer *RecordArgBuffer, const FRHIShaderBundleGraphicsState &BundleState, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleGraphicsDispatch > Dispatches, bool bEmulated)
Definition RHICommandList.h:3140
void CrossGPUTransfer(TConstArrayView< FTransferResourceParams > Params, TConstArrayView< FCrossGPUTransferFence * > PreTransfer, TConstArrayView< FCrossGPUTransferFence * > PostTransfer)
Definition RHICommandList.h:3531
void TransferResourceWait(TConstArrayView< FTransferResourceFenceData * > FenceDatas)
Definition RHICommandList.h:3517
void SetComputeBudget(ESyncComputeBudget Budget)
Definition RHICommandList.h:2919
void ClearUAVFloat(FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FVector4f &Values)
Definition RHICommandList.h:2949
void BuildAccelerationStructures(TConstArrayView< FRayTracingSceneBuildParams > Params)
Definition RHICommandList.h:3753
void SetBatchedShaderParameters(FRHIComputeShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters)
Definition RHICommandList.h:2850
void DispatchComputeShader(uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ)
Definition RHICommandList.h:2929
void SetShaderParameters(FRHIComputeShader *InShader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters)
Definition RHICommandList.h:2825
FRHIComputeCommandList(FRHIGPUMask GPUMask=FRHIGPUMask::All())
Definition RHICommandList.h:2752
void EnqueueLambda(LAMBDA &&Lambda)
Definition RHICommandList.h:2788
void SetShaderRootConstants(const FUint32Vector4 &Constants)
Definition RHICommandList.h:3080
FRHIComputeShader * GetBoundComputeShader() const
Definition RHICommandList.h:2793
void SetStaticUniformBuffer(FUniformBufferStaticSlot Slot, FRHIUniformBuffer *Buffer)
Definition RHICommandList.h:2805
void DispatchIndirectComputeShader(FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
Definition RHICommandList.h:2939
void TransferResourceSignal(TConstArrayView< FTransferResourceFenceData * > FenceDatas, FRHIGPUMask SrcGPUMask)
Definition RHICommandList.h:3503
void Transition(const FRHITransitionInfo &Info, ERHITransitionCreateFlags CreateFlags=ERHITransitionCreateFlags::None)
Definition RHICommandList.h:3032
void CrossGPUTransferWait(TConstArrayView< FCrossGPUTransferFence * > SyncPoints)
Definition RHICommandList.h:3654
void CrossGPUTransferSignal(TConstArrayView< FTransferResourceParams > Params, TConstArrayView< FCrossGPUTransferFence * > PreTransfer)
Definition RHICommandList.h:3593
void SetGPUMask(FRHIGPUMask InGPUMask)
Definition RHICommandList.h:3395
void SetTrackedAccess(TArrayView< const FRHITransitionInfo > Infos, ERHIPipeline PipelinesAfter)
Definition RHICommandList.h:3059
RHI_API void BuildAccelerationStructure(FRHIRayTracingGeometry *Geometry)
Definition RHICommandList.cpp:1989
void SetComputeShaderRootConstants(const FUint32Vector4 &Constants)
Definition RHICommandList.h:3090
void SetBatchedShaderUnbinds(FRHIComputeShader *InShader, FRHIBatchedShaderUnbinds &InBatchedUnbinds)
Definition RHICommandList.h:2887
RHI_API void Transition(TArrayView< const FRHITransitionInfo > Infos, ERHITransitionCreateFlags CreateFlags=ERHITransitionCreateFlags::None)
Definition RHICommandList.cpp:1947
void EndUAVOverlap()
Definition RHICommandList.h:3189
void PostExternalCommandsReset()
Definition RHICommandList.h:3804
void EndTransition(const FRHITransition *Transition)
Definition RHICommandList.h:3027
void BuildAccelerationStructures(TConstArrayView< FRayTracingGeometryBuildParams > Params, const FRHIBufferRange &ScratchBufferRange)
Definition RHICommandList.h:3722
FRHIComputeCommandList(FRHIGPUMask GPUMask, bool bImmediate)
Definition RHICommandList.h:2742
void EndUAVOverlap(FRHIUnorderedAccessView *UAV)
Definition RHICommandList.h:3205
FORCEINLINE_DEBUGGABLE void ExecuteMultiIndirectClusterOperation(const FRayTracingClusterOperationParams &Params)
Definition RHICommandList.h:3706
Definition RHIResources.h:1078
Definition RHIResources.h:1018
Definition RHIResources.h:5541
Definition RHIResources.h:4073
ERenderTargetStoreAction DepthStoreAction
Definition RHIResources.h:4078
FRHITexture * Texture
Definition RHIResources.h:4075
ERenderTargetLoadAction DepthLoadAction
Definition RHIResources.h:4077
FExclusiveDepthStencil GetDepthStencilAccess() const
Definition RHIResources.h:4089
ERenderTargetLoadAction StencilLoadAction
Definition RHIResources.h:4079
ERenderTargetStoreAction GetStencilStoreAction() const
Definition RHIResources.h:4087
Definition RHIResources.h:2387
FThreadSafeCounter NumPendingWriteCommands
Definition RHIResources.h:2437
Definition RHIResources.h:978
Definition RHIResources.h:1058
Definition RHIResources.h:947
Definition RHIResources.h:960
Definition RHIResources.h:972
Definition RHIResources.h:3729
Definition RHIResources.h:1115
Definition RHIResources.h:3755
Definition RHIResources.h:984
Definition RHIResources.h:2444
Definition RHIResourceCollection.h:46
Definition RHIResources.h:671
Definition RHIResources.h:4167
Definition RHIResources.h:3863
Definition RHIResources.h:3919
Definition RHIResources.h:3304
Definition RHIResources.h:3981
Definition RHIResources.h:1643
Definition RHICommandList.h:5272
FRHISubCommandList(FRHIGPUMask GPUMask, TSharedPtr< FRHIParallelRenderPassInfo > const &RenderPassInfo)
Definition RHICommandList.h:5274
Definition RHITextureReference.h:8
Definition RHIResources.h:2153
EPixelFormat GetFormat() const
Definition RHIResources.h:2341
FRHITexture * GetTexture2DArray()
Definition RHIResources.h:2319
ETextureCreateFlags GetFlags() const
Definition RHIResources.h:2344
uint32 GetNumSamples() const
Definition RHIResources.h:2347
Definition RHIResources.h:3294
Definition RHIResources.h:954
Definition RHIResources.h:1265
Definition RHIResources.h:2515
Definition RHIResources.h:1106
Definition RHIResources.h:1033
Definition PipelineStateCache.cpp:1285
Definition RHICommandList.h:5514
static ENamedThreads::Type GetDesiredThread()
Definition RHICommandList.h:5516
Definition ScopeLock.h:141
Definition RHICommandList.h:4582
FScopedRHIThreadStaller()=delete
~FScopedRHIThreadStaller()
Definition RHICommandList.inl:49
Definition ThreadSafeCounter.h:14
int32 Increment()
Definition ThreadSafeCounter.h:52
Definition PipelineStateCache.cpp:1174
Definition RHIContext.h:693
virtual void RHINextSubpass()
Definition RHIContext.h:858
virtual void RHISetStereoViewport(float LeftMinX, float RightMinX, float LeftMinY, float RightMinY, float MinZ, float LeftMaxX, float RightMaxX, float LeftMaxY, float RightMaxY, float MaxZ)
Definition RHIContext.h:744
virtual void RHISetStreamSource(uint32 StreamIndex, FRHIBuffer *VertexBuffer, uint32 Offset)=0
virtual void RHIDrawIndexedPrimitive(FRHIBuffer *IndexBuffer, int32 BaseVertexIndex, uint32 FirstInstance, uint32 NumVertices, uint32 StartIndex, uint32 NumPrimitives, uint32 NumInstances)=0
virtual void RHIDrawPrimitiveIndirect(FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)=0
virtual void RHICommitShaderBindingTable(FRHIShaderBindingTable *SBT, FRHIBuffer *InlineBindingDataBuffer)
Definition RHIContext.h:876
virtual void RHICopyBufferRegion(FRHIBuffer *DestBuffer, uint64 DstOffset, FRHIBuffer *SourceBuffer, uint64 SrcOffset, uint64 NumBytes)=0
virtual void RHISetBlendFactor(const FLinearColor &BlendFactor)
Definition RHIContext.h:788
virtual void RHISetShaderUnbinds(FRHIGraphicsShader *Shader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds)
Definition RHIContext.h:781
virtual void RHIResummarizeHTile(FRHITexture *DepthTexture)
Definition RHIContext.h:717
virtual void RHIDispatchIndirectMeshShader(FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
Definition RHIContext.h:821
virtual void RHISetBindingsOnShaderBindingTable(FRHIShaderBindingTable *SBT, FRHIRayTracingPipelineState *Pipeline, uint32 NumBindings, const FRayTracingLocalShaderBindings *Bindings, ERayTracingBindingType BindingType)
Definition RHIContext.h:871
virtual void RHIDrawIndexedPrimitiveIndirect(FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)=0
virtual void RHISetDepthBounds(float MinDepth, float MaxDepth)=0
virtual void RHISetShadingRate(EVRSShadingRate ShadingRate, EVRSRateCombiner Combiner)
Definition RHIContext.h:839
virtual void RHIEndRenderPass()=0
virtual void RHIDispatchMeshShader(uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ)
Definition RHIContext.h:816
virtual void RHIClearShaderBindingTable(FRHIShaderBindingTable *SBT)
Definition RHIContext.h:866
virtual void RHIBeginRenderPass(const FRHIRenderPassInfo &InInfo, const TCHAR *InName)=0
virtual void RHISetGraphicsPipelineState(FRHIGraphicsPipelineState *GraphicsState, uint32 StencilRef, bool bApplyAdditionalState)=0
virtual void RHIDrawPrimitive(uint32 BaseVertexIndex, uint32 NumPrimitives, uint32 NumInstances)=0
virtual void RHISetViewport(float MinX, float MinY, float MinZ, float MaxX, float MaxY, float MaxZ)=0
virtual void RHIMultiDrawIndexedPrimitiveIndirect(FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset, FRHIBuffer *CountBuffer, uint32 CountBuffeOffset, uint32 MaxDrawArguments)
Definition RHIContext.h:811
virtual void RHISetScissorRect(bool bEnable, uint32 MinX, uint32 MinY, uint32 MaxX, uint32 MaxY)=0
virtual void RHICopyTexture(FRHITexture *SourceTexture, FRHITexture *DestTexture, const FRHICopyTextureInfo &CopyInfo)=0
virtual void RHISetStencilRef(uint32 StencilRef)
Definition RHIContext.h:786
virtual void RHIGpuHangCommandListCorruption()
Definition RHIContext.h:834
virtual void RHISetShaderParameters(FRHIGraphicsShader *Shader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters)=0
Definition RHIContext.h:257
virtual void RHISetStaticUniformBuffer(FUniformBufferStaticSlot Slot, FRHIUniformBuffer *UniformBuffer)=0
virtual void RHIDispatchComputeShaderBundle(FRHIShaderBundle *ShaderBundle, FRHIBuffer *RecordArgBuffer, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleComputeDispatch > Dispatches, bool bEmulated)
Definition RHIContext.h:322
virtual void RHIBeginUAVOverlap()
Definition RHIContext.h:337
virtual void RHISetStaticUniformBuffers(const FUniformBufferStaticBindings &InUniformBuffers)=0
IRHIComputeContext & GetLowestLevelContext()
Definition RHIContext.h:506
virtual void RHISetShaderUnbinds(FRHIComputeShader *ComputeShader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds)
Definition RHIContext.h:357
virtual void RHIClearUAVFloat(FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FVector4f &Values)=0
virtual void RHIEndUAVOverlap()
Definition RHIContext.h:338
virtual void RHIBuildAccelerationStructures(TConstArrayView< FRayTracingGeometryBuildParams > Params, const FRHIBufferRange &ScratchBufferRange)
Definition RHIContext.h:476
void SetTrackedAccess(const FRHITrackedAccessInfo &Info)
Definition RHIContext.h:516
virtual void RHIEndTransitions(TArrayView< const FRHITransition * > Transitions)=0
virtual void RHISetUniformBufferDynamicOffset(FUniformBufferStaticSlot Slot, uint32 Offset)
Definition RHIContext.h:366
virtual void RHIPostExternalCommandsReset()
Definition RHIContext.h:535
virtual void RHIBeginTransitions(TArrayView< const FRHITransition * > Transitions)=0
virtual void RHISetShaderParameters(FRHIComputeShader *ComputeShader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters)=0
virtual void RHISetComputeBudget(ESyncComputeBudget Budget)
Definition RHIContext.h:289
virtual void RHIBindAccelerationStructureMemory(FRHIRayTracingScene *Scene, FRHIBuffer *Buffer, uint32 BufferOffset)
Definition RHIContext.h:486
virtual void RHIDispatchGraphicsShaderBundle(FRHIShaderBundle *ShaderBundle, FRHIBuffer *RecordArgBuffer, const FRHIShaderBundleGraphicsState &BundleState, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleGraphicsDispatch > Dispatches, bool bEmulated)
Definition RHIContext.h:329
virtual void RHICopyToStagingBuffer(FRHIBuffer *SourceBufferRHI, FRHIStagingBuffer *DestinationStagingBufferRHI, uint32 InOffset, uint32 InNumBytes)
Definition RHIContext.h:383
virtual void RHIExecuteMultiIndirectClusterOperation(const FRayTracingClusterOperationParams &Params)
Definition RHIContext.h:471
virtual void RHIRayTraceDispatchIndirect(FRHIRayTracingPipelineState *RayTracingPipelineState, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, const FRayTracingShaderBindings &GlobalResourceBindings, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
Definition RHIContext.h:279
virtual void RHISetAsyncComputeBudget(EAsyncComputeBudget Budget)
Definition RHIContext.h:288
virtual void RHISetComputePipelineState(FRHIComputePipelineState *ComputePipelineState)=0
FRHICommandListBase & GetExecutingCommandList() const
Definition RHIContext.h:543
virtual void RHIDispatchIndirectComputeShader(FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)=0
virtual void RHIClearUAVUint(FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FUintVector4 &Values)=0
virtual void RHIRayTraceDispatch(FRHIRayTracingPipelineState *RayTracingPipelineState, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, const FRayTracingShaderBindings &GlobalResourceBindings, uint32 Width, uint32 Height)
Definition RHIContext.h:272
virtual void RHISetShaderRootConstants(const FUint32Vector4 &Constants)
Definition RHIContext.h:317
virtual void RHIDispatchComputeShader(uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ)=0
Definition RHIContext.h:573
Definition ArrayView.h:139
UE_FORCEINLINE_HINT constexpr ElementType * GetData() const
Definition ArrayView.h:295
UE_FORCEINLINE_HINT constexpr SizeType Num() const
Definition ArrayView.h:380
SizeType Remove(const ElementType &Item)
Definition Array.h:3091
bool Contains(const ComparisonType &Item) const
Definition Array.h:1518
UE_FORCEINLINE_HINT SizeType Emplace(ArgsType &&... Args)
Definition Array.h:2561
Definition IConsoleManager.h:1792
Definition AndroidPlatformMisc.h:14
Definition RHICommandList.h:5170
TRHICommandList_RecursiveHazardous(ContextType *Context)
Definition RHICommandList.h:5192
void RunOnContext(LAMBDA &&Lambda)
Definition RHICommandList.h:5197
Definition RHICommandList.h:5227
void RunOnContext(LAMBDA &&Lambda)
Definition RHICommandList.h:5254
TRHIComputeCommandList_RecursiveHazardous(ContextType *Context)
Definition RHICommandList.h:5249
Definition RHIPipeline.h:55
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT const bool IsValid() const
Definition SharedPointer.h:1085
Definition StaticArray.h:26
@ Range
Definition EnvQueryTypes.h:81
Type
Definition TaskGraphInterfaces.h:57
Definition RHICommandList.h:110
Type
Definition RHICommandList.h:112
@ WaitingForGPUPresent
Definition RHICommandList.h:115
@ WaitingForAllOtherSleep
Definition RHICommandList.h:113
@ WaitingForGPUQuery
Definition RHICommandList.h:114
@ Num
Definition RHICommandList.h:116
void Dispatch(FRHIComputeCommandList &RHICmdList, const TShaderRef< TShaderClass > &ComputeShader, const FShaderParametersMetadata *ParametersMetadata, const typename TShaderClass::FParameters &Parameters, FIntVector GroupCount)
Definition RenderGraphUtils.h:491
FUniformParams Params
Definition MeshPaintVirtualTexture.cpp:162
State
Definition PacketHandler.h:88
Definition RHIUniformBufferUtilities.h:12
RHI_API FRayTracingShaderBindings ConvertRayTracingShaderBindings(const FRHIBatchedShaderParameters &BatchedParameters)
Definition RHICommandList.cpp:2375
RHI_API void CopySharedMips(FRHICommandList &RHICmdList, FRHITexture *SrcTexture, FRHITexture *DstTexture)
Definition RHI.cpp:2284
RHI_API void CopySharedMips_AssumeSRVMaskState(FRHICommandList &RHICmdList, FRHITexture *SrcTexture, FRHITexture *DstTexture)
Definition RHI.cpp:2302
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition AndroidPlatformTime.h:18
static uint32 Cycles()
Definition AndroidPlatformTime.h:27
static CORE_API const FLinearColor White
Definition Color.h:456
Definition RHICommandList.h:290
EResourceLockMode LockMode
Definition RHICommandList.h:295
void * RHIBuffer
Definition RHICommandList.h:291
FLockParams(void *InRHIBuffer, void *InBuffer, uint32 InOffset, uint32 InBufferSize, EResourceLockMode InLockMode)
Definition RHICommandList.h:297
uint32 Offset
Definition RHICommandList.h:294
uint32 BufferSize
Definition RHICommandList.h:293
void * Buffer
Definition RHICommandList.h:292
Definition RHICommandList.h:288
FLockParams Unlock(void *RHIBuffer)
Definition RHICommandList.h:325
FCriticalSection CriticalSection
Definition RHICommandList.h:307
void Lock(void *RHIBuffer, void *Buffer, uint32 Offset, uint32 SizeRHI, EResourceLockMode LockMode)
Definition RHICommandList.h:314
TArray< FLockParams, TInlineAllocator< 16 > > OutstandingLocks
Definition RHICommandList.h:308
FLockTracker()
Definition RHICommandList.h:310
static UE_FORCEINLINE_HINT void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
Definition UnrealMemory.h:160
Definition RHIShaderParameters.h:241
FRHIBatchedShaderParametersAllocator & Allocator
Definition RHIShaderParameters.h:242
bool HasParameters() const
Definition RHIShaderParameters.h:252
void Reset()
Definition RHIShaderParameters.h:264
Definition RHIShaderParameters.h:374
void Reset()
Definition RHIShaderParameters.h:382
bool HasParameters() const
Definition RHIShaderParameters.h:377
Definition RHIResources.h:1417
static FRHIBufferCreateDesc Create(const TCHAR *InDebugName, EBufferUsageFlags InUsage)
Definition RHIResources.h:1418
FRHIBufferCreateDesc & SetGPUMask(FRHIGPUMask InGPUMask)
Definition RHIResources.h:1525
FRHIBufferCreateDesc & SetInitActionResourceArray(FResourceArrayUploadInterface *InInitialData)
Definition RHIResources.h:1546
FRHIBufferCreateDesc & SetInitialState(ERHIAccess InInitialState)
Definition RHIResources.h:1528
static FRHIBufferCreateDesc CreateNull(const TCHAR *InDebugName)
Definition RHIResources.h:1433
FRHIBufferCreateDesc & SetOwnerName(FName InOwnerName)
Definition RHIResources.h:1532
ERHIBufferInitAction InitAction
Definition RHIResources.h:1568
FRHIBufferCreateDesc & SetClassName(FName InClassName)
Definition RHIResources.h:1531
uint32 Size
Definition RHIResources.h:1323
bool IsNull() const
Definition RHIResources.h:1354
Definition RHIBufferInitializer.h:12
RHI_API FBufferRHIRef Finalize()
Definition RHIBufferInitializer.cpp:17
Definition RHICommandList.h:212
uint64 Offset
Definition RHICommandList.h:214
class FRHIBuffer * Buffer
Definition RHICommandList.h:213
uint64 Size
Definition RHICommandList.h:215
Definition RHICommandList.h:349
virtual void ExecuteAndDestruct(FRHICommandListBase &CmdList)=0
FRHICommandBase * Next
Definition RHICommandList.h:350
Definition RHICommandList.h:1457
FBoundShaderStateInput BoundShaderInput
Definition RHICommandList.h:1478
uint8 bRecursive
Definition RHICommandList.h:1471
TStaticArray< void *, MAX_NUM_GPUS > QueryBatchData_Occlusion
Definition RHICommandList.h:1492
TStaticArray< void *, MAX_NUM_GPUS > QueryBatchData_Timestamp
Definition RHICommandList.h:1491
FRHIGPUMask CurrentGPUMask
Definition RHICommandList.h:1475
uint8 bInsideOcclusionQueryBatch
Definition RHICommandList.h:1470
uint8 bInsideRenderPass
Definition RHICommandList.h:1468
FRHICommandListScopedFence * CurrentFenceScope
Definition RHICommandList.h:1481
uint8 bImmediate
Definition RHICommandList.h:1472
uint8 MultiViewCount
Definition RHICommandList.h:1464
uint8 bHasFragmentDensityAttachment
Definition RHICommandList.h:1466
FRHIComputeShader * BoundComputeShaderRHI
Definition RHICommandList.h:1479
FRHIGPUMask InitialGPUMask
Definition RHICommandList.h:1476
TStaticArray< FRHIRenderTargetView, MaxSimultaneousRenderTargets > CachedRenderTargets
Definition RHICommandList.h:1459
FRHIDepthRenderTargetView CachedDepthStencilTarget
Definition RHICommandList.h:1460
uint8 SubpassIndex
Definition RHICommandList.h:1463
uint8 bInsideComputePass
Definition RHICommandList.h:1469
ESubpassHint SubpassHint
Definition RHICommandList.h:1462
FPersistentState(FRHIGPUMask InInitialGPUMask, bool bInImmediate=false, bool bTrackResources=true)
Definition RHICommandList.h:1494
uint32 CachedNumSimultanousRenderTargets
Definition RHICommandList.h:1458
uint8 bAllowResourceStateTracking
Definition RHICommandList.h:1473
FRHIWorkGraphShader * BoundWorkGraphShaderRHI
Definition RHICommandList.h:1480
Definition RHICommandList.h:1383
FRHIBatchedShaderParameters * ScratchShaderParameters
Definition RHICommandList.h:1384
FShaderParameterState(FShaderParameterState &&RHS)
Definition RHICommandList.h:1389
~FShaderParameterState()
Definition RHICommandList.h:1397
FShaderParameterState()=default
FRHIBatchedShaderParametersAllocator * AllocatorsRoot
Definition RHICommandList.h:1385
Definition RHICommandList.h:5462
Definition RHICommandList.h:5400
IRHIComputeContext * Context
Definition RHICommandList.h:5404
IRHIPlatformCommandList * FinalizedCmdList
Definition RHICommandList.h:5405
Definition RHICommandList.h:1604
void ExecuteAndDestruct(FRHICommandListBase &CmdList) override final
Definition RHICommandList.h:1614
Definition RHICommandList.h:183
FIntVector DestPosition
Definition RHICommandList.h:199
FIntVector Size
Definition RHICommandList.h:195
uint32 NumMips
Definition RHICommandList.h:208
FIntRect GetSourceRect() const
Definition RHICommandList.h:184
uint32 SourceMipIndex
Definition RHICommandList.h:206
uint32 DestMipIndex
Definition RHICommandList.h:207
uint32 DestSliceIndex
Definition RHICommandList.h:202
FIntVector SourcePosition
Definition RHICommandList.h:198
FIntRect GetDestRect() const
Definition RHICommandList.h:189
uint32 SourceSliceIndex
Definition RHICommandList.h:201
uint32 NumSlices
Definition RHICommandList.h:203
Definition RHIStats.h:110
Definition RHIStats.h:137
void AddDraw(FRHIGPUMask GPUMask, FRHIDrawStatsCategory const *Category)
Definition RHIStats.h:199
void AddDrawAndPrimitives(FRHIGPUMask GPUMask, FRHIDrawStatsCategory const *Category, EPrimitiveType PrimitiveType, uint32 NumPrimitives)
Definition RHIStats.h:209
static GPUMASK_CONSTEXPR FRHIGPUMask FromIndex(uint32 GPUIndex)
Definition MultiGPU.h:181
static SGPU_CONSTEXPR FRHIGPUMask All()
Definition MultiGPU.h:191
bool NeedsExtraTransitions
Definition RHIGlobals.h:726
bool NeedsShaderUnbinds
Definition RHIGlobals.h:708
Definition DynamicRHI.h:149
static FRHILockTextureArgs Lock2DArray(FRHITexture *InTexture, uint32 InArrayIndex, uint32 InMipIndex, EResourceLockMode InLockMode, bool bInLockWithinMiptail)
Definition DynamicRHI.h:162
static FRHILockTextureArgs LockCubeFace(FRHITexture *InTexture, uint32 InFaceIndex, uint32 InArrayIndex, uint32 InMipIndex, EResourceLockMode InLockMode, bool bInLockWithinMiptail)
Definition DynamicRHI.h:174
static FRHILockTextureArgs Lock2D(FRHITexture *InTexture, uint32 InMipIndex, EResourceLockMode InLockMode, bool bInLockWithinMiptail, bool bFlushRHIThread=true)
Definition DynamicRHI.h:150
Definition DynamicRHI.h:198
Definition RHIResources.h:5248
Definition RHICommandList.h:5094
FRHIScopedGPUMask(FRHIScopedGPUMask const &)=delete
~FRHIScopedGPUMask()
Definition RHICommandList.h:5105
FRHIScopedGPUMask(FRHIScopedGPUMask &&)=delete
FRHIGPUMask PrevGPUMask
Definition RHICommandList.h:5096
FRHIScopedGPUMask(FRHIComputeCommandList &InRHICmdList, FRHIGPUMask InGPUMask)
Definition RHICommandList.h:5098
FRHIComputeCommandList & RHICmdList
Definition RHICommandList.h:5095
Definition RHIShaderParameters.h:398
Definition RHIShaderParameters.h:428
Definition RHIShaderParameters.h:414
Definition RHIResources.h:1938
FResourceBulkDataInterface * BulkData
Definition RHIResources.h:2140
ERHIAccess InitialState
Definition RHIResources.h:2134
ETextureCreateFlags Flags
Definition RHIResources.h:1844
Definition RHITextureInitializer.h:50
Definition RHIResources.h:5570
Definition RHITransition.h:450
Definition RHITransition.h:119
Definition RHITransition.h:475
Definition RHIResources.h:2812
Definition RHIResources.h:2883
Definition RHIResources.h:2955
FInitializer & SetPlane(ERHITexturePlane InPlane)
Definition RHIResources.h:3004
FInitializer & SetMipRange(uint8 InFirstMip, uint8 InNumMips)
Definition RHIResources.h:3010
FInitializer & SetArrayRange(uint16 InFirstElement, uint16 InNumElements)
Definition RHIResources.h:3027
FInitializer & SetDisableSRGB(bool InDisableSRGB)
Definition RHIResources.h:3034
Definition RHIResources.h:3042
static FBufferUAV::FInitializer CreateBufferUAV()
Definition RHIResources.h:3129
static FTextureUAV::FInitializer CreateTextureUAV()
Definition RHIResources.h:3139
static FTextureSRV::FInitializer CreateTextureSRV()
Definition RHIResources.h:3134
static FBufferSRV::FInitializer CreateBufferSRV()
Definition RHIResources.h:3124
Definition RHIResources.h:3693
Definition RHIResources.h:3842
Definition RHIContext.h:643
Definition RHIResources.h:3761
Definition RHIContext.h:590
Definition RHIResources.h:3496
Definition RHICommandList.h:267
uint8 * LooseParameterData
Definition RHICommandList.h:277
const FRHIRayTracingGeometry * Geometry
Definition RHICommandList.h:269
uint32 RecordIndex
Definition RHICommandList.h:271
uint16 NumUniformBuffers
Definition RHICommandList.h:274
FRHIUniformBuffer ** UniformBuffers
Definition RHICommandList.h:276
uint32 ShaderIndexInPipeline
Definition RHICommandList.h:272
ERayTracingLocalShaderBindingType BindingType
Definition RHICommandList.h:268
uint32 UserData
Definition RHICommandList.h:273
uint32 SegmentIndex
Definition RHICommandList.h:270
uint16 LooseParameterDataSize
Definition RHICommandList.h:275
Definition RHIContext.h:600
Definition RHIResources.h:3635
Definition RHICommandList.h:248
TArray< FRHIShaderParameterResource > BindlessParameters
Definition RHICommandList.h:255
FRHIUnorderedAccessView * UAVs[16]
Definition RHICommandList.h:253
FRHIUniformBuffer * UniformBuffers[16]
Definition RHICommandList.h:251
FRHIShaderResourceView * SRVs[64]
Definition RHICommandList.h:250
FRHITexture * Textures[64]
Definition RHICommandList.h:249
FRHISamplerState * Samplers[32]
Definition RHICommandList.h:252
Definition RHICommandList.h:125
const ERenderThreadIdleTypes::Type Type
Definition RHICommandList.h:128
~FRenderThreadIdleScope()
Definition RHICommandList.h:139
UE::Stats::FThreadIdleStats::FScopeIdle RHIThreadIdleScope
Definition RHICommandList.h:126
const bool bCondition
Definition RHICommandList.h:129
FRenderThreadIdleScope(ERenderThreadIdleTypes::Type Type, bool bInCondition=true)
Definition RHICommandList.h:132
const uint32 Start
Definition RHICommandList.h:130
Definition DynamicRHI.h:72
Definition RHIContext.h:152
Definition RHICommandList.h:1598
static const TCHAR * TStr()
Definition RHICommandList.h:1599
Definition RHICommandList.h:220
uint8 PlatformData[64]
Definition RHICommandList.h:241
uint32 FrameNumber
Definition RHICommandList.h:240
FUpdateTextureRegion3D UpdateRegion
Definition RHICommandList.h:235
uint32 MipIndex
Definition RHICommandList.h:234
FUpdateTexture3DData(FRHITexture *InTexture, uint32 InMipIndex, const struct FUpdateTextureRegion3D &InUpdateRegion, uint32 InSourceRowPitch, uint32 InSourceDepthPitch, uint8 *InSourceData, uint32 InDataSizeBytes, uint32 InFrameNumber)
Definition RHICommandList.h:221
FRHITexture * Texture
Definition RHICommandList.h:233
uint32 DepthPitch
Definition RHICommandList.h:237
uint32 DataSizeBytes
Definition RHICommandList.h:239
uint32 RowPitch
Definition RHICommandList.h:236
uint8 * Data
Definition RHICommandList.h:238
Definition RHITypes.h:127
uint32 DestY
Definition RHITypes.h:130
uint32 Height
Definition RHITypes.h:138
uint32 DestX
Definition RHITypes.h:129
uint32 Width
Definition RHITypes.h:137
Definition RHITypes.h:155
uint32 Width
Definition RHITypes.h:167
uint32 DestZ
Definition RHITypes.h:159
uint32 Depth
Definition RHITypes.h:169
uint32 DestX
Definition RHITypes.h:157
uint32 DestY
Definition RHITypes.h:158
uint32 Height
Definition RHITypes.h:168
Definition LinuxPlatformSplash.cpp:43
static int32 Strlen(const CharType *String)
Definition CString.h:1047
static CharType * Strncpy(CharType *Dest, const CharType *Src, SIZE_T MaxLen)
Definition CString.h:991
Definition Optional.h:131
Definition RHICommandList.h:395
TRHILambdaCommandMultiPipe(LAMBDA &&InLambda, const TCHAR *InName, ERHIPipeline InPipelines)
Definition RHICommandList.h:402
void ExecuteAndDestruct(FRHICommandListBase &CmdList) override final
Definition RHICommandList.inl:272
ERHIPipeline Pipelines
Definition RHICommandList.h:400
LAMBDA Lambda
Definition RHICommandList.h:396
Definition RHICommandList.h:379
void ExecuteAndDestruct(FRHICommandListBase &CmdList) override final
Definition RHICommandList.h:386
LAMBDA Lambda
Definition RHICommandList.h:380
TRHILambdaCommand_NoMarker(LAMBDA &&InLambda)
Definition RHICommandList.h:382
Definition RHICommandList.h:356
void ExecuteAndDestruct(FRHICommandListBase &CmdList) override final
Definition RHICommandList.h:369
TRHILambdaCommand(LAMBDA &&InLambda, const TCHAR *InName)
Definition RHICommandList.h:362
LAMBDA Lambda
Definition RHICommandList.h:357
IntType Y
Definition IntVector.h:34
IntType X
Definition IntVector.h:31
static const TIntVector3 ZeroValue
Definition IntVector.h:45
Definition ThreadIdleStats.h:81