UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FNullDynamicRHI Class Reference

#include <NullRHI.h>

+ Inheritance diagram for FNullDynamicRHI:

Classes

class  FNullBuffer
 
struct  FNullBufferInitializer
 
class  FNullTexture
 
struct  FNullTextureInitializer
 

Public Member Functions

 FNullDynamicRHI ()
 
virtual void Init ()
 
virtual void Shutdown ()
 
virtual const TCHARGetName () override
 
virtual ERHIInterfaceType GetInterfaceType () const override
 
virtual FSamplerStateRHIRef RHICreateSamplerState (const FSamplerStateInitializerRHI &Initializer) final override
 
virtual FRasterizerStateRHIRef RHICreateRasterizerState (const FRasterizerStateInitializerRHI &Initializer) final override
 
virtual FDepthStencilStateRHIRef RHICreateDepthStencilState (const FDepthStencilStateInitializerRHI &Initializer) final override
 
virtual FBlendStateRHIRef RHICreateBlendState (const FBlendStateInitializerRHI &Initializer) final override
 
virtual FVertexDeclarationRHIRef RHICreateVertexDeclaration (const FVertexDeclarationElementList &Elements) final override
 
virtual FPixelShaderRHIRef RHICreatePixelShader (TArrayView< const uint8 > Code, const FSHAHash &Hash) final override
 
virtual FVertexShaderRHIRef RHICreateVertexShader (TArrayView< const uint8 > Code, const FSHAHash &Hash) final override
 
virtual FGeometryShaderRHIRef RHICreateGeometryShader (TArrayView< const uint8 > Code, const FSHAHash &Hash) final override
 
virtual FComputeShaderRHIRef RHICreateComputeShader (TArrayView< const uint8 > Code, const FSHAHash &Hash) final override
 
virtual FBoundShaderStateRHIRef RHICreateBoundShaderState (FRHIVertexDeclaration *VertexDeclaration, FRHIVertexShader *VertexShader, FRHIPixelShader *PixelShader, FRHIGeometryShader *GeometryShader) final override
 
virtual void RHISetComputeShader (FRHIComputeShader *ComputeShader) final override
 
virtual void RHIDispatchComputeShader (uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ) final override
 
virtual void RHIDispatchIndirectComputeShader (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) final override
 
virtual void RHICreateTransition (FRHITransition *Transition, const FRHITransitionCreateInfo &CreateInfo) final override
 
virtual void RHIReleaseTransition (FRHITransition *Transition) final override
 
virtual void RHIBeginTransitions (TArrayView< const FRHITransition * > Transitions) final override
 
virtual void RHIEndTransitions (TArrayView< const FRHITransition * > Transitions) final override
 
virtual void RHISetMultipleViewports (uint32 Count, const FViewportBounds *Data) final override
 
virtual FUniformBufferRHIRef RHICreateUniformBuffer (const void *Contents, const FRHIUniformBufferLayout *Layout, EUniformBufferUsage Usage, EUniformBufferValidation Validation) final override
 
virtual void RHIUpdateUniformBuffer (FRHICommandListBase &RHICmdList, FRHIUniformBuffer *UniformBufferRHI, const void *Contents) final override
 
virtual FRHIBufferInitializer RHICreateBufferInitializer (FRHICommandListBase &RHICmdList, const FRHIBufferCreateDesc &CreateDesc) final override
 
virtual voidLockBuffer_BottomOfPipe (FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 Offset, uint32 SizeRHI, EResourceLockMode LockMode) final override
 
virtual void UnlockBuffer_BottomOfPipe (FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer) final override
 
virtual void RHIReplaceResources (FRHICommandListBase &RHICmdList, TArray< FRHIResourceReplaceInfo > &&ReplaceInfos) final override
 
virtual void RHIClearUAVFloat (FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FVector4f &Values) final override
 
virtual void RHIClearUAVUint (FRHIUnorderedAccessView *UnorderedAccessViewRHI, const FUintVector4 &Values) final override
 
virtual FRHICalcTextureSizeResult RHICalcTexturePlatformSize (FRHITextureDesc const &Desc, uint32 FirstMipIndex) override final
 
virtual void RHIGetTextureMemoryStats (FTextureMemoryStats &OutStats) final override
 
virtual bool RHIGetTextureMemoryVisualizeData (FColor *TextureData, int32 SizeX, int32 SizeY, int32 Pitch, int32 PixelSize) final override
 
virtual FRHITextureInitializer RHICreateTextureInitializer (FRHICommandListBase &RHICmdList, const FRHITextureCreateDesc &CreateDesc)
 
virtual FTextureRHIRef RHIAsyncCreateTexture2D (uint32 SizeX, uint32 SizeY, uint8 Format, uint32 NumMips, ETextureCreateFlags Flags, ERHIAccess InResourceState, void **InitialMipData, uint32 NumInitialMips, const TCHAR *DebugName, FGraphEventRef &OutCompletionEvent) final override
 
virtual FShaderResourceViewRHIRef RHICreateShaderResourceView (class FRHICommandListBase &RHICmdList, FRHIViewableResource *Resource, FRHIViewDesc const &ViewDesc)
 
virtual FUnorderedAccessViewRHIRef RHICreateUnorderedAccessView (class FRHICommandListBase &RHICmdList, FRHIViewableResource *Resource, FRHIViewDesc const &ViewDesc)
 
virtual uint32 RHIComputeMemorySize (FRHITexture *TextureRHI) final override
 
virtual FTextureRHIRef RHIAsyncReallocateTexture2D (FRHITexture *Texture2D, int32 NewMipCount, int32 NewSizeX, int32 NewSizeY, FThreadSafeCounter *RequestStatus) final override
 
virtual FRHILockTextureResult RHILockTexture (FRHICommandListImmediate &RHICmdList, const FRHILockTextureArgs &Arguments) final override
 
virtual void RHIUnlockTexture (FRHICommandListImmediate &RHICmdList, const FRHILockTextureArgs &Arguments) final override
 
virtual void RHIUpdateTexture2D (FRHICommandListBase &, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, const uint8 *SourceData) final override
 
virtual void RHIUpdateTexture3D (FRHICommandListBase &, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion, uint32 SourceRowPitch, uint32 SourceDepthPitch, const uint8 *SourceData) final override
 
virtual void RHICopyTexture (FRHITexture *SourceTexture, FRHITexture *DestTexture, const FRHICopyTextureInfo &CopyInfo) final override
 
virtual void RHICopyBufferRegion (FRHIBuffer *DestBuffer, uint64 DstOffset, FRHIBuffer *SourceBuffer, uint64 SrcOffset, uint64 NumBytes) final override
 
virtual void RHIBindDebugLabelName (FRHICommandListBase &RHICmdList, FRHITexture *Texture, const TCHAR *Name) final override
 
virtual void RHIReadSurfaceData (FRHITexture *Texture, FIntRect Rect, TArray< FColor > &OutData, FReadSurfaceDataFlags InFlags) final override
 
virtual FGPUFenceRHIRef RHICreateGPUFence (const FName &Name)
 
virtual void RHIMapStagingSurface (FRHITexture *Texture, FRHIGPUFence *Fence, void *&OutData, int32 &OutWidth, int32 &OutHeight, uint32 GPUIndex) final override
 
virtual void RHIUnmapStagingSurface (FRHITexture *Texture, uint32 GPUIndex) final override
 
virtual void RHIReadSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, ECubeFace CubeFace, int32 ArrayIndex, int32 MipIndex) final override
 
virtual void RHIRead3DSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, FIntPoint ZMinMax, TArray< FFloat16Color > &OutData) final override
 
virtual FRenderQueryRHIRef RHICreateRenderQuery (ERenderQueryType QueryType) final override
 
virtual void RHIBeginRenderQuery (FRHIRenderQuery *RenderQuery) final override
 
virtual void RHIEndRenderQuery (FRHIRenderQuery *RenderQuery) final override
 
virtual bool RHIGetRenderQueryResult (FRHIRenderQuery *RenderQuery, uint64 &OutResult, bool bWait, uint32 GPUIndex=INDEX_NONE) final override
 
virtual void RHIEndDrawingViewport (FRHIViewport *Viewport, bool bPresent, bool bLockToVsync) final override
 
virtual FTextureRHIRef RHIGetViewportBackBuffer (FRHIViewport *Viewport) final override
 
virtual void RHIEndFrame (const FRHIEndFrameArgs &Args) final override
 
virtual void RHIAliasTextureResources (FTextureRHIRef &DestTexture, FTextureRHIRef &SrcTexture) final override
 
virtual void RHIAdvanceFrameForGetViewportBackBuffer (FRHIViewport *Viewport, bool bPresent) final override
 
virtual void RHIFlushResources () final override
 
virtual FViewportRHIRef RHICreateViewport (void *WindowHandle, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat) final override
 
virtual void RHIResizeViewport (FRHIViewport *Viewport, uint32 SizeX, uint32 SizeY, bool bIsFullscreen) final override
 
virtual void RHICheckViewportHDRStatus (FRHIViewport *Viewport) final override
 
virtual void RHITick (float DeltaTime) final override
 
virtual void RHISetStreamSource (uint32 StreamIndex, FRHIBuffer *VertexBuffer, uint32 Offset) final override
 
virtual void RHISetRasterizerState (FRHIRasterizerState *NewState) final override
 
virtual void RHISetViewport (float MinX, float MinY, float MinZ, float MaxX, float MaxY, float MaxZ) final override
 
virtual void RHISetScissorRect (bool bEnable, uint32 MinX, uint32 MinY, uint32 MaxX, uint32 MaxY) final override
 
virtual void RHISetBoundShaderState (FRHIBoundShaderState *BoundShaderState) final override
 
virtual void RHISetShaderParameters (FRHIGraphicsShader *Shader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters) final override
 
virtual void RHISetShaderParameters (FRHIComputeShader *Shader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters) final override
 
virtual void RHISetDepthStencilState (FRHIDepthStencilState *NewState, uint32 StencilRef) final override
 
virtual void RHISetBlendState (FRHIBlendState *NewState, const FLinearColor &BlendFactor) final override
 
virtual void RHIBeginRenderPass (const FRHIRenderPassInfo &InInfo, const TCHAR *InName)
 
virtual void RHIEndRenderPass ()
 
virtual void RHIDrawPrimitive (uint32 BaseVertexIndex, uint32 NumPrimitives, uint32 NumInstances) final override
 
virtual void RHIDrawPrimitiveIndirect (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) final override
 
virtual void RHIDrawIndexedIndirect (FRHIBuffer *IndexBufferRHI, FRHIBuffer *ArgumentsBufferRHI, int32 DrawArgumentsIndex, uint32 NumInstances) final override
 
virtual void RHIDrawIndexedPrimitive (FRHIBuffer *IndexBuffer, int32 BaseVertexIndex, uint32 FirstInstance, uint32 NumVertices, uint32 StartIndex, uint32 NumPrimitives, uint32 NumInstances) final override
 
virtual void RHIDrawIndexedPrimitiveIndirect (FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset) final override
 
virtual void RHIMultiDrawIndexedPrimitiveIndirect (FRHIBuffer *IndexBuffer, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset, FRHIBuffer *CountBuffer, uint32 CountBufferOffset, uint32 MaxDrawArguments) final override
 
virtual void RHIBlockUntilGPUIdle () final override
 
virtual bool RHIGetAvailableResolutions (FScreenResolutionArray &Resolutions, bool bIgnoreRefreshRate) final override
 
virtual void RHIGetSupportedResolution (uint32 &Width, uint32 &Height) final override
 
virtual void RHIEnableDepthBoundsTest (bool bEnable) final override
 
virtual void RHISetDepthBounds (float MinDepth, float MaxDepth) final override
 
virtual void RHISetShadingRate (EVRSShadingRate ShadingRate, EVRSRateCombiner Combiner) final override
 
virtual voidRHIGetNativeDevice () final override
 
virtual voidRHIGetNativeInstance () final override
 
virtual void RHISetStaticUniformBuffers (const FUniformBufferStaticBindings &InUniformBuffers) final override
 
virtual void RHISetStaticUniformBuffer (FUniformBufferStaticSlot Slot, FRHIUniformBuffer *UniformBuffer) final override
 
virtual class IRHICommandContextRHIGetDefaultContext () final override
 
virtual IRHIComputeContextRHIGetCommandContext (ERHIPipeline Pipeline, FRHIGPUMask GPUMask) final override
 
virtual IRHIComputeContextRHIGetParallelCommandContext (FRHIParallelRenderPassInfo const &ParallelRenderPass, FRHIGPUMask GPUMask) final override
 
virtual void RHIFinalizeContext (FRHIFinalizeContextArgs &&Args, TRHIPipelineArray< IRHIPlatformCommandList * > &Output) final override
 
IRHIPlatformCommandListRHIFinalizeParallelContext (IRHIComputeContext *Context) override final
 
virtual void RHISubmitCommandLists (FRHISubmitCommandListsArgs &&Args) final override
 
- Public Member Functions inherited from FDynamicRHIPSOFallback
virtual FGraphicsPipelineStateRHIRef RHICreateGraphicsPipelineState (const FGraphicsPipelineStateInitializer &Initializer) override
 
virtual FComputePipelineStateRHIRef RHICreateComputePipelineState (const FComputePipelineStateInitializer &Initializer) override
 
- Public Member Functions inherited from FDynamicRHI
virtual RHI_API ~FDynamicRHI ()
 
virtual void PostInit ()
 
virtual FDynamicRHIGetNonValidationRHI ()
 
void InitPixelFormatInfo (const TArray< uint32 > &PixelFormatBlockBytesIn)
 
virtual RHI_API void RHIEndFrame_RenderThread (FRHICommandListImmediate &RHICmdList)
 
virtual FMeshShaderRHIRef RHICreateMeshShader (TArrayView< const uint8 > Code, const FSHAHash &Hash)
 
virtual FAmplificationShaderRHIRef RHICreateAmplificationShader (TArrayView< const uint8 > Code, const FSHAHash &Hash)
 
virtual void FlushPendingLogs ()
 
virtual FWorkGraphShaderRHIRef RHICreateWorkGraphShader (TArrayView< const uint8 > Code, const FSHAHash &Hash, EShaderFrequency ShaderFrequency)
 
virtual FRHIShaderLibraryRef RHICreateShaderLibrary (EShaderPlatform Platform, FString const &FilePath, FString const &Name)
 
virtual RHI_API void RHIWriteGPUFence_TopOfPipe (FRHICommandListBase &RHICmdList, FRHIGPUFence *FenceRHI)
 
virtual IRHITransientResourceAllocatorRHICreateTransientResourceAllocator ()
 
virtual FStagingBufferRHIRef RHICreateStagingBuffer ()
 
virtual RHI_API voidRHILockStagingBuffer (FRHIStagingBuffer *StagingBuffer, FRHIGPUFence *Fence, uint32 Offset, uint32 SizeRHI)
 
virtual RHI_API void RHIUnlockStagingBuffer (FRHIStagingBuffer *StagingBuffer)
 
virtual RHI_API voidLockStagingBuffer_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHIStagingBuffer *StagingBuffer, FRHIGPUFence *Fence, uint32 Offset, uint32 SizeRHI)
 
virtual RHI_API void UnlockStagingBuffer_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHIStagingBuffer *StagingBuffer)
 
virtual FWorkGraphPipelineStateRHIRef RHICreateWorkGraphPipelineState (const FWorkGraphPipelineStateInitializer &Initializer)
 
virtual RHI_API voidRHILockBuffer (FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 Offset, uint32 Size, EResourceLockMode LockMode)
 
virtual RHI_API voidRHILockBufferMGPU (FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 GPUIndex, uint32 Offset, uint32 Size, EResourceLockMode LockMode)
 
virtual RHI_API void RHIUnlockBuffer (FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer)
 
virtual RHI_API void RHIUnlockBufferMGPU (FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 GPUIndex)
 
virtual RHI_API void RHIUpdateTextureReference (FRHICommandListBase &RHICmdList, FRHITextureReference *TextureRef, FRHITexture *NewTexture)
 
virtual RHI_API uint64 RHIGetMinimumAlignmentForBufferBackedSRV (EPixelFormat Format)
 
virtual RHI_API FTextureReferenceRHIRef RHICreateTextureReference (FRHICommandListBase &RHICmdList, FRHITexture *InReferencedTexture)
 
virtual FRHIResourceCollectionRef RHICreateResourceCollection (FRHICommandListBase &RHICmdList, TConstArrayView< FRHIResourceCollectionMember > InMembers)
 
virtual void RHIUpdateResourceCollection (FRHICommandListBase &RHICmdList, FRHIResourceCollection *InResourceCollection, uint32 InStartIndex, TConstArrayView< FRHIResourceCollectionMember > InMemberUpdates)
 
virtual void RHIUpdateFromBufferTexture2D (FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, FRHIBuffer *Buffer, uint32 BufferOffset)
 
virtual RHI_API void RHIBindDebugLabelName (FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, const TCHAR *Name)
 
virtual RHI_API void RHIBindDebugLabelName (FRHICommandListBase &RHICmdList, FRHIUnorderedAccessView *UnorderedAccessViewRHI, const TCHAR *Name)
 
virtual RHI_API void RHIReadSurfaceData (FRHITexture *Texture, FIntRect Rect, TArray< FLinearColor > &OutData, FReadSurfaceDataFlags InFlags)
 
virtual RHI_API void RHIReadSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, FReadSurfaceDataFlags InFlags)
 
virtual RHI_API void RHIRead3DSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, FIntPoint ZMinMax, TArray< FFloat16Color > &OutData, FReadSurfaceDataFlags InFlags)
 
virtual void RHIBeginRenderQueryBatch_TopOfPipe (FRHICommandListBase &RHICmdList, ERenderQueryType QueryType)
 
virtual void RHIEndRenderQueryBatch_TopOfPipe (FRHICommandListBase &RHICmdList, ERenderQueryType QueryType)
 
virtual RHI_API void RHIBeginRenderQuery_TopOfPipe (FRHICommandListBase &RHICmdList, FRHIRenderQuery *RenderQuery)
 
virtual RHI_API void RHIEndRenderQuery_TopOfPipe (FRHICommandListBase &RHICmdList, FRHIRenderQuery *RenderQuery)
 
virtual uint32 RHIGetViewportNextPresentGPUIndex (FRHIViewport *Viewport)
 
virtual FUnorderedAccessViewRHIRef RHIGetViewportBackBufferUAV (FRHIViewport *ViewportRHI)
 
virtual uint32 RHIGetHTilePlatformConfig (uint32 DepthWidth, uint32 DepthHeight) const
 
virtual uint32 RHIGetHTilePlatformConfig (const FRHITextureDesc &DepthDesc) const
 
virtual FTextureRHIRef RHICreateAliasedTexture (FTextureRHIRef &SourceTexture)
 
virtual void RHIGetDisplaysInformation (FDisplayInformationArray &OutDisplayInformation)
 
virtual RHI_API uint64 RHIComputeStatePrecachePSOHash (const FGraphicsPipelineStateInitializer &Initializer)
 
virtual RHI_API uint64 RHIComputePrecachePSOHash (const FGraphicsPipelineStateInitializer &Initializer)
 
virtual RHI_API bool RHIMatchPrecachePSOInitializers (const FGraphicsPipelineStateInitializer &LHS, const FGraphicsPipelineStateInitializer &RHS)
 
virtual void RHIAcquireThreadOwnership ()
 
virtual void RHIReleaseThreadOwnership ()
 
virtual void RHIResizeViewport (FRHIViewport *Viewport, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat)
 
virtual EPixelFormat RHIPreferredPixelFormatHint (EPixelFormat PreferredPixelFormat)
 
virtual void RHIHandleDisplayChange ()
 
virtual void RHIBeginSuspendRendering ()
 
virtual void RHISuspendRendering ()
 
virtual void RHIResumeRendering ()
 
virtual bool RHIIsRenderingSuspended ()
 
virtual RHI_API void RHIVirtualTextureSetFirstMipInMemory (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, uint32 FirstMip)
 
virtual RHI_API void RHIVirtualTextureSetFirstMipVisible (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, uint32 FirstMip)
 
virtual voidRHIGetNativePhysicalDevice ()
 
virtual voidRHIGetNativeGraphicsQueue ()
 
virtual voidRHIGetNativeComputeQueue ()
 
virtual voidRHIGetNativeCommandBuffer ()
 
virtual IRHIUploadContextRHIGetUploadContext ()
 
void RHICloseTranslateChain (FRHIFinalizeContextArgs &&Args, TRHIPipelineArray< IRHIPlatformCommandList * > &Output, bool bShouldFinalize)
 
virtual void RHIProcessDeleteQueue ()
 
virtual RHI_API FTextureRHIRef AsyncReallocateTexture2D_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture2D, int32 NewMipCount, int32 NewSizeX, int32 NewSizeY, FThreadSafeCounter *RequestStatus)
 
virtual RHI_API FUpdateTexture3DData RHIBeginUpdateTexture3D (FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion)
 
virtual RHI_API void RHIEndUpdateTexture3D (FRHICommandListBase &RHICmdList, FUpdateTexture3DData &UpdateData)
 
virtual RHI_API void RHIEndMultiUpdateTexture3D (FRHICommandListBase &RHICmdList, TArray< FUpdateTexture3DData > &UpdateDataArray)
 
virtual RHI_API FRHIShaderLibraryRef RHICreateShaderLibrary_RenderThread (class FRHICommandListImmediate &RHICmdList, EShaderPlatform Platform, FString FilePath, FString Name)
 
virtual RHI_API void RHIMapStagingSurface_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, uint32 GPUIndex, FRHIGPUFence *Fence, void *&OutData, int32 &OutWidth, int32 &OutHeight)
 
virtual RHI_API void RHIUnmapStagingSurface_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, uint32 GPUIndex)
 
virtual RHI_API void RHIReadSurfaceFloatData_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, ECubeFace CubeFace, int32 ArrayIndex, int32 MipIndex)
 
virtual RHI_API void RHIReadSurfaceFloatData_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, FReadSurfaceDataFlags Flags)
 
virtual FRHIFlipDetails RHIWaitForFlip (double TimeoutInSeconds)
 
virtual void RHISignalFlipEvent ()
 
virtual uint16 RHIGetPlatformTextureMaxSampleCount ()
 
virtual FRayTracingAccelerationStructureSize RHICalcRayTracingSceneSize (const FRayTracingSceneInitializer &Initializer)
 
virtual FRayTracingAccelerationStructureSize RHICalcRayTracingGeometrySize (const FRayTracingGeometryInitializer &Initializer)
 
virtual FRayTracingClusterOperationSize RHICalcRayTracingClusterOperationSize (const FRayTracingClusterOperationInitializer &Initializer)
 
virtual FRayTracingAccelerationStructureOfflineMetadata RHIGetRayTracingGeometryOfflineMetadata (const FRayTracingGeometryOfflineDataHeader &OfflineDataHeader)
 
virtual FRayTracingGeometryRHIRef RHICreateRayTracingGeometry (FRHICommandListBase &RHICmdList, const FRayTracingGeometryInitializer &Initializer)
 
virtual FRayTracingSceneRHIRef RHICreateRayTracingScene (FRayTracingSceneInitializer Initializer)
 
virtual FRayTracingShaderRHIRef RHICreateRayTracingShader (TArrayView< const uint8 > Code, const FSHAHash &Hash, EShaderFrequency ShaderFrequency)
 
virtual FRayTracingPipelineStateRHIRef RHICreateRayTracingPipelineState (const FRayTracingPipelineStateInitializer &Initializer)
 
virtual FShaderBindingTableRHIRef RHICreateShaderBindingTable (FRHICommandListBase &RHICmdList, const FRayTracingShaderBindingTableInitializer &Initializer)
 
virtual void RHISerializeAccelerationStructure (FRHICommandListImmediate &RHICmdList, FRHIRayTracingScene *Scene, const TCHAR *Path)
 
virtual FShaderBundleRHIRef RHICreateShaderBundle (const FShaderBundleCreateInfo &CreateInfo)
 
- Public Member Functions inherited from IRHICommandContextPSOFallback
virtual void RHISetGraphicsPipelineState (FRHIGraphicsPipelineState *GraphicsState, uint32 StencilRef, bool bApplyAdditionalState) override
 
virtual void RHISetComputePipelineState (FRHIComputePipelineState *ComputePipelineState)
 
- Public Member Functions inherited from IRHICommandContext
virtual ~IRHICommandContext ()
 
virtual ERHIPipeline GetPipeline () const override
 
virtual void RHIResummarizeHTile (FRHITexture *DepthTexture)
 
virtual void RHISetStereoViewport (float LeftMinX, float RightMinX, float LeftMinY, float RightMinY, float MinZ, float LeftMaxX, float RightMaxX, float LeftMaxY, float RightMaxY, float MaxZ)
 
void RHISetBatchedShaderParameters (FRHIGraphicsShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters)
 
virtual void RHISetShaderUnbinds (FRHIGraphicsShader *Shader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds)
 
virtual void RHISetStencilRef (uint32 StencilRef)
 
virtual void RHISetBlendFactor (const FLinearColor &BlendFactor)
 
virtual void RHIDispatchMeshShader (uint32 ThreadGroupCountX, uint32 ThreadGroupCountY, uint32 ThreadGroupCountZ)
 
virtual void RHIDispatchIndirectMeshShader (FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
 
virtual void RHIGpuHangCommandListCorruption ()
 
virtual void RHIBeginParallelRenderPass (TSharedPtr< FRHIParallelRenderPassInfo > InInfo, const TCHAR *InName)
 
virtual void RHIEndParallelRenderPass ()
 
virtual void RHINextSubpass ()
 
virtual void RHIClearShaderBindingTable (FRHIShaderBindingTable *SBT)
 
virtual void RHISetBindingsOnShaderBindingTable (FRHIShaderBindingTable *SBT, FRHIRayTracingPipelineState *Pipeline, uint32 NumBindings, const FRayTracingLocalShaderBindings *Bindings, ERayTracingBindingType BindingType)
 
virtual void RHICommitShaderBindingTable (FRHIShaderBindingTable *SBT, FRHIBuffer *InlineBindingDataBuffer)
 
virtual void RHISetShaderParameters (FRHIComputeShader *ComputeShader, TConstArrayView< uint8 > InParametersData, TConstArrayView< FRHIShaderParameter > InParameters, TConstArrayView< FRHIShaderParameterResource > InResourceParameters, TConstArrayView< FRHIShaderParameterResource > InBindlessParameters)=0
 
void RHISetBatchedShaderParameters (FRHIComputeShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters)
 
virtual void RHISetShaderUnbinds (FRHIComputeShader *ComputeShader, TConstArrayView< FRHIShaderParameterUnbind > InUnbinds)
 
- Public Member Functions inherited from IRHIComputeContext
virtual ~IRHIComputeContext ()
 
virtual void RHIRayTraceDispatch (FRHIRayTracingPipelineState *RayTracingPipelineState, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, const FRayTracingShaderBindings &GlobalResourceBindings, uint32 Width, uint32 Height)
 
virtual void RHIRayTraceDispatchIndirect (FRHIRayTracingPipelineState *RayTracingPipelineState, FRHIRayTracingShader *RayGenShader, FRHIShaderBindingTable *SBT, const FRayTracingShaderBindings &GlobalResourceBindings, FRHIBuffer *ArgumentBuffer, uint32 ArgumentOffset)
 
virtual void RHISetAsyncComputeBudget (EAsyncComputeBudget Budget)
 
virtual void RHISetComputeBudget (ESyncComputeBudget Budget)
 
virtual void RHISetShaderRootConstants (const FUint32Vector4 &Constants)
 
virtual void RHIDispatchComputeShaderBundle (FRHIShaderBundle *ShaderBundle, FRHIBuffer *RecordArgBuffer, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleComputeDispatch > Dispatches, bool bEmulated)
 
virtual void RHIDispatchGraphicsShaderBundle (FRHIShaderBundle *ShaderBundle, FRHIBuffer *RecordArgBuffer, const FRHIShaderBundleGraphicsState &BundleState, TConstArrayView< FRHIShaderParameterResource > SharedBindlessParameters, TConstArrayView< FRHIShaderBundleGraphicsDispatch > Dispatches, bool bEmulated)
 
virtual void RHIBeginUAVOverlap ()
 
virtual void RHIEndUAVOverlap ()
 
virtual void RHIBeginUAVOverlap (TConstArrayView< FRHIUnorderedAccessView * > UAVs)
 
virtual void RHIEndUAVOverlap (TConstArrayView< FRHIUnorderedAccessView * > UAVs)
 
void RHISetBatchedShaderParameters (FRHIComputeShader *InShader, FRHIBatchedShaderParameters &InBatchedParameters)
 
virtual void RHISetUniformBufferDynamicOffset (FUniformBufferStaticSlot Slot, uint32 Offset)
 
virtual void RHICopyToStagingBuffer (FRHIBuffer *SourceBufferRHI, FRHIStagingBuffer *DestinationStagingBufferRHI, uint32 InOffset, uint32 InNumBytes)
 
virtual void RHIWriteGPUFence (FRHIGPUFence *FenceRHI)
 
virtual void RHISetGPUMask (FRHIGPUMask GPUMask)
 
virtual FRHIGPUMask RHIGetGPUMask () const
 
virtual void RHIExecuteMultiIndirectClusterOperation (const FRayTracingClusterOperationParams &Params)
 
virtual void RHIBuildAccelerationStructures (TConstArrayView< FRayTracingGeometryBuildParams > Params, const FRHIBufferRange &ScratchBufferRange)
 
virtual void RHIBuildAccelerationStructures (TConstArrayView< FRayTracingSceneBuildParams > Params)
 
virtual void RHIBindAccelerationStructureMemory (FRHIRayTracingScene *Scene, FRHIBuffer *Buffer, uint32 BufferOffset)
 
IRHIComputeContextGetLowestLevelContext ()
 
IRHIComputeContext const & GetHighestLevelContext () const
 
IRHIComputeContextGetHighestLevelContext ()
 
void SetTrackedAccess (const FRHITrackedAccessInfo &Info)
 
ERHIAccess GetTrackedAccess (const FRHIViewableResource *Resource) const
 
ERHIPipeline GetTrackedPipelines (const FRHIViewableResource *Resource) const
 
virtual voidRHIGetNativeCommandBuffer ()
 
virtual void RHIPostExternalCommandsReset ()
 
FRHICommandListBaseGetExecutingCommandList () const
 
virtual void SetExecutingCommandList (FRHICommandListBase *InCmdList)
 

Additional Inherited Members

- Public Types inherited from FDynamicRHI
using FRHICalcTextureSizeResult = ::FRHICalcTextureSizeResult
 
- Static Public Member Functions inherited from FDynamicRHI
static RHI_API void EnableIdealGPUCaptureOptions (bool bEnable)
 
- Protected Attributes inherited from FDynamicRHI
TArray< uint32PixelFormatBlockBytes
 
- Protected Attributes inherited from IRHICommandContext
FRHIRenderPassInfo RenderPassInfo
 
- Protected Attributes inherited from IRHIComputeContext
UE::RHI::GPUProfiler::FEvent::FStats StatEvent {}
 

Detailed Description

A null implementation of the dynamically bound RHI.

Constructor & Destructor Documentation

◆ FNullDynamicRHI()

FNullDynamicRHI::FNullDynamicRHI ( )

Member Function Documentation

◆ GetInterfaceType()

virtual ERHIInterfaceType FNullDynamicRHI::GetInterfaceType ( ) const
inlineoverridevirtual

Reimplemented from FDynamicRHI.

◆ GetName()

virtual const TCHAR * FNullDynamicRHI::GetName ( )
inlineoverridevirtual

Implements FDynamicRHI.

◆ Init()

void FNullDynamicRHI::Init ( )
virtual

Initializes the RHI; separate from IDynamicRHIModule::CreateRHI so that GDynamicRHI is set when it is called.

Implements FDynamicRHI.

◆ LockBuffer_BottomOfPipe()

virtual void * FNullDynamicRHI::LockBuffer_BottomOfPipe ( FRHICommandListBase RHICmdList,
FRHIBuffer Buffer,
uint32  Offset,
uint32  SizeRHI,
EResourceLockMode  LockMode 
)
inlinefinaloverridevirtual

Reimplemented from FDynamicRHI.

◆ RHIAdvanceFrameForGetViewportBackBuffer()

virtual void FNullDynamicRHI::RHIAdvanceFrameForGetViewportBackBuffer ( FRHIViewport Viewport,
bool  bPresent 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHIAliasTextureResources()

virtual void FNullDynamicRHI::RHIAliasTextureResources ( FTextureRHIRef DestTexture,
FTextureRHIRef SrcTexture 
)
inlinefinaloverridevirtual

Reimplemented from FDynamicRHI.

◆ RHIAsyncCreateTexture2D()

virtual FTextureRHIRef FNullDynamicRHI::RHIAsyncCreateTexture2D ( uint32  SizeX,
uint32  SizeY,
uint8  Format,
uint32  NumMips,
ETextureCreateFlags  Flags,
ERHIAccess  InResourceState,
void **  InitialMipData,
uint32  NumInitialMips,
const TCHAR DebugName,
FGraphEventRef OutCompletionEvent 
)
inlinefinaloverridevirtual

Thread-safe function that can be used to create a texture outside of the rendering thread. This function can ONLY be called if GRHISupportsAsyncTextureCreation is true. Cannot create rendertargets with this method.

Parameters
SizeX- width of the texture to create
SizeY- height of the texture to create
Format- EPixelFormat texture format
NumMips- number of mips to generate or 0 for full mip pyramid
Flags- ETextureCreateFlags creation flags
InitialMipData- pointers to mip data with which to create the texture
NumInitialMips- how many mips are provided in InitialMipData
OutCompletionEvent- An event signaled on operation completion. Can return null. Operation can still be pending after function returns (e.g. initial data upload in-flight)
Returns
a reference to a 2D texture resource

Implements FDynamicRHI.

◆ RHIAsyncReallocateTexture2D()

virtual FTextureRHIRef FNullDynamicRHI::RHIAsyncReallocateTexture2D ( FRHITexture Texture2D,
int32  NewMipCount,
int32  NewSizeX,
int32  NewSizeY,
FThreadSafeCounter RequestStatus 
)
inlinefinaloverridevirtual

Starts an asynchronous texture reallocation. It may complete immediately if the reallocation could be performed without any reshuffling of texture memory, or if there isn't enough memory. The specified status counter will be decremented by 1 when the reallocation is complete (success or failure).

Returns a new reference to the texture, which will represent the new mip count when the reallocation is complete. RHIFinalizeAsyncReallocateTexture2D() must be called to complete the reallocation.

Parameters
Texture2D- Texture to reallocate
NewMipCount- New number of mip-levels
NewSizeX- New width, in pixels
NewSizeY- New height, in pixels
RequestStatus- Will be decremented by 1 when the reallocation is complete (success or failure).
Returns
- New reference to the texture, or an invalid reference upon failure

Implements FDynamicRHI.

◆ RHIBeginRenderPass()

virtual void FNullDynamicRHI::RHIBeginRenderPass ( const FRHIRenderPassInfo InInfo,
const TCHAR InName 
)
inlinevirtual

Implements IRHICommandContext.

◆ RHIBeginRenderQuery()

virtual void FNullDynamicRHI::RHIBeginRenderQuery ( FRHIRenderQuery RenderQuery)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHIBeginTransitions()

virtual void FNullDynamicRHI::RHIBeginTransitions ( TArrayView< const FRHITransition * >  Transitions)
inlinefinaloverridevirtual

Implements IRHIComputeContext.

◆ RHIBindDebugLabelName()

virtual void FNullDynamicRHI::RHIBindDebugLabelName ( FRHICommandListBase RHICmdList,
FRHITexture Texture,
const TCHAR Name 
)
inlinefinaloverridevirtual

Reimplemented from FDynamicRHI.

◆ RHIBlockUntilGPUIdle()

virtual void FNullDynamicRHI::RHIBlockUntilGPUIdle ( )
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHICalcTexturePlatformSize()

virtual FRHICalcTextureSizeResult FNullDynamicRHI::RHICalcTexturePlatformSize ( FRHITextureDesc const &  Desc,
uint32  FirstMipIndex 
)
inlinefinaloverridevirtual

Computes the total GPU memory a texture resource with the specified parameters will occupy on the current RHI platform. Also returns the required alignment for the resource.

Parameters
Desc- The texture descriptor (width, height, format etc)
FirstMipIndex- The index of the most detailed mip to consider in the memory size calculation.
Returns
- The computed size and alignment of the platform texture resource.

Implements FDynamicRHI.

◆ RHICheckViewportHDRStatus()

virtual void FNullDynamicRHI::RHICheckViewportHDRStatus ( FRHIViewport Viewport)
inlinefinaloverridevirtual

Reimplemented from FDynamicRHI.

◆ RHIClearUAVFloat()

virtual void FNullDynamicRHI::RHIClearUAVFloat ( FRHIUnorderedAccessView UnorderedAccessViewRHI,
const FVector4f Values 
)
inlinefinaloverridevirtual

Clears a UAV to the multi-channel floating point value provided. Should only be called on UAVs with a floating point format, or on structured buffers. Structured buffers are treated as a regular R32_UINT buffer during the clear operation, and the Values.X component is copied directly into the buffer without any format conversion. (Y,Z,W) of Values is ignored. Typed floating point buffers undergo standard format conversion during the write operation. The conversion is determined by the format of the UAV.

Parameters
UnorderedAccessViewRHIThe UAV to clear.
ValuesThe values to clear the UAV to, one component per channel (XYZW = RGBA). Channels not supported by the UAV are ignored.

Implements IRHIComputeContext.

◆ RHIClearUAVUint()

virtual void FNullDynamicRHI::RHIClearUAVUint ( FRHIUnorderedAccessView UnorderedAccessViewRHI,
const FUintVector4 Values 
)
inlinefinaloverridevirtual

Clears a UAV to the multi-component unsigned integer value provided. Should only be called on UAVs with an integer format, or on structured buffers. Structured buffers are treated as a regular R32_UINT buffer during the clear operation, and the Values.X component is copied directly into the buffer without any format conversion. (Y,Z,W) of Values is ignored. Typed integer buffers undergo standard format conversion during the write operation. The conversion is determined by the format of the UAV.

Parameters
UnorderedAccessViewRHIThe UAV to clear.
ValuesThe values to clear the UAV to, one component per channel (XYZW = RGBA). Channels not supported by the UAV are ignored.

Implements IRHIComputeContext.

◆ RHIComputeMemorySize()

virtual uint32 FNullDynamicRHI::RHIComputeMemorySize ( FRHITexture TextureRHI)
inlinefinaloverridevirtual

Computes the size in memory required by a given texture.

Parameters
TextureRHI- Texture we want to know the size of, 0 is safely ignored
Returns
- Size in Bytes

Implements FDynamicRHI.

◆ RHICopyBufferRegion()

virtual void FNullDynamicRHI::RHICopyBufferRegion ( FRHIBuffer DestBuffer,
uint64  DstOffset,
FRHIBuffer SourceBuffer,
uint64  SrcOffset,
uint64  NumBytes 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHICopyTexture()

virtual void FNullDynamicRHI::RHICopyTexture ( FRHITexture SourceTexture,
FRHITexture DestTexture,
const FRHICopyTextureInfo CopyInfo 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHICreateBlendState()

virtual FBlendStateRHIRef FNullDynamicRHI::RHICreateBlendState ( const FBlendStateInitializerRHI Initializer)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHICreateBoundShaderState()

virtual FBoundShaderStateRHIRef FNullDynamicRHI::RHICreateBoundShaderState ( FRHIVertexDeclaration VertexDeclaration,
FRHIVertexShader VertexShader,
FRHIPixelShader PixelShader,
FRHIGeometryShader GeometryShader 
)
inlinefinaloverridevirtual

Creates a bound shader state instance which encapsulates a decl, vertex shader and pixel shader CAUTION: Even though this is marked as threadsafe, it is only valid to call from the render thread or the RHI thread. It need not be threadsafe unless the RHI support parallel translation. CAUTION: Platforms that support RHIThread but don't actually have a threadsafe implementation must flush internally with FScopedRHIThreadStaller StallRHIThread(FRHICommandListExecutor::GetImmediateCommandList()); when the call is from the render thread

Parameters
VertexDeclaration- existing vertex decl
VertexShader- existing vertex shader
GeometryShader- existing geometry shader
PixelShader- existing pixel shader

Implements FDynamicRHI.

◆ RHICreateBufferInitializer()

virtual FRHIBufferInitializer FNullDynamicRHI::RHICreateBufferInitializer ( FRHICommandListBase RHICmdList,
const FRHIBufferCreateDesc CreateDesc 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHICreateComputeShader()

virtual FComputeShaderRHIRef FNullDynamicRHI::RHICreateComputeShader ( TArrayView< const uint8 Code,
const FSHAHash Hash 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHICreateDepthStencilState()

virtual FDepthStencilStateRHIRef FNullDynamicRHI::RHICreateDepthStencilState ( const FDepthStencilStateInitializerRHI Initializer)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHICreateGeometryShader()

virtual FGeometryShaderRHIRef FNullDynamicRHI::RHICreateGeometryShader ( TArrayView< const uint8 Code,
const FSHAHash Hash 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHICreateGPUFence()

virtual FGPUFenceRHIRef FNullDynamicRHI::RHICreateGPUFence ( const FName Name)
inlinevirtual

Implements FDynamicRHI.

◆ RHICreatePixelShader()

virtual FPixelShaderRHIRef FNullDynamicRHI::RHICreatePixelShader ( TArrayView< const uint8 Code,
const FSHAHash Hash 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHICreateRasterizerState()

virtual FRasterizerStateRHIRef FNullDynamicRHI::RHICreateRasterizerState ( const FRasterizerStateInitializerRHI Initializer)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHICreateRenderQuery()

virtual FRenderQueryRHIRef FNullDynamicRHI::RHICreateRenderQuery ( ERenderQueryType  QueryType)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHICreateSamplerState()

virtual FSamplerStateRHIRef FNullDynamicRHI::RHICreateSamplerState ( const FSamplerStateInitializerRHI Initializer)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHICreateShaderResourceView()

virtual FShaderResourceViewRHIRef FNullDynamicRHI::RHICreateShaderResourceView ( class FRHICommandListBase RHICmdList,
FRHIViewableResource Resource,
FRHIViewDesc const &  ViewDesc 
)
inlinevirtual

Implements FDynamicRHI.

◆ RHICreateTextureInitializer()

virtual FRHITextureInitializer FNullDynamicRHI::RHICreateTextureInitializer ( FRHICommandListBase RHICmdList,
const FRHITextureCreateDesc CreateDesc 
)
inlinevirtual

Implements FDynamicRHI.

◆ RHICreateTransition()

virtual void FNullDynamicRHI::RHICreateTransition ( FRHITransition Transition,
const FRHITransitionCreateInfo CreateInfo 
)
inlinefinaloverridevirtual

Reimplemented from FDynamicRHI.

◆ RHICreateUniformBuffer()

virtual FUniformBufferRHIRef FNullDynamicRHI::RHICreateUniformBuffer ( const void Contents,
const FRHIUniformBufferLayout Layout,
EUniformBufferUsage  Usage,
EUniformBufferValidation  Validation 
)
inlinefinaloverridevirtual

Creates a uniform buffer. The contents of the uniform buffer are provided in a parameter, and are immutable. CAUTION: Even though this is marked as threadsafe, it is only valid to call from the render thread or the RHI thread. Thus is need not be threadsafe on platforms that do not support or aren't using an RHIThread

Parameters
Contents- A pointer to a memory block of size NumBytes that is copied into the new uniform buffer.
NumBytes- The number of bytes the uniform buffer should contain.
Returns
The new uniform buffer.

Implements FDynamicRHI.

◆ RHICreateUnorderedAccessView()

virtual FUnorderedAccessViewRHIRef FNullDynamicRHI::RHICreateUnorderedAccessView ( class FRHICommandListBase RHICmdList,
FRHIViewableResource Resource,
FRHIViewDesc const &  ViewDesc 
)
inlinevirtual

Implements FDynamicRHI.

◆ RHICreateVertexDeclaration()

virtual FVertexDeclarationRHIRef FNullDynamicRHI::RHICreateVertexDeclaration ( const FVertexDeclarationElementList Elements)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHICreateVertexShader()

virtual FVertexShaderRHIRef FNullDynamicRHI::RHICreateVertexShader ( TArrayView< const uint8 Code,
const FSHAHash Hash 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHICreateViewport()

virtual FViewportRHIRef FNullDynamicRHI::RHICreateViewport ( void WindowHandle,
uint32  SizeX,
uint32  SizeY,
bool  bIsFullscreen,
EPixelFormat  PreferredPixelFormat 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHIDispatchComputeShader()

virtual void FNullDynamicRHI::RHIDispatchComputeShader ( uint32  ThreadGroupCountX,
uint32  ThreadGroupCountY,
uint32  ThreadGroupCountZ 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHIDispatchIndirectComputeShader()

virtual void FNullDynamicRHI::RHIDispatchIndirectComputeShader ( FRHIBuffer ArgumentBuffer,
uint32  ArgumentOffset 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHIDrawIndexedIndirect()

virtual void FNullDynamicRHI::RHIDrawIndexedIndirect ( FRHIBuffer IndexBufferRHI,
FRHIBuffer ArgumentsBufferRHI,
int32  DrawArgumentsIndex,
uint32  NumInstances 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHIDrawIndexedPrimitive()

virtual void FNullDynamicRHI::RHIDrawIndexedPrimitive ( FRHIBuffer IndexBuffer,
int32  BaseVertexIndex,
uint32  FirstInstance,
uint32  NumVertices,
uint32  StartIndex,
uint32  NumPrimitives,
uint32  NumInstances 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHIDrawIndexedPrimitiveIndirect()

virtual void FNullDynamicRHI::RHIDrawIndexedPrimitiveIndirect ( FRHIBuffer IndexBuffer,
FRHIBuffer ArgumentBuffer,
uint32  ArgumentOffset 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHIDrawPrimitive()

virtual void FNullDynamicRHI::RHIDrawPrimitive ( uint32  BaseVertexIndex,
uint32  NumPrimitives,
uint32  NumInstances 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHIDrawPrimitiveIndirect()

virtual void FNullDynamicRHI::RHIDrawPrimitiveIndirect ( FRHIBuffer ArgumentBuffer,
uint32  ArgumentOffset 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHIEnableDepthBoundsTest()

virtual void FNullDynamicRHI::RHIEnableDepthBoundsTest ( bool  bEnable)
inlinefinaloverridevirtual

◆ RHIEndDrawingViewport()

virtual void FNullDynamicRHI::RHIEndDrawingViewport ( FRHIViewport Viewport,
bool  bPresent,
bool  bLockToVsync 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHIEndFrame()

void FNullDynamicRHI::RHIEndFrame ( const FRHIEndFrameArgs Args)
finaloverridevirtual

Implements FDynamicRHI.

◆ RHIEndRenderPass()

virtual void FNullDynamicRHI::RHIEndRenderPass ( )
inlinevirtual

Implements IRHICommandContext.

◆ RHIEndRenderQuery()

virtual void FNullDynamicRHI::RHIEndRenderQuery ( FRHIRenderQuery RenderQuery)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHIEndTransitions()

virtual void FNullDynamicRHI::RHIEndTransitions ( TArrayView< const FRHITransition * >  Transitions)
inlinefinaloverridevirtual

Implements IRHIComputeContext.

◆ RHIFinalizeContext()

virtual void FNullDynamicRHI::RHIFinalizeContext ( FRHIFinalizeContextArgs &&  Args,
TRHIPipelineArray< IRHIPlatformCommandList * > &  Output 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHIFinalizeParallelContext()

IRHIPlatformCommandList * FNullDynamicRHI::RHIFinalizeParallelContext ( IRHIComputeContext Context)
inlinefinaloverridevirtual

Reimplemented from FDynamicRHI.

◆ RHIFlushResources()

virtual void FNullDynamicRHI::RHIFlushResources ( )
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHIGetAvailableResolutions()

virtual bool FNullDynamicRHI::RHIGetAvailableResolutions ( FScreenResolutionArray Resolutions,
bool  bIgnoreRefreshRate 
)
inlinefinaloverridevirtual

Retrieve available screen resolutions.

Parameters
ResolutionsTArray<FScreenResolutionRHI> parameter that will be filled in.
bIgnoreRefreshRateIf true, ignore refresh rates.
Returns
bool true if successfully filled the array

Implements FDynamicRHI.

◆ RHIGetCommandContext()

virtual IRHIComputeContext * FNullDynamicRHI::RHIGetCommandContext ( ERHIPipeline  Pipeline,
FRHIGPUMask  GPUMask 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHIGetDefaultContext()

virtual class IRHICommandContext * FNullDynamicRHI::RHIGetDefaultContext ( )
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHIGetNativeDevice()

virtual void * FNullDynamicRHI::RHIGetNativeDevice ( )
inlinefinaloverridevirtual

Provides access to the native device. Generally this should be avoided but is useful for third party plugins.

Implements FDynamicRHI.

◆ RHIGetNativeInstance()

virtual void * FNullDynamicRHI::RHIGetNativeInstance ( )
inlinefinaloverridevirtual

Provides access to the native instance. Generally this should be avoided but is useful for third party plugins.

Implements FDynamicRHI.

◆ RHIGetParallelCommandContext()

virtual IRHIComputeContext * FNullDynamicRHI::RHIGetParallelCommandContext ( FRHIParallelRenderPassInfo const &  ParallelRenderPass,
FRHIGPUMask  GPUMask 
)
inlinefinaloverridevirtual

Reimplemented from FDynamicRHI.

◆ RHIGetRenderQueryResult()

virtual bool FNullDynamicRHI::RHIGetRenderQueryResult ( FRHIRenderQuery RenderQuery,
uint64 OutResult,
bool  bWait,
uint32  GPUIndex = INDEX_NONE 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHIGetSupportedResolution()

virtual void FNullDynamicRHI::RHIGetSupportedResolution ( uint32 Width,
uint32 Height 
)
inlinefinaloverridevirtual

Returns a supported screen resolution that most closely matches input.

Parameters
Width- Input: Desired resolution width in pixels. Output: A width that the platform supports.
Height- Input: Desired resolution height in pixels. Output: A height that the platform supports.

Implements FDynamicRHI.

◆ RHIGetTextureMemoryStats()

virtual void FNullDynamicRHI::RHIGetTextureMemoryStats ( FTextureMemoryStats OutStats)
inlinefinaloverridevirtual

Retrieves texture memory stats. safe to call on the main thread

Implements FDynamicRHI.

◆ RHIGetTextureMemoryVisualizeData()

virtual bool FNullDynamicRHI::RHIGetTextureMemoryVisualizeData ( FColor TextureData,
int32  SizeX,
int32  SizeY,
int32  Pitch,
int32  PixelSize 
)
inlinefinaloverridevirtual

Fills a texture with to visualize the texture pool memory.

Parameters
TextureDataStart address
SizeXNumber of pixels along X
SizeYNumber of pixels along Y
PitchNumber of bytes between each row
PixelSizeNumber of bytes each pixel represents
Returns
true if successful, false otherwise

Implements FDynamicRHI.

◆ RHIGetViewportBackBuffer()

virtual FTextureRHIRef FNullDynamicRHI::RHIGetViewportBackBuffer ( FRHIViewport Viewport)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHILockTexture()

virtual FRHILockTextureResult FNullDynamicRHI::RHILockTexture ( FRHICommandListImmediate RHICmdList,
const FRHILockTextureArgs Arguments 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHIMapStagingSurface()

virtual void FNullDynamicRHI::RHIMapStagingSurface ( FRHITexture Texture,
FRHIGPUFence Fence,
void *&  OutData,
int32 OutWidth,
int32 OutHeight,
uint32  GPUIndex 
)
inlinefinaloverridevirtual

Implemented by the platform to read directly from the texture. Useful for getting the last back buffer content after a crash. As the RHIReadSurfaceData implementation will copy the texture's content to a new temporary buffer, that won't work for an unknown crash state. Watch out for OutData to be 0 (can happen on DXGI_ERROR_DEVICE_REMOVED), don't call RHIUnmapStagingSurface in that case.

Implements FDynamicRHI.

◆ RHIMultiDrawIndexedPrimitiveIndirect()

virtual void FNullDynamicRHI::RHIMultiDrawIndexedPrimitiveIndirect ( FRHIBuffer IndexBuffer,
FRHIBuffer ArgumentBuffer,
uint32  ArgumentOffset,
FRHIBuffer CountBuffer,
uint32  CountBuffeOffset,
uint32  MaxDrawArguments 
)
inlinefinaloverridevirtual

Similar to RHIDrawIndexedPrimitiveIndirect, but allows many draw arguments to be provided at once. GRHIGlobals.SupportsDrawIndirect must be checked to detect support on the current machine. @ param IndexBuffer Buffer containing primitive indices @ param ArgumentsBuffer Buffer containing FRHIDrawIndexedIndirectParameters structures @ param ArgumentOffset Offset in bytes of the first element in ArgumentsBuffer that will be used for drawing @ param CountBuffer Buffer containing uint32 count of valid draw arguments that should be consumed (may be nullptr, indicating that only MaxDrawArguments value should be used) @ param CountBuffeOffset Offset in bytes for the CountBuffer element that will be used to source the draw argument count @ param MaxDrawArguments How many draw arguments should be processed at most, i.e. NumDrawArguments = min(MaxDrawArguments, ValueFromCountBuffer)

Reimplemented from IRHICommandContext.

◆ RHIRead3DSurfaceFloatData()

virtual void FNullDynamicRHI::RHIRead3DSurfaceFloatData ( FRHITexture Texture,
FIntRect  Rect,
FIntPoint  ZMinMax,
TArray< FFloat16Color > &  OutData 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHIReadSurfaceData()

virtual void FNullDynamicRHI::RHIReadSurfaceData ( FRHITexture Texture,
FIntRect  Rect,
TArray< FColor > &  OutData,
FReadSurfaceDataFlags  InFlags 
)
inlinefinaloverridevirtual

Reads the contents of a texture to an output buffer (non MSAA and MSAA) and returns it as a FColor array. If the format or texture type is unsupported the OutData array will be size 0

Implements FDynamicRHI.

◆ RHIReadSurfaceFloatData()

virtual void FNullDynamicRHI::RHIReadSurfaceFloatData ( FRHITexture Texture,
FIntRect  Rect,
TArray< FFloat16Color > &  OutData,
ECubeFace  CubeFace,
int32  ArrayIndex,
int32  MipIndex 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHIReleaseTransition()

virtual void FNullDynamicRHI::RHIReleaseTransition ( FRHITransition Transition)
inlinefinaloverridevirtual

Reimplemented from FDynamicRHI.

◆ RHIReplaceResources()

virtual void FNullDynamicRHI::RHIReplaceResources ( FRHICommandListBase RHICmdList,
TArray< FRHIResourceReplaceInfo > &&  ReplaceInfos 
)
inlinefinaloverridevirtual

Transfer metadata and underlying resource from src to dest and release any resource owned by dest.

Parameters
DestBuffer- the buffer to update
SrcBuffer- don't use after call. If null, will release any resource owned by DestBuffer

Implements FDynamicRHI.

◆ RHIResizeViewport()

virtual void FNullDynamicRHI::RHIResizeViewport ( FRHIViewport Viewport,
uint32  SizeX,
uint32  SizeY,
bool  bIsFullscreen 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHISetBlendState()

virtual void FNullDynamicRHI::RHISetBlendState ( FRHIBlendState NewState,
const FLinearColor BlendFactor 
)
inlinefinaloverridevirtual

◆ RHISetBoundShaderState()

virtual void FNullDynamicRHI::RHISetBoundShaderState ( FRHIBoundShaderState BoundShaderState)
inlinefinaloverridevirtual

◆ RHISetComputeShader()

virtual void FNullDynamicRHI::RHISetComputeShader ( FRHIComputeShader ComputeShader)
inlinefinaloverridevirtual

◆ RHISetDepthBounds()

virtual void FNullDynamicRHI::RHISetDepthBounds ( float  MinDepth,
float  MaxDepth 
)
inlinefinaloverridevirtual

Sets Depth Bounds range with the given min/max depth.

Parameters
MinDepthThe minimum depth for depth bounds test
MaxDepthThe maximum depth for depth bounds test. The valid values for fMinDepth and fMaxDepth are such that 0 <= fMinDepth <= fMaxDepth <= 1

Implements IRHICommandContext.

◆ RHISetDepthStencilState()

virtual void FNullDynamicRHI::RHISetDepthStencilState ( FRHIDepthStencilState NewState,
uint32  StencilRef 
)
inlinefinaloverridevirtual

◆ RHISetMultipleViewports()

virtual void FNullDynamicRHI::RHISetMultipleViewports ( uint32  Count,
const FViewportBounds Data 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHISetRasterizerState()

virtual void FNullDynamicRHI::RHISetRasterizerState ( FRHIRasterizerState NewState)
inlinefinaloverridevirtual

◆ RHISetScissorRect()

virtual void FNullDynamicRHI::RHISetScissorRect ( bool  bEnable,
uint32  MinX,
uint32  MinY,
uint32  MaxX,
uint32  MaxY 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHISetShaderParameters() [1/2]

virtual void FNullDynamicRHI::RHISetShaderParameters ( FRHIComputeShader Shader,
TConstArrayView< uint8 InParametersData,
TConstArrayView< FRHIShaderParameter InParameters,
TConstArrayView< FRHIShaderParameterResource InResourceParameters,
TConstArrayView< FRHIShaderParameterResource InBindlessParameters 
)
inlinefinaloverridevirtual

Implements IRHIComputeContext.

◆ RHISetShaderParameters() [2/2]

virtual void FNullDynamicRHI::RHISetShaderParameters ( FRHIGraphicsShader Shader,
TConstArrayView< uint8 InParametersData,
TConstArrayView< FRHIShaderParameter InParameters,
TConstArrayView< FRHIShaderParameterResource InResourceParameters,
TConstArrayView< FRHIShaderParameterResource InBindlessParameters 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHISetShadingRate()

virtual void FNullDynamicRHI::RHISetShadingRate ( EVRSShadingRate  ShadingRate,
EVRSRateCombiner  Combiner 
)
inlinefinaloverridevirtual

Reimplemented from IRHICommandContext.

◆ RHISetStaticUniformBuffer()

virtual void FNullDynamicRHI::RHISetStaticUniformBuffer ( FUniformBufferStaticSlot  Slot,
FRHIUniformBuffer UniformBuffer 
)
inlinefinaloverridevirtual

Implements IRHIComputeContext.

◆ RHISetStaticUniformBuffers()

virtual void FNullDynamicRHI::RHISetStaticUniformBuffers ( const FUniformBufferStaticBindings InUniformBuffers)
inlinefinaloverridevirtual

Implements IRHIComputeContext.

◆ RHISetStreamSource()

virtual void FNullDynamicRHI::RHISetStreamSource ( uint32  StreamIndex,
FRHIBuffer VertexBuffer,
uint32  Offset 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHISetViewport()

virtual void FNullDynamicRHI::RHISetViewport ( float  MinX,
float  MinY,
float  MinZ,
float  MaxX,
float  MaxY,
float  MaxZ 
)
inlinefinaloverridevirtual

Implements IRHICommandContext.

◆ RHISubmitCommandLists()

virtual void FNullDynamicRHI::RHISubmitCommandLists ( FRHISubmitCommandListsArgs &&  Args)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHITick()

virtual void FNullDynamicRHI::RHITick ( float  DeltaTime)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHIUnlockTexture()

virtual void FNullDynamicRHI::RHIUnlockTexture ( FRHICommandListImmediate RHICmdList,
const FRHILockTextureArgs Arguments 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ RHIUnmapStagingSurface()

virtual void FNullDynamicRHI::RHIUnmapStagingSurface ( FRHITexture Texture,
uint32  GPUIndex 
)
inlinefinaloverridevirtual

call after a succesful RHIMapStagingSurface() call

Implements FDynamicRHI.

◆ RHIUpdateTexture2D()

virtual void FNullDynamicRHI::RHIUpdateTexture2D ( FRHICommandListBase RHICmdList,
FRHITexture Texture,
uint32  MipIndex,
const struct FUpdateTextureRegion2D UpdateRegion,
uint32  SourcePitch,
const uint8 SourceData 
)
inlinefinaloverridevirtual

Updates a region of a 2D texture from system memory

Parameters
Texture- the RHI texture resource to update
MipIndex- mip level index to be modified
UpdateRegion- The rectangle to copy source image data from
SourcePitch- size in bytes of each row of the source image
SourceData- source image data, starting at the upper left corner of the source rectangle (in same pixel format as texture)

Implements FDynamicRHI.

◆ RHIUpdateTexture3D()

virtual void FNullDynamicRHI::RHIUpdateTexture3D ( FRHICommandListBase RHICmdList,
FRHITexture Texture,
uint32  MipIndex,
const struct FUpdateTextureRegion3D UpdateRegion,
uint32  SourceRowPitch,
uint32  SourceDepthPitch,
const uint8 SourceData 
)
inlinefinaloverridevirtual

Updates a region of a 3D texture from system memory

Parameters
Texture- the RHI texture resource to update
MipIndex- mip level index to be modified
UpdateRegion- The rectangle to copy source image data from
SourceRowPitch- size in bytes of each row of the source image, usually Bpp * SizeX
SourceDepthPitch- size in bytes of each depth slice of the source image, usually Bpp * SizeX * SizeY
SourceData- source image data, starting at the upper left corner of the source rectangle (in same pixel format as texture)

Implements FDynamicRHI.

◆ RHIUpdateUniformBuffer()

virtual void FNullDynamicRHI::RHIUpdateUniformBuffer ( FRHICommandListBase RHICmdList,
FRHIUniformBuffer UniformBufferRHI,
const void Contents 
)
inlinefinaloverridevirtual

Implements FDynamicRHI.

◆ Shutdown()

void FNullDynamicRHI::Shutdown ( )
virtual

Shutdown the RHI; handle shutdown and resource destruction before the RHI's actual destructor is called (so that all resources of the RHI are still available for shutdown).

Implements FDynamicRHI.

◆ UnlockBuffer_BottomOfPipe()

virtual void FNullDynamicRHI::UnlockBuffer_BottomOfPipe ( FRHICommandListBase RHICmdList,
FRHIBuffer Buffer 
)
inlinefinaloverridevirtual

Reimplemented from FDynamicRHI.


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