122#if RHI_ENABLE_RESOURCE_INFO
129#if RHI_ENABLE_RESOURCE_INFO
138#if RHI_ENABLE_RESOURCE_INFO
145#if RHI_ENABLE_RESOURCE_INFO
201#if RHI_ENABLE_RESOURCE_INFO
222#if RHI_ENABLE_RESOURCE_INFO
442 bool bInitialized_GameThread;
541template<
class ResourceType, FRenderResource::EInitPhase InInitPhase = FRenderResource::EInitPhase::Default>
548 InitGlobalResource();
552 template<
typename... Args>
554 : ResourceType(InArgs...)
556 InitGlobalResource();
562 ReleaseGlobalResource();
570 void InitGlobalResource()
589 void ReleaseGlobalResource()
599 ((ResourceType*)
this)->ReleaseResource();
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EBufferUsageFlags
Definition RHIDefinitions.h:892
ERHIFeatureLevel::Type GMaxRHIFeatureLevel
Definition RHI.cpp:1338
FRenderTimer GRenderingRealtimeClock
Definition RenderCore.cpp:241
RENDERCORE_API void ReleaseResourceAndFlush(FRenderResource *Resource)
Definition RenderResource.cpp:383
RENDERCORE_API FMipFadeSettings GMipFadeSettings[MipFade_NumSettings]
Definition RenderResource.cpp:625
RENDERCORE_API void EndBatchedRelease()
Definition RenderResource.cpp:362
ERayTracingMode
Definition RenderResource.h:27
RENDERCORE_API void BeginUpdateResourceRHI(FRenderResource *Resource, FRenderCommandPipe *RenderCommandPipe=nullptr)
Definition RenderResource.cpp:302
RENDERCORE_API void StartBatchedRelease()
Definition RenderResource.cpp:357
RENDERCORE_API void BeginReleaseResource(FRenderResource *Resource, FRenderCommandPipe *RenderCommandPipe=nullptr)
Definition RenderResource.cpp:369
RENDERCORE_API void BeginInitResource(FRenderResource *Resource, FRenderCommandPipe *RenderCommandPipe=nullptr)
Definition RenderResource.cpp:293
ERenderResourceState
Definition RenderResource.h:20
RENDERCORE_API float GEnableMipLevelFading
Definition RenderResource.cpp:19
EMipFadeSettings
Definition RenderResource.h:260
@ MipFade_NumSettings
Definition RenderResource.h:264
@ MipFade_Slow
Definition RenderResource.h:262
@ MipFade_Normal
Definition RenderResource.h:261
CORE_API bool IsInRenderingThread()
Definition ThreadingBase.cpp:273
#define UE_SMALL_NUMBER
Definition UnrealMathUtility.h:130
Definition RenderResource.h:528
RENDERCORE_API FBufferWithRDG & operator=(const FBufferWithRDG &Other)
RENDERCORE_API void ReleaseRHI() override
Definition RenderResource.cpp:614
RENDERCORE_API ~FBufferWithRDG() override
TRefCountPtr< FRDGPooledBuffer > Buffer
Definition RenderResource.h:537
RENDERCORE_API FBufferWithRDG()
RENDERCORE_API FBufferWithRDG(const FBufferWithRDG &Other)
Definition RenderResource.h:509
virtual RENDERCORE_API FString GetFriendlyName() const override
Definition RenderResource.cpp:597
RENDERCORE_API void SetRHI(const FBufferRHIRef &BufferRHI)
Definition RenderResource.cpp:602
RENDERCORE_API FIndexBuffer()
RENDERCORE_API FIndexBuffer & operator=(const FIndexBuffer &Other)
FBufferRHIRef IndexBufferRHI
Definition RenderResource.h:524
virtual RENDERCORE_API ~FIndexBuffer()
const FBufferRHIRef & GetRHI() const
Definition RenderResource.h:520
RENDERCORE_API FIndexBuffer(const FIndexBuffer &)
virtual RENDERCORE_API void ReleaseRHI() override
Definition RenderResource.cpp:592
Definition NameTypes.h:617
Definition RenderGraphResources.h:1196
Definition RHICommandList.h:455
Definition RHIResources.h:671
Definition RenderingThread.h:652
Definition RenderResource.h:37
virtual FString GetFriendlyName() const
Definition RenderResource.h:111
RENDERCORE_API FRenderResource(FRenderResource &&)
virtual void ReleaseRHI()
Definition RenderResource.h:90
virtual RENDERCORE_API void ReleaseResource()
Definition RenderResource.cpp:206
RENDERCORE_API FRenderResource()
Definition RenderResource.cpp:233
FName GetOwnerName() const
Definition RenderResource.h:127
ERenderResourceState ResourceState
Definition RenderResource.h:211
void SetOwnerName(FName InOwnerName)
Definition RenderResource.h:120
virtual void InitRHI(FRHICommandListBase &RHICmdList)
Definition RenderResource.h:83
void SetResourceName(FName InResourceName)
Definition RenderResource.h:136
void SetFeatureLevel(const FStaticFeatureLevel InFeatureLevel)
Definition RenderResource.h:154
FBufferRHIRef CreateRHIBuffer(FRHICommandListBase &RHICmdList, T &InOutResourceObject, uint32 ResourceCount, EBufferUsageFlags InBufferUsageFlags, const TCHAR *InDebugName)
Definition RenderResource.h:160
RENDERCORE_API FRenderResource & operator=(const FRenderResource &Other)
FName GetResourceName() const
Definition RenderResource.h:143
static RENDERCORE_API FRHICommandListBase & GetImmediateCommandList()
Definition RenderResource.cpp:173
bool IsInitialized() const
Definition RenderResource.h:114
static RENDERCORE_API void ReleaseRHIForAllResources()
Definition RenderResource.cpp:116
static RENDERCORE_API FName SetScopeName(FName Name)
Definition RenderResource.cpp:166
bool HasValidFeatureLevel() const
Definition RenderResource.h:156
EInitPhase GetInitPhase() const
Definition RenderResource.h:117
EInitPhase
Definition RenderResource.h:43
int32 GetListIndex() const
Definition RenderResource.h:116
RENDERCORE_API FRenderResource(const FRenderResource &)
virtual RENDERCORE_API ~FRenderResource()
Definition RenderResource.cpp:250
void SetInitPhase(EInitPhase InInitPhase)
Definition RenderResource.h:182
static RENDERCORE_API void ChangeFeatureLevel(ERHIFeatureLevel::Type NewFeatureLevel)
Definition RenderResource.cpp:145
RENDERCORE_API void UpdateRHI(FRHICommandListBase &RHICmdList)
Definition RenderResource.cpp:225
static RENDERCORE_API void InitPreRHIResources()
Definition RenderResource.cpp:124
virtual RENDERCORE_API void InitResource(FRHICommandListBase &RHICmdList)
Definition RenderResource.cpp:178
const FStaticFeatureLevel GetFeatureLevel() const
Definition RenderResource.h:155
RENDERCORE_API FRenderResource & operator=(FRenderResource &&Other)
float GetCurrentTime() const
Definition RenderTimer.h:21
Definition ResourceArray.h:77
Definition RenderResource.h:435
RENDERCORE_API void InvalidateLastRenderTime()
Definition RenderResource.cpp:518
virtual RENDERCORE_API void ReleaseRHI()
Definition RenderResource.cpp:538
bool IsInitialized_GameThread() const
Definition RenderResource.h:458
virtual RENDERCORE_API ~FTextureReference()
Definition RenderResource.cpp:492
FTextureReferenceRHIRef TextureReferenceRHI
Definition RenderResource.h:438
RENDERCORE_API void BeginRelease_GameThread()
Definition RenderResource.cpp:502
RENDERCORE_API FTextureReference()
Definition RenderResource.cpp:487
virtual RENDERCORE_API FString GetFriendlyName() const
Definition RenderResource.cpp:543
virtual RENDERCORE_API void InitRHI(FRHICommandListBase &RHICmdList)
Definition RenderResource.cpp:526
RENDERCORE_API void BeginInit_GameThread()
Definition RenderResource.cpp:496
RENDERCORE_API double GetLastRenderTime() const
Definition RenderResource.cpp:508
Definition RenderResource.h:422
virtual RENDERCORE_API ~FTextureWithSRV()
virtual RENDERCORE_API void ReleaseRHI() override
Definition RenderResource.cpp:478
FShaderResourceViewRHIRef ShaderResourceViewRHI
Definition RenderResource.h:430
RENDERCORE_API FTextureWithSRV()
Definition RenderResource.h:354
RENDERCORE_API FTexture & operator=(const FTexture &Other)
virtual RENDERCORE_API uint32 GetSizeZ() const
Definition RenderResource.cpp:435
virtual RENDERCORE_API void ReleaseRHI() override
Definition RenderResource.cpp:440
FMipBiasFade MipBiasFade
Definition RenderResource.h:370
bool bIgnoreGammaConversions
Definition RenderResource.h:387
FSamplerStateRHIRef DeferredPassSamplerStateRHI
Definition RenderResource.h:364
RENDERCORE_API FTexture(FTexture &&)
virtual RENDERCORE_API uint32 GetSizeX() const
Definition RenderResource.cpp:425
virtual RENDERCORE_API uint32 GetSizeY() const
Definition RenderResource.cpp:430
FTextureRHIRef TextureRHI
Definition RenderResource.h:358
static RENDERCORE_API FRHISamplerState * GetOrCreateSamplerState(const FSamplerStateInitializerRHI &Initializer)
Definition RenderResource.cpp:452
FSamplerStateRHIRef SamplerStateRHI
Definition RenderResource.h:361
RENDERCORE_API FTexture(const FTexture &)
bool bSRGB
Definition RenderResource.h:392
const FTextureRHIRef & GetTextureRHI()
Definition RenderResource.h:401
RENDERCORE_API FTexture()
virtual RENDERCORE_API FString GetFriendlyName() const override
Definition RenderResource.cpp:447
double LastRenderTime
Definition RenderResource.h:367
bool bGreyScaleFormat
Definition RenderResource.h:376
virtual RENDERCORE_API ~FTexture()
RENDERCORE_API FTexture & operator=(FTexture &&Other)
Definition RenderResource.h:493
FShaderResourceViewRHIRef ShaderResourceViewRHI
Definition RenderResource.h:501
FUnorderedAccessViewRHIRef UnorderedAccessViewRHI
Definition RenderResource.h:504
RENDERCORE_API ~FVertexBufferWithSRV()
RENDERCORE_API FVertexBufferWithSRV()
virtual RENDERCORE_API void ReleaseRHI() override
Definition RenderResource.cpp:577
Definition RenderResource.h:474
FBufferRHIRef VertexBufferRHI
Definition RenderResource.h:489
virtual RENDERCORE_API ~FVertexBuffer()
virtual RENDERCORE_API void ReleaseRHI() override
Definition RenderResource.cpp:556
RENDERCORE_API FVertexBuffer(const FVertexBuffer &)
RENDERCORE_API FVertexBuffer & operator=(const FVertexBuffer &Other)
RENDERCORE_API FVertexBuffer()
RENDERCORE_API void SetRHI(const FBufferRHIRef &BufferRHI)
Definition RenderResource.cpp:566
const FBufferRHIRef & GetRHI() const
Definition RenderResource.h:485
virtual RENDERCORE_API FString GetFriendlyName() const override
Definition RenderResource.cpp:561
Definition EnumAsByte.h:22
Definition RenderResource.h:543
TGlobalResource()
Definition RenderResource.h:546
TGlobalResource(Args... InArgs)
Definition RenderResource.h:553
virtual ~TGlobalResource()
Definition RenderResource.h:560
Type
Definition RHIFeatureLevel.h:20
@ Num
Definition RHIFeatureLevel.h:54
Definition RenderResource.h:293
bool IsFading() const
Definition RenderResource.h:344
float MipCountDelta
Definition RenderResource.h:308
float BiasOffset
Definition RenderResource.h:317
float StartTime
Definition RenderResource.h:311
float CalcMipBias() const
Definition RenderResource.h:332
float TotalMipCount
Definition RenderResource.h:305
FMipBiasFade()
Definition RenderResource.h:295
RENDERCORE_API void SetNewMipCount(float ActualMipCount, float TargetMipCount, double LastRenderTime, EMipFadeSettings FadeSetting)
Definition RenderResource.cpp:641
float MipCountFadingRate
Definition RenderResource.h:314
Definition RenderResource.h:269
float FadeOutSpeed
Definition RenderResource.h:280
FMipFadeSettings(float InFadeInSpeed, float InFadeOutSpeed)
Definition RenderResource.h:270
float FadeInSpeed
Definition RenderResource.h:277
Definition RenderResource.h:605
FRenderResourceNameScope(FName Name)
Definition RenderResource.h:606
~FRenderResourceNameScope()
Definition RenderResource.h:611
Definition AndroidStaticFeatureLevel.inl:12