|
| virtual ERHIInterfaceType | GetInterfaceType () const override final |
| |
| virtual void | RHIRunOnQueue (TFunction< void(MTL::CommandQueue *)> &&CodeToRun, bool bWaitForSubmission)=0 |
| |
| virtual FTextureRHIRef | RHICreateTexture2DFromCVMetalTexture (EPixelFormat Format, ETextureCreateFlags TexCreateFlags, const FClearValueBinding &ClearValueBinding, CVMetalTextureRef Resource)=0 |
| |
| virtual RHI_API | ~FDynamicRHI () |
| |
| virtual void | Init ()=0 |
| |
| virtual void | PostInit () |
| |
| virtual void | Shutdown ()=0 |
| |
| virtual const TCHAR * | GetName ()=0 |
| |
| virtual FDynamicRHI * | GetNonValidationRHI () |
| |
| void | InitPixelFormatInfo (const TArray< uint32 > &PixelFormatBlockBytesIn) |
| |
| virtual RHI_API void | RHIEndFrame_RenderThread (FRHICommandListImmediate &RHICmdList) |
| |
| virtual void | RHIEndFrame (const FRHIEndFrameArgs &Args)=0 |
| |
| virtual FSamplerStateRHIRef | RHICreateSamplerState (const FSamplerStateInitializerRHI &Initializer)=0 |
| |
| virtual FRasterizerStateRHIRef | RHICreateRasterizerState (const FRasterizerStateInitializerRHI &Initializer)=0 |
| |
| virtual FDepthStencilStateRHIRef | RHICreateDepthStencilState (const FDepthStencilStateInitializerRHI &Initializer)=0 |
| |
| virtual FBlendStateRHIRef | RHICreateBlendState (const FBlendStateInitializerRHI &Initializer)=0 |
| |
| virtual FVertexDeclarationRHIRef | RHICreateVertexDeclaration (const FVertexDeclarationElementList &Elements)=0 |
| |
| virtual FPixelShaderRHIRef | RHICreatePixelShader (TArrayView< const uint8 > Code, const FSHAHash &Hash)=0 |
| |
| virtual FVertexShaderRHIRef | RHICreateVertexShader (TArrayView< const uint8 > Code, const FSHAHash &Hash)=0 |
| |
| virtual FGeometryShaderRHIRef | RHICreateGeometryShader (TArrayView< const uint8 > Code, const FSHAHash &Hash)=0 |
| |
| virtual FMeshShaderRHIRef | RHICreateMeshShader (TArrayView< const uint8 > Code, const FSHAHash &Hash) |
| |
| virtual FAmplificationShaderRHIRef | RHICreateAmplificationShader (TArrayView< const uint8 > Code, const FSHAHash &Hash) |
| |
| virtual void | FlushPendingLogs () |
| |
| virtual FComputeShaderRHIRef | RHICreateComputeShader (TArrayView< const uint8 > Code, const FSHAHash &Hash)=0 |
| |
| virtual FWorkGraphShaderRHIRef | RHICreateWorkGraphShader (TArrayView< const uint8 > Code, const FSHAHash &Hash, EShaderFrequency ShaderFrequency) |
| |
| virtual FRHIShaderLibraryRef | RHICreateShaderLibrary (EShaderPlatform Platform, FString const &FilePath, FString const &Name) |
| |
| virtual FGPUFenceRHIRef | RHICreateGPUFence (const FName &Name)=0 |
| |
| virtual RHI_API void | RHIWriteGPUFence_TopOfPipe (FRHICommandListBase &RHICmdList, FRHIGPUFence *FenceRHI) |
| |
| virtual void | RHICreateTransition (FRHITransition *Transition, const FRHITransitionCreateInfo &CreateInfo) |
| |
| virtual void | RHIReleaseTransition (FRHITransition *Transition) |
| |
| virtual IRHITransientResourceAllocator * | RHICreateTransientResourceAllocator () |
| |
| virtual FStagingBufferRHIRef | RHICreateStagingBuffer () |
| |
| virtual RHI_API void * | RHILockStagingBuffer (FRHIStagingBuffer *StagingBuffer, FRHIGPUFence *Fence, uint32 Offset, uint32 SizeRHI) |
| |
| virtual RHI_API void | RHIUnlockStagingBuffer (FRHIStagingBuffer *StagingBuffer) |
| |
| virtual RHI_API void * | LockStagingBuffer_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHIStagingBuffer *StagingBuffer, FRHIGPUFence *Fence, uint32 Offset, uint32 SizeRHI) |
| |
| virtual RHI_API void | UnlockStagingBuffer_RenderThread (class FRHICommandListImmediate &RHICmdList, FRHIStagingBuffer *StagingBuffer) |
| |
| virtual FBoundShaderStateRHIRef | RHICreateBoundShaderState (FRHIVertexDeclaration *VertexDeclaration, FRHIVertexShader *VertexShader, FRHIPixelShader *PixelShader, FRHIGeometryShader *GeometryShader)=0 |
| |
| virtual FGraphicsPipelineStateRHIRef | RHICreateGraphicsPipelineState (const FGraphicsPipelineStateInitializer &Initializer)=0 |
| |
| virtual FComputePipelineStateRHIRef | RHICreateComputePipelineState (const FComputePipelineStateInitializer &Initializer)=0 |
| |
| virtual FWorkGraphPipelineStateRHIRef | RHICreateWorkGraphPipelineState (const FWorkGraphPipelineStateInitializer &Initializer) |
| |
| virtual FUniformBufferRHIRef | RHICreateUniformBuffer (const void *Contents, const FRHIUniformBufferLayout *Layout, EUniformBufferUsage Usage, EUniformBufferValidation Validation)=0 |
| |
| virtual void | RHIUpdateUniformBuffer (FRHICommandListBase &RHICmdList, FRHIUniformBuffer *UniformBufferRHI, const void *Contents)=0 |
| |
| virtual void | RHIReplaceResources (FRHICommandListBase &RHICmdList, TArray< FRHIResourceReplaceInfo > &&ReplaceInfos)=0 |
| |
| virtual FRHIBufferInitializer | RHICreateBufferInitializer (FRHICommandListBase &RHICmdList, const FRHIBufferCreateDesc &CreateDesc)=0 |
| |
| virtual RHI_API void * | RHILockBuffer (FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 Offset, uint32 Size, EResourceLockMode LockMode) |
| |
| virtual RHI_API void * | RHILockBufferMGPU (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 FRHICalcTextureSizeResult | RHICalcTexturePlatformSize (FRHITextureDesc const &Desc, uint32 FirstMipIndex)=0 |
| |
| virtual RHI_API uint64 | RHIGetMinimumAlignmentForBufferBackedSRV (EPixelFormat Format) |
| |
| virtual void | RHIGetTextureMemoryStats (FTextureMemoryStats &OutStats)=0 |
| |
| virtual bool | RHIGetTextureMemoryVisualizeData (FColor *TextureData, int32 SizeX, int32 SizeY, int32 Pitch, int32 PixelSize)=0 |
| |
| virtual FRHITextureInitializer | RHICreateTextureInitializer (FRHICommandListBase &RHICmdList, const FRHITextureCreateDesc &CreateDesc)=0 |
| |
| virtual FTextureRHIRef | RHIAsyncCreateTexture2D (uint32 SizeX, uint32 SizeY, uint8 Format, uint32 NumMips, ETextureCreateFlags Flags, ERHIAccess InResourceState, void **InitialMipData, uint32 NumInitialMips, const TCHAR *DebugName, FGraphEventRef &OutCompletionEvent)=0 |
| |
| virtual RHI_API FTextureReferenceRHIRef | RHICreateTextureReference (FRHICommandListBase &RHICmdList, FRHITexture *InReferencedTexture) |
| |
| virtual FShaderResourceViewRHIRef | RHICreateShaderResourceView (class FRHICommandListBase &RHICmdList, FRHIViewableResource *Resource, FRHIViewDesc const &ViewDesc)=0 |
| |
| virtual FUnorderedAccessViewRHIRef | RHICreateUnorderedAccessView (class FRHICommandListBase &RHICmdList, FRHIViewableResource *Resource, FRHIViewDesc const &ViewDesc)=0 |
| |
| virtual FRHIResourceCollectionRef | RHICreateResourceCollection (FRHICommandListBase &RHICmdList, TConstArrayView< FRHIResourceCollectionMember > InMembers) |
| |
| virtual void | RHIUpdateResourceCollection (FRHICommandListBase &RHICmdList, FRHIResourceCollection *InResourceCollection, uint32 InStartIndex, TConstArrayView< FRHIResourceCollectionMember > InMemberUpdates) |
| |
| virtual uint32 | RHIComputeMemorySize (FRHITexture *TextureRHI)=0 |
| |
| virtual FTextureRHIRef | RHIAsyncReallocateTexture2D (FRHITexture *Texture2D, int32 NewMipCount, int32 NewSizeX, int32 NewSizeY, FThreadSafeCounter *RequestStatus)=0 |
| |
| virtual FRHILockTextureResult | RHILockTexture (FRHICommandListImmediate &RHICmdList, const FRHILockTextureArgs &Arguments)=0 |
| |
| virtual void | RHIUnlockTexture (FRHICommandListImmediate &RHICmdList, const FRHILockTextureArgs &Arguments)=0 |
| |
| virtual void | RHIUpdateTexture2D (FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, const uint8 *SourceData)=0 |
| |
| virtual void | RHIUpdateFromBufferTexture2D (FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion2D &UpdateRegion, uint32 SourcePitch, FRHIBuffer *Buffer, uint32 BufferOffset) |
| |
| virtual void | RHIUpdateTexture3D (FRHICommandListBase &RHICmdList, FRHITexture *Texture, uint32 MipIndex, const struct FUpdateTextureRegion3D &UpdateRegion, uint32 SourceRowPitch, uint32 SourceDepthPitch, const uint8 *SourceData)=0 |
| |
| virtual RHI_API void | RHIBindDebugLabelName (FRHICommandListBase &RHICmdList, FRHITexture *Texture, const TCHAR *Name) |
| |
| 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 void | RHIReadSurfaceData (FRHITexture *Texture, FIntRect Rect, TArray< FColor > &OutData, FReadSurfaceDataFlags InFlags)=0 |
| |
| virtual RHI_API void | RHIReadSurfaceData (FRHITexture *Texture, FIntRect Rect, TArray< FLinearColor > &OutData, FReadSurfaceDataFlags InFlags) |
| |
| virtual void | RHIMapStagingSurface (FRHITexture *Texture, FRHIGPUFence *Fence, void *&OutData, int32 &OutWidth, int32 &OutHeight, uint32 GPUIndex=0)=0 |
| |
| virtual void | RHIUnmapStagingSurface (FRHITexture *Texture, uint32 GPUIndex=0)=0 |
| |
| virtual void | RHIReadSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, ECubeFace CubeFace, int32 ArrayIndex, int32 MipIndex)=0 |
| |
| virtual RHI_API void | RHIReadSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, TArray< FFloat16Color > &OutData, FReadSurfaceDataFlags InFlags) |
| |
| virtual void | RHIRead3DSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, FIntPoint ZMinMax, TArray< FFloat16Color > &OutData)=0 |
| |
| virtual RHI_API void | RHIRead3DSurfaceFloatData (FRHITexture *Texture, FIntRect Rect, FIntPoint ZMinMax, TArray< FFloat16Color > &OutData, FReadSurfaceDataFlags InFlags) |
| |
| virtual FRenderQueryRHIRef | RHICreateRenderQuery (ERenderQueryType QueryType)=0 |
| |
| 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 bool | RHIGetRenderQueryResult (FRHIRenderQuery *RenderQuery, uint64 &OutResult, bool bWait, uint32 GPUIndex=INDEX_NONE)=0 |
| |
| virtual uint32 | RHIGetViewportNextPresentGPUIndex (FRHIViewport *Viewport) |
| |
| virtual FTextureRHIRef | RHIGetViewportBackBuffer (FRHIViewport *Viewport)=0 |
| |
| virtual FUnorderedAccessViewRHIRef | RHIGetViewportBackBufferUAV (FRHIViewport *ViewportRHI) |
| |
| virtual uint32 | RHIGetHTilePlatformConfig (uint32 DepthWidth, uint32 DepthHeight) const |
| |
| virtual uint32 | RHIGetHTilePlatformConfig (const FRHITextureDesc &DepthDesc) const |
| |
| virtual void | RHIAliasTextureResources (FTextureRHIRef &DestTexture, FTextureRHIRef &SrcTexture) |
| |
| 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 | RHIAdvanceFrameForGetViewportBackBuffer (FRHIViewport *Viewport, bool bPresent)=0 |
| |
| virtual void | RHIAcquireThreadOwnership () |
| |
| virtual void | RHIReleaseThreadOwnership () |
| |
| virtual void | RHIFlushResources ()=0 |
| |
| virtual FViewportRHIRef | RHICreateViewport (void *WindowHandle, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat)=0 |
| |
| virtual void | RHIResizeViewport (FRHIViewport *Viewport, uint32 SizeX, uint32 SizeY, bool bIsFullscreen)=0 |
| |
| virtual void | RHIResizeViewport (FRHIViewport *Viewport, uint32 SizeX, uint32 SizeY, bool bIsFullscreen, EPixelFormat PreferredPixelFormat) |
| |
| virtual EPixelFormat | RHIPreferredPixelFormatHint (EPixelFormat PreferredPixelFormat) |
| |
| virtual RHI_API void | RHICheckViewportHDRStatus (FRHIViewport *Viewport) |
| |
| virtual void | RHIHandleDisplayChange () |
| |
| virtual void | RHITick (float DeltaTime)=0 |
| |
| virtual void | RHIBlockUntilGPUIdle ()=0 |
| |
| virtual void | RHIBeginSuspendRendering () |
| |
| virtual void | RHISuspendRendering () |
| |
| virtual void | RHIResumeRendering () |
| |
| virtual bool | RHIIsRenderingSuspended () |
| |
| virtual bool | RHIGetAvailableResolutions (FScreenResolutionArray &Resolutions, bool bIgnoreRefreshRate)=0 |
| |
| virtual void | RHIGetSupportedResolution (uint32 &Width, uint32 &Height)=0 |
| |
| 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 void * | RHIGetNativeDevice ()=0 |
| |
| virtual void * | RHIGetNativePhysicalDevice () |
| |
| virtual void * | RHIGetNativeGraphicsQueue () |
| |
| virtual void * | RHIGetNativeComputeQueue () |
| |
| virtual void * | RHIGetNativeInstance ()=0 |
| |
| virtual void * | RHIGetNativeCommandBuffer () |
| |
| virtual IRHICommandContext * | RHIGetDefaultContext ()=0 |
| |
| virtual IRHIComputeContext * | RHIGetCommandContext (ERHIPipeline Pipeline, FRHIGPUMask GPUMask)=0 |
| |
| virtual IRHIComputeContext * | RHIGetParallelCommandContext (FRHIParallelRenderPassInfo const &ParallelRenderPass, FRHIGPUMask GPUMask) |
| |
| virtual IRHIUploadContext * | RHIGetUploadContext () |
| |
| void | RHICloseTranslateChain (FRHIFinalizeContextArgs &&Args, TRHIPipelineArray< IRHIPlatformCommandList * > &Output, bool bShouldFinalize) |
| |
| virtual void | RHIFinalizeContext (FRHIFinalizeContextArgs &&Args, TRHIPipelineArray< IRHIPlatformCommandList * > &Output)=0 |
| |
| virtual IRHIPlatformCommandList * | RHIFinalizeParallelContext (IRHIComputeContext *Context) |
| |
| virtual void | RHISubmitCommandLists (FRHISubmitCommandListsArgs &&Args)=0 |
| |
| 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 void * | LockBuffer_BottomOfPipe (class FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer, uint32 Offset, uint32 SizeRHI, EResourceLockMode LockMode) |
| |
| virtual void | UnlockBuffer_BottomOfPipe (class FRHICommandListBase &RHICmdList, FRHIBuffer *Buffer) |
| |
| 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) |
| |