114 uint32 AllocatedQueries = 0;
144 return !(*
this ==
Other);
242 #if WITH_RHI_BREADCRUMBS
392#if PLATFORM_SUPPORTS_MESH_SHADERS && PLATFORM_USE_FALLBACK_PSO
456#if ENABLE_LOW_LEVEL_MEM_TRACKER || UE_MEMORY_TRACE_ENABLED
904 #if ENABLE_RHI_VALIDATION
1040#if !UE_BUILD_SHIPPING
1081template<
typename TRHI>
1087template<
typename TRHI>
1175#if PLATFORM_SUPPORTS_MESH_SHADERS && PLATFORM_USE_FALLBACK_PSO
1196UE_DEPRECATED(5.6,
"Creating a compute pipeline state with a pointer to a FRHIComputeShader is deprecated, please pass a FComputePipelineStateInitializer instead.")
1284UE_DEPRECATED(5.7,
"RHIGetHTilePlatformConfig(uint32,uint32) has been deprecated. Please use RHIGetHTilePlatformConfig(const FRHITextureDesc&) instead.")
1295UE_DEPRECATED(5.7,
"RHIAdvanceFrameForGetViewportBackBuffer is deprecated. This happens automatically when RHIEndDrawingViewport is called. Remove calls to this function.")
#define checkNoEntry()
Definition AssertionMacros.h:316
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FBoundShaderStateRHIRef RHICreateBoundShaderState(FRHIVertexDeclaration *VertexDeclaration, FRHIVertexShader *VertexShader, FRHIPixelShader *PixelShader, FRHIGeometryShader *GeometryShader)
Definition DynamicRHI.h:1169
uint64 RHIGetMinimumAlignmentForBufferBackedSRV(EPixelFormat Format)
Definition DynamicRHI.h:1249
void RHIReleaseTransition(FRHITransition *Transition)
Definition DynamicRHI.h:1371
FRayTracingAccelerationStructureSize RHICalcRayTracingSceneSize(const FRayTracingSceneInitializer &Initializer)
Definition DynamicRHI.h:1401
FSamplerStateRHIRef RHICreateSamplerState(const FSamplerStateInitializerRHI &Initializer)
Definition DynamicRHI.h:1145
FUniformBufferRHIRef RHICreateUniformBuffer(const void *Contents, const FRHIUniformBufferLayout *Layout, EUniformBufferUsage Usage, EUniformBufferValidation Validation=EUniformBufferValidation::ValidateResources)
Definition DynamicRHI.h:1231
FRayTracingShaderRHIRef RHICreateRayTracingShader(TArrayView< const uint8 > Code, const FSHAHash &Hash, EShaderFrequency ShaderFrequency)
Definition DynamicRHI.h:1411
FRHICalcTextureSizeResult RHICalcTexturePlatformSize(FRHITextureDesc const &Desc, uint32 FirstMipIndex=0)
Definition DynamicRHI.h:1237
TRHI * CastDynamicRHI(FDynamicRHI *InDynamicRHI)
Definition DynamicRHI.h:1082
bool RHIGetRenderQueryResult(FRHIRenderQuery *RenderQuery, uint64 &OutResult, bool bWait, uint32 GPUIndex=INDEX_NONE)
Definition DynamicRHI.h:1264
FUnorderedAccessViewRHIRef RHIGetViewportBackBufferUAV(FRHIViewport *Viewport)
Definition DynamicRHI.h:1279
FUniformBufferLayoutRHIRef RHICreateUniformBufferLayout(const FRHIUniformBufferLayoutInitializer &Initializer)
Definition DynamicRHI.h:1225
FVertexShaderRHIRef RHICreateVertexShader(TArrayView< const uint8 > Code, const FSHAHash &Hash)
Definition DynamicRHI.h:1099
uint64 RHIComputeStatePrecachePSOHash(const FGraphicsPipelineStateInitializer &Initializer)
Definition DynamicRHI.h:1386
void RHIGetTextureMemoryStats(FTextureMemoryStats &OutStats)
Definition DynamicRHI.h:1254
RHI_API FRenderQueryPoolRHIRef RHICreateRenderQueryPool(ERenderQueryType QueryType, uint32 NumQueries=UINT32_MAX)
Definition DynamicRHI.cpp:806
FComputePipelineStateRHIRef RHICreateComputePipelineState(FRHIComputeShader *ComputeShader)
Definition DynamicRHI.h:1197
void RHIGetDisplaysInformation(FDisplayInformationArray &OutDisplayInformation)
Definition DynamicRHI.h:1381
RHI_API const TCHAR * GetSelectedDynamicRHIModuleName(bool bCleanup=true)
Definition WindowsDynamicRHI.cpp:1261
class IRHICommandContext * RHIGetDefaultContext()
Definition DynamicRHI.h:1362
void RHICheckViewportHDRStatus(FRHIViewport *Viewport)
Definition DynamicRHI.h:1321
void RHITick(float DeltaTime)
Definition DynamicRHI.h:1331
FWorkGraphShaderRHIRef RHICreateWorkGraphShader(TArrayView< const uint8 > Code, const FSHAHash &Hash, EShaderFrequency ShaderFrequency)
Definition DynamicRHI.h:1129
FViewportRHIRef RHICreateViewport(void *WindowHandle, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat)
Definition DynamicRHI.h:1303
FGeometryShaderRHIRef RHICreateGeometryShader(TArrayView< const uint8 > Code, const FSHAHash &Hash)
Definition DynamicRHI.h:1117
uint32 DepthHeight
Definition DynamicRHI.h:1286
FRayTracingSceneRHIRef RHICreateRayTracingScene(FRayTracingSceneInitializer Initializer)
Definition DynamicRHI.h:1406
FDynamicRHI * PlatformCreateDynamicRHI()
Definition AndroidDynamicRHI.cpp:123
uint64 RHIComputePrecachePSOHash(const FGraphicsPipelineStateInitializer &Initializer)
Definition DynamicRHI.h:1391
FStagingBufferRHIRef RHICreateStagingBuffer()
Definition DynamicRHI.h:1140
RHI_API RHIGetGPUUsageType RHIGetGPUUsage
Definition DynamicRHI.cpp:36
FShaderBundleRHIRef RHICreateShaderBundle(const FShaderBundleCreateInfo &CreateInfo)
Definition DynamicRHI.h:1416
void appDumpTextureMemoryStats(const TCHAR *)
Definition DynamicRHI.h:1436
FGPUFenceRHIRef RHICreateGPUFence(const FName &Name)
Definition DynamicRHI.h:1135
void appDefragmentTexturePool()
Definition DynamicRHI.h:1424
TRefCountPtr< FRHIRayTracingPipelineState > RHICreateRayTracingPipelineState(const FRayTracingPipelineStateInitializer &Initializer)
Definition DynamicRHI.h:1220
FPixelShaderRHIRef RHICreatePixelShader(TArrayView< const uint8 > Code, const FSHAHash &Hash)
Definition DynamicRHI.h:1093
FTextureRHIRef RHIGetViewportBackBuffer(FRHIViewport *Viewport)
Definition DynamicRHI.h:1274
TRefCountPtr< FRHIWorkGraphPipelineState > RHICreateWorkGraphPipelineState(const FWorkGraphPipelineStateInitializer &Initializer)
Definition DynamicRHI.h:1209
RHI_API FDynamicRHI * GDynamicRHI
Definition DynamicRHI.cpp:35
FVertexDeclarationRHIRef RHICreateVertexDeclaration(const FVertexDeclarationElementList &Elements)
Definition DynamicRHI.h:1191
bool appIsPoolTexture(FRHITexture *TextureRHI)
Definition DynamicRHI.h:1429
void RHIHandleDisplayChange()
Definition DynamicRHI.h:1326
bool RHIGetAvailableResolutions(FScreenResolutionArray &Resolutions, bool bIgnoreRefreshRate)
Definition DynamicRHI.h:1352
FRenderQueryRHIRef RHICreateRenderQuery(ERenderQueryType QueryType)
Definition DynamicRHI.h:1215
uint32 RHIGetHTilePlatformConfig(const FRHITextureDesc &DepthDesc)
Definition DynamicRHI.h:1290
FRHIGPUUsageFractions(* RHIGetGPUUsageType)(uint32)
Definition DynamicRHI.h:1467
FBlendStateRHIRef RHICreateBlendState(const FBlendStateInitializerRHI &Initializer)
Definition DynamicRHI.h:1163
RHI_API uint32 RHIGetGPUFrameCycles(uint32 GPUIndex=0)
Definition GPUProfiler.cpp:2722
TArray< FScreenResolutionRHI > FScreenResolutionArray
Definition DynamicRHI.h:44
bool RHIMatchPrecachePSOInitializers(const FGraphicsPipelineStateInitializer &LHS, const FGraphicsPipelineStateInitializer &RHS)
Definition DynamicRHI.h:1396
FDepthStencilStateRHIRef RHICreateDepthStencilState(const FDepthStencilStateInitializerRHI &Initializer)
Definition DynamicRHI.h:1157
uint32 RHIComputeMemorySize(FRHITexture *TextureRHI)
Definition DynamicRHI.h:1259
EColorSpaceAndEOTF RHIGetColorSpace(FRHIViewport *Viewport)
Definition DynamicRHI.h:1316
TRHI * GetDynamicRHI()
Definition DynamicRHI.h:1088
void RHIResumeRendering()
Definition DynamicRHI.h:1347
ERHIInterfaceType RHIGetInterfaceType()
Definition DynamicRHI.h:1076
FAmplificationShaderRHIRef RHICreateAmplificationShader(TArrayView< const uint8 > Code, const FSHAHash &Hash)
Definition DynamicRHI.h:1111
void RHIResizeViewport(FRHIViewport *Viewport, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat)
Definition DynamicRHI.h:1309
RHI_API bool GDynamicRHIFailedToInitializeAdvancedPlatform
Definition WindowsDynamicRHI.cpp:22
FMeshShaderRHIRef RHICreateMeshShader(TArrayView< const uint8 > Code, const FSHAHash &Hash)
Definition DynamicRHI.h:1105
RHI_API FRHITransition * RHICreateTransition(const FRHITransitionCreateInfo &CreateInfo)
Definition DynamicRHI.cpp:811
uint32 RHIGetViewportNextPresentGPUIndex(FRHIViewport *Viewport)
Definition DynamicRHI.h:1269
void RHIBeginSuspendRendering()
Definition DynamicRHI.h:1337
void RHIAdvanceFrameForGetViewportBackBuffer(FRHIViewport *Viewport)
Definition DynamicRHI.h:1296
FGraphicsPipelineStateRHIRef RHICreateGraphicsPipelineState(const FGraphicsPipelineStateInitializer &Initializer)
Definition DynamicRHI.h:1184
void RHISuspendRendering()
Definition DynamicRHI.h:1342
FComputeShaderRHIRef RHICreateComputeShader(TArrayView< const uint8 > Code, const FSHAHash &Hash)
Definition DynamicRHI.h:1123
IRHITransientResourceAllocator * RHICreateTransientResourceAllocator()
Definition DynamicRHI.h:1376
FRasterizerStateRHIRef RHICreateRasterizerState(const FRasterizerStateInitializerRHI &Initializer)
Definition DynamicRHI.h:1151
void RHIGetSupportedResolution(uint32 &Width, uint32 &Height)
Definition DynamicRHI.h:1357
#define LLM_SCOPE_BYNAME(...)
Definition LowLevelMemTracker.h:1098
#define LLM_SCOPE(...)
Definition LowLevelMemTracker.h:1095
ERHIAccess
Definition RHIAccess.h:11
EShaderFrequency
Definition RHIDefinitions.h:202
EUniformBufferUsage
Definition RHIDefinitions.h:536
ECubeFace
Definition RHIDefinitions.h:525
EResourceLockMode
Definition RHIDefinitions.h:785
@ RLM_Num
Definition RHIDefinitions.h:789
EUniformBufferValidation
Definition RHIDefinitions.h:546
ERHIInterfaceType
Definition RHIDefinitions.h:157
ETextureCreateFlags
Definition RHIDefinitions.h:1091
ERenderQueryType
Definition RHIDefinitions.h:258
EColorSpaceAndEOTF
Definition RHIDefinitions.h:1471
TRefCountPtr< FRHIUnorderedAccessView > FUnorderedAccessViewRHIRef
Definition RHIFwd.h:137
TRefCountPtr< FRHIWorkGraphShader > FWorkGraphShaderRHIRef
Definition RHIFwd.h:143
TRefCountPtr< FRHIAmplificationShader > FAmplificationShaderRHIRef
Definition RHIFwd.h:102
TRefCountPtr< FRHIMeshShader > FMeshShaderRHIRef
Definition RHIFwd.h:113
ERHIPipeline
Definition RHIPipeline.h:13
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Offset
Definition VulkanMemory.cpp:4033
uint32 Size
Definition VulkanMemory.cpp:4034
Definition RHIResources.h:4820
Definition DynamicRHI.h:101
FDefaultRHIRenderQueryPool(ERenderQueryType InQueryType)
Definition DynamicRHI.h:103
virtual RHI_API ~FDefaultRHIRenderQueryPool()
Definition DynamicRHI.cpp:770
Definition DynamicRHI.h:1063
virtual FComputePipelineStateRHIRef RHICreateComputePipelineState(const FComputePipelineStateInitializer &Initializer) override
Definition DynamicRHI.h:1070
virtual FGraphicsPipelineStateRHIRef RHICreateGraphicsPipelineState(const FGraphicsPipelineStateInitializer &Initializer) override
Definition DynamicRHI.h:1065
Definition DynamicRHI.h:206
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 FRayTracingShaderRHIRef RHICreateRayTracingShader(TArrayView< const uint8 > Code, const FSHAHash &Hash, EShaderFrequency ShaderFrequency)
Definition DynamicRHI.h:1022
virtual RHI_API uint64 RHIComputeStatePrecachePSOHash(const FGraphicsPipelineStateInitializer &Initializer)
Definition DynamicRHI.cpp:584
virtual FGeometryShaderRHIRef RHICreateGeometryShader(TArrayView< const uint8 > Code, const FSHAHash &Hash)=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 void Shutdown()=0
virtual RHI_API void RHIBindDebugLabelName(FRHICommandListBase &RHICmdList, FRHITexture *Texture, const TCHAR *Name)
Definition DynamicRHI.cpp:900
virtual void RHIHandleDisplayChange()
Definition DynamicRHI.h:746
friend class FValidationRHI
Definition DynamicRHI.h:1055
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 IRHITransientResourceAllocator * RHICreateTransientResourceAllocator()
Definition DynamicRHI.h:332
virtual FGraphicsPipelineStateRHIRef RHICreateGraphicsPipelineState(const FGraphicsPipelineStateInitializer &Initializer)=0
virtual void RHISuspendRendering()
Definition DynamicRHI.h:761
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
void RHICloseTranslateChain(FRHIFinalizeContextArgs &&Args, TRHIPipelineArray< IRHIPlatformCommandList * > &Output, bool bShouldFinalize)
Definition DynamicRHI.h:907
virtual FGPUFenceRHIRef RHICreateGPUFence(const FName &Name)=0
virtual void RHIBeginSuspendRendering()
Definition DynamicRHI.h:757
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 void RHIGetTextureMemoryStats(FTextureMemoryStats &OutStats)=0
virtual void UnlockBuffer_BottomOfPipe(class FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer)
Definition DynamicRHI.h:971
virtual FVertexShaderRHIRef RHICreateVertexShader(TArrayView< const uint8 > Code, const FSHAHash &Hash)=0
virtual RHI_API void RHIEndUpdateTexture3D(FRHICommandListBase &RHICmdList, FUpdateTexture3DData &UpdateData)
Definition RHICommandList.cpp:2242
virtual RHI_API ~FDynamicRHI()
virtual FRHIBufferInitializer RHICreateBufferInitializer(FRHICommandListBase &RHICmdList, const FRHIBufferCreateDesc &CreateDesc)=0
virtual FUnorderedAccessViewRHIRef RHIGetViewportBackBufferUAV(FRHIViewport *ViewportRHI)
Definition DynamicRHI.h:669
virtual RHI_API void RHIVirtualTextureSetFirstMipVisible(class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, uint32 FirstMip)
Definition DynamicRHI.cpp:574
virtual uint32 RHIGetHTilePlatformConfig(const FRHITextureDesc &DepthDesc) const
Definition DynamicRHI.h:679
virtual void * RHIGetNativeCommandBuffer()
Definition DynamicRHI.h:849
virtual void RHITick(float DeltaTime)=0
virtual bool RHIIsRenderingSuspended()
Definition DynamicRHI.h:767
virtual void RHIReplaceResources(FRHICommandListBase &RHICmdList, TArray< FRHIResourceReplaceInfo > &&ReplaceInfos)=0
virtual FRayTracingSceneRHIRef RHICreateRayTracingScene(FRayTracingSceneInitializer Initializer)
Definition DynamicRHI.h:1016
virtual RHI_API bool RHIMatchPrecachePSOInitializers(const FGraphicsPipelineStateInitializer &LHS, const FGraphicsPipelineStateInitializer &RHS)
Definition DynamicRHI.cpp:716
virtual void RHIAcquireThreadOwnership()
Definition DynamicRHI.h:716
virtual FRayTracingClusterOperationSize RHICalcRayTracingClusterOperationSize(const FRayTracingClusterOperationInitializer &Initializer)
Definition DynamicRHI.h:998
virtual FVertexDeclarationRHIRef RHICreateVertexDeclaration(const FVertexDeclarationElementList &Elements)=0
virtual void RHIReadSurfaceFloatData(FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, ECubeFace CubeFace, int32 ArrayIndex, int32 MipIndex)=0
virtual FAmplificationShaderRHIRef RHICreateAmplificationShader(TArrayView< const uint8 > Code, const FSHAHash &Hash)
Definition DynamicRHI.h:282
virtual FRHIResourceCollectionRef RHICreateResourceCollection(FRHICommandListBase &RHICmdList, TConstArrayView< FRHIResourceCollectionMember > InMembers)
Definition DynamicRHI.h:529
virtual ERHIInterfaceType GetInterfaceType() const
Definition DynamicRHI.h:224
virtual FTextureRHIRef RHIAsyncReallocateTexture2D(FRHITexture *Texture2D, int32 NewMipCount, int32 NewSizeX, int32 NewSizeY, FThreadSafeCounter *RequestStatus)=0
virtual FPixelShaderRHIRef RHICreatePixelShader(TArrayView< const uint8 > Code, const FSHAHash &Hash)=0
virtual RHI_API void RHIEndFrame_RenderThread(FRHICommandListImmediate &RHICmdList)
Definition DynamicRHI.cpp:463
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 FComputeShaderRHIRef RHICreateComputeShader(TArrayView< const uint8 > Code, const FSHAHash &Hash)=0
virtual void RHISubmitCommandLists(FRHISubmitCommandListsArgs &&Args)=0
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 void RHIResizeViewport(FRHIViewport *Viewport, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat)
Definition DynamicRHI.h:731
virtual FWorkGraphShaderRHIRef RHICreateWorkGraphShader(TArrayView< const uint8 > Code, const FSHAHash &Hash, EShaderFrequency ShaderFrequency)
Definition DynamicRHI.h:294
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
::FRHICalcTextureSizeResult FRHICalcTextureSizeResult
Definition DynamicRHI.h:208
virtual void FlushPendingLogs()
Definition DynamicRHI.h:288
virtual FTextureRHIRef RHICreateAliasedTexture(FTextureRHIRef &SourceTexture)
Definition DynamicRHI.h:689
virtual void RHIBlockUntilGPUIdle()=0
virtual FRHIFlipDetails RHIWaitForFlip(double TimeoutInSeconds)
Definition DynamicRHI.h:980
virtual FRayTracingAccelerationStructureSize RHICalcRayTracingGeometrySize(const FRayTracingGeometryInitializer &Initializer)
Definition DynamicRHI.h:992
virtual RHI_API uint64 RHIComputePrecachePSOHash(const FGraphicsPipelineStateInitializer &Initializer)
Definition DynamicRHI.cpp:648
virtual FBoundShaderStateRHIRef RHICreateBoundShaderState(FRHIVertexDeclaration *VertexDeclaration, FRHIVertexShader *VertexShader, FRHIPixelShader *PixelShader, FRHIGeometryShader *GeometryShader)=0
virtual FRHITextureInitializer RHICreateTextureInitializer(FRHICommandListBase &RHICmdList, const FRHITextureCreateDesc &CreateDesc)=0
virtual FRayTracingAccelerationStructureSize RHICalcRayTracingSceneSize(const FRayTracingSceneInitializer &Initializer)
Definition DynamicRHI.h:986
virtual RHI_API void * RHILockStagingBuffer(FRHIStagingBuffer *StagingBuffer, FRHIGPUFence *Fence, uint32 Offset, uint32 SizeRHI)
Definition RHICommandList.cpp:2171
virtual bool RHIGetTextureMemoryVisualizeData(FColor *TextureData, int32 SizeX, int32 SizeY, int32 Pitch, int32 PixelSize)=0
virtual FRasterizerStateRHIRef RHICreateRasterizerState(const FRasterizerStateInitializerRHI &Initializer)=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 void RHIMapStagingSurface(FRHITexture *Texture, FRHIGPUFence *Fence, void *&OutData, int32 &OutWidth, int32 &OutHeight, uint32 GPUIndex=0)=0
virtual void RHIEndFrame(const FRHIEndFrameArgs &Args)=0
virtual IRHIComputeContext * RHIGetParallelCommandContext(FRHIParallelRenderPassInfo const &ParallelRenderPass, FRHIGPUMask GPUMask)
Definition DynamicRHI.h:874
void InitPixelFormatInfo(const TArray< uint32 > &PixelFormatBlockBytesIn)
Definition DynamicRHI.h:228
virtual void RHIUnmapStagingSurface(FRHITexture *Texture, uint32 GPUIndex=0)=0
virtual EPixelFormat RHIPreferredPixelFormatHint(EPixelFormat PreferredPixelFormat)
Definition DynamicRHI.h:738
virtual void RHICreateTransition(FRHITransition *Transition, const FRHITransitionCreateInfo &CreateInfo)
Definition DynamicRHI.h:321
virtual FDepthStencilStateRHIRef RHICreateDepthStencilState(const FDepthStencilStateInitializerRHI &Initializer)=0
virtual RHI_API void RHICheckViewportHDRStatus(FRHIViewport *Viewport)
Definition DynamicRHI.cpp:819
virtual bool RHIGetRenderQueryResult(FRHIRenderQuery *RenderQuery, uint64 &OutResult, bool bWait, uint32 GPUIndex=INDEX_NONE)=0
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 void RHIResumeRendering()
Definition DynamicRHI.h:764
virtual FRHIShaderLibraryRef RHICreateShaderLibrary(EShaderPlatform Platform, FString const &FilePath, FString const &Name)
Definition DynamicRHI.h:307
virtual FBlendStateRHIRef RHICreateBlendState(const FBlendStateInitializerRHI &Initializer)=0
virtual FWorkGraphPipelineStateRHIRef RHICreateWorkGraphPipelineState(const FWorkGraphPipelineStateInitializer &Initializer)
Definition DynamicRHI.h:420
virtual RHI_API FUpdateTexture3DData RHIBeginUpdateTexture3D(FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion)
Definition RHICommandList.cpp:2228
virtual IRHIComputeContext * RHIGetCommandContext(ERHIPipeline Pipeline, FRHIGPUMask GPUMask)=0
virtual RHI_API void RHIEndMultiUpdateTexture3D(FRHICommandListBase &RHICmdList, TArray< FUpdateTexture3DData > &UpdateDataArray)
Definition RHICommandList.cpp:2251
virtual void RHIReleaseTransition(FRHITransition *Transition)
Definition DynamicRHI.h:325
virtual void RHIGetDisplaysInformation(FDisplayInformationArray &OutDisplayInformation)
Definition DynamicRHI.h:695
virtual void RHIReleaseThreadOwnership()
Definition DynamicRHI.h:717
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 void RHIAliasTextureResources(FTextureRHIRef &DestTexture, FTextureRHIRef &SrcTexture)
Definition DynamicRHI.h:684
virtual FSamplerStateRHIRef RHICreateSamplerState(const FSamplerStateInitializerRHI &Initializer)=0
virtual FRenderQueryRHIRef RHICreateRenderQuery(ERenderQueryType QueryType)=0
virtual void RHISignalFlipEvent()
Definition DynamicRHI.h:981
virtual uint32 RHIGetViewportNextPresentGPUIndex(FRHIViewport *Viewport)
Definition DynamicRHI.h:660
virtual void RHIAdvanceFrameForGetViewportBackBuffer(FRHIViewport *Viewport, bool bPresent)=0
virtual void PostInit()
Definition DynamicRHI.h:217
virtual const TCHAR * GetName()=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 FRHICalcTextureSizeResult RHICalcTexturePlatformSize(FRHITextureDesc const &Desc, uint32 FirstMipIndex)=0
virtual FRHILockTextureResult RHILockTexture(FRHICommandListImmediate &RHICmdList, const FRHILockTextureArgs &Arguments)=0
virtual FRayTracingAccelerationStructureOfflineMetadata RHIGetRayTracingGeometryOfflineMetadata(const FRayTracingGeometryOfflineDataHeader &OfflineDataHeader)
Definition DynamicRHI.h:1004
virtual void * LockBuffer_BottomOfPipe(class FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 Offset, uint32 SizeRHI, EResourceLockMode LockMode)
Definition DynamicRHI.h:964
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 RHI_API FRHIShaderLibraryRef RHICreateShaderLibrary_RenderThread(class FRHICommandListImmediate &RHICmdList, EShaderPlatform Platform, FString FilePath, FString Name)
Definition RHICommandList.cpp:2259
virtual FMeshShaderRHIRef RHICreateMeshShader(TArrayView< const uint8 > Code, const FSHAHash &Hash)
Definition DynamicRHI.h:276
virtual void RHIUpdateUniformBuffer(FRHICommandListBase &RHICmdList, FRHIUniformBuffer *UniformBufferRHI, const void *Contents)=0
virtual RHI_API uint64 RHIGetMinimumAlignmentForBufferBackedSRV(EPixelFormat Format)
Definition DynamicRHI.cpp:579
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 uint32 RHIGetHTilePlatformConfig(uint32 DepthWidth, uint32 DepthHeight) const
Definition DynamicRHI.h:674
virtual void RHIFlushResources()=0
virtual FStagingBufferRHIRef RHICreateStagingBuffer()
Definition DynamicRHI.h:339
virtual FDynamicRHI * GetNonValidationRHI()
Definition DynamicRHI.h:225
virtual void RHIGetSupportedResolution(uint32 &Width, uint32 &Height)=0
virtual void RHIFinalizeContext(FRHIFinalizeContextArgs &&Args, TRHIPipelineArray< IRHIPlatformCommandList * > &Output)=0
virtual uint16 RHIGetPlatformTextureMaxSampleCount()
Definition DynamicRHI.h:984
virtual IRHIPlatformCommandList * RHIFinalizeParallelContext(IRHIComputeContext *Context)
Definition DynamicRHI.h:917
virtual uint32 RHIComputeMemorySize(FRHITexture *TextureRHI)=0
virtual FUniformBufferRHIRef RHICreateUniformBuffer(const void *Contents, const FRHIUniformBufferLayout *Layout, EUniformBufferUsage Usage, EUniformBufferValidation Validation)=0
virtual FShaderBundleRHIRef RHICreateShaderBundle(const FShaderBundleCreateInfo &CreateInfo)
Definition DynamicRHI.h:1047
virtual void RHIProcessDeleteQueue()
Definition DynamicRHI.h:947
virtual void * RHIGetNativeGraphicsQueue()
Definition DynamicRHI.h:825
static RHI_API void EnableIdealGPUCaptureOptions(bool bEnable)
Definition DynamicRHI.cpp:508
virtual void RHIUnlockTexture(FRHICommandListImmediate &RHICmdList, const FRHILockTextureArgs &Arguments)=0
virtual FTextureRHIRef RHIGetViewportBackBuffer(FRHIViewport *Viewport)=0
virtual void RHIResizeViewport(FRHIViewport *Viewport, uint32 SizeX, uint32 SizeY, bool bIsFullscreen)=0
virtual RHI_API void RHIUnlockStagingBuffer(FRHIStagingBuffer *StagingBuffer)
Definition RHICommandList.cpp:2177
virtual void * RHIGetNativeComputeQueue()
Definition DynamicRHI.h:834
virtual IRHICommandContext * RHIGetDefaultContext()=0
virtual RHI_API void RHIUpdateTextureReference(FRHICommandListBase &RHICmdList, FRHITextureReference *TextureRef, FRHITexture *NewTexture)
Definition DynamicRHI.cpp:553
virtual FComputePipelineStateRHIRef RHICreateComputePipelineState(const FComputePipelineStateInitializer &Initializer)=0
virtual FRayTracingPipelineStateRHIRef RHICreateRayTracingPipelineState(const FRayTracingPipelineStateInitializer &Initializer)
Definition DynamicRHI.h:1028
virtual bool RHIGetAvailableResolutions(FScreenResolutionArray &Resolutions, bool bIgnoreRefreshRate)=0
virtual RHI_API void RHIUnlockBufferMGPU(FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 GPUIndex)
Definition DynamicRHI.cpp:830
TArray< uint32 > PixelFormatBlockBytes
Definition DynamicRHI.h:1054
virtual void * RHIGetNativePhysicalDevice()
Definition DynamicRHI.h:815
virtual FViewportRHIRef RHICreateViewport(void *WindowHandle, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat)=0
Definition RHIResources.h:4001
Definition RHIResources.h:4572
Definition RHIResources.h:1666
Definition NameTypes.h:617
Definition RHIResources.h:966
Definition RHIResources.h:1581
Definition RHICommandList.h:455
Definition RHICommandList.h:3819
Definition RHIResources.h:5123
Definition RHIResources.h:1018
Definition RHIResources.h:2387
Definition RHIResources.h:978
Definition RHIResources.h:5097
Definition RHIResources.h:960
Definition RHIResources.h:972
Definition RHIResources.h:2452
Definition RHIResources.h:3755
Definition RHIResources.h:2480
Definition RHIResources.h:2444
Definition RHIResourceCollection.h:46
Definition RHIResources.h:3981
Definition RHITextureReference.h:8
Definition RHIResources.h:2153
Definition RHIResources.h:3294
Definition RHIResources.h:725
Definition RHIResources.h:954
Definition RHIResources.h:1265
Definition RHIResources.h:2515
Definition RHIResources.h:5023
Definition PipelineStateCache.cpp:1285
Definition SecureHash.h:226
Definition ThreadSafeCounter.h:14
Definition RHIResources.h:4915
Definition DynamicRHI.h:1472
virtual bool IsSupported(ERHIFeatureLevel::Type RequestedFeatureLevel)
Definition DynamicRHI.h:1478
virtual FDynamicRHI * CreateRHI(ERHIFeatureLevel::Type RequestedFeatureLevel=ERHIFeatureLevel::Num)=0
virtual bool IsSupported()=0
Definition ModuleInterface.h:14
Definition RHIContext.h:693
virtual void RHIBeginRenderPass(const FRHIRenderPassInfo &InInfo, const TCHAR *InName)=0
Definition RHIContext.h:257
Definition RHITransientResourceAllocator.h:536
Definition RHIContext.h:573
Definition ArrayView.h:139
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
Definition RHIPipeline.h:55
Definition RefCounting.h:454
Type
Definition RHIFeatureLevel.h:20
@ Num
Definition RHIFeatureLevel.h:54
static CORE_API const FColor Red
Definition Color.h:752
Definition DynamicRHI.h:238
uint32 FrameNumber
Definition DynamicRHI.h:240
Definition DynamicRHI.h:896
IRHIUploadContext * UploadContext
Definition DynamicRHI.h:898
TArray< IRHIComputeContext * > Contexts
Definition DynamicRHI.h:897
Definition DynamicRHI.h:937
TArray< IRHIPlatformCommandList * > CommandLists
Definition DynamicRHI.h:938
IRHIUploadContext * UploadContext
Definition DynamicRHI.h:939
static constexpr UE_FORCEINLINE_HINT T Clamp(const T X, const T MinValue, const T MaxValue)
Definition UnrealMathUtility.h:592
Definition RHIResources.h:1417
Definition RHIBufferInitializer.h:12
Definition DynamicRHI.h:120
uint32 Align
Definition DynamicRHI.h:125
uint64 Size
Definition DynamicRHI.h:122
Definition DynamicRHI.h:49
double VBlankTimeInSeconds
Definition DynamicRHI.h:52
FRHIFlipDetails(uint64 InPresentIndex, double InFlipTimeInSeconds, double InVBlankTimeInSeconds, uint64 InVBlankTimeInCycles)
Definition DynamicRHI.h:62
FRHIFlipDetails()
Definition DynamicRHI.h:55
double FlipTimeInSeconds
Definition DynamicRHI.h:51
uint64 VBlankTimeInCycles
Definition DynamicRHI.h:53
uint64 PresentIndex
Definition DynamicRHI.h:50
Definition DynamicRHI.h:1440
float GetUnused()
Definition DynamicRHI.h:1457
uint64_t ExternalProcessMemoryUsage
Definition DynamicRHI.h:1454
float CurrentProcessMHz
Definition DynamicRHI.h:1445
uint64_t CurrentProcessMemoryUsage
Definition DynamicRHI.h:1451
float ExternalProcessesMHz
Definition DynamicRHI.h:1448
float ClockScaling
Definition DynamicRHI.h:1442
Definition DynamicRHI.h:149
FRHILockTextureArgs()=default
bool bNeedsDefaultRHIFlush
Definition DynamicRHI.h:190
bool bLockWithinMiptail
Definition DynamicRHI.h:189
static FRHILockTextureArgs Lock2DArray(FRHITexture *InTexture, uint32 InArrayIndex, uint32 InMipIndex, EResourceLockMode InLockMode, bool bInLockWithinMiptail)
Definition DynamicRHI.h:162
EResourceLockMode LockMode
Definition DynamicRHI.h:188
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
void * Data
Definition DynamicRHI.h:199
uint64 ByteCount
Definition DynamicRHI.h:200
uint32 Stride
Definition DynamicRHI.h:201
Definition DynamicRHI.h:129
uint32 ArrayIndex
Definition DynamicRHI.h:132
FRHITexture * Texture
Definition DynamicRHI.h:130
bool operator==(const FRHILockedTextureDesc &Other) const
Definition DynamicRHI.h:135
bool operator!=(const FRHILockedTextureDesc &Other) const
Definition DynamicRHI.h:142
uint32 MipIndex
Definition DynamicRHI.h:133
uint32 FaceIndex
Definition DynamicRHI.h:131
Definition RHIResources.h:5548
Definition RHIResourceCollection.h:9
Definition RHIResources.h:1938
Definition RHIResources.h:1689
bool IsValid() const
Definition RHIResources.h:1838
Definition RHITextureInitializer.h:50
Definition RHITransition.h:382
Definition RHITransition.h:475
Definition RHIResources.h:2812
FInitializer & SetType(EBufferType Type)
Definition RHIResources.h:2824
friend struct FShaderResourceViewInitializer
Definition RHIResources.h:2815
Definition RHIResources.h:2648
Definition DynamicRHI.h:90
FRawBufferShaderResourceViewInitializer(FRHIBuffer *InBuffer)
Definition DynamicRHI.h:91
Definition RHIResources.h:3693
Definition RHIResources.h:3842
Definition RHIResources.h:3761
Definition RHIResources.h:3496
Definition RHIResources.h:3669
Definition RHIResources.h:3635
Definition ResourceArray.h:10
Definition DynamicRHI.h:1501
~FScopedRHIThreadOwnership()
Definition DynamicRHI.h:1514
FScopedRHIThreadOwnership(bool bCondition)
Definition DynamicRHI.h:1504
bool const bCondition
Definition DynamicRHI.h:1502
Definition RHIResources.h:3910
Definition DynamicRHI.h:72
FRHIBuffer * Buffer
Definition DynamicRHI.h:73
Definition RHICommandList.h:220
Definition RHITypes.h:127
Definition RHITypes.h:155
Definition LinuxPlatformSplash.cpp:43
Definition Optional.h:131